/*
Theme Name: OptimaWeb Theme
Theme URI: https://example.com/
Author: OptimaWeb
Description: Premium Corporate Luxury WordPress theme for website, SEO and business services.
Version: 4.3.36
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: optimaweb
*/

:root {
  --ow-ivory: #f5f3ee;
  --ow-paper: #fbfaf7;
  --ow-white: #ffffff;
  --ow-ink: #172027;
  --ow-muted: #6d7881;
  --ow-line: #dfe4e7;
  --ow-emerald: #18845b;
  --ow-emerald-dark: #116342;
  --ow-charcoal: #172126;
  --ow-champagne: #b99b6b;
  --ow-radius: 12px;
  --ow-container: 1180px;
  --ow-header-h: 72px;
  --ow-ease: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ow-ivory);
  color: var(--ow-ink);
  font-family: Inter, Manrope, "Avenir Next", "Segoe UI", system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(24,132,91,.16); }

.ow-container { width: min(calc(100% - 32px), var(--ow-container)); margin-inline: auto; }
.ow-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ow-focus:focus-visible { outline: 2px solid rgba(24,132,91,.45); outline-offset: 4px; }

.ow-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: var(--ow-header-h);
  border-bottom: 1px solid rgba(223,228,231,.9);
  background: rgba(251,250,247,.90);
  backdrop-filter: blur(14px);
  transition: background-color .2s ease, box-shadow .2s ease, min-height .2s ease;
}
.ow-site-header.is-scrolled { background: rgba(251,250,247,.97); box-shadow: 0 12px 28px rgba(23,32,39,.06); }
.ow-header-inner { min-height: var(--ow-header-h); display: flex; align-items: center; gap: 28px; }
.ow-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; flex: 0 0 auto; }
.ow-brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #172027; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 8px 20px rgba(23,32,39,.10); }
.ow-brand-mark svg { width: 26px; height: 26px; display: block; }
.ow-brand--offcanvas { display: inline-flex; align-items: center; gap: 10px; }
.ow-brand-name { display: block; font-size: 15px; font-weight: 750; letter-spacing: -.02em; line-height: 1; }
.ow-brand-tagline { display: block; margin-top: 3px; color: var(--ow-muted); font-size: 10px; line-height: 1; letter-spacing: .01em; }
.ow-header-nav { margin-inline: auto; }
.ow-primary-menu, .ow-primary-menu ul { list-style: none; margin: 0; padding: 0; }
.ow-primary-menu { display: flex; align-items: center; gap: 24px; }
.ow-primary-menu > li { position: static; }
.ow-primary-menu > li > a { min-height: 72px; display: inline-flex; align-items: center; color: #4f5a62; font-size: 13px; font-weight: 650; text-decoration: none; }
.ow-primary-menu > li > a:hover, .ow-primary-menu > li.current-menu-item > a, .ow-primary-menu > li.current-menu-parent > a { color: var(--ow-ink); }
.ow-primary-menu > li > ul {
  position: absolute; inset-inline: 0; top: calc(100% + 1px); z-index: 20; margin: 0 auto; width: min(960px, calc(100vw - 32px)); padding: 18px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;
  border: 1px solid var(--ow-line); border-radius: 14px; background: var(--ow-paper); box-shadow: 0 24px 60px rgba(23,32,39,.12);
  opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .18s ease, transform .18s var(--ow-ease), visibility .18s ease;
}
.ow-primary-menu > li:hover > ul, .ow-primary-menu > li:focus-within > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.ow-primary-menu > li > ul > li > a { display: block; padding: 12px 13px; border-radius: 9px; color: var(--ow-ink); text-decoration: none; font-size: 13px; font-weight: 700; }
.ow-primary-menu > li > ul > li > a:hover { background: #f0efeb; }
.ow-mega > ul::before { content: attr(data-menu-title); display: none; }
.ow-header-cta { flex: 0 0 auto; }

.ow-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 0 17px; border-radius: 999px; border: 1px solid transparent; font-size: 12px; line-height: 1; font-weight: 750; text-decoration: none; transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease; }
.ow-button:hover { transform: translateY(-1px); }
.ow-button:active { transform: translateY(0) scale(.985); }
.ow-button-primary { background: var(--ow-emerald); color: #fff; box-shadow: 0 12px 25px rgba(24,132,91,.14); }
.ow-button-primary:hover { background: var(--ow-emerald-dark); box-shadow: 0 14px 28px rgba(24,132,91,.18); }
.ow-button-outline { border-color: #cfd6da; background: transparent; color: var(--ow-ink); }
.ow-button-outline:hover { border-color: #abb6bd; background: rgba(255,255,255,.55); }
.ow-arrow { display: inline-block; transition: transform .16s ease; }
.ow-button:hover .ow-arrow, .ow-link:hover .ow-arrow, .ow-pricing-row:hover .ow-arrow { transform: translateX(4px); }

.ow-menu-toggle { display: none; min-width: 42px; min-height: 42px; border: 1px solid var(--ow-line); border-radius: 999px; background: var(--ow-white); color: var(--ow-ink); font: inherit; font-size: 12px; font-weight: 750; }
.ow-offcanvas { position: fixed; inset: 0; z-index: 1200; pointer-events: none; }
.ow-offcanvas-backdrop { position: absolute; inset: 0; background: rgba(23,33,38,.35); opacity: 0; transition: opacity .25s ease; }
.ow-offcanvas-panel { position: absolute; inset-block: 0; right: 0; width: min(92vw, 390px); background: var(--ow-paper); border-left: 1px solid var(--ow-line); transform: translateX(100%); transition: transform .28s var(--ow-ease); box-shadow: -24px 0 60px rgba(23,32,39,.12); display: flex; flex-direction: column; }
.ow-offcanvas.is-open { pointer-events: auto; }
.ow-offcanvas.is-open .ow-offcanvas-backdrop { opacity: 1; }
.ow-offcanvas.is-open .ow-offcanvas-panel { transform: translateX(0); }
.ow-offcanvas-head { display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 0 20px; border-bottom: 1px solid var(--ow-line); }
.ow-offcanvas-close { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--ow-line); background: var(--ow-white); font-size: 20px; line-height: 1; }
.ow-offcanvas-body { padding: 20px; overflow-y: auto; }
.ow-offcanvas .menu { margin: 0; padding: 0; list-style: none; }
.ow-offcanvas .menu li { border-bottom: 1px solid var(--ow-line); }
.ow-offcanvas .menu a { display: flex; align-items: center; justify-content: space-between; padding: 15px 2px; text-decoration: none; font-size: 18px; font-weight: 700; }
.ow-offcanvas .sub-menu { margin: 0 0 8px; padding: 0 0 0 12px; list-style: none; }
.ow-offcanvas .sub-menu a { font-size: 14px; font-weight: 600; padding: 10px 2px; }
.ow-offcanvas-cta { margin-top: 18px; }
body.ow-menu-open { overflow: hidden; }

.ow-hero { position: relative; overflow: hidden; padding: 74px 0 66px; background: var(--ow-paper); border-bottom: 1px solid var(--ow-line); }
.ow-hero::after { content: ""; position: absolute; width: 560px; height: 560px; border-radius: 50%; border: 1px solid rgba(185,155,107,.20); right: -260px; top: -220px; pointer-events: none; }
.ow-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); align-items: center; gap: 70px; }
.ow-kicker { margin: 0; color: var(--ow-emerald-dark); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ow-hero h1 { margin: 15px 0 0; max-width: 700px; font-size: clamp(2.8rem, 5vw, 3.75rem); line-height: 1.01; letter-spacing: -.04em; font-weight: 720; }
.ow-hero-copy { max-width: 650px; margin-top: 19px; color: #61707a; font-size: 16px; line-height: 1.75; }
.ow-hero-copy p { margin: 0 0 8px; }
.ow-hero-copy p:last-child { margin-bottom: 0; color: var(--ow-ink); font-weight: 600; }
.ow-hero-actions { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; margin-top: 24px; }
.ow-hero-note { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #78838a; font-size: 12px; }
.ow-note-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ow-emerald); box-shadow: 0 0 0 4px rgba(24,132,91,.09); }

.ow-hero-object { position: relative; padding: 26px; border-radius: 18px; background: var(--ow-charcoal); color: #fff; overflow: hidden; box-shadow: 0 24px 60px rgba(23,32,39,.14); }
.ow-hero-object::before { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; border: 1px solid rgba(185,155,107,.38); top: -100px; right: -100px; }
.ow-object-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 15px; border-bottom: 1px solid #334148; }
.ow-object-label { color: #aeb9bf; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ow-object-status { display: inline-flex; align-items: center; gap: 7px; color: #c6d0d4; font-size: 10px; font-weight: 700; }
.ow-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #52c994; box-shadow: 0 0 0 4px rgba(82,201,148,.08); }
.ow-service-list { margin-top: 10px; }
.ow-service-line { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 0; border-bottom: 1px solid #334148; }
.ow-service-line:last-child { border-bottom: 0; }
.ow-service-line strong { font-size: 14px; letter-spacing: -.01em; }
.ow-service-line span { color: #91a0a7; font-size: 12px; transition: transform .16s ease, color .16s ease; }
.ow-service-line:hover span { color: #fff; transform: translateX(4px); }
.ow-object-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #334148; }
.ow-metric strong { display: block; font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.ow-metric small { display: block; margin-top: 6px; color: #9ba8ae; font-size: 11px; line-height: 1.4; }

.ow-section { padding: 66px 0; border-bottom: 1px solid var(--ow-line); }
.ow-section-alt { background: var(--ow-paper); }
.ow-section-dark { background: var(--ow-charcoal); color: #fff; border-bottom-color: #334148; }
.ow-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.ow-section-title { margin: 8px 0 0; max-width: 650px; font-size: clamp(2rem, 4vw, 2.65rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 700; }
.ow-section-intro { max-width: 480px; margin: 0; color: var(--ow-muted); font-size: 14px; line-height: 1.7; }
.ow-section-dark .ow-section-intro { color: #aab7bd; }

.ow-pricing-list { border-top: 1px solid var(--ow-line); }
.ow-pricing-row { display: grid; grid-template-columns: 48px minmax(0,1fr) minmax(180px,230px) auto; align-items: center; gap: 22px; padding: 21px 0; border-bottom: 1px solid var(--ow-line); transition: background-color .18s ease, padding-inline .18s ease, border-color .18s ease; }
.ow-pricing-row:hover { background: rgba(255,255,255,.62); padding-inline: 12px; border-color: #cad3d8; }
.ow-index { color: var(--ow-emerald-dark); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.ow-package-kicker { margin: 0 0 4px; color: #8a969d; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ow-pricing-title { margin: 0; font-size: 17px; font-weight: 720; letter-spacing: -.015em; }
.ow-pricing-desc { margin: 5px 0 0; color: var(--ow-muted); font-size: 12px; line-height: 1.5; }
.ow-price { justify-self: end; font-size: 18px; font-weight: 720; text-align: right; letter-spacing: -.02em; }
.ow-popular { display: inline-flex; align-items: center; justify-content: center; margin-left: 8px; padding: 5px 8px; border-radius: 999px; background: rgba(24,132,91,.09); color: var(--ow-emerald-dark); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; vertical-align: middle; }

.ow-seo-grid, .ow-maint-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.ow-maint-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ow-service-card { position: relative; min-height: 235px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--ow-line); border-radius: var(--ow-radius); background: rgba(255,255,255,.72); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease; }
.ow-service-card:hover { transform: translateY(-2px); border-color: #c5d0d5; box-shadow: 0 16px 34px rgba(23,32,39,.08); background: #fff; }
.ow-service-card.is-featured { border-color: rgba(24,132,91,.28); background: rgba(241,248,244,.74); }
.ow-service-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.ow-service-card h3 { margin: 0; font-size: 18px; line-height: 1.2; font-weight: 720; }
.ow-service-card .ow-card-price { margin-top: 12px; font-size: 24px; line-height: 1.15; letter-spacing: -.035em; font-weight: 720; }
.ow-service-card p { margin: 12px 0 0; color: var(--ow-muted); font-size: 13px; line-height: 1.6; }
.ow-card-actions { margin-top: auto; padding-top: 18px; }

.ow-trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 28px; border-top: 1px solid #334148; }
.ow-trust-item { padding: 24px 22px 8px 0; border-right: 1px solid #334148; }
.ow-trust-item + .ow-trust-item { padding-left: 22px; }
.ow-trust-item:last-child { border-right: 0; }
.ow-trust-index { color: #819097; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.ow-trust-item h3 { margin: 11px 0 8px; font-size: 18px; font-weight: 700; }
.ow-trust-item p { margin: 0; color: #aab7bd; font-size: 13px; line-height: 1.7; }

.ow-faq-list { border-top: 1px solid var(--ow-line); }
.ow-faq-item { border-bottom: 1px solid var(--ow-line); }
.ow-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 19px 0; cursor: pointer; list-style: none; font-size: 17px; font-weight: 690; }
.ow-faq-item summary::-webkit-details-marker { display: none; }
.ow-faq-icon { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border: 1px solid var(--ow-line); border-radius: 50%; color: var(--ow-muted); transition: transform .18s ease, background-color .18s ease; }
.ow-faq-item[open] .ow-faq-icon { transform: rotate(45deg); background: #f0f3f2; }
.ow-faq-answer { max-width: 760px; padding: 0 50px 18px 0; color: var(--ow-muted); font-size: 14px; line-height: 1.7; }

.ow-final { padding: 64px 0; background: var(--ow-paper); }
.ow-final-box { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 28px 32px; border: 1px solid var(--ow-line); border-radius: 16px; background: #fff; box-shadow: 0 16px 36px rgba(23,32,39,.05); }
.ow-final-title { margin: 6px 0 0; font-size: clamp(2rem,4vw,2.7rem); line-height: 1.06; letter-spacing: -.035em; font-weight: 700; }

.ow-footer { border-top: 1px solid var(--ow-line); background: #fff; }
.ow-footer-inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: start; padding: 30px 0; }
.ow-footer-brand p { margin: 10px 0 0; max-width: 360px; color: var(--ow-muted); font-size: 13px; }
.ow-footer-menu .menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px 22px; margin: 0; padding: 0; list-style: none; }
.ow-footer-menu a { color: #526069; font-size: 12px; font-weight: 650; text-decoration: none; }
.ow-footer-menu a:hover { color: var(--ow-ink); }
.ow-footer-bottom { padding: 12px 0 20px; color: #8a959c; font-size: 11px; }

.ow-reveal { opacity: 0; transform: translateY(14px); }
.ow-reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity .65s var(--ow-ease), transform .65s var(--ow-ease); }
.ow-delay-1 { transition-delay: .06s; }
.ow-delay-2 { transition-delay: .12s; }
.ow-delay-3 { transition-delay: .18s; }
.ow-delay-4 { transition-delay: .24s; }

@keyframes owHeroIn { from { opacity:0; transform: translateY(14px); } to { opacity:1; transform: translateY(0); } }
@keyframes owHeroReveal { from { opacity:0; transform: translateX(26px) scale(.985); } to { opacity:1; transform: translateX(0) scale(1); } }
@keyframes owSoftDraw { from { opacity:0; clip-path: inset(0 100% 0 0); } to { opacity:1; clip-path: inset(0 0 0 0); } }
@keyframes owStatusGlow { 0%,100% { box-shadow: 0 0 0 4px rgba(82,201,148,.08); } 50% { box-shadow: 0 0 0 6px rgba(82,201,148,.13); } }
@keyframes owFloatLine { 0%,100% { transform: translateX(0); } 50% { transform: translateX(3px); } }

.ow-animate-hero .ow-hero-kicker, .ow-animate-hero .ow-hero-title, .ow-animate-hero .ow-hero-copy, .ow-animate-hero .ow-hero-actions, .ow-animate-hero .ow-hero-note, .ow-animate-hero .ow-hero-object { opacity:1; }
.ow-animate-hero.is-loaded .ow-hero-kicker { animation: owHeroIn .6s var(--ow-ease) .02s forwards; }
.ow-animate-hero.is-loaded .ow-hero-title { animation: owHeroIn .7s var(--ow-ease) .10s forwards; }
.ow-animate-hero.is-loaded .ow-hero-copy { animation: owHeroIn .65s var(--ow-ease) .18s forwards; }
.ow-animate-hero.is-loaded .ow-hero-actions { animation: owHeroIn .6s var(--ow-ease) .26s forwards; }
.ow-animate-hero.is-loaded .ow-hero-note { animation: owSoftDraw .6s ease .34s forwards; }
.ow-animate-hero.is-loaded .ow-hero-object { animation: owHeroReveal .8s var(--ow-ease) .16s forwards; }
.ow-service-status { animation: owStatusGlow 3.8s ease-in-out infinite; }




/* Blog post table of contents */
.ow-toc {
  margin: 0 0 32px;
  border: 1px solid rgba(223,228,231,.95);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 30px rgba(23,32,39,.05);
  overflow: clip;
}
.ow-toc-summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 15px 18px 15px 18px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.ow-toc-summary::-webkit-details-marker { display: none; }
.ow-toc-summary::marker { content: ''; }
.ow-toc-summary:focus-visible {
  outline: 2px solid rgba(24,132,91,.35);
  outline-offset: -3px;
}
.ow-toc-title {
  color: var(--ow-ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
}
.ow-toc-summary-meta {
  margin-left: auto;
  color: #8a959c;
  font-size: 11px;
  font-weight: 650;
}
.ow-toc-chevron {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-right: 1.5px solid #6d7881;
  border-bottom: 1.5px solid #6d7881;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s var(--ow-ease);
}
.ow-toc[open] .ow-toc-chevron {
  transform: rotate(225deg) translateY(-1px);
}
.ow-toc-nav {
  padding: 0 18px 16px;
}
.ow-toc-list {
  margin: 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--ow-line);
  list-style: none;
}
.ow-toc-item {
  margin: 0;
}
.ow-toc-item--h3 { padding-left: 16px; }
.ow-toc-item a {
  display: block;
  padding: 8px 0;
  color: #55626a;
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
  transition: color .16s ease, transform .16s ease;
}
.ow-toc-item--h2 a { color: var(--ow-ink); font-weight: 700; }
.ow-toc-item--h3 a { font-size: 12px; }
.ow-toc-item a:hover { color: var(--ow-emerald-dark); transform: translateX(2px); }
.ow-editorial-content h2[id],
.ow-editorial-content h3[id] {
  scroll-margin-top: 94px;
}
@media (max-width: 767px) {
  .ow-toc { margin-bottom: 26px; border-radius: 12px; }
  .ow-toc-summary { min-height: 54px; padding: 14px 15px; }
  .ow-toc-nav { padding: 0 15px 13px; }
  .ow-toc-item--h3 { padding-left: 12px; }
  .ow-toc-item a { padding: 7px 0; font-size: 12px; }
  .ow-toc-item--h3 a { font-size: 11px; }
  .ow-editorial-content h2[id],
  .ow-editorial-content h3[id] { scroll-margin-top: 76px; }
}

/* Technology marquee */
.ow-tech-marquee {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ow-line);
  background: var(--ow-white);
}
.ow-tech-marquee-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(23,32,39,.06) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: .38;
}
.ow-tech-marquee-inner {
  position: relative;
  padding: 22px 0 24px;
}
.ow-tech-marquee-label {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
  color: #8b959c;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ow-tech-marquee-viewport {
  position: relative;
  display: grid;
  gap: 8px;
  overflow: hidden;
}
.ow-tech-marquee-row {
  overflow: hidden;
}
.ow-tech-marquee-track {
  display: flex;
  width: max-content;
  gap: 24px;
  will-change: transform;
}
.ow-tech-marquee-track-left {
  animation: owTechMarqueeLeft 30s linear infinite;
}
.ow-tech-marquee-track-right {
  animation: owTechMarqueeRight 33s linear infinite;
}
.ow-tech-item {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  flex: 0 0 44px;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: transform .22s var(--ow-ease), border-color .22s ease, background-color .22s ease;
}
.ow-tech-item:hover {
  transform: translateY(-2px);
  border-color: var(--ow-line);
  background: rgba(255,255,255,.78);
}
.ow-tech-item img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  opacity: .56;
  filter: grayscale(1);
  transition: opacity .22s ease, filter .22s ease, transform .22s ease;
}
.ow-tech-item:hover img {
  opacity: 1;
  filter: grayscale(0);
  transform: scale(1.04);
}
.ow-tech-marquee-fade {
  position: absolute;
  top: 50px;
  bottom: 0;
  z-index: 3;
  width: 96px;
  pointer-events: none;
}
.ow-tech-marquee-fade-left {
  left: 0;
  background: linear-gradient(90deg, var(--ow-white) 0%, rgba(255,255,255,.86) 38%, rgba(255,255,255,0) 100%);
}
.ow-tech-marquee-fade-right {
  right: 0;
  background: linear-gradient(270deg, var(--ow-white) 0%, rgba(255,255,255,.86) 38%, rgba(255,255,255,0) 100%);
}

@keyframes owTechMarqueeLeft {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-25%,0,0); }
}
@keyframes owTechMarqueeRight {
  from { transform: translate3d(-25%,0,0); }
  to { transform: translate3d(0,0,0); }
}


@media (max-width: 900px) {
  .ow-tech-marquee-inner { padding: 20px 0 22px; }
  .ow-tech-marquee-track { gap: 18px; }
  .ow-tech-item { width: 40px; height: 40px; flex-basis: 40px; }
  .ow-tech-item img { width: 25px; height: 25px; }
  .ow-tech-marquee-fade { width: 66px; }
}

@media (max-width: 900px) {
  .ow-header-nav, .ow-header-cta { display: none; }
  .ow-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .ow-header-inner { justify-content: space-between; }
  .ow-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .ow-hero { padding-top: 54px; }
  .ow-section-head { align-items: flex-start; flex-direction: column; }
  .ow-pricing-row { grid-template-columns: 38px minmax(0,1fr); gap: 14px; }
  .ow-price { justify-self: start; text-align: left; grid-column: 2; }
  .ow-pricing-row .ow-button { grid-column: 2; justify-self: start; }
  .ow-seo-grid, .ow-maint-grid, .ow-trust-grid, .ow-footer-inner { grid-template-columns: 1fr; }
  .ow-trust-item, .ow-trust-item + .ow-trust-item { padding: 20px 0; border-right: 0; border-bottom: 1px solid #334148; }
  .ow-trust-item:last-child { border-bottom: 0; }
  .ow-footer-menu .menu { justify-content: flex-start; }
}

@media (max-width: 640px) {
  .ow-container { width: min(calc(100% - 24px), var(--ow-container)); }
  .ow-hero { padding: 42px 0 48px; }
  .ow-hero h1 { font-size: clamp(2.15rem, 11vw, 2.7rem); line-height: 1.02; }
  .ow-hero-copy { font-size: 14px; line-height: 1.7; }
  .ow-hero-object { padding: 21px; }
  .ow-service-card { min-height: 0; }
  .ow-final-box { align-items: flex-start; flex-direction: column; padding: 24px; }
  .ow-faq-item summary { font-size: 15px; }
}

@media (max-width: 640px) {
  .ow-post-entry { padding-top: 38px; }
  .ow-post-title { font-size: 2.25rem; line-height: 1.08; }
  .ow-post-excerpt { font-size: 15px; }
  .ow-post-featured { margin-top: 28px; }
  .ow-post-content { margin-top: 32px; padding: 0 12px; font-size: 16px; line-height: 1.82; }
  .ow-post-footer-inner { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .ow-reveal { opacity: 1 !important; transform: none !important; }
  .ow-animate-hero .ow-hero-kicker, .ow-animate-hero .ow-hero-title, .ow-animate-hero .ow-hero-copy, .ow-animate-hero .ow-hero-actions, .ow-animate-hero .ow-hero-note, .ow-animate-hero .ow-hero-object { opacity: 1 !important; animation: none !important; }
  .ow-offcanvas-panel, .ow-offcanvas-backdrop { transition: none !important; }
}



/* Magazine / editorial single-post system */
.ow-editorial-page {
  background: var(--ow-paper);
  color: var(--ow-ink);
}

.ow-editorial-entry {
  padding-top: 44px;
}

.ow-editorial-header {
  max-width: 980px;
}

.ow-editorial-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--ow-line);
  padding-bottom: 13px;
}

.ow-editorial-kicker,
.ow-editorial-meta {
  font-size: 11px;
  line-height: 1.4;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ow-editorial-category {
  color: var(--ow-emerald-dark);
  text-decoration: none;
}

.ow-editorial-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #829099;
  font-weight: 650;
  letter-spacing: .04em;
}

.ow-editorial-title {
  max-width: 920px;
  margin: 20px 0 0;
  font-family: Manrope, Inter, "Avenir Next", "Segoe UI", system-ui, sans-serif;
  font-size: clamp(2.35rem, 5.2vw, 4.25rem);
  line-height: 1.01;
  letter-spacing: -.045em;
  font-weight: 720;
}

.ow-editorial-deck {
  max-width: 760px;
  margin-top: 18px;
  color: #66747c;
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.75;
}

.ow-editorial-byline {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 25px;
}

.ow-author-monogram {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #cfd7da;
  border-radius: 50%;
  background: #fff;
  color: var(--ow-ink);
  font-size: 12px;
  font-weight: 800;
}

.ow-author-name {
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
}

.ow-author-role {
  margin-top: 3px;
  color: #89939a;
  font-size: 11px;
  line-height: 1.2;
}

.ow-editorial-hero-media {
  max-width: 1180px;
  margin-top: 34px;
}

.ow-editorial-hero-image {
  width: 100%;
  max-height: 660px;
  object-fit: cover;
  border: 1px solid var(--ow-line);
  border-radius: 14px;
  box-shadow: 0 18px 42px rgba(23, 32, 39, .06);
}

.ow-editorial-hero-media figcaption {
  max-width: 780px;
  margin: 9px auto 0;
  color: #8b959b;
  font-size: 11px;
  line-height: 1.55;
  text-align: center;
}

.ow-editorial-layout {
  display: grid;
  grid-template-columns: 120px minmax(0, 760px);
  justify-content: center;
  gap: 30px;
  margin-top: 46px;
}

.ow-editorial-aside {
  position: relative;
}

.ow-editorial-aside-inner {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 7px;
}

.ow-aside-label {
  color: #8a959c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ow-aside-rule {
  width: 28px;
  height: 1px;
  background: #cfd7da;
}

.ow-aside-date {
  color: var(--ow-ink);
  font-size: 11px;
  font-weight: 750;
}

.ow-editorial-content {
  min-width: 0;
  color: #46535c;
  font-size: 17px;
  line-height: 1.9;
}

.ow-editorial-content > * {
  max-width: 100%;
}

.ow-editorial-content > p:first-child::first-letter {
  float: left;
  margin: .08em .13em 0 0;
  color: var(--ow-ink);
  font-size: 4.1em;
  font-weight: 750;
  line-height: .78;
}

.ow-editorial-content p {
  margin: 0 0 1.35em;
}

.ow-editorial-content h2 {
  margin: 2.7em 0 .8em;
  color: var(--ow-ink);
  font-size: clamp(1.55rem, 2.4vw, 2.05rem);
  line-height: 1.2;
  letter-spacing: -.028em;
  font-weight: 750;
}

.ow-editorial-content h3 {
  margin: 2.25em 0 .72em;
  color: var(--ow-ink);
  font-size: 1.4rem;
  line-height: 1.28;
  letter-spacing: -.02em;
  font-weight: 750;
}

.ow-editorial-content h4 {
  margin: 2em 0 .65em;
  color: var(--ow-ink);
  font-size: 1.1rem;
  font-weight: 750;
}

.ow-editorial-content strong,
.ow-editorial-content b {
  color: var(--ow-ink);
  font-weight: 750;
}

.ow-editorial-content a {
  color: var(--ow-emerald-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.ow-editorial-content ul,
.ow-editorial-content ol {
  margin: 0 0 1.4em;
  padding-left: 1.35em;
}

.ow-editorial-content li + li {
  margin-top: .45em;
}

.ow-editorial-content blockquote {
  margin: 2.3em 0;
  padding: 1.2rem 0 1.2rem 1.3rem;
  border-left: 2px solid var(--ow-champagne);
  color: #57656d;
  font-size: 1.06em;
  line-height: 1.75;
}

.ow-editorial-content figure {
  margin: 2.4em 0;
}

.ow-editorial-content img {
  width: 100%;
  height: auto;
  border: 1px solid var(--ow-line);
  border-radius: 12px;
}

.ow-editorial-content figcaption {
  margin-top: 8px;
  color: #8a959c;
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

.ow-editorial-content pre {
  overflow-x: auto;
  margin: 2em 0;
  padding: 18px;
  border: 1px solid #334148;
  border-radius: 10px;
  background: var(--ow-charcoal);
  color: #edf2f4;
  font-size: .86em;
  line-height: 1.7;
}

.ow-editorial-content code {
  padding: .12em .32em;
  border-radius: 5px;
  background: #eef1f0;
  color: #243139;
  font-size: .88em;
}

.ow-editorial-content pre code {
  padding: 0;
  background: transparent;
  color: inherit;
}

.ow-editorial-content table {
  width: 100%;
  margin: 2.2em 0;
  border-collapse: collapse;
  font-size: .93em;
}

.ow-editorial-content th,
.ow-editorial-content td {
  padding: .72em .78em;
  border-bottom: 1px solid var(--ow-line);
  text-align: left;
  vertical-align: top;
}

.ow-editorial-content th {
  color: var(--ow-ink);
  font-weight: 750;
}

.ow-editorial-footer {
  margin-top: 58px;
  padding: 28px 0 38px;
  border-top: 1px solid var(--ow-line);
  background: var(--ow-paper);
}

.ow-editorial-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.ow-editorial-tags {
  min-width: 0;
}

.ow-page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 38px;
  padding-top: 24px;
  border-top: 1px solid var(--ow-line);
}

.ow-page-links a,
.ow-page-links > span {
  display: inline-flex;
  min-width: 36px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  border: 1px solid var(--ow-line);
  border-radius: 8px;
  text-decoration: none;
  font-size: 12px;
}



/* Technology marquee */
.ow-tech-marquee {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ow-line);
  background: var(--ow-white);
}
.ow-tech-marquee-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(23,32,39,.06) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: .38;
}
.ow-tech-marquee-inner {
  position: relative;
  padding: 22px 0 24px;
}
.ow-tech-marquee-label {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
  color: #8b959c;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ow-tech-marquee-viewport {
  position: relative;
  display: grid;
  gap: 8px;
  overflow: hidden;
}
.ow-tech-marquee-row {
  overflow: hidden;
}
.ow-tech-marquee-track {
  display: flex;
  width: max-content;
  gap: 24px;
  will-change: transform;
}
.ow-tech-marquee-track-left {
  animation: owTechMarqueeLeft 30s linear infinite;
}
.ow-tech-marquee-track-right {
  animation: owTechMarqueeRight 33s linear infinite;
}
.ow-tech-item {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  flex: 0 0 44px;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: transform .22s var(--ow-ease), border-color .22s ease, background-color .22s ease;
}
.ow-tech-item:hover {
  transform: translateY(-2px);
  border-color: var(--ow-line);
  background: rgba(255,255,255,.78);
}
.ow-tech-item img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  opacity: .56;
  filter: grayscale(1);
  transition: opacity .22s ease, filter .22s ease, transform .22s ease;
}
.ow-tech-item:hover img {
  opacity: 1;
  filter: grayscale(0);
  transform: scale(1.04);
}
.ow-tech-marquee-fade {
  position: absolute;
  top: 50px;
  bottom: 0;
  z-index: 3;
  width: 96px;
  pointer-events: none;
}
.ow-tech-marquee-fade-left {
  left: 0;
  background: linear-gradient(90deg, var(--ow-white) 0%, rgba(255,255,255,.86) 38%, rgba(255,255,255,0) 100%);
}
.ow-tech-marquee-fade-right {
  right: 0;
  background: linear-gradient(270deg, var(--ow-white) 0%, rgba(255,255,255,.86) 38%, rgba(255,255,255,0) 100%);
}

@keyframes owTechMarqueeLeft {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-25%,0,0); }
}
@keyframes owTechMarqueeRight {
  from { transform: translate3d(-25%,0,0); }
  to { transform: translate3d(0,0,0); }
}


@media (max-width: 900px) {
  .ow-tech-marquee-inner { padding: 20px 0 22px; }
  .ow-tech-marquee-track { gap: 18px; }
  .ow-tech-item { width: 40px; height: 40px; flex-basis: 40px; }
  .ow-tech-item img { width: 25px; height: 25px; }
  .ow-tech-marquee-fade { width: 66px; }
}

@media (max-width: 900px) {
  .ow-editorial-layout {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 36px;
  }

  .ow-editorial-aside {
    display: none;
  }
}

@media (max-width: 640px) {
  .ow-editorial-entry {
    padding-top: 28px;
  }

  .ow-editorial-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .ow-editorial-title {
    font-size: clamp(2.15rem, 10.5vw, 3rem);
    line-height: 1.04;
  }

  .ow-editorial-deck {
    font-size: 15px;
    line-height: 1.7;
  }

  .ow-editorial-hero-media {
    margin-top: 26px;
  }

  .ow-editorial-hero-image {
    max-height: 420px;
    border-radius: 10px;
  }

  .ow-editorial-content {
    font-size: 16px;
    line-height: 1.85;
  }

  .ow-editorial-content > p:first-child::first-letter {
    font-size: 3.6em;
  }

  .ow-editorial-footer-inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ow-tech-marquee-track-left,
  .ow-tech-marquee-track-right {
    animation: none;
    transform: none;
  }
}


/* ==========================================================
   V4.1.5 HERO — supplied concept adapted to OptimaWeb
   ========================================================== */
.ow-hero-premium {
  position: relative;
  overflow: hidden;
  min-height: 0;
  color: #fff;
  background: #121c21;
  border-bottom: 1px solid rgba(255,255,255,.08);
  isolation: isolate;
}
.ow-hero-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 84% 14%, rgba(24,132,91,.12), transparent 28%),
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.045), transparent 26%),
    linear-gradient(180deg, rgba(10,16,20,.76) 0%, rgba(18,28,33,.84) 58%, rgba(18,28,33,.93) 100%);
}
.ow-hero-premium-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: .82;
  filter: saturate(.92) contrast(1.02) brightness(.92);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 88%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 88%, rgba(0,0,0,0) 100%);
}
.ow-hero-premium-glow {
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(40px);
  opacity: .28;
}
.ow-hero-premium-glow-left { left: -160px; top: 100px; background: rgba(255,255,255,.07); }
.ow-hero-premium-glow-right { right: -100px; top: -120px; background: rgba(24,132,91,.16); }
.ow-hero-premium-inner { position: relative; z-index: 1; padding: 68px 0 64px; }
.ow-hero-premium-grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr);
  align-items: center;
  gap: clamp(40px,6vw,88px);
}
.ow-hero-premium-copy { max-width: 700px; }
.ow-hero-entrance { opacity: 0; transform: translateY(14px); }
[data-ow-hero].is-loaded .ow-hero-entrance { animation: owHeroPremiumIn .68s var(--ow-ease, cubic-bezier(.16,1,.3,1)) forwards; }
[data-ow-hero].is-loaded .ow-delay-1 { animation-delay: .04s; }
[data-ow-hero].is-loaded .ow-delay-2 { animation-delay: .12s; }
[data-ow-hero].is-loaded .ow-delay-3 { animation-delay: .20s; }
[data-ow-hero].is-loaded .ow-delay-4 { animation-delay: .28s; }
[data-ow-hero].is-loaded .ow-delay-5 { animation-delay: .36s; }
.ow-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.78);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}
.ow-hero-badge svg { width: 12px; height: 12px; color: #d9b77f; flex: 0 0 auto; }
.ow-hero-premium-title {
  max-width: 780px;
  margin: 20px 0 0;
  color: #fff;
  font-size: clamp(2.8rem, 4.8vw, 4rem);
  line-height: 1.01;
  letter-spacing: -.047em;
  font-weight: 700;
  text-wrap: balance;
}
.ow-hero-premium-body {
  max-width: 650px;
  margin-top: 20px;
  color: #b7c2c7;
  font-size: 15px;
  line-height: 1.72;
}
.ow-hero-premium-body p { margin: 0; }
.ow-hero-premium-body .ow-hero-supporting { margin-top: 7px; color: #edf2f3; font-weight: 650; }
.ow-hero-premium-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.ow-premium-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 44px;
  padding: 12px 17px 12px 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: var(--ow-emerald, #18845b);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.20), 0 0 0 1px rgba(24,132,91,.08);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.ow-premium-cta:hover { transform: translateY(-2px); background: #116342; box-shadow: 0 16px 34px rgba(0,0,0,.24), 0 0 0 1px rgba(24,132,91,.14); }
.ow-premium-cta:active { transform: translateY(-1px) scale(.985); }
.ow-premium-cta-icon { display: inline-flex; width: 15px; height: 15px; }
.ow-premium-cta-icon svg { width: 100%; height: 100%; }
.ow-hero-micro { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #87969e; font-size: 11px; }
.ow-live-dot { width: 6px; height: 6px; border-radius: 50%; background: #52c994; box-shadow: 0 0 0 4px rgba(82,201,148,.10); animation: owHeroStatusPulse 3.2s ease-in-out infinite; }

.ow-hero-premium-stage { display: grid; gap: 12px; }
.ow-hero-premium-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(15,24,29,.86);
  box-shadow: 0 26px 70px rgba(0,0,0,.30);
  backdrop-filter: blur(18px);
}
.ow-hero-card-orbit { position: absolute; width: 230px; height: 230px; right: -100px; top: -105px; border: 1px solid rgba(217,183,127,.30); border-radius: 50%; pointer-events: none; animation: owHeroOrbit 12s linear infinite; }
.ow-hero-card-orbit::after { content: ""; position: absolute; inset: 25px; border: 1px solid rgba(24,132,91,.16); border-radius: 50%; }
.ow-hero-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.11); }
.ow-hero-card-head > div { display: grid; gap: 6px; }
.ow-hero-card-eyebrow { color: #7e8d95; font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.ow-hero-card-head strong { color: #fff; font-size: 13px; font-weight: 720; }
.ow-hero-ready { display: inline-flex; align-items: center; gap: 7px; color: #aab7bd; font-size: 9px; font-weight: 700; white-space: nowrap; }
.ow-ready-dot { width: 6px; height: 6px; border-radius: 50%; background: #52c994; box-shadow: 0 0 0 4px rgba(82,201,148,.07); }
.ow-hero-service-stack { margin-top: 4px; }
.ow-hero-service-row { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.09); transition: background-color .18s ease, padding-inline .18s ease; }
.ow-hero-service-row:last-child { border-bottom: 0; }
.ow-hero-service-row:hover { padding-inline: 8px; background: rgba(255,255,255,.025); }
.ow-hero-service-icon { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: rgba(255,255,255,.03); color: #aebbc1; }
.ow-hero-service-icon svg { width: 12px; height: 12px; }
.ow-hero-service-row strong { min-width: 0; overflow-wrap: anywhere; color: #fff; font-size: 12px; font-weight: 680; }
.ow-hero-service-arrow { color: #7d8e96; font-size: 11px; transition: transform .18s ease, color .18s ease; }
.ow-hero-service-row:hover .ow-hero-service-arrow { color: #dce6e8; transform: translateX(3px); }
.ow-hero-card-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.10); text-align: left; align-items: start; justify-items: start; }
.ow-hero-card-metric { min-width: 0; width: 100%; text-align: left !important; justify-self: start; align-self: start; }
.ow-hero-card-metric strong { display: block; width: 100%; color: #fff; font-size: 24px; font-weight: 760; line-height: 1; letter-spacing: -.035em; text-align: left !important; }
.ow-hero-card-metric span { display: block; width: 100%; max-width: 18ch; margin-top: 6px; color: #7f8c93; font-size: 10px; line-height: 1.45; text-align: left !important; }

.ow-hero-build-strip { overflow: hidden; padding: 15px 18px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: rgba(255,255,255,.035); }
.ow-hero-build-strip-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: #84929a; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ow-hero-build-viewport { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent); }
.ow-hero-build-track { display: flex; width: max-content; animation: owHeroServiceMarquee 30s linear infinite; }
.ow-hero-build-track:hover { animation-play-state: paused; }
.ow-hero-build-group { display: flex; width: max-content; flex: 0 0 auto; gap: 20px; padding-right: 20px; }
.ow-hero-build-item { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; color: #c6d0d5; font-size: 10px; font-weight: 650; white-space: nowrap; }
.ow-hero-build-item i { width: 4px; height: 4px; border-radius: 50%; background: #52c994; }

@keyframes owHeroPremiumIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes owHeroStatusPulse { 0%,100% { box-shadow: 0 0 0 4px rgba(82,201,148,.08); } 50% { box-shadow: 0 0 0 7px rgba(82,201,148,.14); } }
@keyframes owHeroOrbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes owHeroServiceMarquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-25%,0,0); } }

@media (max-width: 980px) {
  .ow-hero-premium-grid { grid-template-columns: 1fr; gap: 34px; }
  .ow-hero-premium-stage { max-width: 760px; }
  .ow-hero-premium-inner { padding: 54px 0 58px; }
}
@media (max-width: 640px) {
  .ow-hero-premium-inner { padding: 44px 0 46px; }
  .ow-hero-premium-title { font-size: clamp(2.2rem, 10.5vw, 3rem); line-height: 1.03; }
  .ow-hero-premium-body { font-size: 14px; line-height: 1.68; }
  .ow-hero-premium-card { padding: 19px; border-radius: 16px; }
  .ow-hero-card-metrics { gap: 10px; }
  .ow-hero-card-metric strong { font-size: 21px; }
  .ow-hero-build-strip { padding: 13px 14px; }
  .ow-hero-build-group { gap: 16px; padding-right: 16px; }
  .ow-hero-build-track { animation-duration: 38s; }
  .ow-premium-cta { min-height: 42px; padding: 11px 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .ow-hero-entrance { opacity: 1; transform: none; animation: none !important; }
  .ow-live-dot, .ow-hero-card-orbit, .ow-hero-build-track { animation: none !important; }
  .ow-premium-cta, .ow-hero-service-row { transition: none; }
}

/* Footer compact / menu-only layout */
.ow-footer-inner--compact {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 68px;
}
.ow-footer-inner--compact .ow-footer-menu {
  width: 100%;
}
.ow-footer-inner--compact .ow-footer-menu .menu {
  justify-content: center;
}

/* Hero background image: keep the image visible without overpowering text. */
.ow-hero-premium-image {
  pointer-events: none;
}

@media (max-width: 767px) {
  .ow-footer-inner--compact {
    justify-content: flex-start;
  }
  .ow-footer-inner--compact .ow-footer-menu .menu {
    justify-content: flex-start;
  }
}


/* ==========================================================
   OPTIMAWEB PREMIUM REFINEMENT — 4.2.0
   A quieter, more bespoke visual system:
   editorial typography, architectural surfaces, tighter rhythm.
   ========================================================== */

:root {
  --ow-ivory: #f4f1ea;
  --ow-paper: #faf8f3;
  --ow-white: #fffdfa;
  --ow-ink: #11181d;
  --ow-muted: #68747b;
  --ow-line: #d7ddd9;
  --ow-emerald: #147a57;
  --ow-emerald-dark: #0d5c41;
  --ow-charcoal: #121b1f;
  --ow-champagne: #c3a16d;
  --ow-radius: 10px;
  --ow-container: 1160px;
  --ow-header-h: 68px;
  --ow-ease: cubic-bezier(.16,1,.3,1);
}

body {
  background:
    radial-gradient(circle at 78% 12%, rgba(195,161,109,.07), transparent 25rem),
    var(--ow-ivory);
}

.ow-container {
  width: min(calc(100% - 40px), var(--ow-container));
}

.ow-site-header {
  min-height: 68px;
  background: rgba(250,248,243,.84);
  border-bottom-color: rgba(17,24,29,.10);
}

.ow-header-inner {
  min-height: 68px;
  gap: 24px;
}

.ow-brand {
  gap: 10px;
}

.ow-brand-mark {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--ow-ink);
  box-shadow: 0 8px 18px rgba(17,24,29,.10);
}

.ow-brand-name {
  font-size: 14px;
  letter-spacing: -.025em;
}

.ow-brand-tagline {
  font-size: 9px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ow-primary-menu {
  gap: 21px;
}

.ow-primary-menu > li > a {
  min-height: 68px;
  color: #5b666d;
  font-size: 12px;
  letter-spacing: .01em;
}

.ow-button {
  min-height: 41px;
  padding-inline: 16px;
  border-radius: 9px;
  font-size: 11px;
  letter-spacing: -.005em;
}

.ow-button-primary {
  box-shadow: 0 9px 22px rgba(20,122,87,.15);
}

.ow-button-outline {
  border-color: #c4ccc8;
  background: rgba(255,253,250,.48);
}

.ow-hero-premium {
  background:
    radial-gradient(circle at 12% 14%, rgba(195,161,109,.15), transparent 22rem),
    radial-gradient(circle at 86% 18%, rgba(20,122,87,.11), transparent 24rem),
    #141d21;
}

.ow-hero-premium::before {
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 30%),
    radial-gradient(circle at 84% 10%, rgba(195,161,109,.11), transparent 21rem),
    linear-gradient(180deg, rgba(10,15,18,.38), rgba(20,29,33,.84));
}

.ow-hero-premium::after {
  content: "";
  position: absolute;
  inset: auto auto -180px -180px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  pointer-events: none;
}

.ow-hero-premium-inner {
  padding: 58px 0 56px;
}

.ow-hero-premium-grid {
  grid-template-columns: minmax(0,1.12fr) minmax(340px,.88fr);
  gap: clamp(44px,7vw,92px);
}

.ow-hero-premium-copy {
  max-width: 670px;
}

.ow-hero-badge {
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 7px;
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.12);
  color: rgba(255,255,255,.67);
  font-size: 9px;
  letter-spacing: .145em;
}

.ow-hero-premium-title {
  max-width: 700px;
  margin-top: 18px;
  font-size: clamp(2.5rem, 4.4vw, 3.55rem);
  line-height: .99;
  letter-spacing: -.052em;
  font-weight: 670;
}

.ow-hero-premium-body {
  max-width: 600px;
  margin-top: 18px;
  color: #aeb9bd;
  font-size: 14px;
  line-height: 1.75;
}

.ow-hero-premium-body .ow-hero-supporting {
  color: #e1e7e8;
  font-weight: 610;
}

.ow-hero-premium-actions {
  margin-top: 23px;
}

.ow-premium-cta {
  min-height: 43px;
  padding: 11px 14px 11px 15px;
  border-radius: 9px;
  background: #167c59;
  box-shadow: 0 12px 28px rgba(0,0,0,.24);
  font-size: 11px;
}

.ow-premium-cta:hover {
  background: #0e6246;
  transform: translateY(-2px);
}

.ow-hero-micro {
  color: #7f8d93;
  font-size: 10px;
}

.ow-hero-premium-stage {
  gap: 10px;
}

.ow-hero-premium-card {
  padding: 21px;
  border-radius: 14px;
  border-color: rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(27,38,43,.96), rgba(16,25,29,.98));
  box-shadow: 0 30px 80px rgba(0,0,0,.30);
}

.ow-hero-premium-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255,255,255,.045), transparent 38%);
  pointer-events: none;
}

.ow-hero-card-head {
  padding-bottom: 14px;
}

.ow-hero-card-eyebrow,
.ow-hero-build-strip-head {
  font-size: 8px;
  letter-spacing: .19em;
}

.ow-hero-card-head strong {
  font-size: 12px;
}

.ow-hero-ready {
  font-size: 8px;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.ow-hero-service-row {
  padding: 11px 0;
}

.ow-hero-service-row strong {
  font-size: 11px;
  font-weight: 660;
}

.ow-hero-service-icon {
  width: 21px;
  height: 21px;
  border-radius: 6px;
}

.ow-hero-card-metrics {
  margin-top: 15px;
  padding-top: 14px;
  gap: 18px;
}

.ow-hero-card-metric strong {
  font-size: 22px;
}

.ow-hero-card-metric span {
  font-size: 9px;
}

.ow-hero-build-strip {
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255,255,255,.025);
}

.ow-section {
  padding: 78px 0;
}

.ow-section-alt {
  background:
    linear-gradient(180deg, rgba(255,253,250,.82), rgba(250,248,243,.96));
}

.ow-section-head {
  gap: 44px;
  margin-bottom: 32px;
}

.ow-kicker {
  font-size: 9px;
  letter-spacing: .19em;
}

.ow-section-title {
  max-width: 690px;
  margin-top: 9px;
  font-size: clamp(1.85rem, 3.25vw, 2.55rem);
  line-height: 1.06;
  letter-spacing: -.045em;
  font-weight: 680;
}

.ow-section-intro {
  max-width: 430px;
  color: #748087;
  font-size: 13px;
  line-height: 1.78;
}

.ow-pricing-list {
  border-top-color: #cfd6d2;
}

.ow-pricing-row {
  grid-template-columns: 38px minmax(0,1fr) minmax(160px,220px) auto;
  gap: 20px;
  min-height: 112px;
  padding: 22px 0;
}

.ow-pricing-row:hover {
  background: rgba(255,253,250,.55);
  padding-inline: 14px;
  border-radius: 8px;
}

.ow-index {
  color: #849189;
  font-size: 10px;
}

.ow-package-kicker {
  color: #89948f;
  font-size: 9px;
  letter-spacing: .15em;
}

.ow-pricing-title {
  font-size: 16px;
  font-weight: 690;
}

.ow-pricing-desc {
  max-width: 52ch;
  font-size: 11px;
  line-height: 1.55;
}

.ow-price {
  font-size: 16px;
  font-weight: 700;
}

.ow-popular {
  padding: 4px 7px;
  border-radius: 6px;
  font-size: 8px;
  letter-spacing: .11em;
}

.ow-seo-grid,
.ow-maint-grid {
  gap: 16px;
}

.ow-service-card {
  min-height: 250px;
  padding: 25px;
  border-radius: 8px;
  border-color: #d3d9d6;
  background: rgba(255,253,250,.67);
  box-shadow: none;
}

.ow-service-card:hover {
  transform: translateY(-3px);
  border-color: #bfc9c4;
  box-shadow: 0 18px 38px rgba(17,24,29,.07);
}

.ow-service-card.is-featured {
  border-color: rgba(20,122,87,.34);
  background:
    linear-gradient(180deg, rgba(237,247,242,.88), rgba(255,253,250,.76));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.ow-service-card h3 {
  font-size: 17px;
  font-weight: 700;
}

.ow-service-card .ow-card-price {
  margin-top: 15px;
  font-size: 22px;
  font-weight: 700;
}

.ow-service-card p {
  margin-top: 11px;
  color: #69757b;
  font-size: 12px;
  line-height: 1.7;
}

.ow-trust-grid {
  margin-top: 34px;
  border-top-color: rgba(255,255,255,.13);
}

.ow-trust-item {
  padding-top: 25px;
}

.ow-trust-index {
  color: #91a09a;
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ow-trust-item h3 {
  font-size: 17px;
  font-weight: 670;
}

.ow-trust-item p {
  color: #aeb8bb;
  font-size: 12px;
}

.ow-faq-list {
  margin-top: 8px;
}

.ow-faq-item summary {
  padding: 21px 0;
  font-size: 16px;
  font-weight: 660;
}

.ow-faq-answer {
  padding-bottom: 21px;
  color: #748087;
  font-size: 13px;
  line-height: 1.75;
}

.ow-final {
  padding: 74px 0 86px;
}

.ow-final-box {
  padding: 30px 34px;
  border-radius: 10px;
  background:
    radial-gradient(circle at 100% 0%, rgba(195,161,109,.08), transparent 16rem),
    rgba(255,253,250,.86);
  box-shadow: 0 20px 44px rgba(17,24,29,.06);
}

.ow-final-title {
  font-size: clamp(1.9rem, 3.3vw, 2.55rem);
  font-weight: 680;
}

.ow-footer {
  background: #11181d;
  border-top-color: rgba(255,255,255,.10);
  color: #eef3f1;
}

.ow-footer-inner--compact {
  min-height: 84px;
}

.ow-footer-menu .menu {
  gap: 12px 20px;
}

.ow-footer-menu a {
  color: #aeb8bb;
  font-size: 10px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

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

.ow-footer-bottom {
  padding: 14px 0 22px;
  color: #6f7d82;
  font-size: 9px;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Technology band becomes a quiet proof strip, not a generic logo wall. */
.ow-tech-marquee {
  background: #f7f4ee;
  border-bottom-color: #d6dcd8;
}

.ow-tech-marquee-grid {
  opacity: .20;
}

.ow-tech-marquee-inner {
  padding: 18px 0 20px;
}

.ow-tech-marquee-label {
  margin-bottom: 10px;
  color: #7f8987;
  font-size: 8px;
  letter-spacing: .20em;
}

.ow-tech-track-left,
.ow-tech-track-right {
  opacity: .86;
}

.ow-tech-item {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
  border-radius: 8px;
}

.ow-tech-item img {
  width: 25px;
  height: 25px;
  opacity: .48;
}

.ow-tech-marquee-fade-left {
  background: linear-gradient(90deg, #f7f4ee 0%, rgba(247,244,238,.86) 38%, rgba(247,244,238,0) 100%);
}

.ow-tech-marquee-fade-right {
  background: linear-gradient(270deg, #f7f4ee 0%, rgba(247,244,238,.86) 38%, rgba(247,244,238,0) 100%);
}

/* Blog cards / editorial pages inherit the same quieter typographic system. */
.ow-editorial-entry {
  padding-top: 48px;
}

.ow-editorial-title {
  max-width: 900px;
  font-size: clamp(2.25rem, 4.5vw, 3.75rem);
  font-weight: 680;
}

.ow-editorial-deck {
  font-size: 16px;
}

.ow-editorial-hero-image {
  border-radius: 10px;
  box-shadow: 0 24px 56px rgba(17,24,29,.08);
}

.ow-editorial-content {
  color: #4d5960;
  font-size: 16px;
  line-height: 1.92;
}

@media (max-width: 980px) {
  .ow-container {
    width: min(calc(100% - 32px), var(--ow-container));
  }

  .ow-hero-premium-inner {
    padding: 52px 0 54px;
  }

  .ow-hero-premium-title {
    font-size: clamp(2.45rem, 7vw, 3.35rem);
  }

  .ow-section {
    padding: 68px 0;
  }
}

@media (max-width: 900px) {
  .ow-primary-menu > li > a {
    min-height: 64px;
  }
  .ow-header-inner {
    min-height: 64px;
  }
  .ow-site-header {
    min-height: 64px;
  }
}

@media (max-width: 640px) {
  .ow-container {
    width: min(calc(100% - 24px), var(--ow-container));
  }

  .ow-hero-premium-inner {
    padding: 42px 0 44px;
  }

  .ow-hero-premium-title {
    max-width: 580px;
    font-size: clamp(2.1rem, 10vw, 2.8rem);
    line-height: 1.01;
  }

  .ow-hero-premium-body {
    font-size: 13px;
    line-height: 1.72;
  }

  .ow-hero-premium-card {
    padding: 17px;
  }

  .ow-section {
    padding: 58px 0;
  }

  .ow-section-head {
    gap: 18px;
  }

  .ow-section-title {
    font-size: clamp(1.75rem, 8vw, 2.2rem);
  }

  .ow-pricing-row {
    grid-template-columns: 30px minmax(0,1fr);
    gap: 12px;
    min-height: 0;
    padding: 18px 0;
  }

  .ow-price,
  .ow-pricing-row .ow-button {
    grid-column: 2;
    justify-self: start;
  }

  .ow-price {
    text-align: left;
  }

  .ow-final-box {
    padding: 23px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ow-hero-premium-card::before {
    transition: none;
  }
}

/* Premium footer hierarchy */
.ow-footer-inner--premium {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 56px;
  align-items: start;
  padding: 34px 0 30px;
}
.ow-footer-inner--premium .ow-footer-brand .ow-brand {
  color: #f4f7f5;
}
.ow-footer-inner--premium .ow-footer-brand .ow-brand-mark {
  background: #f0f3ee;
  color: #11181d;
}
.ow-footer-inner--premium .ow-footer-brand p {
  max-width: 390px;
  margin: 13px 0 0;
  color: #829095;
  font-size: 11px;
  line-height: 1.75;
}
.ow-footer-inner--premium .ow-footer-menu .menu {
  justify-content: flex-end;
  padding-top: 4px;
}
.ow-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.ow-blog-thumb {
  display: block;
  overflow: hidden;
  border-radius: 8px;
}
.ow-blog-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .45s var(--ow-ease);
}
.ow-blog-thumb:hover .ow-blog-image {
  transform: scale(1.025);
}
.ow-blog-date {
  margin-top: 17px;
  color: #7a8783;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.ow-blog-title {
  margin: 7px 0 0;
  font-size: 19px;
  line-height: 1.15;
  letter-spacing: -.03em;
  font-weight: 690;
}
@media (max-width: 900px) {
  .ow-footer-inner--premium {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .ow-footer-inner--premium .ow-footer-menu .menu {
    justify-content: flex-start;
  }
}
@media (max-width: 640px) {
  .ow-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

.ow-blog-grid { margin-top: 30px; }

/* ==========================================================
   OPTIMAWEB LUXURY TECH SYSTEM — 4.3.0
   Distinctive visual language: graphite, bone, jade, champagne.
   ========================================================== */

:root {
  --ow-lt-bone: #f5f1e8;
  --ow-lt-paper: #fbf9f4;
  --ow-lt-panel: #f0ece3;
  --ow-lt-ink: #12191d;
  --ow-lt-muted: #6b7477;
  --ow-lt-line: #d8d4ca;
  --ow-lt-jade: #1f8060;
  --ow-lt-jade-deep: #11553f;
  --ow-lt-gold: #b99a67;
  --ow-lt-gold-soft: rgba(185,154,103,.24);
  --ow-lt-night: #10181c;
  --ow-lt-night-2: #162126;
  --ow-lt-night-line: rgba(255,255,255,.11);
}

body {
  background:
    linear-gradient(90deg, transparent 0, transparent calc(50% - 580px), rgba(18,25,29,.035) calc(50% - 580px), rgba(18,25,29,.035) calc(50% - 579px), transparent calc(50% - 579px), transparent calc(50% + 579px), rgba(18,25,29,.035) calc(50% + 579px), rgba(18,25,29,.035) calc(50% + 580px), transparent calc(50% + 580px)),
    var(--ow-lt-bone);
}

/* Header: intentionally quieter than the hero. */
.ow-site-header {
  background: rgba(248,245,238,.76);
  border-bottom-color: rgba(18,25,29,.10);
  box-shadow: none;
}

.ow-site-header.is-scrolled {
  background: rgba(248,245,238,.94);
  box-shadow: 0 14px 35px rgba(16,24,28,.06);
}

.ow-brand-mark {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #11191d, #25333a);
}

.ow-brand-mark::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 7px;
  pointer-events: none;
}

.ow-header-cta {
  box-shadow: 0 10px 24px rgba(17,85,63,.16);
}

/* Main hero: architectural frame instead of a generic gradient hero. */
.ow-hero-premium {
  background:
    radial-gradient(circle at 84% 8%, rgba(185,154,103,.12), transparent 21rem),
    radial-gradient(circle at 16% 34%, rgba(78,172,139,.075), transparent 24rem),
    linear-gradient(180deg, #0e161a 0%, #10191d 62%, #121c20 100%);
  border-bottom-color: rgba(255,255,255,.09);
}

.ow-hero-premium::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}

.ow-hero-premium-image {
  opacity: .36;
  filter: grayscale(.35) saturate(.66) contrast(1.04) brightness(.68);
  mix-blend-mode: screen;
}

.ow-hero-premium-inner {
  padding: 82px 0 72px;
}

.ow-hero-premium-grid {
  grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr);
  gap: clamp(44px, 6vw, 92px);
}

.ow-hero-premium-copy {
  position: relative;
  padding-left: 28px;
}

.ow-hero-premium-copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: linear-gradient(180deg, rgba(185,154,103,.0), rgba(185,154,103,.62) 25%, rgba(31,128,96,.48) 72%, rgba(185,154,103,.0));
}

.ow-hero-badge {
  border-color: rgba(185,154,103,.30);
  background: rgba(185,154,103,.055);
  color: #d9d5cc;
  letter-spacing: .18em;
}

.ow-hero-badge svg {
  color: #d6b77f;
}

.ow-hero-premium-title {
  max-width: 760px;
  margin-top: 18px;
  font-size: clamp(2.65rem, 4.2vw, 3.7rem);
  line-height: .99;
  letter-spacing: -.05em;
  font-weight: 690;
}

.ow-hero-premium-title::after {
  content: "";
  display: block;
  width: 62px;
  height: 1px;
  margin-top: 20px;
  background: linear-gradient(90deg, #c5a56f, rgba(197,165,111,0));
}

.ow-hero-premium-body {
  max-width: 610px;
  margin-top: 18px;
  color: #aeb8bc;
  font-size: 14px;
}

.ow-hero-premium-body .ow-hero-supporting {
  color: #e4e9e9;
}

.ow-premium-cta {
  min-height: 46px;
  padding: 12px 16px 12px 18px;
  border: 1px solid rgba(206,237,225,.08);
  border-radius: 10px;
  background: linear-gradient(135deg, #238465, #17684f);
  box-shadow: 0 14px 32px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08);
}

.ow-premium-cta:hover {
  background: linear-gradient(135deg, #2b9270, #1a7357);
  box-shadow: 0 18px 36px rgba(0,0,0,.29), inset 0 1px 0 rgba(255,255,255,.10);
}

.ow-hero-micro {
  color: #7f8d92;
}

.ow-live-dot {
  background: #62c69f;
}

/* Hero service module: feels more like an instrument panel than a card. */
.ow-hero-premium-stage {
  position: relative;
}

.ow-hero-premium-card {
  padding: 22px;
  border-color: rgba(220,224,221,.12);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.045), transparent 28%),
    rgba(12,20,24,.88);
  box-shadow: 0 32px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.035);
}

.ow-hero-premium-card::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 10px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(185,154,103,.18), transparent);
}

.ow-hero-card-orbit {
  width: 270px;
  height: 270px;
  right: -136px;
  top: -126px;
  border-color: rgba(213,184,128,.35);
}

.ow-hero-card-orbit::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  left: 26px;
  bottom: 47px;
  border-radius: 50%;
  background: #c9a870;
  box-shadow: 0 0 0 5px rgba(201,168,112,.08);
}

.ow-hero-card-orbit::after {
  border-color: rgba(31,128,96,.22);
}

.ow-hero-card-head {
  padding-bottom: 18px;
}

.ow-hero-card-eyebrow {
  color: #d0c5b1;
}

.ow-hero-card-head strong {
  font-size: 14px;
  letter-spacing: -.015em;
}

.ow-hero-ready {
  border: 1px solid rgba(255,255,255,.09);
  padding: 5px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.025);
}

.ow-hero-service-row {
  grid-template-columns: 24px minmax(0,1fr) auto;
  padding: 12px 0;
}

.ow-hero-service-row:hover {
  padding-inline: 10px;
  background: rgba(185,154,103,.035);
}

.ow-hero-service-icon {
  border-color: rgba(185,154,103,.17);
  border-radius: 6px;
  color: #a9cbbb;
}

.ow-hero-service-row strong {
  font-size: 11px;
  letter-spacing: .015em;
}

.ow-hero-card-metrics {
  margin-top: 16px;
  padding-top: 15px;
}

.ow-hero-card-metric strong {
  font-size: 22px;
}

.ow-hero-card-metric span {
  color: #849197;
}

.ow-hero-build-strip {
  padding: 13px 15px;
  border-color: rgba(255,255,255,.09);
  border-radius: 10px;
  background: rgba(255,255,255,.027);
}

.ow-hero-build-strip-head span:last-child {
  color: #c2a873;
}

.ow-hero-build-item i {
  background: #bda066;
}

/* Technology strip: turn it into a restrained brand/stack ribbon. */
.ow-tech-marquee {
  border-bottom-color: var(--ow-lt-line);
  background: var(--ow-lt-paper);
}

.ow-tech-marquee-grid {
  background-image: linear-gradient(rgba(18,25,29,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(18,25,29,.035) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: .34;
}

.ow-tech-marquee-inner {
  padding: 20px 0 21px;
}

.ow-tech-marquee-label {
  color: #8c928f;
  letter-spacing: .22em;
}

.ow-tech-item {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border-radius: 8px;
}

.ow-tech-item:hover {
  border-color: #cfc7b8;
  background: rgba(255,253,250,.92);
}

/* Light sections: sharper hierarchy, less UI-kit feel. */
.ow-section {
  padding: 76px 0;
  border-bottom-color: var(--ow-lt-line);
}

.ow-section-head {
  margin-bottom: 30px;
}

.ow-kicker {
  color: var(--ow-lt-jade-deep);
  letter-spacing: .19em;
}

.ow-section-title {
  margin-top: 10px;
  font-size: clamp(1.9rem, 3.2vw, 2.5rem);
  letter-spacing: -.045em;
  font-weight: 690;
}

.ow-section-intro {
  color: #727a7d;
  font-size: 13px;
}

.ow-pricing-list {
  position: relative;
  border-top-color: #cfcac0;
}

.ow-pricing-row {
  grid-template-columns: 42px minmax(0,1fr) minmax(170px,220px) auto;
  padding: 24px 0;
  border-bottom-color: #d3cec4;
}

.ow-pricing-row:hover {
  margin-inline: -12px;
  padding-inline: 14px;
  background: rgba(255,255,255,.54);
  border-color: #bbb3a5;
}

.ow-index {
  color: var(--ow-lt-gold);
  font-variant-numeric: tabular-nums;
}

.ow-package-kicker {
  color: #8c918e;
  letter-spacing: .15em;
}

.ow-pricing-title {
  font-size: 16px;
  font-weight: 730;
}

.ow-pricing-desc {
  color: #737b7e;
}

.ow-price {
  color: #1a2327;
  font-size: 17px;
}

.ow-popular {
  background: rgba(185,154,103,.11);
  color: #6b532d;
  border: 1px solid rgba(185,154,103,.20);
}

.ow-service-card {
  min-height: 248px;
  padding: 26px;
  border-color: #d4d0c7;
  border-radius: 11px;
  background: rgba(255,253,249,.68);
}

.ow-service-card:hover {
  border-color: #bdb6aa;
  box-shadow: 0 20px 44px rgba(18,25,29,.08);
  transform: translateY(-3px);
}

.ow-service-card.is-featured {
  border-color: rgba(31,128,96,.31);
  background:
    linear-gradient(150deg, rgba(31,128,96,.055), transparent 55%),
    rgba(255,253,249,.78);
  box-shadow: inset 0 2px 0 rgba(31,128,96,.18);
}

.ow-service-card .ow-card-price {
  font-size: 23px;
}

.ow-service-card p {
  color: #70797c;
}

.ow-trust-grid {
  margin-top: 34px;
  border-top-color: rgba(255,255,255,.12);
}

.ow-section-dark {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 24%, rgba(185,154,103,.10), transparent 22rem),
    linear-gradient(160deg, #11191d, #10171b 62%, #121b1f);
}

.ow-section-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.ow-trust-item {
  padding-top: 26px;
}

.ow-trust-index {
  color: #aa946d;
}

.ow-trust-item h3 {
  font-size: 17px;
}

.ow-faq-list {
  border-top-color: #cec9be;
}

.ow-faq-item {
  border-bottom-color: #d3cec4;
}

.ow-faq-item summary {
  padding: 21px 0;
  font-size: 16px;
}

.ow-faq-icon {
  border-color: #c9c3b8;
  background: rgba(255,255,255,.28);
}

.ow-faq-item[open] .ow-faq-icon {
  background: rgba(185,154,103,.10);
  border-color: rgba(185,154,103,.30);
}

.ow-faq-answer {
  color: #737b7e;
}

.ow-final {
  padding: 72px 0;
  background:
    radial-gradient(circle at 90% 50%, rgba(185,154,103,.11), transparent 22rem),
    var(--ow-lt-paper);
}

.ow-final-box {
  position: relative;
  overflow: hidden;
  padding: 30px 32px;
  border-color: #d1ccc2;
  border-radius: 11px;
  background: rgba(255,253,249,.84);
  box-shadow: 0 22px 50px rgba(18,25,29,.06);
}

.ow-final-box::before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  right: -42px;
  top: -42px;
  border-radius: 50%;
  border: 1px solid rgba(185,154,103,.23);
}

.ow-final-title {
  font-size: clamp(1.9rem, 3.2vw, 2.55rem);
  font-weight: 690;
}

.ow-footer {
  background: #11191d;
  border-top-color: rgba(255,255,255,.08);
  color: #fff;
}

.ow-footer .ow-brand-name {
  color: #fff;
}

.ow-footer .ow-brand-tagline,
.ow-footer-brand p,
.ow-footer-bottom,
.ow-footer-menu a {
  color: #879298;
}

.ow-footer-menu a:hover {
  color: #f5f1e8;
}

.ow-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Editorial blog: carry the luxury-tech language into content pages. */
.ow-editorial-page {
  background:
    linear-gradient(90deg, transparent 0, transparent calc(50% - 580px), rgba(18,25,29,.028) calc(50% - 580px), rgba(18,25,29,.028) calc(50% - 579px), transparent calc(50% - 579px), transparent calc(50% + 579px), rgba(18,25,29,.028) calc(50% + 579px), rgba(18,25,29,.028) calc(50% + 580px), transparent calc(50% + 580px)),
    var(--ow-lt-paper);
}

.ow-editorial-title {
  font-size: clamp(2.25rem, 4.8vw, 3.95rem);
  font-weight: 700;
}

.ow-editorial-topline {
  border-bottom-color: #d5d0c6;
}

.ow-editorial-category,
.ow-editorial-content a {
  color: var(--ow-lt-jade-deep);
}

.ow-editorial-hero-image {
  border-color: #d2cdc3;
  box-shadow: 0 22px 52px rgba(18,25,29,.07);
}

.ow-editorial-content blockquote {
  border-left-color: var(--ow-lt-gold);
}

@media (max-width: 980px) {
  .ow-hero-premium-inner {
    padding: 62px 0 58px;
  }

  .ow-hero-premium-copy {
    padding-left: 22px;
  }

  .ow-pricing-row {
    grid-template-columns: 38px minmax(0,1fr);
  }
}

@media (max-width: 640px) {
  .ow-container {
    width: min(calc(100% - 24px), var(--ow-container));
  }

  .ow-hero-premium-inner {
    padding: 48px 0 46px;
  }

  .ow-hero-premium-copy {
    padding-left: 16px;
  }

  .ow-hero-premium-title {
    font-size: clamp(2.15rem, 10.5vw, 2.85rem);
  }

  .ow-hero-premium-stage::before {
    top: -17px;
    right: 4px;
  }

  .ow-hero-premium-card {
    padding: 18px;
  }

  .ow-section {
    padding: 60px 0;
  }

  .ow-final {
    padding: 58px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ow-hero-card-orbit,
  .ow-hero-build-track,
  .ow-live-dot {
    animation: none !important;
  }
}



/* v4.3.1 precision fixes */
.ow-hero-card-metrics {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  justify-items: stretch;
  text-align: left;
}
.ow-hero-card-metric {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left !important;
}
.ow-hero-card-metric + .ow-hero-card-metric {
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.ow-hero-card-metric strong,
.ow-hero-card-metric span {
  text-align: left !important;
  margin-left: 0;
  margin-right: auto;
}
.ow-hero-card-metric span {
  max-width: 20ch;
}

/* Hover borders on the tech ribbon stay fully inside the moving row. */
.ow-tech-marquee-row {
  overflow: visible;
}
.ow-tech-item {
  position: relative;
  border-color: transparent;
  box-sizing: border-box;
}
.ow-tech-item:hover {
  transform: translateY(-1px);
  border-color: #cfc7b8;
  background: rgba(255,253,250,.94);
  box-shadow: 0 0 0 1px rgba(207,199,184,.22), 0 8px 18px rgba(23,32,39,.07);
}

@media (max-width: 640px) {
  .ow-hero-card-metrics {
    gap: 0;
  }
  .ow-hero-card-metric + .ow-hero-card-metric {
    padding-left: 14px;
  }
  .ow-hero-card-metric strong {
    font-size: 20px;
  }
}


/* ==========================================================
   V4.3.3 RHYTHM REFINEMENT
   Tighter, consistent vertical rhythm across desktop/tablet/mobile.
   ========================================================== */
.ow-section {
  padding: 58px 0;
}
.ow-section-head {
  margin-bottom: 22px;
}
.ow-trust-grid {
  margin-top: 24px;
}
.ow-trust-item {
  padding-top: 22px;
  padding-bottom: 6px;
}
.ow-trust-item + .ow-trust-item {
  padding-top: 22px;
}
.ow-faq-item summary {
  padding: 18px 0;
}
.ow-faq-answer {
  padding-bottom: 16px;
}
.ow-final {
  padding: 56px 0;
}
.ow-final-box {
  padding: 26px 30px;
}
.ow-tech-marquee-inner {
  padding-top: 20px;
  padding-bottom: 22px;
}
.ow-hero-premium-inner {
  padding-top: 62px;
  padding-bottom: 58px;
}

@media (max-width: 980px) {
  .ow-hero-premium-inner {
    padding-top: 56px;
    padding-bottom: 52px;
  }
  .ow-section {
    padding: 54px 0;
  }
  .ow-final {
    padding: 52px 0;
  }
}

@media (max-width: 640px) {
  .ow-hero-premium-inner {
    padding-top: 44px;
    padding-bottom: 42px;
  }
  .ow-section {
    padding: 50px 0;
  }
  .ow-section-head {
    margin-bottom: 20px;
  }
  .ow-trust-grid {
    margin-top: 20px;
  }
  .ow-trust-item,
  .ow-trust-item + .ow-trust-item {
    padding-top: 18px;
    padding-bottom: 4px;
  }
  .ow-faq-item summary {
    padding: 16px 0;
  }
  .ow-faq-answer {
    padding-bottom: 14px;
  }
  .ow-final {
    padding: 48px 0;
  }
  .ow-final-box {
    padding: 22px 22px;
  }
  .ow-tech-marquee-inner {
    padding-top: 18px;
    padding-bottom: 20px;
  }
}


/* OPTIMAWEB TESTIMONIALS */
.ow-testimonials {
  position: relative;
  padding: 38px 0 42px;
  border-bottom: 1px solid var(--ow-line);
  background:
    linear-gradient(rgba(23,32,39,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,32,39,.025) 1px, transparent 1px),
    var(--ow-paper);
  background-size: 24px 24px;
}
.ow-testimonials::before {
  content: '';
  display: block;
  width: min(112px, 28vw);
  height: 1px;
  margin: 0 auto 16px;
  background: var(--ow-champagne);
  opacity: .75;
}
.ow-testimonials-inner { min-width: 0; }
.ow-testimonials-viewport {
  position: relative;
  overflow: hidden;
  padding: 8px 0;
  isolation: isolate;
}
.ow-testimonials-viewport::before,
.ow-testimonials-viewport::after {
  content: '';
  position: absolute;
  z-index: 3;
  inset-block: 0;
  width: 11%;
  pointer-events: none;
}
.ow-testimonials-viewport::before {
  left: 0;
  background: linear-gradient(90deg, var(--ow-paper) 4%, rgba(251,250,247,.84) 48%, transparent 100%);
}
.ow-testimonials-viewport::after {
  right: 0;
  background: linear-gradient(270deg, var(--ow-paper) 4%, rgba(251,250,247,.84) 48%, transparent 100%);
}
.ow-testimonials-row {
  overflow: visible;
}
.ow-testimonials-row + .ow-testimonials-row { margin-top: 10px; }
.ow-testimonials-track {
  display: flex;
  width: max-content;
  gap: 14px;
  padding: 4px 6px;
  will-change: transform;
  animation: owTestimonialMove 34s linear infinite;
}
.ow-testimonials-row--right .ow-testimonials-track {
  animation-name: owTestimonialMoveReverse;
  animation-duration: 39s;
}
.ow-testimonials-row:hover .ow-testimonials-track,
.ow-testimonials-row:focus-within .ow-testimonials-track {
  animation-play-state: paused;
}
.ow-testimonial-card {
  position: relative;
  width: 278px;
  min-height: 142px;
  flex: 0 0 278px;
  padding: 16px;
  border: 1px solid rgba(23,32,39,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 28px rgba(23,32,39,.045);
  transition: transform .22s var(--ow-ease), border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.ow-testimonial-card::after {
  content: '“';
  position: absolute;
  top: 7px;
  right: 12px;
  font-family: Georgia, serif;
  font-size: 30px;
  line-height: 1;
  color: rgba(185,155,107,.55);
}
.ow-testimonial-card:hover,
.ow-testimonial-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(185,155,107,.62);
  box-shadow: 0 18px 34px rgba(23,32,39,.08);
  background: #fff;
  outline: none;
}
.ow-testimonial-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.ow-testimonial-brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  overflow: hidden;
  border: 1px solid rgba(23,32,39,.1);
  border-radius: 50%;
  background: linear-gradient(145deg, #fff, #f1eee7);
  box-shadow: 0 5px 14px rgba(23,32,39,.06);
  transition: transform .22s var(--ow-ease), box-shadow .22s ease, border-color .22s ease;
}
.ow-testimonial-card:hover .ow-testimonial-brand-mark,
.ow-testimonial-card:focus-visible .ow-testimonial-brand-mark {
  transform: translateY(-1px) scale(1.035);
  border-color: rgba(185,155,107,.55);
  box-shadow: 0 9px 18px rgba(23,32,39,.08);
}
.testimonial-logo-svg { display: block; width: 42px; height: 42px; }
.ow-testimonial-brand-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ow-testimonial-brand-copy strong {
  overflow: hidden;
  color: var(--ow-ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ow-testimonial-brand-copy small {
  overflow: hidden;
  color: var(--ow-muted);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ow-testimonial-card > p {
  margin: 13px 0 0;
  max-width: 232px;
  color: #4e5a61;
  font-size: 12px;
  line-height: 1.62;
}
@keyframes owTestimonialMove {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}
@keyframes owTestimonialMoveReverse {
  from { transform: translate3d(-50%,0,0); }
  to { transform: translate3d(0,0,0); }
}
@media (max-width: 980px) {
  .ow-testimonials { padding: 32px 0 36px; }
  .ow-testimonial-card { width: 258px; flex-basis: 258px; min-height: 138px; }
}
@media (max-width: 640px) {
  .ow-testimonials { padding: 28px 0 30px; }
  .ow-testimonials-row + .ow-testimonials-row { margin-top: 8px; }
  .ow-testimonials-track { gap: 10px; animation-duration: 30s; }
  .ow-testimonials-row--right .ow-testimonials-track { animation-duration: 34s; }
  .ow-testimonial-card { width: 228px; flex-basis: 228px; min-height: 134px; padding: 14px; border-radius: 12px; }
  .ow-testimonial-brand-mark, .testimonial-logo-svg { width: 38px; height: 38px; flex-basis: 38px; }
  .ow-testimonial-card > p { margin-top: 11px; max-width: 198px; font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .ow-testimonials-track { animation: none; transform: none; }
  .ow-testimonial-card, .ow-testimonial-brand-mark { transition: none; }
}


/* Footer refinement — v4.3.6
   Desktop: address right, footer menu bottom right.
   Mobile: footer menu above copyright. */
.ow-footer-inner--premium {
  grid-template-columns: minmax(280px, 1fr) minmax(280px, .75fr);
  gap: 48px;
  padding: 32px 0 26px;
}
.ow-footer-address-wrap {
  justify-self: end;
  width: min(100%, 420px);
}
.ow-footer-address__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: #b99a67;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ow-footer-address {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  color: #879298;
  font-size: 11px;
  line-height: 1.7;
  font-style: normal;
}
.ow-footer-address__title {
  color: #f5f1e8;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .03em;
}
.ow-footer-bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding-top: 14px;
  padding-bottom: 18px;
}
.ow-footer-copyright {
  flex: 0 1 auto;
  color: #879298;
}
.ow-footer-bottom .ow-footer-menu {
  flex: 0 0 auto;
  max-width: 520px;
}
.ow-footer-bottom .ow-footer-menu .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ow-footer-bottom .ow-footer-menu a {
  display: inline-flex;
  padding: 2px 0;
}
@media (max-width: 900px) {
  .ow-footer-inner--premium {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .ow-footer-address-wrap {
    justify-self: start;
    width: 100%;
    max-width: 520px;
  }
  .ow-footer-bottom {
    flex-direction: column;
    gap: 16px;
  }
  .ow-footer-bottom .ow-footer-menu {
    width: 100%;
    max-width: none;
    order: 1;
  }
  .ow-footer-bottom .ow-footer-menu .menu {
    justify-content: flex-start;
  }
  .ow-footer-copyright {
    order: 2;
  }
}
@media (max-width: 640px) {
  .ow-footer-inner--premium {
    gap: 20px;
    padding: 28px 0 20px;
  }
  .ow-footer-bottom {
    gap: 14px;
    padding-top: 12px;
    padding-bottom: 16px;
  }
  .ow-footer-bottom .ow-footer-menu .menu {
    gap: 8px 16px;
  }
}


/* ==========================================================
   OPTIMAWEB 4.3.7 — MOBILE HERO + MENU REFINEMENT
   The luxury-tech desktop system stays intact; mobile gets
   its own intentional composition and touch-first controls.
   ========================================================== */

.ow-menu-toggle {
  position: relative;
  width: 46px;
  min-width: 46px;
  height: 46px;
  min-height: 46px;
  padding: 0;
  display: none;
  place-items: center;
  border: 1px solid rgba(18,25,29,.14);
  border-radius: 50%;
  background: rgba(255,253,250,.92);
  color: var(--ow-lt-ink, #12191d);
  box-shadow: 0 8px 24px rgba(18,25,29,.07);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ow-menu-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(31,128,96,.30);
  box-shadow: 0 12px 28px rgba(18,25,29,.10);
}

.ow-menu-icon {
  width: 19px;
  height: 15px;
  display: grid;
  align-content: center;
  gap: 4px;
}

.ow-menu-icon i {
  display: block;
  width: 19px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform .18s ease, opacity .18s ease;
}

/* Keep the visual language calm and balanced on smaller screens. */
@media (max-width: 980px) {
  .ow-header-nav,
  .ow-header-cta {
    display: none;
  }

  .ow-menu-toggle {
    display: grid;
    margin-left: auto;
  }

  .ow-hero-premium-grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 32px;
  }

  .ow-hero-premium-copy,
  .ow-hero-premium-stage {
    width: 100%;
    max-width: none;
  }

  .ow-hero-premium-stage {
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .ow-site-header,
  .ow-header-inner {
    min-height: 68px;
  }

  .ow-header-inner {
    gap: 14px;
  }

  .ow-brand {
    gap: 9px;
    min-width: 0;
  }

  .ow-brand-mark {
    width: 34px;
    height: 34px;
  }

  .ow-brand-name {
    font-size: 14px;
  }

  .ow-brand-tagline {
    font-size: 9px;
  }

  .ow-menu-toggle {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .ow-hero-premium-inner {
    padding: 34px 0 38px;
  }

  .ow-hero-premium-grid {
    gap: 28px;
  }

  .ow-hero-premium-copy {
    padding-left: 18px;
  }

  .ow-hero-premium-title {
    max-width: 100%;
    margin-top: 16px;
    font-size: clamp(2.15rem, 9vw, 2.7rem);
    line-height: 1.02;
    letter-spacing: -.048em;
    text-wrap: pretty;
  }

  .ow-hero-premium-body {
    max-width: 100%;
    margin-top: 16px;
    font-size: 13.5px;
    line-height: 1.68;
  }

  .ow-hero-premium-actions {
    margin-top: 20px;
  }

  .ow-premium-cta {
    width: 100%;
    min-height: 46px;
    padding-inline: 16px;
  }

  .ow-hero-micro {
    margin-top: 10px;
    font-size: 10px;
  }

  .ow-hero-premium-card {
    width: 100%;
    padding: 16px;
    border-radius: 14px;
  }

  .ow-hero-card-head {
    gap: 10px;
    padding-bottom: 12px;
  }

  .ow-hero-card-head strong {
    font-size: 11px;
  }

  .ow-hero-ready {
    padding: 5px 6px;
    font-size: 7px;
  }

  .ow-hero-service-row {
    grid-template-columns: 22px minmax(0,1fr) auto;
    padding: 10px 0;
  }

  .ow-hero-service-row strong {
    font-size: 10.5px;
  }

  .ow-hero-card-metrics {
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
  }

  .ow-hero-card-metric strong {
    font-size: 20px;
  }

  .ow-hero-card-metric span {
    font-size: 9px;
    max-width: 16ch;
  }

  .ow-hero-build-strip {
    padding: 11px 12px;
    border-radius: 9px;
  }

  .ow-hero-build-strip-head {
    margin-bottom: 8px;
  }

  .ow-hero-premium-image {
    background-position: 68% center;
    opacity: .42;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ow-menu-toggle,
  .ow-menu-toggle:hover,
  .ow-menu-icon i {
    transition: none;
  }
}


/* ==========================================================
   OPTIMAWEB 4.3.8 - HOSTING CACHE / MARQUEE HARDENING
   Keep the testimonial marquee self-contained and resilient
   when hosts or optimization plugins serve stale CSS.
   ========================================================== */
.ow-testimonials { width: 100%; position: relative; overflow: hidden; }
.ow-testimonials-inner { width: min(100%, var(--ow-container, 1160px)); margin-inline: auto; }
.ow-testimonials-viewport { position: relative; width: 100%; overflow: hidden; isolation: isolate; }
.ow-testimonials-track,
.ow-testimonials-row--right .ow-testimonials-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: max-content;
  gap: 14px;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
}
.ow-testimonials-track { animation-name: owTestimonialMove; animation-duration: 34s; }
.ow-testimonials-row--right .ow-testimonials-track { animation-name: owTestimonialMoveReverse; animation-duration: 39s; }
.ow-testimonials-row:hover .ow-testimonials-track,
.ow-testimonials-row:focus-within .ow-testimonials-track { animation-play-state: paused; }
.ow-testimonial-card {
  display: block;
  flex: 0 0 278px;
  width: 278px;
  min-height: 142px;
  box-sizing: border-box;
}
@media (max-width: 980px) {
  .ow-testimonial-card { flex-basis: 258px; width: 258px; }
}
@media (max-width: 640px) {
  .ow-testimonials-track { gap: 10px; animation-duration: 30s; }
  .ow-testimonials-row--right .ow-testimonials-track { animation-duration: 34s; }
  .ow-testimonial-card { flex-basis: 228px; width: 228px; min-height: 134px; }
}

/* ==========================================================
   OPTIMAWEB 4.3.9 — MOBILE MENU + TECH MARQUEE VISUAL FIX
   ========================================================== */

/* Mobile header menu: icon only, no circular button chrome. */
.ow-menu-toggle {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ow-lt-ink, #12191d);
}

.ow-menu-toggle:hover,
.ow-menu-toggle:focus-visible {
  transform: none;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.ow-menu-icon {
  width: 24px;
  height: 18px;
  display: grid;
  align-content: center;
  gap: 5px;
}

.ow-menu-icon i {
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

/* Give the moving technology icons breathing room so their painted
   bounds never touch the clipping edge, on desktop or mobile. */
.ow-tech-marquee-viewport {
  overflow: hidden;
  padding-block: 8px;
  box-sizing: border-box;
}

.ow-tech-marquee-row {
  overflow: visible;
  padding-block: 3px;
  box-sizing: border-box;
}

.ow-tech-marquee-track {
  align-items: center;
}

.ow-tech-item,
.ow-tech-item:hover,
.ow-tech-item:focus-visible {
  box-sizing: border-box;
}

.ow-tech-item:hover {
  transform: translateY(-1px) scale(1.01);
}

@media (max-width: 640px) {
  .ow-menu-toggle {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }

  .ow-menu-icon,
  .ow-menu-icon i {
    width: 22px;
  }

  .ow-tech-marquee-viewport {
    padding-block: 9px;
  }

  .ow-tech-marquee-row {
    padding-block: 4px;
  }
}

/* v4.3.9 logo refresh: shared OptimaWeb abstract mark */
.ow-brand-mark--new{background:#172027!important;color:#fff;overflow:hidden}
.ow-brand-mark--new svg{width:100%;height:100%;display:block}
.ow-brand-mark--new::after{display:none!important}


/* v4.3.9 modern unified site icon refinement */
.ow-brand-mark--new { background: transparent !important; box-shadow: none !important; overflow: visible !important; }
.ow-brand-mark--new .ow-brand-symbol-img { width: 100%; height: 100%; display: block; object-fit: contain; }

/* ==========================================================
   OPTIMAWEB REFERENCE BRAND LOCKUP
   Exact reference logo treatment: no box, no circular frame,
   dark header/footer so the silver logo remains legible.
   ========================================================== */
.ow-site-header {
  background: linear-gradient(180deg, #09131a 0%, #0b171e 100%) !important;
  border-bottom: 1px solid rgba(94, 222, 232, .18) !important;
  color: #f4f8fb;
}
.ow-site-header.is-scrolled {
  background: rgba(9, 19, 26, .96) !important;
  box-shadow: 0 14px 35px rgba(0,0,0,.18) !important;
}
.ow-site-header .ow-primary-menu > li > a,
.ow-site-header .ow-primary-menu a { color: #dbe5eb !important; }
.ow-site-header .ow-primary-menu > li > a:hover,
.ow-site-header .ow-primary-menu > li.current-menu-item > a,
.ow-site-header .ow-primary-menu > li.current_page_item > a { color: #1fe7e8 !important; }
.ow-brand--reference {
  display: inline-flex;
  align-items: center;
  gap: 0;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.ow-brand--reference::before,
.ow-brand--reference::after,
.ow-brand--reference .ow-brand-mark,
.ow-brand--reference .ow-brand-mark::before,
.ow-brand--reference .ow-brand-mark::after { display: none !important; content: none !important; }
.ow-brand-lockup-img {
  display: block;
  width: 286px;
  height: auto;
  max-width: none;
  object-fit: contain;
  filter: none;
}
.ow-offcanvas-panel .ow-brand-lockup-img { width: 250px; }
.ow-footer .ow-brand-lockup-img { width: 300px; }
.ow-footer .ow-brand--reference { background: transparent !important; }
.ow-footer .ow-brand--reference + p { color: #a8b7c0 !important; }
.ow-menu-toggle { color: #eaf4f7 !important; }

@media (max-width: 980px) {
  .ow-brand-lockup-img { width: 250px; }
}
@media (max-width: 640px) {
  .ow-brand-lockup-img { width: 218px; }
  .ow-offcanvas-panel .ow-brand-lockup-img { width: 220px; }
  .ow-footer .ow-brand-lockup-img { width: 235px; }
}

/* Reference header finish: keep the exact reference lockup on a dark field. */
.ow-site-header,
.ow-header-inner { min-height: 92px; }
.ow-site-header .ow-header-inner { align-items: center; }
.ow-header-cta {
  background: transparent !important;
  color: #eef7fa !important;
  border: 1px solid rgba(31,231,232,.72) !important;
  box-shadow: 0 0 0 1px rgba(31,231,232,.06), 0 10px 28px rgba(0,0,0,.18) !important;
}
.ow-header-cta:hover,
.ow-header-cta:focus-visible {
  background: rgba(31,231,232,.08) !important;
  color: #ffffff !important;
  border-color: rgba(31,231,232,.95) !important;
}
.ow-brand-lockup-img { width: 292px; height: auto; }
@media (max-width: 980px) {
  .ow-site-header,
  .ow-header-inner { min-height: 76px; }
  .ow-brand-lockup-img { width: 248px; }
}
@media (max-width: 640px) {
  .ow-site-header,
  .ow-header-inner { min-height: 72px; }
  .ow-brand-lockup-img { width: 218px; }
}

/* v4.3.20: refined compact reference logo sizing. Keep the exact artwork; only reduce the display footprint. */
.ow-brand-lockup-img {
  width: 156px !important;
  max-width: 156px !important;
  height: auto !important;
}
.ow-offcanvas-panel .ow-brand-lockup-img {
  width: 148px !important;
  max-width: 148px !important;
}
.ow-footer .ow-brand-lockup-img {
  width: 156px !important;
  max-width: 156px !important;
}

@media (max-width: 980px) {
  .ow-brand-lockup-img {
    width: 148px !important;
    max-width: 148px !important;
  }
  .ow-offcanvas-panel .ow-brand-lockup-img {
    width: 148px !important;
    max-width: 148px !important;
  }
}

@media (max-width: 640px) {
  .ow-brand-lockup-img {
    width: 136px !important;
    max-width: 136px !important;
  }
  .ow-offcanvas-panel .ow-brand-lockup-img {
    width: 148px !important;
    max-width: 148px !important;
  }
  .ow-footer .ow-brand-lockup-img {
    width: 148px !important;
    max-width: 148px !important;
  }
}

/* V4.3.26 — compact reference lockup + logo-free mobile off-canvas. */
.ow-brand-lockup-img{width:124px !important;max-width:124px !important;height:auto !important;}
.ow-footer .ow-brand-lockup-img{width:124px !important;max-width:124px !important;}
@media (max-width:980px){
  .ow-brand-lockup-img{width:118px !important;max-width:118px !important;}
  .ow-footer .ow-brand-lockup-img{width:118px !important;max-width:118px !important;}
}
@media (max-width:640px){
  .ow-brand-lockup-img{width:110px !important;max-width:110px !important;}
  .ow-footer .ow-brand-lockup-img{width:112px !important;max-width:112px !important;}
}
.ow-offcanvas-head--no-brand{justify-content:flex-end;}
/* V4.3.25 — header color refinement ONLY. Hero and all other sections intentionally inherit v4.3.25 unchanged. */
.ow-site-header {
  background: rgba(16, 24, 30, .94) !important;
  border-bottom: 1px solid rgba(220, 231, 235, .10) !important;
  color: #edf4f6 !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.ow-site-header.is-scrolled {
  background: rgba(12, 19, 24, .98) !important;
  border-bottom-color: rgba(220, 231, 235, .08) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
}
.ow-site-header .ow-primary-menu > li > a,
.ow-site-header .ow-primary-menu > li.current-menu-parent > a {
  color: #d2dde1 !important;
}
.ow-site-header .ow-primary-menu > li > a:hover,
.ow-site-header .ow-primary-menu > li.current-menu-item > a,
.ow-site-header .ow-primary-menu > li.current_page_item > a,
.ow-site-header .ow-primary-menu > li.current-menu-ancestor > a {
  color: #ebf6f8 !important;
}
.ow-site-header .ow-primary-menu > li > a::after {
  background: #67d6de !important;
  opacity: .82;
}
.ow-site-header .ow-header-cta,
.ow-site-header .ow-button-primary {
  background: transparent !important;
  color: #eef9fb !important;
  border-color: rgba(103,214,222,.58) !important;
  box-shadow: 0 0 0 1px rgba(103,214,222,.035), 0 7px 18px rgba(0,0,0,.12) !important;
}
.ow-site-header .ow-header-cta:hover,
.ow-site-header .ow-header-cta:focus-visible,
.ow-site-header .ow-button-primary:hover,
.ow-site-header .ow-button-primary:focus-visible {
  background: rgba(103,214,222,.07) !important;
  border-color: rgba(103,214,222,.88) !important;
  color: #ffffff !important;
}
.ow-site-header .ow-menu-toggle {
  background: transparent !important;
  color: #eef9fb !important;
  border-color: transparent !important;
}
.ow-site-header .ow-menu-toggle:hover,
.ow-site-header .ow-menu-toggle:focus-visible {
  color: #67d6de !important;
}


/* v4.3.26 final compact logo calibration; off-canvas intentionally brand-free. */
.ow-site-header .ow-brand-lockup-img{width:124px !important;max-width:124px !important;}
.ow-footer .ow-brand-lockup-img{width:124px !important;max-width:124px !important;}
.ow-offcanvas-panel .ow-brand-lockup-img{display:none !important;}
.ow-offcanvas-head--no-brand{justify-content:flex-end !important;}
@media (max-width:980px){
  .ow-site-header .ow-brand-lockup-img{width:118px !important;max-width:118px !important;}
  .ow-footer .ow-brand-lockup-img{width:118px !important;max-width:118px !important;}
}
@media (max-width:640px){
  .ow-site-header .ow-brand-lockup-img{width:110px !important;max-width:110px !important;}
  .ow-footer .ow-brand-lockup-img{width:112px !important;max-width:112px !important;}
}


/* v4.3.27 — slimmer vertical header only; hero remains unchanged. */
.ow-site-header,
.ow-site-header .ow-header-inner {
  min-height: 60px !important;
}
@media (max-width: 980px) {
  .ow-site-header,
  .ow-site-header .ow-header-inner {
    min-height: 56px !important;
  }
}
@media (max-width: 640px) {
  .ow-site-header,
  .ow-site-header .ow-header-inner {
    min-height: 54px !important;
  }
}

/* v4.3.27 — compact the Customizer Social Sharing section slightly in the controls UI. */
#accordion-section-optimaweb_social .accordion-section-title {
  min-height: 36px !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}
#accordion-section-optimaweb_social .customize-control {
  margin-bottom: 12px !important;
}
#accordion-section-optimaweb_social .customize-control-description {
  margin-top: 5px !important;
  margin-bottom: 7px !important;
}

/* V4.3.28 - Mobile footer centered hierarchy. */
@media (max-width: 900px) {
  .ow-footer-inner--premium { justify-items: center; text-align: center; }
  .ow-footer-brand, .ow-footer-address-wrap { width: 100%; max-width: 100%; text-align: center; }
  .ow-footer-brand .ow-brand, .ow-footer-brand .ow-brand--reference { display: inline-flex; align-items: center; justify-content: center; margin-inline: auto; }
  .ow-footer-brand p { margin-left: auto; margin-right: auto; }
  .ow-footer-address-wrap { justify-self: center; }
  .ow-footer-address { align-items: center; text-align: center; }
  .ow-footer-bottom { width: 100%; align-items: center; text-align: center; justify-content: center; }
  .ow-footer-bottom .ow-footer-menu { order: 1; width: 100%; max-width: 100%; }
  .ow-footer-bottom .ow-footer-menu .menu { width: 100%; justify-content: center; align-items: center; text-align: center; }
  .ow-footer-bottom .ow-footer-menu li { display: flex; justify-content: center; text-align: center; }
  .ow-footer-copyright { order: 2; width: 100%; text-align: center; }
}


/* ==========================================================
   OPTIMAWEB NAVIGATION + FOOTER DIRECTORY
   Adds the recommended information architecture without
   changing the v4.3 hero system.
   ========================================================== */
.ow-footer--site {
  background: #0a1419;
  color: #d8e0e3;
  border-top: 1px solid rgba(143, 226, 255, .11);
}
.ow-footer-site-grid {
  display: grid;
  grid-template-columns: minmax(280px, .92fr) minmax(0, 1.08fr);
  gap: 68px;
  align-items: start;
  padding: 42px 0 34px;
}
.ow-footer-brand--site .ow-brand-lockup-img {
  display: block;
  width: 136px;
  height: auto;
}
.ow-footer-brand--site p {
  margin: 15px 0 0;
  max-width: 420px;
  color: #82939a;
  font-size: 12px;
  line-height: 1.75;
}
.ow-footer-address-wrap--site {
  margin-top: 25px;
  max-width: 420px;
}
.ow-footer-address-wrap--site .ow-footer-address__eyebrow {
  color: #8de9ff;
}
.ow-footer-address-wrap--site .ow-footer-address {
  color: #90a1a8;
  line-height: 1.65;
}
.ow-footer-address-wrap--site .ow-footer-address__title {
  color: #eef4f5;
}
.ow-footer-directory {
  min-width: 0;
}
.ow-footer-directory-menu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 34px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ow-footer-directory-menu > li {
  min-width: 0;
}
.ow-footer-directory-menu > .ow-menu-heading {
  grid-row: 1;
}
.ow-footer-directory-menu > li > a {
  text-decoration: none;
}
.ow-footer-directory-menu .menu-item-has-children {
  display: grid;
  align-content: start;
  gap: 9px;
}
.ow-footer-directory-menu .menu-item-has-children > a {
  pointer-events: none;
  cursor: default;
  color: #9beaf9;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ow-footer-directory-menu .sub-menu {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ow-footer-directory-menu .sub-menu a {
  color: #9aaab0;
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
  transition: color .18s ease, transform .18s ease;
}
.ow-footer-directory-menu .sub-menu a:hover,
.ow-footer-directory-menu .sub-menu a:focus-visible {
  color: #f3f8f8;
  transform: translateX(2px);
}
.ow-footer-bottom--site {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0 20px;
  border-top: 1px solid rgba(143, 226, 255, .11);
  color: #72848b;
  font-size: 10px;
}
.ow-footer-meta {
  color: #6e8188;
}

/* Generic content pages. */
.ow-page-shell {
  background: #f2f4f1;
  padding: clamp(52px, 7vw, 92px) 0;
  min-height: 60vh;
}
.ow-page-card {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 56px);
  background: #fbfcfa;
  border: 1px solid rgba(18, 25, 29, .11);
  border-radius: 18px;
  box-shadow: 0 22px 65px rgba(18,25,29,.06);
}
.ow-page-header {
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(18,25,29,.10);
}
.ow-page-eyebrow {
  color: #1989a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.ow-page-header h1 {
  margin: 9px 0 0;
  color: #12191d;
  font-size: clamp(36px, 5vw, 62px);
  line-height: .98;
  letter-spacing: -.045em;
}
.ow-page-content {
  padding-top: 28px;
  color: #56636a;
  font-size: 16px;
  line-height: 1.85;
}
.ow-page-content h2,
.ow-page-content h3 {
  color: #12191d;
  letter-spacing: -.025em;
  line-height: 1.1;
}
.ow-page-content a {
  color: #138aa7;
}
.ow-page-content ul,
.ow-page-content ol {
  padding-left: 1.2em;
}

@media (max-width: 900px) {
  .ow-footer-site-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .ow-footer-directory-menu {
    gap: 26px 22px;
  }
}

@media (max-width: 640px) {
  .ow-footer-site-grid {
    padding: 34px 0 28px;
    text-align: center;
  }
  .ow-footer-brand--site .ow-brand-lockup-img {
    width: 120px;
    margin: 0 auto;
  }
  .ow-footer-brand--site p {
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
  }
  .ow-footer-address-wrap--site {
    margin-left: auto;
    margin-right: auto;
  }
  .ow-footer-directory-menu {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .ow-footer-directory-menu .menu-item-has-children {
    justify-items: center;
  }
  .ow-footer-directory-menu .sub-menu {
    justify-items: center;
  }
  .ow-footer-directory-menu .sub-menu a:hover,
  .ow-footer-directory-menu .sub-menu a:focus-visible {
    transform: none;
  }
  .ow-footer-bottom--site {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
  }
}


/* ==========================================================
   OPTIMAWEB 4.3.30 — FOOTER + DESKTOP DROPDOWN POLISH
   Final layer for the v4.3.9 visual system.
   Footer remains dynamic via wp_nav_menu; all added items
   inherit the same alignment automatically on mobile.
   ========================================================== */

/* Desktop primary dropdown: readable against the dark header,
   calm hierarchy, reliable hit area, and no washed-out text. */
.ow-site-header .ow-primary-menu > li > ul {
  top: calc(100% + 8px);
  width: min(860px, calc(100vw - 40px));
  padding: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  border: 1px solid rgba(126, 205, 222, .20);
  border-radius: 14px;
  background: rgba(10, 20, 25, .98);
  box-shadow: 0 24px 60px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter: blur(18px);
}
.ow-site-header .ow-primary-menu > li > ul::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  transform: translateX(-50%) rotate(45deg);
  border-left: 1px solid rgba(126, 205, 222, .20);
  border-top: 1px solid rgba(126, 205, 222, .20);
  background: #0a1419;
}
.ow-site-header .ow-primary-menu > li > ul > li > a {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #dfe9ed !important;
  background: transparent;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 650;
  letter-spacing: -.005em;
}
.ow-site-header .ow-primary-menu > li > ul > li > a:hover,
.ow-site-header .ow-primary-menu > li > ul > li > a:focus-visible {
  color: #ffffff !important;
  background: rgba(49, 225, 232, .075);
  border-color: rgba(49, 225, 232, .16);
  outline: none;
}
.ow-site-header .ow-primary-menu > li.menu-item-has-children > a::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .65;
}

/* Footer: stable two-zone desktop composition. */
.ow-footer--site .ow-footer-site-grid {
  grid-template-columns: minmax(300px, .95fr) minmax(560px, 1.05fr);
  gap: 72px;
  align-items: start;
  padding: 38px 0 30px;
}
.ow-footer--site .ow-footer-directory-menu {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 34px;
  row-gap: 24px;
  align-items: start;
}
.ow-footer--site .ow-footer-directory-menu > li {
  min-width: 0;
}
.ow-footer--site .ow-footer-directory-menu .menu-item-has-children {
  gap: 10px;
}
.ow-footer--site .ow-footer-directory-menu .menu-item-has-children > a {
  color: #8fe7f6;
  font-size: 9px;
  line-height: 1.25;
}
.ow-footer--site .ow-footer-directory-menu .sub-menu {
  gap: 8px;
}
.ow-footer--site .ow-footer-directory-menu .sub-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  color: #a5b3b8;
  font-size: 11px;
  line-height: 1.35;
}
.ow-footer--site .ow-footer-directory-menu .sub-menu a:hover,
.ow-footer--site .ow-footer-directory-menu .sub-menu a:focus-visible {
  color: #f2f7f8;
}
.ow-footer--site .ow-footer-bottom--site {
  min-height: 52px;
  align-items: center;
  padding: 13px 0 17px;
}

/* Tablet: stack the two footer zones and keep everything coherent. */
@media (max-width: 1000px) {
  .ow-footer--site .ow-footer-site-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .ow-footer--site .ow-footer-directory-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 22px;
  }
}

/* Mobile: true single-column footer. Any number of menu items added
   from WordPress automatically remains centered. */
@media (max-width: 900px) {
  .ow-footer--site .ow-footer-site-grid {
    justify-items: center;
    text-align: center;
    gap: 28px;
    padding: 32px 0 26px;
  }
  .ow-footer--site .ow-footer-brand--site,
  .ow-footer--site .ow-footer-address-wrap--site,
  .ow-footer--site .ow-footer-directory {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    text-align: center;
  }
  .ow-footer--site .ow-footer-brand--site .ow-brand--reference {
    display: inline-flex;
    justify-content: center;
    margin-inline: auto;
  }
  .ow-footer--site .ow-footer-brand--site p {
    max-width: 430px;
    margin: 13px auto 0;
  }
  .ow-footer--site .ow-footer-address-wrap--site {
    margin-top: 20px;
  }
  .ow-footer--site .ow-footer-address-wrap--site .ow-footer-address {
    align-items: center;
    text-align: center;
  }
  .ow-footer--site .ow-footer-directory-menu {
    grid-template-columns: 1fr;
    gap: 24px;
    justify-items: center;
    width: 100%;
  }
  .ow-footer--site .ow-footer-directory-menu > li,
  .ow-footer--site .ow-footer-directory-menu .menu-item-has-children,
  .ow-footer--site .ow-footer-directory-menu .sub-menu {
    width: 100%;
    justify-items: center;
    text-align: center;
  }
  .ow-footer--site .ow-footer-directory-menu .sub-menu a {
    justify-content: center;
    min-height: 30px;
  }
  .ow-footer--site .ow-footer-bottom--site {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
  }
  .ow-footer--site .ow-footer-copyright,
  .ow-footer--site .ow-footer-meta {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 640px) {
  .ow-site-header .ow-primary-menu > li > ul {
    width: calc(100vw - 24px);
  }
  .ow-footer--site .ow-footer-site-grid {
    gap: 25px;
    padding: 30px 0 24px;
  }
  .ow-footer--site .ow-footer-directory-menu {
    gap: 21px;
  }
}

/* ==========================================================
   OPTIMAWEB 4.3.31 — RESPONSIVE FOOTER + DROPDOWN FINAL FIX
   Keep the v4.3.9 visual baseline; only correct alignment,
   spacing and contrast for desktop/tablet/mobile.
   ========================================================== */

/* Footer desktop: explicit two-zone composition. */
.ow-footer--site .ow-footer-site-grid {
  grid-template-columns: minmax(320px, 0.95fr) minmax(520px, 1.05fr);
  gap: clamp(48px, 6vw, 84px);
  align-items: start;
}

.ow-footer--site .ow-footer-brand--site,
.ow-footer--site .ow-footer-directory {
  min-width: 0;
}

.ow-footer--site .ow-footer-address-wrap--site {
  justify-self: start;
  margin-inline: 0;
  max-width: 520px;
}

.ow-footer--site .ow-footer-brand--site .ow-brand--reference,
.ow-footer--site .ow-footer-brand--site .ow-brand--reference img {
  display: block;
}

.ow-footer--site .ow-footer-brand--site .ow-brand--reference {
  width: fit-content;
}

.ow-footer--site .ow-footer-directory-menu {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 36px;
  align-items: start;
}

.ow-footer--site .ow-footer-directory-menu > li {
  display: block;
  min-width: 0;
}

.ow-footer--site .ow-footer-directory-menu .menu-item-has-children > a {
  margin-bottom: 2px;
}

.ow-footer--site .ow-footer-directory-menu .sub-menu {
  align-content: start;
}

/* Tablet: brand becomes a centered lead, menu stays a clean 3-column grid. */
@media (max-width: 1000px) and (min-width: 641px) {
  .ow-footer--site .ow-footer-site-grid {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-block: 38px 30px;
  }

  .ow-footer--site .ow-footer-brand--site {
    text-align: center;
    max-width: 620px;
    width: 100%;
    margin-inline: auto;
  }

  .ow-footer--site .ow-footer-brand--site .ow-brand--reference {
    margin-inline: auto;
  }

  .ow-footer--site .ow-footer-brand--site p {
    margin-inline: auto;
    max-width: 520px;
  }

  .ow-footer--site .ow-footer-address-wrap--site {
    justify-self: center;
    margin-inline: auto;
    text-align: center;
  }

  .ow-footer--site .ow-footer-address-wrap--site .ow-footer-address {
    align-items: center;
    text-align: center;
  }

  .ow-footer--site .ow-footer-directory {
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
  }

  .ow-footer--site .ow-footer-directory-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 20px;
  }
}

/* Mobile: one unmistakable centered column. New dashboard items inherit this. */
@media (max-width: 640px) {
  .ow-footer--site .ow-footer-site-grid {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 30px 0 24px;
  }

  .ow-footer--site .ow-footer-brand--site,
  .ow-footer--site .ow-footer-directory,
  .ow-footer--site .ow-footer-address-wrap--site {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .ow-footer--site .ow-footer-brand--site .ow-brand--reference {
    margin-inline: auto;
  }

  .ow-footer--site .ow-footer-brand--site p {
    max-width: 360px;
    margin: 12px auto 0;
    line-height: 1.7;
  }

  .ow-footer--site .ow-footer-address-wrap--site {
    justify-self: center;
    margin-top: 2px;
  }

  .ow-footer--site .ow-footer-address-wrap--site .ow-footer-address {
    align-items: center;
    text-align: center;
    line-height: 1.65;
  }

  .ow-footer--site .ow-footer-directory-menu,
  .ow-footer--site .ow-footer-directory-menu > li,
  .ow-footer--site .ow-footer-directory-menu .menu-item-has-children,
  .ow-footer--site .ow-footer-directory-menu .sub-menu {
    width: 100%;
    justify-items: center;
    text-align: center;
  }

  .ow-footer--site .ow-footer-directory-menu {
    grid-template-columns: 1fr;
    gap: 19px;
    margin: 0;
  }

  .ow-footer--site .ow-footer-directory-menu .menu-item-has-children {
    display: grid;
    justify-content: center;
    gap: 7px;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu {
    display: grid;
    justify-items: center;
    gap: 6px;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu a {
    justify-content: center;
    min-height: 28px;
    padding-inline: 8px;
  }

  .ow-footer--site .ow-footer-bottom--site {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 68px;
    padding: 13px 0 18px;
    text-align: center;
  }

  .ow-footer--site .ow-footer-copyright,
  .ow-footer--site .ow-footer-meta {
    width: 100%;
    text-align: center;
  }
}

/* Desktop dropdown: high-contrast, readable text and stable panel. */
@media (min-width: 901px) {
  .ow-site-header .ow-primary-menu > li > ul {
    z-index: 1000;
    color: #eef6f8;
    background: rgba(8, 17, 22, .985);
  }

  .ow-site-header .ow-primary-menu > li > ul > li > a {
    color: #e8f1f4 !important;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0;
    text-shadow: none;
  }

  .ow-site-header .ow-primary-menu > li > ul > li > a:hover,
  .ow-site-header .ow-primary-menu > li > ul > li > a:focus-visible {
    color: #ffffff !important;
    background: rgba(31, 231, 232, .10);
    border-color: rgba(31, 231, 232, .18);
  }
}

/* ==========================================================
   OPTIMAWEB 4.3.32 — MOBILE FOOTER FINAL ALIGNMENT
   Mobile-only refinement: one centered editorial column.
   ========================================================== */
@media (max-width: 640px) {
  .ow-footer--site .ow-container {
    width: min(100%, 100%);
    padding-inline: 20px;
  }

  .ow-footer--site .ow-footer-site-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 28px !important;
    justify-items: center !important;
    align-items: start !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-brand--site,
  .ow-footer--site .ow-footer-address-wrap--site,
  .ow-footer--site .ow-footer-directory {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    justify-self: center !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-brand--site .ow-brand--reference {
    display: inline-flex !important;
    width: auto !important;
    margin-inline: auto !important;
  }

  .ow-footer--site .ow-footer-brand--site p {
    max-width: 34rem !important;
    margin: 12px auto 0 !important;
    text-align: center !important;
    line-height: 1.65 !important;
  }

  .ow-footer--site .ow-footer-address-wrap--site {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;
  }

  .ow-footer--site .ow-footer-address-wrap--site .ow-footer-address {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    text-align: center !important;
    line-height: 1.6 !important;
  }

  .ow-footer--site .ow-footer-address-wrap--site .ow-footer-address__title {
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-directory-menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 22rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 22px !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .ow-footer--site .ow-footer-directory-menu > li,
  .ow-footer--site .ow-footer-directory-menu .menu-item-has-children {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-directory-menu .menu-item-has-children > a {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 4px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu li {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 30px !important;
    padding-inline: 6px !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-bottom--site {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 68px !important;
    gap: 7px !important;
    padding: 14px 0 18px !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-copyright,
  .ow-footer--site .ow-footer-meta {
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
}

/* ==========================================================
   OPTIMAWEB 4.3.33 — MOBILE FOOTER HORIZONTAL GROUPS
   Mobile footer groups stay vertical; links inside each group
   flow horizontally with responsive wrapping and separators.
   ========================================================== */
@media (max-width: 640px) {
  .ow-footer--site .ow-footer-directory-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 22px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .ow-footer--site .ow-footer-directory-menu > li {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ow-footer--site .ow-footer-directory-menu .menu-item-has-children {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;
  }

  .ow-footer--site .ow-footer-directory-menu .menu-item-has-children > a {
    width: auto !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    list-style: none !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu li {
    display: inline-flex !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu li + li::before {
    content: "|" !important;
    display: inline-block !important;
    margin: 0 10px !important;
    color: rgba(154, 170, 176, .46) !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 26px !important;
    padding: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.35 !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu a:hover,
  .ow-footer--site .ow-footer-directory-menu .sub-menu a:focus-visible {
    transform: none !important;
  }
}

/* ==========================================================
   OPTIMAWEB 4.3.34 — MOBILE FOOTER INLINE MENU
   Mobile groups stay compact and centered. Links remain on
   one line whenever they fit; long groups wrap naturally,
   without visual pipe separators.
   ========================================================== */
@media (max-width: 640px) {
  .ow-footer-site-grid {
    gap: 28px;
    padding: 30px 0 24px;
  }

  .ow-footer-directory {
    width: 100%;
  }

  .ow-footer-directory-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 18px;
    margin: 0;
    padding: 0;
  }

  .ow-footer-directory-menu > .menu-item-has-children {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 9px;
  }

  .ow-footer-directory-menu .menu-item-has-children > a {
    display: block;
    margin: 0;
    line-height: 1.15;
  }

  .ow-footer-directory-menu .sub-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 7px 16px;
    margin: 0;
    padding: 0 8px;
  }

  .ow-footer-directory-menu .sub-menu li {
    display: block;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  .ow-footer-directory-menu .sub-menu a {
    display: inline-block;
    max-width: 100%;
    text-align: center;
    white-space: normal;
    line-height: 1.35;
  }

  .ow-footer-directory-menu .sub-menu li::after,
  .ow-footer-directory-menu .sub-menu li::before {
    content: none !important;
    display: none !important;
  }

  .ow-footer-directory-menu .sub-menu a:hover,
  .ow-footer-directory-menu .sub-menu a:focus-visible {
    transform: none;
  }

  .ow-footer-bottom--site {
    margin-top: 2px;
    padding: 13px 0 18px;
  }
}

/* ==========================================================
   OPTIMAWEB 4.3.35 — MOBILE FOOTER MENU: CLEAN INLINE LINKS
   No pipe separators. Each footer group remains vertical while
   its child links flow horizontally and wrap only when needed.
   ========================================================== */
@media (max-width: 640px) {
  .ow-footer--site .ow-footer-directory-menu .sub-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 8px 20px !important;
    margin: 0 auto !important;
    padding: 0 6px !important;
    list-style: none !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu li,
  .ow-footer--site .ow-footer-directory-menu .sub-menu li + li {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu li::before,
  .ow-footer--site .ow-footer-directory-menu .sub-menu li::after,
  .ow-footer--site .ow-footer-directory-menu .sub-menu li + li::before,
  .ow-footer--site .ow-footer-directory-menu .sub-menu li + li::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
  }

  .ow-footer--site .ow-footer-directory-menu .sub-menu a {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.4 !important;
  }
}


/* ==========================================================
   OPTIMAWEB 4.3.37 — COMPACT SECTION RHYTHM
   Tighten vertical rhythm across sections while preserving
   the existing visual hierarchy and responsive behavior.
   ========================================================== */
.ow-section { padding-top: 54px; padding-bottom: 54px; }
.ow-section-head { margin-bottom: 20px; }
.ow-trust-grid { margin-top: 22px; }
.ow-trust-item { padding-top: 20px; }
.ow-faq-item summary { padding: 16px 0; }
.ow-faq-answer { padding-bottom: 15px; }
.ow-final { padding: 54px 0; }

/* Testimonials: noticeably thinner vertically, still airy and premium. */
.ow-testimonials { padding: 26px 0 30px; }
.ow-testimonials::before { margin-bottom: 11px; }
.ow-testimonials-viewport { padding: 5px 0; }
.ow-testimonials-row + .ow-testimonials-row { margin-top: 7px; }
.ow-testimonials-track { gap: 11px; padding: 3px 5px; }
.ow-testimonial-card { min-height: 118px; padding: 13px 14px; border-radius: 12px; }
.ow-testimonial-brand { gap: 8px; }
.ow-testimonial-brand-mark,
.testimonial-logo-svg { width: 38px; height: 38px; flex-basis: 38px; }
.ow-testimonial-card > p { margin-top: 10px; line-height: 1.55; }

@media (max-width: 980px) {
  .ow-section { padding-top: 48px; padding-bottom: 48px; }
  .ow-final { padding: 48px 0; }
  .ow-testimonials { padding: 23px 0 27px; }
  .ow-testimonial-card { min-height: 114px; padding: 12px 13px; }
}

@media (max-width: 640px) {
  .ow-section { padding-top: 42px; padding-bottom: 42px; }
  .ow-section-head { margin-bottom: 17px; }
  .ow-faq-item summary { padding: 14px 0; font-size: 16px; }
  .ow-faq-answer { padding-bottom: 13px; font-size: 13px; }
  .ow-final { padding: 42px 0; }
  .ow-testimonials { padding: 20px 0 23px; }
  .ow-testimonials-row + .ow-testimonials-row { margin-top: 6px; }
  .ow-testimonials-track { gap: 9px; }
  .ow-testimonial-card { min-height: 108px; padding: 11px 12px; }
  .ow-testimonial-brand-mark,
  .testimonial-logo-svg { width: 36px; height: 36px; flex-basis: 36px; }
  .ow-testimonial-card > p { margin-top: 8px; line-height: 1.5; }
}

/* ==========================================================
   OPTIMAWEB 4.3.38 — TIGHTER RHYTHM + SLIM MOBILE OFF-CANVAS
   Further reduce vertical whitespace while keeping the layout
   balanced and readable, especially on mobile.
   ========================================================== */
.ow-section {
  padding-top: 46px;
  padding-bottom: 46px;
}
.ow-section-head { margin-bottom: 18px; }
.ow-faq-item summary { padding: 14px 0; }
.ow-faq-answer { padding-bottom: 12px; }
.ow-final { padding: 46px 0; }

/* Testimonials: slimmer again, with less vertical air in cards. */
.ow-testimonials {
  padding: 20px 0 23px;
}
.ow-testimonials::before { margin-bottom: 9px; }
.ow-testimonials-viewport { padding: 4px 0; }
.ow-testimonials-row + .ow-testimonials-row { margin-top: 5px; }
.ow-testimonials-track { gap: 9px; padding: 2px 4px; }
.ow-testimonial-card {
  min-height: 102px;
  padding: 10px 12px;
  border-radius: 11px;
}
.ow-testimonial-brand { gap: 7px; }
.ow-testimonial-brand-mark,
.testimonial-logo-svg {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
}
.ow-testimonial-card > p {
  margin-top: 7px;
  line-height: 1.48;
}

@media (max-width: 980px) {
  .ow-section {
    padding-top: 42px;
    padding-bottom: 42px;
  }
  .ow-final { padding: 42px 0; }
  .ow-testimonials { padding: 18px 0 21px; }
  .ow-testimonial-card {
    min-height: 100px;
    padding: 10px 11px;
  }
}

@media (max-width: 640px) {
  .ow-section {
    padding-top: 36px;
    padding-bottom: 36px;
  }
  .ow-section-head { margin-bottom: 14px; }
  .ow-faq-item summary {
    padding: 12px 0;
    font-size: 15px;
  }
  .ow-faq-answer {
    padding-bottom: 11px;
    font-size: 13px;
  }
  .ow-final { padding: 36px 0; }

  .ow-testimonials { padding: 16px 0 19px; }
  .ow-testimonials::before { margin-bottom: 8px; }
  .ow-testimonials-viewport { padding: 3px 0; }
  .ow-testimonials-row + .ow-testimonials-row { margin-top: 4px; }
  .ow-testimonials-track { gap: 8px; padding: 2px 3px; }
  .ow-testimonial-card {
    min-height: 94px;
    padding: 9px 10px;
    border-radius: 10px;
  }
  .ow-testimonial-brand { gap: 6px; }
  .ow-testimonial-brand-mark,
  .testimonial-logo-svg {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }
  .ow-testimonial-card > p {
    margin-top: 6px;
    line-height: 1.44;
  }

  /* Mobile off-canvas: slimmer header and tighter vertical rhythm. */
  .ow-offcanvas-head {
    min-height: 56px;
    padding: 0 16px;
  }
  .ow-offcanvas-close {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .ow-offcanvas-close:hover,
  .ow-offcanvas-close:focus-visible {
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
  }
  .ow-offcanvas-body {
    padding: 14px 18px 18px;
  }
  .ow-offcanvas .menu a {
    padding: 11px 0;
    font-size: 16px;
  }
  .ow-offcanvas .sub-menu {
    margin-bottom: 4px;
    padding-left: 10px;
  }
  .ow-offcanvas .sub-menu a {
    padding: 8px 0;
    font-size: 13px;
  }
  .ow-offcanvas-cta { margin-top: 14px; }
}
