@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&family=Rubik:wght@300;400;500;600&family=Teko:wght@300;400;500;600;700&display=swap');

@font-face {
  font-family: 'Virexa Flaticon';
  src: url('../assets/fonts/flaticon.woff2') format('woff2');
  font-style: normal;
  font-weight: normal;
  font-display: block;
}

:root {
  --blue: #004aad;
  --blue-2: #007aff;
  --navy: #090a24;
  --navy-2: #151626;
  --ink: #10111d;
  --copy: #727685;
  --light: #f7f7fd;
  --white: #fff;
  --orange: #ff4a17;
  --line: #ececf3;
  --teko: 'Teko', sans-serif;
  --roboto: 'Roboto', sans-serif;
  --rubik: 'Rubik', sans-serif;
  --container: 1290px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--copy); background: var(--white); font: 400 15px/1.75 var(--roboto); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, p { margin-top: 0; }
h1, h2, h3, h4, h5 { color: var(--ink); font-family: var(--teko); line-height: 1.05; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { position: relative; padding: 110px 0 80px; overflow: hidden; }
.section-head { text-align: center; margin-bottom: 55px; }
.section-title { margin: 0; color: var(--ink); font: 600 clamp(42px, 4.1vw, 64px)/.98 var(--teko); }
.section-title span { color: var(--blue); }
.kicker { display: inline-block; position: relative; margin-bottom: 15px; padding: 1px 17px; color: var(--blue); font: 500 18px/1.2 var(--teko); }
.kicker::before { content: ''; position: absolute; inset: -5px -5px; border: 2px solid var(--orange); border-radius: 50%; transform: rotate(4deg); }
.section-copy { max-width: 690px; margin: 20px auto 0; }
.btn {     justify-content: center; display: inline-flex; align-items: center; gap: 12px; min-height: 57px; padding: 0 33px; border: 0; border-radius: 4px; color: #fff; background: var(--blue); font: 500 18px/1 var(--teko); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; transition: .3s; }
.btn:hover { color: #fff; background: #073f8b; box-shadow: 0 7px 22px rgba(0,74,173,.16); }
.btn .arrow { font-family: Arial, sans-serif; font-size: 15px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* Header */
.site-header { position: absolute; inset: 0 0 auto; z-index: 50; }
.topbar { height: 48px; color: #fff; background: #454656; font: 400 15px/48px var(--teko); letter-spacing: .02em; }
.topbar .container { display: flex; justify-content: space-between; }
.topbar span { display: inline-flex; align-items: center; gap: 10px; }
.topbar b { color: var(--blue-2); font-size: 12px; }
.navbar { position: relative; height: 104px; margin-top: 0; }
.nav-inner { position: relative; height: 100%; display: flex; align-items: center; padding: 0 30px 0 45px; background: #fff; }
.logo { flex: 0 0 188px; }
.logo img { width: 112px; max-height: 70px; object-fit: contain; }
.nav { display: flex; align-items: center; justify-content: center; gap: 39px; flex: 1; height: 100%; }
.nav > li { position: relative; height: 100%; display: flex; align-items: center; }
.nav > li > a, .nav > li > button { position: relative; padding: 41px 0 34px; border: 0; color: #1c1d29; background: none; font: 500 16px/1 var(--teko); text-transform: uppercase; cursor: pointer; }
.nav > li > a::after, .nav > li > button::after { content: ''; position: absolute; left: 0; right: 0; bottom: 25px; height: 2px; background: var(--blue); transform: scaleX(0); transform-origin: center; transition: transform .3s ease; }
.nav > li:hover > a, .nav > li:hover > button, .nav > li > a[aria-current] { color: var(--blue); }
.nav > li:hover > a::after, .nav > li:hover > button::after, .nav > li > a[aria-current]::after { }
.submenu { position: absolute; top: 100%; left: -25px; width: 245px; padding: 10px 0; opacity: 0; visibility: hidden; transform: translateY(12px); background: #fff; box-shadow: 0 12px 35px rgba(10,15,40,.16); transition: .25s; }
.submenu a { display: block; padding: 9px 25px; color: #30323d; font: 500 16px/1.35 var(--teko); }
.submenu a:hover { color: #fff; background: var(--blue); }
.nav li:hover .submenu, .nav li:focus-within .submenu { opacity: 1; visibility: visible; }
.nav-actions { display: flex; gap: 13px; padding-left: 28px; border-left: 1px solid var(--line); }
.nav-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #d9d9df; color: #111; background: #fff; font-size: 17px; cursor: pointer; }
.menu-toggle { display: none; }
.sticky { z-index: 60; padding: 15px 0; position: fixed; top: 0; left: 0; right: 0; opacity: 0; visibility: hidden; transform: translateY(-100%); background: #fff; box-shadow: 0 4px 22px rgba(0,0,0,.1); transition: .35s; }
.site-header.is-sticky .sticky { opacity: 1; visibility: visible; transform: none; }
.sticky .nav-inner { width: min(calc(100% - 40px), var(--container)); height: 76px; margin: auto; padding-inline: 0; }
.sticky .logo img { width: 82px; }
.sticky .nav > li > a, .sticky .nav > li > button { padding-block: 29px 25px; }
.sticky .nav > li > a::after, .sticky .nav > li > button::after { bottom: 16px; }

/* Premium homepage hero */
.hero { position: relative; isolation: isolate; min-height: 900px; padding-top: 152px; overflow: hidden; color: #fff; background: #101425 url('../assets/images/hero.jpg') center 42% / cover no-repeat; }
.hero::before { content: ''; position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 78% 48%,rgba(0,122,255,.18),transparent 31%), linear-gradient(90deg,rgba(4,7,25,.96) 0%,rgba(7,10,31,.88) 45%,rgba(7,11,30,.61) 72%,rgba(4,7,22,.76) 100%); }
.hero::after { content: ''; position: absolute; z-index: 1; inset: 152px 0 0; opacity: .19; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg,#000,transparent 64%); pointer-events: none; }
.hero .container { position: relative; z-index: 4; height: 748px; display: flex; align-items: center; }
.hero-copy { position: relative; width: 730px; padding: 48px 0px 50px; background: linear-gradient(110deg,rgba(8,13,35,.52),rgba(8,13,35,.12) 75%,transparent); backdrop-filter: blur(2px); }
.hero-copy::before { position: absolute; left: -2px; top: 48px; width: 2px; height: 86px; background: #64adff; box-shadow: 0 0 24px rgba(80,163,255,.85); }
.hero-kicker { display: inline-flex; align-items: center; gap: 11px; margin: 0 0 20px; padding: 9px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.9); background: rgba(255,255,255,.055); font: 500 19px/1 var(--teko); letter-spacing: .065em; text-transform: uppercase; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.hero-kicker i { color: #5ea8ff; font-style: normal; font-size: 12px; filter: drop-shadow(0 0 7px rgba(74,158,255,.9)); }
.hero h1 { position: relative; max-width: 690px; margin: 0 0 22px; color: #fff; font: 600 clamp(68px,6.1vw,96px)/.9 var(--teko); letter-spacing: -.022em; text-wrap: balance; text-shadow: 0 16px 44px rgba(0,0,0,.28); }
.hero h1 > span:not(.hero-heading-measure):not(.hero-heading-typing), .hero-heading-accent { color: #64adff; }
.hero-heading-measure { display: block; visibility: hidden !important; opacity: 0 !important; color: #fff !important; }
.hero-heading-typing { position: absolute; inset: 0; display: block; pointer-events: none; }
.hero-heading-main { color: #fff !important; }
.hero-heading-typing::after { content: ''; display: inline-block; width: 3px; height: .72em; margin-left: .12em; vertical-align: -.04em; background: #64adff; animation: hero-caret 850ms steps(1,end) infinite; }
.hero-heading-accent { color: #64adff; }
@keyframes hero-caret { 0%, 45% { opacity: 1; } 46%, 100% { opacity: 0; } }
.hero-intro { max-width: 590px; margin: 0 0 32px; color: rgba(235,241,250,.76); font: 400 17px/1.75 var(--roboto); }
.hero-buttons { display: flex; gap: 14px; }
.hero-buttons .btn { position: relative; min-width: 178px; justify-content: center; overflow: hidden; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.hero-buttons .btn:first-child { background: linear-gradient(135deg,#087aff,var(--blue)); }
.hero-buttons .btn:last-child { background: rgba(255,255,255,.075); backdrop-filter: blur(12px); }
.hero-buttons .btn:hover { color: #fff; border-color: rgba(255,255,255,.34); background: #086fdc; box-shadow: 0 18px 38px rgba(0,74,173,.28); }
.hero-orbit { position: absolute; z-index: 2; right: -80px; bottom: -336px; width: 280px; height: 927px; border-radius: 150px; outline: 30px solid rgba(0,74,173,.28); transform: rotate(-45deg); background: var(--blue); }
.hero-orbit::before { content: ''; position: absolute; inset: 28px 15px 72px; border: 2px dashed #fff; border-radius: 150px; }
.hero-play { position: absolute; z-index: 5; right: 245px; top: 489px; width: 90px; height: 90px; display: grid; place-items: center; border: 10px solid rgba(255,255,255,.18); border-radius: 50%; color: var(--blue); background: #fff; font-size: 22px; }
.hero-vector { position: absolute; z-index: 2; left: -40px; bottom: -40px; width: 560px; opacity: .15; filter: hue-rotate(185deg) saturate(1.2); }
.hero-seo-visual { position: relative; z-index: 4; flex: 0 0 456px; margin-left: auto; perspective: 1000px; }
.hero-seo-glow { position: absolute; z-index: -1; inset: 12% -10% -12%; border-radius: 50%; background: radial-gradient(circle,rgba(39,130,255,.42),rgba(18,81,182,.12) 47%,transparent 71%); filter: blur(18px); animation: hero-seo-glow 4.2s ease-in-out infinite alternate; }
.hero-seo-panel { overflow: hidden; border: 1px solid rgba(157,204,255,.33); border-radius: 17px; background: linear-gradient(142deg,rgba(14,37,77,.94),rgba(7,22,51,.88)); box-shadow: 0 30px 80px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.12); backdrop-filter: blur(16px); transform: rotateY(-5deg) rotateX(2deg); animation: hero-seo-panel 6s ease-in-out infinite; }
.hero-seo-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding: 23px 25px 19px; border-bottom: 1px solid rgba(169,210,255,.16); }
.hero-seo-eyebrow { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: #91c9ff; font: 500 13px/1 var(--teko); letter-spacing: .11em; text-transform: uppercase; }
.hero-seo-eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: #63dba5; box-shadow: 0 0 0 4px rgba(99,219,165,.12), 0 0 15px rgba(99,219,165,.8); animation: hero-seo-pulse 2s ease-out infinite; }
.hero-seo-panel-head strong { display: block; color: #fff; font: 500 29px/1 var(--teko); }
.hero-seo-live { flex: 0 0 auto; padding: 7px 9px; border: 1px solid rgba(125,190,255,.22); border-radius: 999px; color: #c7e4ff; background: rgba(56,139,232,.13); font: 500 11px/1 var(--roboto); }
.hero-seo-chart { padding: 20px 25px 14px; background: linear-gradient(180deg,rgba(255,255,255,.025),transparent); }
.hero-seo-chart-label { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.hero-seo-chart-label span { color: rgba(222,238,255,.64); font-size: 12px; }
.hero-seo-chart-label strong { color: #fff; font: 500 28px/1 var(--teko); }
.hero-seo-chart-label em { margin-left: 5px; color: #65dba6; font: 500 13px/1 var(--roboto); font-style: normal; }
.hero-seo-chart svg { display: block; width: 100%; height: 130px; margin-top: 8px; overflow: visible; }
.hero-seo-gridline { fill: none; stroke: rgba(180,214,255,.14); stroke-width: 1; }
.hero-seo-area { fill: url(#hero-seo-fill); }
.hero-seo-line { fill: none; stroke: #62b4ff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; stroke-dasharray: 1; stroke-dashoffset: 1; filter: drop-shadow(0 0 7px rgba(96,181,255,.76)); animation: hero-seo-draw 2.3s .3s cubic-bezier(.2,.8,.2,1) forwards; }
.hero-seo-point { fill: #fff; stroke: #62b4ff; stroke-width: 3; filter: drop-shadow(0 0 7px rgba(96,181,255,.9)); }
.hero-seo-chart-axis { display: flex; justify-content: space-between; margin-top: -2px; color: rgba(214,233,255,.46); font: 500 11px/1 var(--roboto); }
.hero-seo-metrics { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(169,210,255,.16); }
.hero-seo-metrics > div { min-height: 94px; padding: 16px 20px; border-right: 1px solid rgba(169,210,255,.14); border-bottom: 1px solid rgba(169,210,255,.14); }
.hero-seo-metrics > div:nth-child(even) { border-right: 0; }
.hero-seo-metrics > div:nth-last-child(-n+2) { border-bottom: 0; }
.hero-seo-metrics span, .hero-seo-metrics small { display: block; color: rgba(214,233,255,.62); font-size: 11px; line-height: 1.35; }
.hero-seo-metrics strong { display: block; margin: 4px 0 2px; color: #fff; font: 500 29px/1 var(--teko); }
.hero-seo-panel-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 21px; border-top: 1px solid rgba(169,210,255,.16); color: rgba(214,233,255,.48); font-size: 10px; }
.hero-seo-panel-foot a { color: #8bc8ff; font: 500 14px/1 var(--teko); letter-spacing: .04em; }
.hero-seo-panel-foot a b { margin-left: 3px; font-size: 16px; }
.hero:has(.hero-seo-visual) .hero-play { display: none; }
@keyframes hero-seo-draw { to { stroke-dashoffset: 0; } }
@keyframes hero-seo-pulse { 70%,100% { box-shadow: 0 0 0 8px rgba(99,219,165,0),0 0 15px rgba(99,219,165,.1); } }
@keyframes hero-seo-panel { 0%,100% { transform: rotateY(-5deg) rotateX(2deg) translateY(0); } 50% { transform: rotateY(-3deg) rotateX(1deg) translateY(-8px); } }
@keyframes hero-seo-glow { to { opacity: .58; transform: scale(1.08); } }

.feature-strip { position: relative; margin-top: -1px; padding: 66px 0 38px; color: #fff; background: var(--navy) url('../assets/images/pattern-10.png') left bottom no-repeat; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.feature { position: relative; min-width: 0; min-height: 230px; padding: 0 37px; border-right: 1px solid rgba(255,255,255,.1); }
.feature:last-child { border-right: 0; }
.feature-top { display: flex; align-items: flex-start; justify-content: space-between; }
.feature-icon { position: relative; width: 60px; height: 60px; display: grid; flex: 0 0 60px; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.06); border-radius: 20px; color: #fff; background: linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.07)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: transform .35s ease, background .35s ease, box-shadow .35s ease; }
.feature-icon::after { content: ''; position: absolute; inset: -40% 55% -40% -30%; transform: rotate(18deg); background: linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent); transition: transform .45s ease; }
.feature-icon svg { position: relative; z-index: 1; width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s ease; }
.feature-icon .search-glyph { width: 34px; height: 34px; stroke-width: 2.25; }
.feature:hover .feature-icon { background: linear-gradient(145deg,#0879f3,var(--blue)); box-shadow: 0 12px 28px rgba(0,74,173,.35), inset 0 1px 0 rgba(255,255,255,.25); }
.feature:hover .feature-icon::after { }
.feature:hover .feature-icon svg { }
.feature-num { color: rgba(255,255,255,.5); font: 400 24px/1 var(--teko); }
.feature h3 { margin: 30px 0 10px; color: #fff; font: 600 24px/1.1 var(--teko); letter-spacing: .02em; }
.feature p { margin: 0; color: #797f90; font-size: 14px; line-height: 1.8; }

/* About ,  dimensions mirror the 1200px live-theme grid. */
.about-tab-panel p {
    font-size: large;
}
.about-tab-panel h3 {
    font-size: x-large;
    padding: 15px 0;
}
.about { padding: 110px 0 70px; background: #fff url('../assets/images/pattern-11.png') left top no-repeat; overflow: hidden; }
.about::after { content: ''; position: absolute; z-index: 0; right: 0; top: 0; width: 186px; height: 235px; background: url('../assets/images/pattern-12.png') right top/contain no-repeat; pointer-events: none; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.about > .container, .agency > .container { z-index: 1; width: min(calc(100% - 30px), 1194px); }
.about .two-col { grid-template-columns: repeat(2, 597px); gap: 0; align-items: start; }
.about-collage { position: relative; height: 588px; }
.about-collage .main-img { position: absolute; top: 0; left: 12px; width: 372px; height: 436px; object-fit: cover; border-radius: 6px; }
.about-collage .small-img { position: absolute; top: 40px; right: 102px; width: 149px; height: 97px; object-fit: cover; border-radius: 6px; }
.about-video { position: absolute; left: 182px; top: 342px; width: 360px; height: 239px; overflow: hidden; border-radius: 10px; }
.about-video img { width: 100%; height: 100%; object-fit: cover; }
.play { position: absolute; inset: 50% auto auto 50%; z-index: 2; width: 76px; height: 76px; display: grid; place-items: center; transform: translate(-50%,-50%); border-radius: 50%; color: var(--blue); background: #fff; box-shadow: 0 0 0 14px rgba(255,255,255,.18); }
.play::before, .play::after { content: ''; position: absolute; z-index: -1; inset: -1px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; animation: about-ripple 3s ease-out infinite; }
.play::after { animation-delay: 1.5s; }
@keyframes about-ripple { 0% { opacity: .7; transform: scale(1); } 75%,100% { opacity: 0; transform: scale(2.15); } }
.target { position: absolute; left: -88px; bottom: -40px; width: 264px; height: 286px; }
.float-icon { position: absolute; z-index: 2; width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: 25px; }
.float-icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.float-icon.signal { left: -98px; top: 60px; animation: about-float 5s linear infinite; }
.float-icon.brain { right: 152px; top: 180px; width: 110px; height: 110px; outline: 1px dashed #d8dbe3; outline-offset: 15px; box-shadow: 0 0 0 14px #fff; }
.float-icon.brain::before { content: '\f109'; color: #fff; font: 54px/1 'Virexa Flaticon'; }
.about-copy { width: 597px; padding: 0 12px; }
.about-copy .section-title { margin: 15px 0 18px; text-align: left; font-size: 70px; line-height: 1; }
.about-copy > p { max-width: none; margin: 15px 0 34px; color: #445658; font-size: 16px; line-height: 1.8; }
.kicker { font-size: 24px; line-height: 22.4px; }
.kicker-mark { width: 22px; height: 22px; margin: 0 8px -4px 0; fill: none; stroke: currentColor; stroke-width: 2; }
.about .kicker::before { inset: -9px -18px; }
.about .kicker::after { content: ''; position: absolute; left: 10%; right: 30%; top: -11px; height: 19px; border-top: 2px solid var(--orange); border-radius: 50%; transform: rotate(-4deg); pointer-events: none; }
.employee-row { position: relative; display: grid; grid-template-columns: 140px 1fr 160px; align-items: start; min-height: 130px; margin-bottom: 45px; }
.globe { width: 120px; height: 120px; color: var(--blue); font: 120px/1 'Virexa Flaticon'; animation: about-rotate 15s linear infinite; transform-origin: center; }
.globe::before { content: '\f10c'; }
.checklist { padding-top: 0; }
.checklist li { position: relative; min-height: 22px; padding-left: 25px; margin: 0 0 10px; color: #445658; font-size: 16px; line-height: 22.4px; }
.checklist li::before { content: ''; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; background: var(--blue); }
.employee-card {    padding: 25px;
    width: fit-content;
    position: relative; position: relative; top: -20px; height: 155px; display: grid; place-items: center; align-content: center; color: #fff; border-radius: 5px; background: var(--blue); }
.employee-card::before { content: ''; position: absolute; left: 0; top: 25px; bottom: 25px; width: 6px; background: var(--navy); clip-path: polygon(0 0,100% 4%,100% 96%,0 100%); }
.employee-card strong { font: 500 80px/.78 var(--teko); }.employee-card strong sup { position: relative; top: -24px; margin-left: 5px; opacity: .5; font-size: 44px; font-weight: 300; }.employee-card > span { margin-top: 13px; font-size: 15px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; }
.about-copy .skill { height: 47px; margin: 0 0 25px; }.about-copy .skill-head { display: flex; justify-content: space-between; color: #000; font: 500 20px/28px var(--teko); text-transform: uppercase; }.about-copy .skill-track { height: 5px; margin-top: 14px; background: #ececf0; }.skill-bar { display: block; height: 100%; width: var(--width); background: var(--blue); }
.about-copy.reveal-on-scroll .skill-bar { width: 0; transition: width 1.5s ease .3s; }
.about-copy.reveal-on-scroll.is-visible .skill-bar { width: var(--width); }
@keyframes about-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }
@keyframes about-rotate { to { transform: rotate(360deg); } }

/* Agency */
.agency { padding: 130px 0 70px; background: #f7f7fe; overflow: visible; }
.agency .two-col { grid-template-columns: repeat(2, 597px); gap: 0; align-items: start; }
.agency-copy { width: 597px; padding: 40px 12px 0; }.agency-copy .section-title { margin: 15px 0 18px; text-align: left; font-size: 70px; line-height: 1; }
.agency-copy > p { margin: 15px 0 34px; color: #445658; font-size: 16px; line-height: 1.8; }
.audit-list li { position: relative; margin: 0 0 25px; padding: 3px 0 0 45px; color: #445658; font-size: 18px; line-height: 22.4px; }
.audit-list li::before { content: '✓'; position: absolute; left: 0; top: 0; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: #fff; box-shadow: 0 3px 16px rgba(0,0,0,.05); font-weight: 700; }
.agency-copy .btn { min-height: 68px; margin-top: 35px; padding-inline: 40px; }
.business-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; width: 597px; }
.business-card { position: relative; min-width: 0; min-height: 414px; margin: 0 12px 30px; padding: 60px 30px 50px; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 0 15px rgba(0,0,0,.07); transition: .45s; }
.business-card:nth-child(even) { transform: translateY(40px); }
.business-card::before { content: ''; position: absolute; inset: 0; background: var(--blue); transform: scaleX(0); transform-origin: right; transition: transform .55s; }
.business-card:hover::before { transform-origin: left; }
.business-card > * { position: relative; }
.business-card .card-vector { position: absolute; z-index: 1; right: 45px; top: 45px; width: 20px; height: 20px; opacity: .5; background: repeating-linear-gradient(45deg,var(--blue) 0 2px,transparent 2px 5px); }
.business-card .icon { display: inline-block; width: 56px; height: 62px; padding-top: 2px; color: var(--blue); transition: transform .5s; }
.business-card .icon::before { content: ''; position: absolute; z-index: -1; left: 0; top: -20px; width: 67px; height: 53px; border-radius: 50%; background: repeating-linear-gradient(45deg,rgba(255,74,23,.16) 0 2px,transparent 2px 5px); }
.business-card .icon svg { width: 56px; height: 56px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.business-card h3 { margin: 30px 0 0; color: #121d2c; font: 500 24px/31.2px var(--teko); text-transform: uppercase; }.business-card p { max-width: 240px; margin: 20px 0 0; color: #445658; opacity: .9; font-size: 16px; line-height: 28.8px; }.view-link { display: inline-block; margin-top: 20px; padding-right: 25px; color: #121d2c; font: 500 16px/22.4px var(--roboto); }.view-link::after { content: '→'; position: absolute; right: 0; top: 0; }.business-card:hover .icon { }.business-card:hover .card-vector { filter: brightness(0) invert(1); }.business-card:hover .icon, .business-card:hover h3, .business-card:hover p, .business-card:hover .view-link { color: #fff; }

/* Service tabs */
.service-showcase { padding: 110px 0 80px; background: #fff; }
.service-showcase > .container,
.support > .container { width: min(calc(100% - 30px), 1170px); }
.service-showcase::before { content: ''; position: absolute; left: -500px; top: -350px; width: 1055px; height: 733px; border-radius: 60px; transform: rotate(45deg); background: var(--blue); }
.service-layout { position: relative; }
.service-tabs { position: absolute; z-index: 1; left: 0; top: 0; width: 370px; padding: 50px 30px 90px; clip-path: polygon(0 0,100% 0,100% 100%,0 95%); border-radius: 10px; background: #f7f7fd; }
.service-tab { position: relative; width: 100%; margin: 0 0 10px; padding: 18px 40px; border: 0; border-radius: 7px; color: #151522; background: none; text-align: left; font: 400 24px/24px var(--teko); text-transform: capitalize; cursor: pointer; transition: background-color .5s ease; }
.service-tab.active, .service-tab:hover { background: #fff; }.service-tab.active::before { content: '‹'; margin-right: 14px; color: var(--blue); }
.service-panels { padding: 40px 0 0 570px; }
.service-panel { display: none; }.service-panel.active { display: block; animation: panel .45s ease; }
.service-panel .section-title { margin: 0; color: var(--ink); text-align: left; font: 600 60px/1.08 var(--teko); letter-spacing: -.01em; }
.service-panel > p { margin: 20px 0 30px; color: #727685; font: 400 18px/1.8 var(--roboto); }
.service-panel .skill { position: relative; height: auto; margin: 0 0 25px; }
.service-panel .skill + .skill { margin-bottom: 0; }
.service-panel .skill-head { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 6px; color: #11131d; font: 500 20px/1.4 var(--teko); letter-spacing: 1px; text-transform: uppercase; }
.service-panel .skill-track { width: 100%; height: 8px; margin: 0; border-bottom: 5px solid #f1f1f2; background: transparent; }
.service-panel .skill-bar { display: block; height: 5px; border: 0; background: var(--blue); }
.fact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; margin: 30px -15px 0; }
.fact { min-width: 0; padding: 30px 15px 25px; border-radius: 6px; text-align: center; background: #f7f7fd; }
.fact-icon { display: block; width: 50px; height: 50px; margin: 0 auto 25px; fill: none; stroke: var(--blue); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fact b { display: block; color: #11131d; font: 400 50px/1 var(--teko); }
.fact span { display: block; margin-top: 10px; color: #727685; font: 400 18px/1.4 var(--roboto); }
@keyframes panel { from { opacity: 0; transform: translateY(8px); } }

/* Support and process */
.support { padding: 0 0 30px; }
.support-inner { display: grid; grid-template-columns: 1fr 2fr; overflow: hidden; border-radius: 7px; background: #f6f5f8; }
.support-social { padding: 35px; }
.support-social h3 { display: flex; align-items: center; gap: 15px; margin: 0 0 20px; color: #11131d; font: 500 28px/1 var(--teko); }
.support-social h3 svg { width: 22px; height: 22px; fill: none; stroke: var(--blue); stroke-width: 2.4; stroke-linecap: square; stroke-linejoin: round; }
.socials { display: flex; gap: 10px; }
.socials a { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: #fff; transition: color .25s ease, background-color .25s ease; }
.socials a:hover { color: #fff; background: var(--blue); }
.socials svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.socials svg .fill { fill: currentColor; stroke: none; }
.support-cta { position: relative; z-index: 0; display: flex; align-items: center; min-height: 180px; padding: 45px 15px 45px 110px; color: #fff; background: transparent; isolation: isolate; }
.support-cta::before { content: ''; position: absolute; z-index: -1; left: 0; top: 0; right: -150px; bottom: 0; transform: skewX(10deg); border-radius: 15px 0 0 15px; background: var(--blue) url('../assets/images/pattern-12.png') center center no-repeat; }
.support-cta::after { content: ''; position: absolute; z-index: -1; right: 100px; bottom: 0; width: 369px; height: 94px; background: url('../assets/images/pattern-13.png') right bottom / contain no-repeat; }
.support-cta h3 { margin: 0; color: #fff; font: 500 48px/1 var(--teko); }
.support-cta p { margin: 10px 0 0; color: #fff; font: 300 18px/1.5 var(--rubik); }
.support-phone { position: absolute; right: 30px; top: 60px; display: inline-flex; align-items: center; gap: 10px; color: #fff; font: 400 18px/1 var(--roboto); }
.support-phone svg { width: 14px; height: 14px; fill: currentColor; }
.support-play { position: absolute; left: -35px; top: 60px; width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--navy); }
.support-play svg { width: 20px; height: 20px; fill: currentColor; }
.process { background: #fff url('../assets/images/pattern-14.png') left bottom no-repeat; }.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; }.process-card { position: relative; text-align: center; }.process-card:not(:last-child)::after { content: '⟶'; position: absolute; right: -55px; top: 55px; color: var(--orange); font-size: 45px; }.process-card img { width: 120px; margin: auto; }.process-card h3 { margin: 25px 0 10px; font: 600 27px/1 var(--teko); }.process-card p { max-width: 315px; margin: auto; }.process-card a { display: inline-block; margin-top: 18px; color: #151624; font: 500 17px/1 var(--teko); }

/* Legacy cards retained for internal pages. */
.projects { position: relative; padding: 0; overflow: hidden; }.project-track { display: grid; grid-template-columns: .34fr 1.1fr .34fr; gap: 30px; align-items: stretch; margin-inline: -140px; }.project-card { position: relative; height: 505px; overflow: hidden; }.project-card img { width: 100%; height: 100%; object-fit: cover; }.project-card:not(.active)::after { content: ''; position: absolute; inset: 0; background: rgba(6,8,30,.48); }.project-label { position: absolute; z-index: 2; left: 50%; bottom: 0; width: 520px; padding: 23px 90px 20px; transform: translateX(-50%); background: #fff; text-align: center; clip-path: polygon(8% 0,92% 0,100% 100%,0 100%); }.project-label h3 { margin: 0 0 4px; font: 600 31px/1 var(--teko); }.project-label p { margin: 0; }.project-arrow { position: absolute; z-index: 4; top: 48%; color: var(--orange); border: 0; background: none; font-size: 38px; cursor: pointer; }.project-arrow.prev { left: 27%; }.project-arrow.next { right: 27%; }

/* Portfolio page */
.portfolio-page { background: #fff; }
.portfolio-hero { text-align: left; }
.portfolio-hero .container { max-width: 1290px; }
.portfolio-hero .kicker { margin-bottom: 18px; color: #fff; }
.portfolio-hero .kicker::before { border-color: var(--orange); }
.portfolio-hero h1 {margin-bottom: 22px; font-size: clamp(64px, 7vw, 104px); }
.portfolio-intro { padding: 105px 0 55px; background: #fff; }
.portfolio-intro-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.85fr); gap: 100px; align-items: end; }
.portfolio-intro-grid > * { min-width: 0; }
.portfolio-intro .section-title { max-width: 650px; }
.portfolio-intro-grid > p { max-width: 520px; margin: 0 0 5px; color: #667080; font-size: 17px; line-height: 1.8; }
.portfolio-work { padding: 55px 0 115px; background: #f7f7fd url('../assets/images/pattern-17.png') right top / 420px auto no-repeat; }
.portfolio-work-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 38px; }
.portfolio-work-head > * { min-width: 0; }
.portfolio-work-head .section-title { text-align: left; }
.portfolio-work-head > p { max-width: 360px; margin: 0 0 5px; color: #727685; }
.portfolio-filter { display: flex; flex-wrap: wrap; gap: 11px; margin-bottom: 42px; }
.portfolio-filter button { min-height: 43px; padding: 0 22px; border: 1px solid #dfe3ec; border-radius: 999px; color: #414654; background: #fff; font: 500 16px/1 var(--teko); letter-spacing: .02em; cursor: pointer; transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }
.portfolio-filter button small { margin-left: 6px; color: #9aa0ad; font: 500 13px/1 var(--roboto); }
.portfolio-filter button:hover { color: var(--blue); border-color: rgba(0,74,173,.45); }
.portfolio-filter button.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.portfolio-filter button.is-active small { color: rgba(255,255,255,.72); }
.portfolio-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 30px; }
.portfolio-group-heading { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 50px 0 3px; border-bottom: 1px solid #dfe3ec; }
.portfolio-group-heading h3 { margin: 0; color: var(--ink); font: 600 clamp(32px, 3.6vw, 48px)/1 var(--teko); }
.portfolio-group-heading h3 small { margin-left: 8px; color: var(--blue); font: 500 .48em/1 var(--roboto); vertical-align: middle; }
.portfolio-group-heading p { margin: 0 0 6px; color: #727685; font-size: 15px; }
.portfolio-card { grid-column: span 4; min-width: 0; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 8px 28px rgba(17,25,64,.07); transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; }
.portfolio-card:hover { box-shadow: 0 22px 48px rgba(17,25,64,.14); }
.portfolio-card-link { display: flex; flex-direction: column; height: 100%; min-height: 0; }
button.portfolio-card-link { width: 100%; padding: 0; border: 0; color: inherit; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.portfolio-card-media { position: relative; flex: 0 0 235px; height: 235px; margin: 0; overflow: hidden; background: var(--navy); }
.portfolio-card-video video { width: 100%; height: 100%; object-fit: cover; background: #101425; }
.portfolio-card-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(7,10,31,.08), rgba(0,74,173,.42)); transition: opacity .35s ease; }
.portfolio-card:hover .portfolio-card-media::after { opacity: .58; }
.portfolio-card-media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform .65s cubic-bezier(.22,1,.36,1); }
.portfolio-card:hover .portfolio-card-media img { }
.portfolio-card-action { position: absolute; z-index: 2; left: 28px; bottom: 25px; display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border: 1px solid rgba(255,255,255,.48); border-radius: 999px; color: #fff; background: rgba(6,10,32,.36); backdrop-filter: blur(8px); font: 500 15px/1 var(--teko); opacity: 0; transform: translateY(9px); transition: opacity .35s ease, transform .35s ease; }
.portfolio-card:hover .portfolio-card-action, .portfolio-card:focus-within .portfolio-card-action { opacity: 1; }
.portfolio-card-body { display: flex; flex: 1 0 auto; flex-direction: column; justify-content: center; min-height: 185px; padding: 28px 30px 32px; }
.portfolio-card-meta { display: block; margin-bottom: 15px; color: var(--blue); font: 500 15px/1.2 var(--teko); letter-spacing: .08em; text-transform: uppercase; }
.portfolio-card-body h3 { margin-bottom: 15px; color: var(--ink); font: 600 32px/1 var(--teko); }
.portfolio-card-body p { max-width: 430px; margin: 0; color: #727685; font-size: 16px; line-height: 1.75; }
.portfolio-empty { padding: 42px; border: 1px dashed #c7cbd6; color: #727685; background: #fff; text-align: center; }
.seo-case-studies { padding: 118px 0; color: #eef4ff; background: #081632 url('../assets/images/pattern-12.png') right top / 460px auto no-repeat; }
.seo-case-studies-head { display: flex; align-items: end; justify-content: space-between; gap: 64px; padding-bottom: 52px; border-bottom: 1px solid rgba(183,207,246,.2); }
.seo-case-studies-head > * { min-width: 0; }
.seo-case-studies-head .kicker { margin-bottom: 15px; color: #8ec3ff; }
.seo-case-studies-head .kicker::before { border-color: var(--orange); }
.seo-case-studies-head h2 { max-width: 720px; margin: 0; color: #fff; font: 500 clamp(48px,5.2vw,76px)/.94 var(--teko); }
.seo-case-studies-head h2 span { color: #71b5ff; }
.seo-case-studies-head > p { max-width: 450px; margin: 0 0 5px; color: rgba(232,241,255,.72); font-size: 16px; line-height: 1.75; }
.seo-case-study-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 38px 0 32px; overflow: hidden; border: 1px solid rgba(183,207,246,.2); border-radius: 10px; background: rgba(183,207,246,.2); }
.seo-case-study-summary article { min-height: 176px; padding: 28px 30px; background: rgba(12,32,68,.82); }
.seo-case-study-summary span { display: block; margin-bottom: 25px; color: #6db5ff; font: 500 14px/1 var(--teko); letter-spacing: .14em; }
.seo-case-study-summary h3 { margin: 0 0 10px; color: #fff; font: 500 29px/1 var(--teko); }
.seo-case-study-summary p { margin: 0; color: rgba(232,241,255,.67); font-size: 14px; line-height: 1.6; }
.seo-case-study { padding: 64px 0 72px; border-bottom: 1px solid rgba(183,207,246,.2); }
.seo-case-study-head { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(250px,.62fr); gap: 58px; align-items: end; margin-bottom: 32px; }
.seo-case-study-number { display: block; margin-bottom: 12px; color: #6db5ff; font: 500 15px/1 var(--teko); letter-spacing: .13em; text-transform: uppercase; }
.seo-case-study-head h3 { margin: 0; color: #fff; font: 500 clamp(38px,4vw,58px)/.95 var(--teko); }
.seo-case-study-head > p { margin: 0; color: rgba(232,241,255,.7); font-size: 16px; line-height: 1.7; }
.seo-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 22px; }
.seo-evidence-card { align-self: start; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(183,207,246,.22); border-radius: 9px; background: #102449; box-shadow: 0 18px 45px rgba(0,0,0,.15); }
.seo-evidence-card img { display: block; width: 100%; height: auto; object-fit: contain; object-position: center; background: transparent; }
.seo-evidence-card figcaption { padding: 25px 28px 29px; }
.seo-evidence-card figcaption > span { display: block; margin-bottom: 11px; color: #70b8ff; font: 500 14px/1.1 var(--teko); letter-spacing: .09em; text-transform: uppercase; }
.seo-evidence-card h4 { margin: 0 0 12px; color: #fff; font: 500 clamp(27px,2.3vw,34px)/1 var(--teko); }
.seo-evidence-card p { margin: 0; color: rgba(232,241,255,.72); font-size: 15px; line-height: 1.7; }
.seo-evidence-grid--local .seo-evidence-card--query { grid-column: span 2; display: grid; grid-template-columns: minmax(0,.38fr) 1fr; align-items: start; }
.seo-evidence-grid--local .seo-evidence-card--query img { width: 100%; height: auto; object-fit: contain; object-position: center; }
.seo-evidence-card--wide { grid-column: span 2; }
.seo-evidence-note { max-width: 900px; margin: 42px auto 0; color: rgba(232,241,255,.56); font-size: 14px; line-height: 1.75; text-align: center; }
@media (max-width: 900px) {
  .seo-case-studies { padding: 88px 0; }
  .seo-case-studies-head, .seo-case-study-head { align-items: flex-start; grid-template-columns: 1fr; flex-direction: column; gap: 22px; }
  .seo-case-study-summary { grid-template-columns: 1fr; }
  .seo-case-study-summary article { min-height: 0; }
}
@media (max-width: 700px) {
  .seo-case-studies { padding: 70px 0; background-size: 320px auto; }
  .seo-case-studies-head { padding-bottom: 34px; }
  .seo-case-studies-head h2 { font-size: 48px; }
  .seo-case-study { padding: 48px 0 54px; }
  .seo-case-study-head h3 { font-size: 42px; }
  .seo-evidence-grid { grid-template-columns: 1fr; gap: 16px; }
  .seo-evidence-card--wide, .seo-evidence-grid--local .seo-evidence-card--query { grid-column: auto; display: flex; }
  .seo-evidence-card img, .seo-evidence-grid--local .seo-evidence-card--query img { width: 100%; height: auto; }
  .seo-evidence-card figcaption { padding: 22px 21px 25px; }
  .seo-evidence-card h4 { font-size: 29px; }
  .seo-evidence-note { margin-top: 30px; text-align: left; }
}
.portfolio-cta { padding: 78px 0; color: #fff; background: var(--navy) url('../assets/images/pattern-12.png') right bottom / 420px auto no-repeat; }
.portfolio-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.portfolio-cta .kicker { margin-bottom: 12px; color: #fff; }
.portfolio-cta .kicker::before { border-color: var(--orange); }
.portfolio-cta h2 { max-width: 650px; margin: 0; color: #fff; font: 500 clamp(40px, 5vw, 66px)/.98 var(--teko); }
.portfolio-cta h2 span { color: #64adff; }
.portfolio-cta .btn { flex: 0 0 auto; color: #fff; background: var(--blue); }

/* Social-media project gallery. The dark, image-first treatment follows the
   reference portfolio while keeping controls discoverable on touch devices. */
.portfolio-lightbox { position: fixed; inset: 0; z-index: 600; display: grid; place-items: center; padding: 28px; opacity: 0; visibility: hidden; background: rgba(6, 9, 27, .88); backdrop-filter: blur(14px); transition: opacity .3s ease, visibility .3s ease; }
.portfolio-lightbox.is-open { opacity: 1; visibility: visible; }
.portfolio-lightbox-dialog { width: min(1180px, 96vw); max-height: min(920px, 94vh); overflow: auto; padding: 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; color: #fff; background: #11162b; box-shadow: 0 35px 100px rgba(0,0,0,.5); transform: translateY(18px) scale(.98); transition: transform .35s cubic-bezier(.22,1,.36,1); }
.portfolio-lightbox.is-open .portfolio-lightbox-dialog { transform: none; }
.portfolio-lightbox-head { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.portfolio-lightbox-kicker { margin: 0 0 5px; color: #69adff; font: 500 14px/1 var(--teko); letter-spacing: .12em; text-transform: uppercase; }
.portfolio-lightbox-head h2 { margin: 0; color: #fff; font: 500 clamp(32px, 4vw, 54px)/.95 var(--teko); }
.portfolio-lightbox-head-actions { display: flex; align-items: center; gap: 18px; }
.portfolio-lightbox-counter { min-width: 56px; color: rgba(255,255,255,.7); font: 500 17px/1 var(--teko); letter-spacing: .08em; }
.portfolio-lightbox-close { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 28px; line-height: 1; cursor: pointer; transition: transform .25s ease, background .25s ease; }
.portfolio-lightbox-close:hover { background: var(--blue); }
.portfolio-lightbox-stage { display: grid; grid-template-columns: 54px minmax(0, 1fr) 54px; align-items: center; gap: 18px; }
.portfolio-lightbox-stage figure { min-width: 0; margin: 0; text-align: center; }
.portfolio-lightbox-image { display: block; width: 100%; height: min(62vh, 650px); border-radius: 7px; object-fit: contain; background: #080b19; box-shadow: 0 18px 52px rgba(0,0,0,.28); }
.portfolio-lightbox-caption { margin-top: 13px; color: rgba(255,255,255,.7); font-size: 14px; text-transform: capitalize; }
.portfolio-lightbox-nav { width: 52px; height: 52px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: #fff; background: rgba(0,74,173,.82); font-size: 27px; line-height: 1; cursor: pointer; transition: transform .25s ease, background .25s ease; }
.portfolio-lightbox-nav:hover:not(:disabled) { background: #1871dd; }
.portfolio-lightbox-nav:disabled { opacity: .38; cursor: default; }
.portfolio-lightbox-thumbs { display: flex; gap: 10px; overflow-x: auto; margin-top: 22px; padding: 4px 2px 7px; scrollbar-color: rgba(255,255,255,.45) transparent; }
.portfolio-lightbox-thumb { flex: 0 0 78px; height: 58px; padding: 3px; border: 1px solid transparent; border-radius: 5px; background: rgba(255,255,255,.08); cursor: pointer; opacity: .58; transition: opacity .2s ease, border-color .2s ease, transform .2s ease; }
.portfolio-lightbox-thumb:hover { opacity: .9; }
.portfolio-lightbox-thumb[aria-selected="true"] { border-color: #69adff; opacity: 1; }
.portfolio-lightbox-thumb img { width: 100%; height: 100%; border-radius: 2px; object-fit: cover; }

/* Achievement */
.achievement { background: #fff url('../assets/images/pattern-16.png') left bottom no-repeat; }.achievement::before { content: ''; position: absolute; right: -500px; top: -260px; width: 1190px; height: 677px; border-radius: 80px; transform: rotate(-45deg); background: var(--blue); }.achievement .two-col { position: relative; align-items: start; }.achievement .section-title { text-align: left; }.award-copy { display: grid; grid-template-columns: 70px 1fr; gap: 20px; margin: 35px 0; }.award-copy .trophy { color: var(--blue); font-size: 58px; }.award-copy h4 { margin: 0 0 6px; font: 500 18px/1.2 var(--roboto); }.award-copy p { margin: 0; font: 400 14px/1.7 var(--rubik); }.revenue-box { padding: 45px; border-radius: 10px; background: #f7f6fe; }.revenue-row { display: grid; grid-template-columns: 125px 1fr 80px; gap: 20px; padding: 20px 0; border-bottom: 2px solid #ece2e2; color: #11131c; font: 500 18px/1 var(--roboto); }.revenue-row:last-child { border-bottom: 0; }.revenue-row strong { color: var(--blue); font: 500 27px/1 var(--rubik); }.years { display: grid; justify-items: end; gap: 30px; padding: 30px 100px 0 0; }.year { width: 180px; padding: 28px 15px; border-bottom: 6px solid transparent; border-radius: 6px; background: #fff; text-align: center; box-shadow: 0 0 15px rgba(0,0,0,.1); }.year:hover { border-color: var(--blue); }.year .icon { color: var(--blue); font-size: 40px; }.year h3 { margin: 6px 0 0; font: 500 27px/1 var(--teko); }

/* Team and news */
.team-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; }.team-card { position: relative; padding: 35px 20px 40px; overflow: hidden; border-bottom: 4px solid transparent; background: #fff; text-align: center; box-shadow: 0 0 15px rgba(0,0,0,.05); }.team-card::before { content: ''; position: absolute; inset: 0; background: var(--navy); transform: scaleX(.1); opacity: 0; transition: .4s; }.team-card:hover::before { opacity: 1; }.team-card > * { position: relative; }.team-card img { width: 160px; height: 160px; margin: auto; border-radius: 50%; object-fit: cover; }.team-card h3 { margin: 28px 0 5px; font: 500 27px/1 var(--teko); }.team-card p { margin: 0; color: var(--blue); font-size: 16px; }.team-card:hover h3 { color: #fff; }
.news { background: #f8f8fd url('../assets/images/pattern-17.png') right top no-repeat; }.news-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }.news-card { background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.06); }.news-card img { width: 100%; aspect-ratio: 447/347; object-fit: cover; }.news-body { padding: 25px 28px 30px; }.news-meta { display: flex; gap: 20px; color: #7e8190; font-size: 13px; }.news-card h3 { margin: 15px 0 18px; font: 600 27px/1.15 var(--teko); }.news-card h3 a:hover { color: var(--blue); }.news-card .read { color: var(--blue); font: 500 17px/1 var(--teko); }

/* Footer */
.footer-cta { padding: 75px 0 55px; color: #fff; background: #07111d; }.footer-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-bottom: 55px; border-bottom: 1px solid rgba(255,255,255,.12); }.footer-cta h2 { margin: 0; color: #fff; font: 500 46px/1 var(--teko); }.footer-cta h2 span { color: var(--blue); }.footer-cta p { margin: 8px 0 0; color: rgba(255,255,255,.5); }.footer-cta .btn { min-width: 230px; justify-content: center; border-radius: 40px; color: #fff; background: var(--blue); }.site-footer { color: #a4a5b0; background: #07111d; }.footer-main { display: grid; grid-template-columns: 1.45fr .7fr .8fr 1fr; gap: 70px; padding: 45px 0 80px; }.footer-logo { width: 150px; }.footer-about p { max-width: 360px; margin: 25px 0; }.opening { display: grid; grid-template-columns: 70px 1fr; gap: 20px; align-items: center; margin-top: 35px; }.opening i { width: 70px; height: 70px; display: flex; justify-content: center; place-items: center; color: #fff; background: var(--blue); font-style: normal; font-size: 30px; }.opening strong { display: block; color: #fff; font: 500 20px/1 var(--teko); }.footer-col h3 { margin: 0 0 24px; color: #fff; font: 500 26px/1 var(--teko); }.footer-col a { display: block; margin: 10px 0; }.footer-col a:hover { color: var(--blue-2); }.footer-bottom { padding: 24px 0; border-top: 1px solid rgba(255,255,255,.1); text-align: center; color: #c3c4ca; background: #19212c; }

/* Internal page banner / hero. The same image-led banner is shared by
   About, Contact and every service page so inner-page navigation feels like
   one considered experience rather than a collection of unrelated screens. */
.page-hero {
  position: relative;
  isolation: isolate;
  min-height: 550px;
  padding: 285px 0 110px;
  overflow: hidden;
  color: #fff;
  text-align: center;
  background-color: #101425;
  background-image:
    linear-gradient(116deg, rgba(8, 10, 31, .96) 0%, rgba(9, 13, 38, .86) 48%, rgba(0, 74, 173, .62) 100%),
    url('../assets/images/hero.jpg');
  background-position: center, center 43%;
  background-size: cover;
  background-repeat: no-repeat;
}
.page-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .34;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 76%);
}
.page-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -190px;
  top: -260px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(112, 181, 255, .32);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(0, 74, 173, .14), 0 0 0 56px rgba(0, 74, 173, .08);
  pointer-events: none;
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { margin: 0 0 26px; color: #fff; font: 600 clamp(54px,5.2vw,72px)/1 var(--teko); text-shadow: 0 14px 35px rgba(0,0,0,.28); }
.breadcrumbs { color: rgba(255,255,255,.88); font: 400 18px/1 var(--roboto); }.breadcrumbs a { color: #fff; }.breadcrumbs span { margin: 0 18px; opacity: .5; }
.service-single { min-height: 420px; padding: 130px 0 110px; background: #fff; }.service-intro { padding: 0 0 35px; border-bottom: 1px solid #e8ebef; color: #607076; font-size: 16px; }.share-row { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 40px 0 25px; border-bottom: 1px solid #e8ebef; }.share-row strong { margin-right: 10px; color: #12151e; font: 500 28px/1 var(--teko); }.share-row a { width: 40px; height: 40px; display: grid; place-items: center; color: #07111d; background: #f7f8fb; font-weight: 700; }
.inner-section { position: relative; padding: 110px 0 80px; }.about-lead { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; align-items: center; }.about-lead-image { position: relative; min-height: 530px; }.about-lead-image img { width: 78%; height: 470px; object-fit: cover; border-radius: 8px; }.experience { position: absolute; right: 0; bottom: 0; width: 245px; padding: 30px; color: #fff; background: var(--blue); }.experience strong { display: block; font: 500 58px/.9 var(--teko); }.experience span { font-size: 14px; }.about-tabs { padding: 95px 0; background: #f7f7fd; }.tab-nav { display: flex; justify-content: center; gap: 15px; margin-bottom: 35px; }.tab-nav button { padding: 13px 25px; border: 0; color: #11131e; background: #fff; font: 500 20px/1 var(--teko); cursor: pointer; }.tab-nav button.active { color: #fff; background: var(--blue); }.about-tab-panel { max-width: 980px; margin: auto; padding: 38px; background: #fff; }
.contact-section { padding: 110px 0; }.contact-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; margin-bottom: 85px; }.contact-card { min-height: 190px; padding: 36px 30px; border: 1px solid #eaebf1; background: #fff; text-align: center; box-shadow: 0 4px 18px rgba(0,0,0,.03); }.contact-card .contact-icon { display: block; margin-bottom: 14px; color: var(--blue); font-size: 35px; }.contact-card h3 { margin: 0 0 8px; font: 500 26px/1 var(--teko); }.contact-form-wrap { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: start; }.contact-form-wrap .section-title { text-align: left; }.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.contact-form .full { grid-column: 1/-1; }.contact-form input, .contact-form textarea { width: 100%; padding: 17px 18px; border: 1px solid #e1e4ea; outline: none; color: #20222c; background: #f8f8fb; }.contact-form textarea { height: 160px; resize: vertical; }.contact-form input:focus, .contact-form textarea:focus { border-color: var(--blue); }.form-message { display: none; grid-column: 1/-1; padding: 13px; color: #0759ba; background: #eaf3ff; }

@media (max-width: 1100px) {
  .nav { gap: 22px; }.logo { flex-basis: 140px; }.hero-copy { width: min(680px,calc(100% - 180px)); padding: 42px 34px; }.hero-orbit { opacity: .55; }.two-col { gap: 38px; }.about-collage { transform: scale(.9); transform-origin: left center; }.employee-row { grid-template-columns: 95px 1fr 130px; }.service-panels { padding-left: 400px; }.service-tabs { width: 370px; }.footer-main { gap: 35px; }
}

@media (max-width: 900px) {
  body.menu-open .site-header .navbar { z-index: 70; }
  .topbar .container span:first-child { display: none; }.topbar .container { justify-content: center; }.navbar { height: 82px; }.nav-inner { padding: 0 22px; }.logo img { width: 88px; }.nav, .nav-actions { display: none; }.menu-toggle { display: block; margin-left: auto; width: 45px; height: 45px; border: 0; color: #fff; background: var(--blue); font-size: 25px; }.nav.mobile-open { position: fixed; inset: 0 0 0 20%; z-index: 70; display: block; height: 100vh; padding: 90px 30px 30px; overflow-y: auto; background: var(--navy); }.nav.mobile-open > li { display: block; height: auto; border-bottom: 1px solid rgba(255,255,255,.1); }.nav.mobile-open > li > a, .nav.mobile-open > li > button { width: 100%; padding: 18px 0; color: #fff; text-align: left; }.nav.mobile-open .submenu { position: static; display: none; width: 100%; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: #10122f; }.nav.mobile-open li.open .submenu { display: block; }.nav.mobile-open .submenu a { color: #fff; }.hero { min-height: 820px; padding-top: 130px; }.hero .container { height: 690px; }.hero-copy { width: min(680px,100%); padding: 42px 36px; }.hero-orbit, .hero-play { display: none; }.feature-grid { grid-template-columns: repeat(2,1fr); }.feature { border-bottom: 1px solid rgba(255,255,255,.1); margin-bottom: 30px; padding-bottom: 30px; }.two-col { grid-template-columns: 1fr; }.about-collage { width: 620px; max-width: 100%; }.agency .two-col { gap: 50px; }.business-card:nth-child(even) { transform: none; }.service-showcase::before { display: none; }.service-layout { min-height: auto; }.service-tabs { position: static; width: 100%; margin-bottom: 40px; padding: 25px; clip-path: none; }.service-panels { padding: 0; }.service-panel .section-title { font-size: 48px; }.service-panel > p { font-size: 16px; }.support-inner { grid-template-columns: 1fr; }.support-social { text-align: center; }.support-social h3, .socials { justify-content: center; }.support-cta { min-height: auto; padding: 40px 30px 40px 75px; }.support-cta::before { right: 0; transform: none; }.support-play { left: 10px; top: 50%; transform: translateY(-50%); }.support-phone { top: 24px; right: 25px; font-size: 15px; }.project-track { grid-template-columns: 1fr; margin: 0; }.project-card:not(.active) { display: none; }.project-arrow.prev { left: 20px; }.project-arrow.next { right: 20px; }.achievement::before { opacity: .15; }.years { grid-template-columns: repeat(3,1fr); justify-items: stretch; padding: 0; }.year { width: 100%; }.team-grid { grid-template-columns: repeat(2,1fr); }.news-grid { grid-template-columns: 1fr 1fr; }.footer-main { grid-template-columns: 1fr 1fr; }.sticky { display: none; }
  .service-showcase > .container, .support > .container { width: min(calc(100% - 28px), var(--container)); }
  .about-lead, .contact-form-wrap { grid-template-columns: 1fr; }.contact-cards { grid-template-columns: 1fr 1fr; }.page-hero { min-height: 470px; padding-top: 240px; }
  .portfolio-intro-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }.portfolio-work-head { align-items: flex-start; flex-direction: column; gap: 18px; }.portfolio-card { grid-column: span 6; }.portfolio-card-media { flex-basis: 250px; height: 250px; }.portfolio-card-body { padding: 30px; }.portfolio-cta-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  .container { width: min(calc(100% - 28px), var(--container)); }.topbar { height: 42px; line-height: 42px; font-size: 13px; }.navbar { height: 76px; }.navbar .container { width: calc(100% - 28px); }.site-header .menu-toggle { position: absolute; right: 15px; top: 15px; z-index: 100; display: block !important; }.hero { min-height: 780px; padding-top: 118px; }.hero::after { inset-block-start: 118px; background-size: 48px 48px; }.hero .container { height: 662px; }.hero-copy { width: 100%; min-width: 0; padding: 34px 0 34px 22px; background: linear-gradient(110deg,rgba(8,13,35,.38),transparent 88%); }.hero-copy::before { top: 34px; height: 70px; }.hero h1 { max-width: 100%; font-size: 52px; line-height: .94; overflow-wrap: normal; }.hero-kicker { padding: 8px 12px; font-size: 17px; }.hero-intro { width: 100%; max-width: calc(100vw - 76px); font-size: 16px; line-height: 1.65; overflow-wrap: break-word; }.hero-buttons { flex-direction: column; align-items: flex-start; }.hero-buttons .btn { width: 100%; max-width: 250px; }.feature-grid, .business-grid, .process-grid, .team-grid, .news-grid { grid-template-columns: minmax(0,1fr); }.feature { width: 100%; min-width: 0; border-right: 0; }.feature p, .feature h3 { width: 100%; max-width: 100%; white-space: normal; overflow-wrap: break-word; }.section { padding: 80px 0 55px; }.section-title { font-size: 43px; }.about-collage { height: 470px; }.about-collage .main-img { left: 0; width: 68%; }.about-collage .small-img { right: 0; width: 27%; }.about-video { left: 20%; width: 70%; }.target { width: 180px; left: -60px; }.float-icon.brain { right: 15%; }.employee-row { grid-template-columns: 75px 1fr; }.employee-card { grid-column: 1 / -1; margin-top: 20px; }.business-card { min-height: 270px; }.fact-grid { grid-template-columns: 1fr; }.support-cta { padding: 95px 25px 30px; }.support-cta h3 { font-size: 37px; }.support-phone { top: 25px; }.support-play { left: auto; right: 25px; top: 20px; }.process-card:not(:last-child)::after { display: none; }.project-card { height: 360px; }.project-label { width: 90%; padding-inline: 40px; }.achievement .two-col { grid-template-columns: 1fr; }.revenue-box { padding: 25px; }.revenue-row { grid-template-columns: 80px 1fr 60px; gap: 10px; font-size: 14px; }.years { grid-template-columns: 1fr; }.footer-cta .container { align-items: flex-start; flex-direction: column; }.footer-main { grid-template-columns: 1fr; }.footer-cta h2 { font-size: 38px; }
  .page-hero { min-height: 410px; padding: 210px 0 70px; }.page-hero h1 { font-size: 46px; }.service-single { padding: 80px 0; }.share-row { justify-content: flex-start; }.contact-cards { grid-template-columns: 1fr; }.contact-form { grid-template-columns: 1fr; }.contact-form .full { grid-column: auto; }.tab-nav { flex-wrap: wrap; }.about-lead-image { min-height: 450px; }
  .portfolio-intro { padding: 78px 0 35px; }.portfolio-work { padding: 35px 0 80px; }.portfolio-filter { gap: 8px; }.portfolio-filter button { padding-inline: 16px; }.portfolio-group-heading { align-items: flex-start; flex-direction: column; gap: 8px; padding: 34px 0 3px; }.portfolio-card { grid-column: span 12; }.portfolio-card-media { flex-basis: 235px; height: 235px; }.portfolio-card-body { padding: 26px 24px 30px; }.portfolio-card-body h3 { font-size: 31px; }.portfolio-card-action { opacity: 1; transform: none; left: 18px; bottom: 18px; }.portfolio-cta { padding: 65px 0; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; animation-duration: .001ms !important; transition-duration: .001ms !important; } .hero-heading-typing::after { display: none; } }

/* Live-theme scroll reveals, enabled progressively by JavaScript. */
.reveal-on-scroll { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.22,1,.36,1); }
.reveal-on-scroll.is-visible { opacity: 1; transform: none; }

/* ================================================================
   Production interaction modules
   ================================================================ */
.modal-open, .menu-open { overflow: hidden; }

.nav > li.open > .submenu { opacity: 1; visibility: visible; transform: none; }
.nav > li > button { display: inline-flex; align-items: center; gap: 7px; }
.nav > li > button::before { content: ''; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); order: 2; transition: transform .25s; }
.nav > li.open > button::before { transform: translateY(1px) rotate(225deg); }
.nav-icon { padding: 0; font-family: Arial, sans-serif; }
.nav-icon svg { width: 17px; height: 17px; stroke-width: 2; }

.menu-toggle { padding: 0; }
.menu-toggle span { display: block; width: 21px; height: 2px; margin: 4px auto; background: currentColor; transition: transform .25s, opacity .25s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6px) rotate(-45deg); }

/* Search */
.search-overlay { position: fixed; inset: 0; z-index: 200; display: grid; place-items: start center; padding: max(8vh, 60px) 20px 30px; opacity: 0; visibility: hidden; overflow-y: auto; background: rgba(6, 10, 22, .93); backdrop-filter: blur(15px); transition: opacity .3s, visibility .3s; }
.search-overlay.is-open { opacity: 1; visibility: visible; }
.search-dialog { position: relative; width: min(850px, 100%); padding: clamp(36px, 6vw, 70px); border: 2px solid var(--blue); color: #fff; background: #111a28; box-shadow: 0 30px 90px rgba(0, 0, 0, .45); transform: translateY(-20px); transition: transform .35s ease; }
.search-overlay.is-open .search-dialog { transform: none; }
.search-dialog h2 { margin: 0 0 30px; color: #fff; font: 600 clamp(42px, 7vw, 72px)/.95 var(--teko); }
.search-kicker { margin: 0 0 8px; color: #6ba8ff; font: 500 18px/1 var(--teko); letter-spacing: .08em; text-transform: uppercase; }
.search-close {     align-items: center;
    justify-content: center;
    display: flex; position: absolute; top: 18px; right: 18px; width: 45px; height: 45px; border: 1px solid rgba(255,255,255,.2); color: #fff; background: transparent; font-size: 28px; cursor: pointer; }
.search-form { display: flex; border-bottom: 2px solid rgba(255,255,255,.25); }
.search-form input { min-width: 0; flex: 1; padding: 17px 0; border: 0; outline: 0; color: #fff; background: transparent; font-size: 18px; }
.search-form input::placeholder { color: #8490a1; }
.search-form button { width: 56px; border: 0; color: #fff; background: var(--blue); font-size: 23px; cursor: pointer; }
.search-results { display: grid; margin-top: 25px; }
.search-results a { display: grid; grid-template-columns: 1fr auto; gap: 3px 15px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.search-results a span { color: #fff; font: 500 22px/1.1 var(--teko); }
.search-results a small { color: #8792a2; grid-column: 1; }
.search-results a b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #6ba8ff; }
.search-results a:hover span { color: #6ba8ff; }
.search-empty { color: #9ba6b6; }

/* Fully interactive services carousel ,  exact live 970 × 571 center card. */
.service-carousel { position: relative; height: 571px; overflow: hidden; background: #fff; }
.service-carousel::before, .service-carousel::after { content: ''; position: absolute; z-index: 7; width: 185px; height: 180px; background: var(--blue); box-shadow: 0 0 0 22px rgba(0,74,173,.25); pointer-events: none; }
.service-carousel::before { left: -95px; bottom: -95px; transform: rotate(-45deg); }
.service-carousel::after { right: -95px; top: -95px; transform: rotate(45deg); }
.service-carousel-viewport { height: 571px; overflow: visible; touch-action: pan-y; }
.service-carousel-track { display: flex; gap: 30px; cursor: grab; transition: transform .7s cubic-bezier(.22,1,.36,1); will-change: transform; }
.service-carousel-track.is-dragging { cursor: grabbing; transition: none; }
.service-slide { position: relative; flex: 0 0 970px; min-width: 0; height: 571px; overflow: hidden; border-radius: 6px; }
.service-slide::after { content: ''; position: absolute; z-index: 1; inset: 0; background: rgba(9,10,36,.47); pointer-events: none; transition: opacity .35s; }
.service-slide.is-active::after { opacity: 0; }
.service-slide img { width: 100%; height: 571px; object-fit: cover; user-select: none; pointer-events: none; }
.service-slide-caption { position: absolute; z-index: 3; left: 50%; bottom: 30px; width: 610px; min-height: 149px; padding: 35px 65px; transform: translateX(-50%); color: var(--blue); background: #fff; text-align: center; clip-path: polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%); box-shadow: 0 0 20px rgba(0,0,0,.1); opacity: 0; transition: opacity .35s; }
.service-slide.is-active .service-slide-caption { opacity: 1; }
.service-slide-caption h3 { margin: 0; color: #121d2c; font: 600 38px/45.6px var(--teko); }
.service-slide-caption p { margin: 5px 0 0; color: var(--blue); font-size: 16px; line-height: 28.8px; }
.service-carousel-button { position: absolute; z-index: 8; top: 50%; width: 103px; height: 40px; padding: 0; transform: translateY(-50%); border: 0; color: transparent; background: none; cursor: pointer; transition: filter .25s; }
.service-carousel-button::before { content: ''; position: absolute; top: 19px; width: 103px; height: 2px; background: var(--orange); }
.service-carousel-button::after { content: ''; position: absolute; top: 13px; width: 12px; height: 12px; border-top: 2px solid var(--orange); border-right: 2px solid var(--orange); }
.service-carousel-button:hover { filter: contrast(2); }
.service-carousel-button.prev { left: 30px; }.service-carousel-button.prev::before { left: 0; }.service-carousel-button.prev::after { left: 0; transform: rotate(-135deg); }
.service-carousel-button.next { right: 30px; }.service-carousel-button.next::before { right: 0; }.service-carousel-button.next::after { right: 0; transform: rotate(45deg); }
.service-carousel-dots { display: none; }

/* Complete service pages */
.service-page { background: #fff; }
.service-page .page-hero { min-height: 650px; padding: 275px 0 90px; text-align: left; overflow: hidden; background-color: #101425; background-image: linear-gradient(112deg, rgba(8,10,31,.96) 0%, rgba(9,13,38,.86) 48%, rgba(0,74,173,.58) 100%), url('../assets/images/hero.jpg'); background-position: center, center 43%; background-size: cover; background-repeat: no-repeat; }
.service-page .page-hero::before { content: ''; position: absolute; right: -170px; bottom: -330px; width: 650px; height: 730px; border: 2px dashed rgba(255,255,255,.55); border-radius: 90px; transform: rotate(-42deg); background: var(--blue); outline: 28px solid rgba(0,74,173,.18); }
.service-page .page-hero::after { content: ''; position: absolute; left: -160px; bottom: -180px; width: 420px; height: 300px; border: 2px dashed rgba(255,255,255,.18); border-radius: 55px; transform: rotate(40deg); background: rgba(0,74,173,.35); }
.service-hero-content { position: relative; z-index: 2; max-width: 840px; }
.service-hero-content .breadcrumbs { margin-bottom: 26px; }
.service-page .page-hero h1 { max-width: 810px; margin-bottom: 20px; font-size: clamp(58px, 6.5vw, 94px); }
.service-hero-content > p { max-width: 730px; margin-bottom: 30px; color: rgba(255,255,255,.76); font-size: 17px; }
.service-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.btn-outline { border: 1px solid rgba(255,255,255,.45); background: transparent; }
.btn-outline:hover { border-color: #fff; }

.service-section { position: relative; padding: 105px 0; }
.service-section.alt { background: #f7f7fd; }
.service-section.dark { color: #a6adba; background: #07111d; }
.service-section.dark h2, .service-section.dark h3 { color: #fff; }
.service-section-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 50px; }
.service-section-head > div { max-width: 740px; }
.service-section-head .section-title { text-align: left; }
.service-section-head > p { max-width: 430px; margin-bottom: 0; }

.problem-solution { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.comparison-card { position: relative; padding: 42px; overflow: hidden; border: 1px solid #e4e6ee; background: #fff; }
.comparison-card::after { content: ''; position: absolute; right: -50px; top: -50px; width: 135px; height: 135px; border: 22px solid rgba(0,74,173,.05); border-radius: 50%; }
.comparison-card.solution { border-color: rgba(0,74,173,.25); box-shadow: 0 18px 45px rgba(22,43,88,.08); }
.comparison-label { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 25px; color: #707684; font: 500 16px/1 var(--teko); letter-spacing: .08em; text-transform: uppercase; }
.comparison-label::before { content: ''; width: 24px; height: 3px; background: #aeb2bc; }
.solution .comparison-label { color: var(--blue); }.solution .comparison-label::before { background: var(--blue); }
.comparison-card h3 { max-width: 500px; margin-bottom: 17px; font: 600 clamp(32px,3vw,44px)/1 var(--teko); }
.comparison-list { margin-top: 24px; }
.comparison-list li { position: relative; padding: 13px 0 13px 30px; border-top: 1px solid #eceef3; }
.comparison-list li::before { content: '×'; position: absolute; left: 2px; color: #9ca1ab; font-weight: 700; }
.solution .comparison-list li::before { content: '✓'; color: var(--blue); }

.deliverables-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.deliverable { min-height: 315px; padding: 34px; border: 2px solid transparent; background: #fff; box-shadow: 0 4px 22px rgba(18,29,60,.06); transition: transform .3s, border-color .3s, box-shadow .3s; }
.deliverable:hover { border-color: var(--blue); box-shadow: 0 18px 40px rgba(18,29,60,.1); }
.deliverable-icon { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 48px; border-radius: 18px; color: var(--blue); background: #eef5ff; }
.deliverable-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.deliverable h3 { margin-bottom: 12px; font: 600 27px/1 var(--teko); }
.deliverable p { margin-bottom: 0; }

.service-process { position: relative; }
.process-steps { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.12); }
.process-step { position: relative; min-height: 170px; padding: 30px; border: 0; border-right: 1px solid rgba(255,255,255,.12); color: #8993a2; background: transparent; text-align: left; cursor: pointer; transition: background .3s, color .3s; }
.process-step:last-child { border-right: 0; }
.process-step span { display: block; margin-bottom: 38px; color: #5f6877; font: 400 17px/1 var(--teko); }
.process-step strong { display: block; color: #fff; font: 500 25px/1 var(--teko); }
.process-step.is-active { color: #fff; background: var(--blue); }
.process-step.is-active span { color: rgba(255,255,255,.7); }
.process-detail { display: grid; grid-template-columns: 100px 1fr; gap: 35px; max-width: 850px; margin: 50px 0 0 auto; }
.process-detail > span { color: var(--blue-2); font: 500 76px/.8 var(--teko); }
.process-detail h3 { margin-bottom: 10px; font: 500 35px/1 var(--teko); }
.process-detail p { margin: 0; }

.faq-wrap { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; align-items: start; }
.faq-wrap .section-title { text-align: left; }
.faq-list { border-top: 1px solid #dfe2e8; }
.faq-item { border-bottom: 1px solid #dfe2e8; }
.faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 25px 0; border: 0; color: #11131d; background: transparent; text-align: left; font: 500 24px/1.2 var(--teko); cursor: pointer; }
.faq-question span:last-child { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: #eef5ff; font: 400 22px/1 Arial, sans-serif; transition: .25s; }
.faq-item.is-open .faq-question span:last-child { color: #fff; background: var(--blue); transform: rotate(45deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.faq-answer p { max-width: 720px; margin: 0; padding: 0 55px 25px 0; }

.lead-cta { position: relative; padding: 70px; overflow: hidden; color: rgba(255,255,255,.75); background: var(--blue); }
.lead-cta::after { content: ''; position: absolute; right: -100px; top: -180px; width: 470px; height: 470px; border: 2px dashed rgba(255,255,255,.35); border-radius: 80px; transform: rotate(40deg); }
.lead-cta-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.lead-cta h2 { color: #fff; font: 600 clamp(44px,5vw,66px)/.95 var(--teko); }
.lead-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; }
.lead-form input { min-width: 0; height: 58px; padding: 0 17px; border: 1px solid rgba(255,255,255,.35); outline: 0; color: #fff; background: rgba(255,255,255,.1); }
.lead-form input::placeholder { color: rgba(255,255,255,.72); }
.lead-form input:focus { border-color: #fff; }
.lead-form .btn { color: var(--blue); background: #fff; white-space: nowrap; }
.form-message { grid-column: 1/-1; margin: 7px 0 0; padding: 10px 13px; color: #fff; border: 1px solid rgba(255,255,255,.35); background: rgba(4,34,80,.22); }
.form-message.is-visible { display: block; }

.service-proof { display: grid; grid-template-columns: repeat(4,1fr); margin-top: -1px; color: #fff; background: #0b0d22; }
.service-proof div { padding: 27px 32px; border-right: 1px solid rgba(255,255,255,.1); }
.service-proof div:last-child { border-right: 0; }
.service-proof strong { display: block; color: #fff; font: 500 39px/1 var(--teko); }.service-proof span {     text-transform: uppercase; color: #7f8798; font-size: 13px; }

@media (max-width: 1000px) {
  .deliverables-grid { grid-template-columns: repeat(2,1fr); }
  .service-section-head { display: block; }.service-section-head > p { margin-top: 18px; }
  .faq-wrap, .lead-cta-grid { grid-template-columns: 1fr; gap: 45px; }
  .service-page .page-hero::before { opacity: .45; }
}

@media (max-width: 900px) {
  .navbar .logo { flex: 0 1 auto; }
  .site-header.is-sticky .navbar { position: fixed; inset: 0 0 auto; z-index: 60; margin: 0; background: #fff; box-shadow: 0 4px 22px rgba(0,0,0,.1); }
  .site-header .navbar .nav-inner::after { content: none; }
  .site-header .navbar .nav-inner .menu-toggle { position: absolute !important; top: 18px !important; right: 20px !important; z-index: 80; display: block !important; width: 45px; height: 45px; margin: 0; color: #fff; background: var(--blue); }
  body.menu-open .site-header .navbar .nav-inner .menu-toggle { position: fixed !important; }
  .site-header .navbar .nav-inner .menu-toggle span { opacity: 1; }
  .site-header .navbar .nav-inner .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .navbar .nav { position: fixed; inset: 0 0 0 auto; z-index: 70; display: block; width: min(380px, 88vw); height: 100vh; height: 100dvh; margin: 0; padding: 95px 28px 35px; overflow-y: auto; visibility: hidden; pointer-events: none; transform: translateX(105%); background: var(--navy); box-shadow: -18px 0 42px rgba(3,5,18,.18); transition: transform .38s cubic-bezier(.22,1,.36,1), visibility .38s; }
  .navbar .nav.mobile-open { inset: 0 0 0 auto; visibility: visible; pointer-events: auto; transform: translateX(0); animation: none; }
  .navbar .nav > li > button::after, .navbar .nav > li > a::after { display: none; }
  .navbar .nav .submenu { display: block; max-height: 0; padding: 0; overflow: hidden; opacity: 0; visibility: hidden; transition: max-height .35s ease, padding .35s ease, opacity .25s ease, visibility .35s; }
  .navbar .nav li.open .submenu { max-height: 500px; padding: 8px 0; opacity: 1; visibility: visible; }
  .problem-solution { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: repeat(2,1fr); }
  .process-step:nth-child(2) { border-right: 0; }.process-step:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .lead-form { grid-template-columns: 1fr 1fr; }.lead-form .btn { grid-column: 1/-1; }
  .service-proof { grid-template-columns: repeat(2,1fr); }.service-proof div:nth-child(2) { border-right: 0; }.service-proof div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
}

@media (max-width: 620px) {
  .site-header .navbar .nav-inner::after { top: 15px; right: 15px; }
  .site-header .navbar .nav-inner .menu-toggle { top: 15px !important; right: 15px !important; }
  .search-overlay { padding-inline: 12px; }.search-dialog { padding: 55px 24px 30px; }.search-dialog h2 { font-size: 43px; }
  .service-carousel-track { gap: 14px; }.service-slide { flex-basis: 88vw; height: 440px; }.service-slide-caption { padding: 23px 30px 20px; }.service-slide-caption h3 { font-size: 28px; }.service-carousel-button { width: 46px; height: 46px; }.service-carousel-button.prev { left: 12px; }.service-carousel-button.next { right: 12px; }.service-carousel-dots { display: none; }
  .service-page .page-hero { min-height: 610px; padding: 220px 0 70px; }.service-page .page-hero h1 { font-size: 52px; }.service-page .page-hero::before { right: -320px; }.service-hero-actions { align-items: flex-start; flex-direction: column; }
  .service-section { padding: 76px 0; }.service-section-head { margin-bottom: 35px; }
  .comparison-card { padding: 30px 24px; }.deliverables-grid { grid-template-columns: 1fr; }.deliverable { min-height: 270px; }.deliverable-icon { margin-bottom: 35px; }
  .process-steps { grid-template-columns: 1fr; }.process-step { min-height: 130px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }.process-step span { margin-bottom: 22px; }.process-detail { grid-template-columns: 65px 1fr; gap: 20px; }.process-detail > span { font-size: 55px; }
  .faq-wrap { gap: 30px; }.faq-question { font-size: 21px; }.faq-answer p { padding-right: 10px; }
  .lead-cta { padding: 45px 24px; }.lead-form { grid-template-columns: 1fr; }.lead-form .btn { grid-column: auto; }.service-proof { grid-template-columns: 1fr 1fr; }.service-proof div { padding: 22px 18px; }
}

/* Premium service-page capability, proof and modal modules. */
.capability-section { padding: 105px 0; background: #fff; }
.capability-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: 65px; align-items: stretch; }
.service-media { position: relative; min-height: 620px; overflow: hidden; border-radius: 8px; background: #07111d; }
.service-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.service-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(5,12,26,.88)); }
.media-stat { position: absolute; z-index: 2; left: 35px; right: 35px; bottom: 35px; display: flex; justify-content: space-between; gap: 20px; color: #fff; }
.media-stat strong { font: 500 50px/1 var(--teko); }.media-stat span { max-width: 240px; color: rgba(255,255,255,.72); }
.capability-content { padding: 18px 0; }.capability-content .section-title { text-align: left; }
.capability-content > p { margin: 22px 0 30px; }
.capability-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.capability-tab { padding: 11px 16px; border: 1px solid #dfe3eb; border-radius: 4px; color: #303644; background: #fff; font: 500 15px/1.15 var(--teko); letter-spacing: .025em; cursor: pointer; }
.capability-tab.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.capability-panel { padding: 28px; border: 2px solid var(--blue); background: #f7f7fd; }
.capability-panel h3 { margin-bottom: 10px; font: 600 31px/1 var(--teko); }.capability-panel p { margin-bottom: 18px; }
.capability-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; }
.capability-list li { position: relative; padding-left: 23px; color: #363c48; }.capability-list li::before { content: '✓'; position: absolute; left: 0; color: var(--blue); font-weight: 800; }

.testimonial-section { position: relative; padding: 105px 0; overflow: hidden; color: #aab4c4; background: #081321; }
.testimonial-section::before { content: ''; position: absolute; right: -15%; top: -70%; width: 750px; height: 750px; border: 1px solid rgba(0,122,255,.18); border-radius: 50%; box-shadow: 0 0 0 90px rgba(0,90,210,.04), 0 0 0 180px rgba(0,90,210,.025); }
.testimonial-section .section-title { color: #fff; text-align: left; }.testimonial-section .section-title span { color: #4f9fff; }
.testimonial-top { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 45px; }
.testimonial-top > p { max-width: 430px; margin: 0; }
.testimonial-viewport { position: relative; z-index: 2; overflow: hidden; }
.testimonial-track { display: flex; transition: transform .65s cubic-bezier(.22,1,.36,1); }
.testimonial-card { flex: 0 0 100%; display: grid; grid-template-columns: auto 1fr; gap: 28px; padding: clamp(30px,5vw,60px); border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.055); backdrop-filter: blur(16px); }
.testimonial-avatar { width: 82px; height: 82px; overflow: hidden; border-radius: 50%; border: 3px solid rgba(255,255,255,.25); }.testimonial-avatar img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-stars { color: #ffbf3f; letter-spacing: .14em; }.testimonial-card blockquote { max-width: 850px; margin: 14px 0 24px; color: #fff; font: 400 clamp(28px,3.2vw,43px)/1.17 var(--teko); }
.testimonial-card cite { color: #fff; font-style: normal; font-weight: 700; }.testimonial-card small { display: block; color: #7f8ca0; }
.testimonial-nav { position: relative; z-index: 3; display: flex; gap: 8px; margin-top: 24px; }.testimonial-nav button { width: 38px; height: 5px; padding: 0; border: 0; background: rgba(255,255,255,.22); cursor: pointer; }.testimonial-nav button.is-active { width: 70px; background: #2187ff; }

.audit-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; opacity: 0; visibility: hidden; overflow-y: auto; background: rgba(4,9,20,.88); backdrop-filter: blur(14px); transition: .3s; }
.audit-modal.is-open { opacity: 1; visibility: visible; }.audit-dialog { position: relative; width: min(820px,100%); padding: clamp(32px,6vw,65px); border-top: 5px solid var(--blue-2); color: #aab3c0; background: #0b1727; box-shadow: 0 35px 100px rgba(0,0,0,.5); }
.audit-dialog h2 { margin-bottom: 12px; color: #fff; font: 600 clamp(44px,6vw,67px)/.95 var(--teko); }.audit-close { align-items: center;
    justify-content: center;
    display: flex; position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.2); color: #fff; background: transparent; font-size: 27px; cursor: pointer; }
.audit-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 30px; }.audit-form input, .audit-form select, .audit-form textarea { width: 100%; padding: 16px 17px; border: 1px solid rgba(255,255,255,.18); outline: 0; color: #fff; background: rgba(255,255,255,.06); }.audit-form select option { color: #111; }.audit-form textarea { grid-column: 1/-1; min-height: 120px; resize: vertical; }.audit-form .btn, .audit-form .form-message { grid-column: 1/-1; }

@media (max-width: 1000px) {
  .capability-layout { grid-template-columns: 1fr; }.service-media { min-height: 520px; }
}
@media (max-width: 700px) {
  .capability-section, .testimonial-section { padding: 78px 0; }.capability-list { grid-template-columns: 1fr; }.testimonial-top { display: block; }.testimonial-top > p { margin-top: 18px; }.service-media { min-height: 420px; }.media-stat { left: 22px; right: 22px; bottom: 22px; }.testimonial-card { grid-template-columns: 1fr; }.testimonial-avatar { width: 64px; height: 64px; }.audit-form { grid-template-columns: 1fr; }.audit-form textarea, .audit-form .btn, .audit-form .form-message { grid-column: auto; }
}

/* Responsive fidelity for the three live homepage modules. */
@media (max-width: 1100px) {
  .about > .container, .agency > .container { width: min(calc(100% - 30px), 970px); }
  .about .two-col, .agency .two-col { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0; }
  .about-collage { width: 100%; transform: none; }
  .about-collage .small-img { right: 12px; }
  .about-video { left: 100px; }
  .target { display: none; }
  .float-icon.signal { left: -55px; }
  .float-icon.brain { right: 70px; }
  .about-copy, .agency-copy, .business-grid { width: 100%; }
  .about-copy .section-title, .agency-copy .section-title { font-size: 58px; }
  .employee-row { grid-template-columns: 115px 1fr; }
  .employee-card { display: none; }
  .business-card { min-height: 420px; padding-inline: 20px; }
}

@media (max-width: 900px) {
  .about, .agency { padding: 90px 0 60px; }
  .about > .container, .agency > .container { width: min(calc(100% - 30px), 720px); }
  .about .two-col, .agency .two-col { grid-template-columns: 1fr; }
  .about-copy { order: 1; width: 100%; margin-bottom: 55px; }
  .about-collage { order: 2; width: 597px; max-width: 100%; height: 588px; margin-inline: auto; }
  .about-copy .section-title, .agency-copy .section-title { font-size: 60px; }
  .agency-copy { width: 100%; padding-top: 0; margin-bottom: 55px; }
  .business-grid { width: 100%; }
  .business-card { min-height: 414px; padding-inline: 30px; }
  .service-carousel, .service-carousel-viewport, .service-slide { height: calc((100vw - 28px) * .58866); min-height: 400px; }
  .service-slide { flex-basis: calc(100vw - 28px); }
  .service-slide img { height: 100%; }
  .service-carousel::before, .service-carousel::after, .service-carousel-button { display: none; }
}

@media (max-width: 600px) {
  .about > .container, .agency > .container { width: calc(100% - 28px); }
  .about-copy, .agency-copy { padding-inline: 0; }
  .about-copy .section-title, .agency-copy .section-title { font-size: 47px; }
  .about-copy > p, .agency-copy > p { line-height: 1.7; }
  .about-collage { height: 500px; }
  .about-collage .main-img { left: 0; width: 72%; height: auto; }
  .about-collage .small-img { right: 0; width: 28%; height: auto; }
  .about-video { left: 18%; top: 280px; width: 72%; height: auto; aspect-ratio: 360/239; }
  .float-icon.signal { left: -10px; top: 55px; }
  .float-icon.brain { right: 10%; top: 160px; width: 86px; height: 86px; }
  .employee-row { grid-template-columns: 90px 1fr; }
  .globe, .globe svg { width: 82px; height: 82px; }
  .business-grid { grid-template-columns: 1fr; }
  .business-card, .business-card:nth-child(even) { min-height: 390px; margin-inline: 0; transform: none; }
  .service-carousel, .service-carousel-viewport, .service-slide { height: max(350px,calc((100vw - 28px) * .58866)); min-height: 0; }
  .service-carousel-track { gap: 14px; }
  .service-slide { flex-basis: calc(100vw - 28px); }
  .service-slide-caption { bottom: 18px; width: 90%; min-height: 108px; padding: 20px 30px; }
  .service-slide-caption h3 { font-size: 27px; line-height: 32px; }
  .service-slide-caption p { overflow: hidden; font-size: 14px; line-height: 22px; text-overflow: ellipsis; }
}

/* About collage entrance motion follows the live left/right reveals. */
.about-collage.reveal-on-scroll { opacity: 1; transform: none; transition: none; }
.about-collage.reveal-on-scroll .main-img,
.about-collage.reveal-on-scroll .target { opacity: 0; transform: translateX(-45px); transition: opacity 1.5s ease, transform 1.5s ease; }
.about-collage.reveal-on-scroll .small-img { opacity: 0; transform: translateX(45px); transition: opacity 1.5s ease, transform 1.5s ease; }
.about-collage.reveal-on-scroll.is-visible .main-img,
.about-collage.reveal-on-scroll.is-visible .small-img,
.about-collage.reveal-on-scroll.is-visible .target { opacity: 1; transform: translateX(0); }

/* Video lightbox used by the live-style play controls. */
body.modal-open { overflow: hidden; }
.video-modal { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; padding: 28px; opacity: 0; visibility: hidden; background: rgba(3,8,20,.9); backdrop-filter: blur(10px); transition: opacity .3s ease, visibility .3s ease; }
.video-modal.is-open { opacity: 1; visibility: visible; }
.video-dialog { position: relative; width: min(1000px,92vw); transform: translateY(18px) scale(.98); transition: transform .35s cubic-bezier(.22,1,.36,1); }
.video-modal.is-open .video-dialog { transform: none; }
.video-frame { aspect-ratio: 16/9; overflow: hidden; border-radius: 8px; background: #000; box-shadow: 0 32px 100px rgba(0,0,0,.55); }
.video-frame iframe { width: 100%; height: 100%; border: 0; }
.video-close { position: absolute; z-index: 2; right: -15px; top: -55px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; background: rgba(0,74,173,.9); font-size: 29px; line-height: 1; cursor: pointer; transition: transform .25s ease, background .25s ease; }
.video-close:hover { background: var(--blue-2); }
@media (max-width: 600px) { .video-modal { padding: 14px; }.video-dialog { width: 100%; }.video-close { right: 0; top: -52px; } }
@media (max-width: 600px) {
  .portfolio-lightbox { padding: 12px; }
  .portfolio-lightbox-dialog { width: 100%; max-height: 96vh; padding: 18px 14px 14px; border-radius: 10px; }
  .portfolio-lightbox-head { align-items: flex-start; margin-bottom: 18px; }
  .portfolio-lightbox-head h2 { font-size: 34px; }
  .portfolio-lightbox-counter { display: none; }
  .portfolio-lightbox-stage { grid-template-columns: 36px minmax(0, 1fr) 36px; gap: 6px; }
  .portfolio-lightbox-image { height: 56vh; }
  .portfolio-lightbox-nav { width: 36px; height: 36px; font-size: 20px; }
  .portfolio-lightbox-thumb { flex-basis: 64px; height: 48px; }
}

/* Clear sitewide actions and local editorial pages. */
.nav { gap: clamp(18px, 2.5vw, 39px); }
.nav-contact { display: none !important; }
.nav-cta { display: inline-flex; align-items: center; justify-content: center; gap: 12px; flex: 0 0 auto; min-height: 45px; padding: 0 19px; border-radius: 3px; color: #fff; background: var(--blue); font: 500 18px/1 var(--teko); text-transform: uppercase; transition: background .2s, transform .2s; }
.nav-cta:hover { color: #fff; background: #0765ce; }
.nav-actions { margin-left: 15px; padding-left: 15px; }
.hero .btn-secondary { border: 1px solid rgba(255,255,255,.65); color: #fff; background: rgba(255,255,255,.06); }
.hero .btn-secondary:hover { color: #fff; background: #073f8b; }
.about-action { margin-top: 12px; }
.news-more { margin-top: 42px; text-align: center; }
.news-card { height: 100%; display: flex; flex-direction: column; }
.news-card > a { display: block; overflow: hidden; }
.news-card > a img { transition: transform .4s ease; }
.news-card > a:hover img { }
.news-body { flex: 1; display: flex; flex-direction: column; }
.news-body .read { margin-top: auto; }
.contact-card { display: flex; flex-direction: column; align-items: center; }
.contact-card p { margin-bottom: 15px; }
.contact-card a { margin-top: auto; color: var(--blue); font-weight: 700; }
.contact-card a:hover { text-decoration: underline; }
.whatsapp-float { position: fixed; z-index: 180; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); width: 62px; height: 62px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; background: #25d366; box-shadow: 0 8px 28px rgba(0,0,0,.24); transition: transform .2s, box-shadow .2s; }
.whatsapp-float:hover, .whatsapp-float:focus-visible { box-shadow: 0 12px 32px rgba(0,0,0,.3); }
.whatsapp-float img { width: 34px; height: 34px; filter: brightness(0) invert(1); }
:focus-visible { outline: 3px solid #ff9d39; outline-offset: 3px; }

.blog-page { color: #4e5867; }
.blog-hero, .article-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #091527 url('../assets/images/hero.jpg') center/cover no-repeat; }
.blog-hero::before, .article-hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(106deg,rgba(5,12,29,.98),rgba(7,20,46,.91) 60%,rgba(0,74,173,.68)); }
.blog-hero::after, .article-hero::after { content: ''; position: absolute; right: -180px; bottom: -400px; width: 620px; height: 620px; border: 1px dashed rgba(255,255,255,.28); border-radius: 90px; transform: rotate(36deg); pointer-events: none; }
.blog-hero { padding: 255px 0 110px; }
.blog-hero .container, .article-hero .container { position: relative; z-index: 1; }
.blog-hero .breadcrumbs, .article-hero .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 24px; color: #adc6e8; font-size: 14px; }
.blog-hero .breadcrumbs a:hover, .article-hero .breadcrumbs a:hover { color: #fff; }
.blog-eyebrow { margin-bottom: 15px; color: #7db7ff; font: 500 20px/1 var(--teko); letter-spacing: .12em; text-transform: uppercase; }
.blog-hero h1, .article-hero h1 { max-width: 1000px; margin-bottom: 21px; color: #fff; font: 600 clamp(60px,7vw,104px)/.9 var(--teko); letter-spacing: -.025em; text-wrap: balance; }
.blog-hero h1 span { color: #7db7ff; }
.blog-hero .container > p:not(.blog-eyebrow) { max-width: 630px; margin-bottom: 29px; color: #cad4e1; font-size: 18px; line-height: 1.65; }
.blog-listing { padding: 105px 0 120px; background: #f8f9fd; }
.blog-listing-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.blog-listing-head .section-title { text-align: left; }
.blog-listing-head > p { max-width: 390px; margin: 0 0 4px; font-size: 16px; }
.blog-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 14px; }
.blog-filters button { padding: 10px 17px; border: 1px solid #d7dfeb; border-radius: 4px; color: #263344; background: #fff; font: 500 17px/1 var(--teko); cursor: pointer; }
.blog-filters button:hover, .blog-filters button.is-active { border-color: var(--blue); color: #fff; background: var(--blue); }
.blog-result-count { margin-bottom: 24px; font-size: 13px; }
.blog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.blog-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e8ecf2; border-radius: 8px; background: #fff; box-shadow: 0 12px 40px rgba(7,19,37,.06); }
.blog-card[hidden] { display: none; }
.blog-card-image { display: block; overflow: hidden; }
.blog-card-image img { width: 100%; height: 290px; object-fit: cover; transition: transform .4s; }
.blog-card:hover .blog-card-image img { }
.blog-card-body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 30px 34px 34px; }
.blog-card-meta, .article-meta { display: flex; flex-wrap: wrap; gap: 12px 20px; color: var(--blue); font: 500 15px/1 var(--teko); letter-spacing: .06em; text-transform: uppercase; }
.blog-card h3 { margin: 17px 0 11px; font: 600 clamp(29px,3vw,37px)/1.04 var(--teko); }
.blog-card h3 a:hover { color: var(--blue); }
.blog-card p { margin-bottom: 23px; font-size: 15px; line-height: 1.7; }
.blog-read { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: var(--blue); font: 600 18px/1 var(--teko); text-transform: uppercase; }
.blog-read:hover { }
.blog-bottom-cta { padding: 70px 0; color: #fff; background: var(--blue); }
.blog-bottom-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.blog-bottom-cta h2 { margin-bottom: 8px; color: #fff; font: 600 clamp(43px,5vw,68px)/.95 var(--teko); }
.blog-bottom-cta p { margin-bottom: 0; color: rgba(255,255,255,.83); }
.blog-bottom-cta .blog-eyebrow { margin-bottom: 10px; color: #bddbff; }
.blog-bottom-cta .btn { flex: 0 0 auto; color: var(--blue); background: #fff; }

.article-hero { padding: 250px 0 135px; }
.article-meta { margin-bottom: 22px; color: #8fc2ff; }
.article-hero h1 { max-width: 1010px; font-size: clamp(60px,6.5vw,94px); }
.article-hero .container > p { max-width: 760px; margin: 0; color: #d7e0ea; font-size: clamp(18px,2vw,21px); line-height: 1.55; }
.article-image-wrap { position: relative; z-index: 2; margin-top: -70px; }
.article-image { width: 100%; height: min(48vw,570px); min-height: 300px; border-radius: 8px; object-fit: cover; box-shadow: 0 25px 70px rgba(9,17,40,.14); }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: clamp(40px,6vw,105px); align-items: start; padding-top: 82px; padding-bottom: 105px; }
.article-content { max-width: 790px; min-width: 0; font-size: 17px; line-height: 1.8; }
.article-content .article-intro { margin-bottom: 39px; padding-left: 25px; border-left: 4px solid var(--blue); color: #263344; font-size: 21px; font-weight: 500; line-height: 1.55; }
.article-content section { margin-bottom: 42px; }
.article-content h2 { margin-bottom: 16px; font: 600 clamp(37px,4vw,49px)/1 var(--teko); }
.article-content p { margin-bottom: 18px; }
.article-inline-cta { margin: 55px 0 35px; padding: clamp(30px,5vw,54px); border-radius: 8px; color: #c9d5e5; background: #081a33; }
.article-inline-cta h2 { color: #fff; }
.article-inline-cta p { max-width: 540px; }
.article-inline-cta .btn { margin-top: 8px; }
.article-back { display: inline-block; color: var(--blue); font-weight: 700; }
.article-back:hover { text-decoration: underline; }
.article-aside { position: sticky; top: 115px; }
.article-aside-card { padding: 36px 30px; border-top: 4px solid var(--blue); background: #f3f6fb; }
.article-aside-card h2 { margin-bottom: 16px; font: 600 37px/1 var(--teko); }
.article-aside-card p:not(.blog-eyebrow) { font-size: 15px; }
.article-aside-card .btn { width: 100%; padding-inline: 14px; }
.related-articles { padding: 95px 0 110px; background: #f8f9fd; }
.related-articles .blog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.related-articles .blog-card-image img { height: 205px; }
.related-articles .blog-card-body { padding: 25px; }
.related-articles .blog-card h3 { font-size: 29px; }
.related-articles .blog-card p { font-size: 14px; }

/* Keep the growth section's collage and copy inside their grid tracks. */
.about .two-col, .agency .two-col { grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(25px,3vw,55px); }
.about-copy, .agency-copy, .about-collage, .business-grid { width: 100%; min-width: 0; }
.about-copy .section-title, .agency-copy .section-title { font-size: clamp(48px,5.2vw,70px); }
.employee-row { gap: 14px; align-items: center; }
.employee-card { top: 0; }
.about .section-title br { display: none; }
@media (max-width: 1200px) {
  .nav-inner { padding-inline: 22px; }.logo { flex-basis: 135px; }.nav { gap: 18px; }
  .about .two-col, .agency .two-col { gap: 28px; }
  .employee-row { grid-template-columns: 85px minmax(0,1fr); }
  .employee-card { grid-column: 1/-1; height: 95px; display: flex; justify-content: center; gap: 16px; }
  .employee-card strong { font-size: 66px; }.employee-card > span { margin: 0; }
  .globe { width: 80px; height: 80px; font-size: 80px; }
}
@media (max-width: 1000px) {
  .nav-cta { display: none; }
  .about .two-col, .agency .two-col { grid-template-columns: 1fr; }
  .about-copy { order: 1; margin-bottom: 0; }
  .about-collage { order: 2; width: min(100%,597px); margin-inline: auto; }
  .about .section-title br { display: inline; }
  .employee-row { grid-template-columns: 95px minmax(0,1fr) 145px; }
  .employee-card { grid-column: auto; height: 140px; display: grid; gap: 0; }
  .employee-card strong { font-size: 75px; }
  .agency-copy { margin-bottom: 0; }
  .related-articles .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .navbar .nav .nav-contact { display: block !important; }
  .navbar .nav .nav-contact a { color: #8ec5ff; }
  .about .two-col, .agency .two-col { gap: 45px; }
  .about-copy .section-title, .agency-copy .section-title { font-size: clamp(47px,7vw,64px); }
  .blog-hero { padding: 210px 0 85px; }.article-hero { padding: 210px 0 115px; }
  .article-layout { grid-template-columns: 1fr; gap: 30px; padding-top: 60px; }
  .article-aside { position: static; }.article-aside-card { max-width: 600px; }
}
@media (max-width: 700px) {
  .blog-listing, .related-articles { padding: 75px 0; }
  .blog-listing-head, .blog-bottom-cta .container { align-items: flex-start; flex-direction: column; }
  .blog-grid, .related-articles .blog-grid { grid-template-columns: 1fr; }
  .blog-card-image img { height: 240px; }
  .article-image { height: 330px; min-height: 0; }
  .article-content { font-size: 16px; }
  .article-content .article-intro { font-size: 19px; }
  .whatsapp-float { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 56px; height: 56px; }
  .whatsapp-float img { width: 30px; height: 30px; }
}
@media (max-width: 600px) {
  .hero h1 { font-size: clamp(44px,12vw,56px); overflow-wrap: break-word; }
  .hero-copy { padding-right: 12px; }
  .about .two-col { gap: 30px; }
  .about-copy .section-title { font-size: clamp(42px,11vw,51px); }
  .employee-row { grid-template-columns: 72px minmax(0,1fr); gap: 9px; margin-bottom: 30px; }
  .globe { width: 65px; height: 65px; font-size: 65px; }
  .checklist li { padding-left: 17px; font-size: 14px; line-height: 1.3; }
  .employee-card { grid-column: 1/-1; height: 85px; display: flex; justify-content: center; gap: 17px; margin-top: 6px; }
  .employee-card strong { font-size: 62px; }.employee-card strong sup { top: -15px; font-size: 30px; }.employee-card > span { margin: 0; font-size: 13px; }
  .about-collage { height: min(500px,115vw); }
  .about-video { top: 55%; }
  .float-icon.signal { width: 55px; height: 55px; }.float-icon.signal svg { width: 30px; height: 30px; }
  .blog-hero, .article-hero { padding-top: 195px; }
  .blog-hero h1, .article-hero h1 { font-size: clamp(48px,13vw,68px); }
  .blog-hero .container > p:not(.blog-eyebrow) { font-size: 16px; }
  .blog-card-body { padding: 25px; }
  .article-image-wrap { margin-top: -52px; }.article-image { height: 250px; }
  .article-layout { padding-top: 45px; padding-bottom: 75px; }
  .article-content h2 { font-size: 37px; }
  .blog-bottom-cta { padding: 60px 0; }
  .footer-main { padding-bottom: 110px; }
}
@media (max-width: 900px) { .nav-cta { display: none; } }
@media (min-width: 901px) and (max-width: 1000px) { .nav-cta { display: inline-flex; } }
@media (max-width: 600px) { .portfolio-grid { gap: 16px; } }
.feature-link { display: inline-block; margin-top: 15px; color: #82b9ff; font: 500 17px/1 var(--teko); text-transform: uppercase; }
.feature-link:hover { color: #fff; }
.contact-form select { width: 100%; padding: 17px 18px; border: 1px solid #e1e4ea; border-radius: 0; color: #20222c; background: #f8f8fb; font: inherit; }
.contact-form select:focus { outline: none; border-color: var(--blue); }

/* 2026 site-wide action system and editorial layouts */
.btn, .nav-cta, .blog-filters button, .portfolio-filter button, .tab-nav button, .capability-tab, .service-tab, .menu-toggle, .portfolio-lightbox-close, .portfolio-lightbox-nav, .video-close {
  border-radius: 4px;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}
.btn, .nav-cta { min-height: 54px; padding: 0 26px; font: 500 19px/1 var(--teko); letter-spacing: .035em; text-align: center; text-transform: uppercase; color: #fff; background: var(--blue); border: 1px solid var(--blue); box-shadow: none; }
.btn:hover, .nav-cta:hover, .portfolio-cta .btn:hover, .footer-cta .btn:hover { color: #fff; background: #073f8b; border-color: #073f8b; box-shadow: 0 7px 22px rgba(0,74,173,.16); }
.btn:active, .nav-cta:active { color: #fff; background: #062e68; border-color: #062e68; }
.btn:focus-visible, .nav-cta:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #ffad4b; outline-offset: 3px; }
.nav-cta { min-height: 46px; padding-inline: 18px; }
.footer-cta .btn, .agency-copy .btn { border-radius: 4px; min-height: 54px; }
.lead-form .btn { color: var(--blue); background: #fff; border-color: #fff; }
.lead-form .btn:hover { color: #fff; background: #073f8b; border-color: #073f8b; }
.hero .btn-secondary, .btn-outline { color: #fff; background: rgba(7,22,45,.32); border-color: rgba(255,255,255,.68); }
.hero .btn-secondary:hover, .btn-outline:hover { color: #fff; background: #073f8b; border-color: #87baff; }
.blog-filters button, .portfolio-filter button, .tab-nav button, .capability-tab { min-height: 44px; }
.blog-filters button:hover, .portfolio-filter button:hover, .tab-nav button:hover, .capability-tab:hover { color: #fff; background: var(--blue); border-color: var(--blue); }
.whatsapp-float { transition: box-shadow .22s ease, background-color .22s ease; }
.whatsapp-float:hover { background: #168f43; box-shadow: 0 8px 28px rgba(0,0,0,.27); }
.news-card > a img, .blog-card-image img, .portfolio-card-media img { transition: none; }
.blog-read:hover { color: #073f8b; }
.business-card:hover h3, .business-card:hover p, .business-card:hover .view-link { color: #121d2c; }
.business-card:hover .icon { color: var(--blue); }
.business-card::before, .team-card::before { display: none; }
.team-card:hover h3 { color: #11131c; }
.portfolio-card-action { transform: none; }
.portfolio-card:hover .portfolio-card-action { opacity: 1; }
.portfolio-card:hover, .deliverable:hover { box-shadow: 0 16px 36px rgba(17,25,64,.11); }
.portfolio-lightbox-close:hover, .portfolio-lightbox-nav:hover:not(:disabled), .video-close:hover { background: #073f8b; }
.news-card img, .blog-card-image img { aspect-ratio: 16/9; height: auto; object-fit: cover; object-position: center; }
.blog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.blog-card-body { padding: 26px; }
.blog-card h3 { font-size: 29px; }
.blog-card-image img { display: block; }
.article-page { background: #fff; }
.article-top { padding: 205px 0 52px; color: #152236; background: linear-gradient(180deg,#f5f9ff,#fff); }
.article-top-inner { max-width: 970px; }
.article-top .breadcrumbs { display: flex; flex-wrap: wrap; gap: 11px; margin-bottom: 40px; color: #62758d; font-size: 14px; }
.article-top .breadcrumbs a { color: var(--blue); }
.article-top .article-meta { margin-bottom: 20px; }
.article-top h1 { max-width: 930px; margin: 0 0 25px; color: #101d30; font: 600 clamp(55px,6.5vw,91px)/.95 var(--teko); letter-spacing: -.02em; text-wrap: balance; }
.article-deck { max-width: 760px; margin: 0; color: #4c5d70; font: 400 clamp(18px,2vw,22px)/1.55 var(--rubik); }
.article-feature { max-width: 1170px; margin-top: 0; margin-bottom: 0; padding-top: 16px; }
.article-feature img { display: block; width: 100%; height: auto; aspect-ratio: 1600/901; object-fit: cover; border-radius: 10px; box-shadow: 0 18px 55px rgba(14,35,71,.1); }
.article-shell { display: grid; grid-template-columns: minmax(190px,250px) minmax(0,760px); justify-content: center; gap: clamp(40px,6vw,94px); padding-top: 90px; padding-bottom: 105px; }
.article-toc-inner { position: sticky; top: 110px; padding: 24px 22px; border: 1px solid #e4eaf1; border-radius: 8px; background: #f8fbff; }
.article-toc-label { margin: 0 0 20px; color: #112640; font: 600 21px/1 var(--teko); text-transform: uppercase; }
.article-toc ol { margin: 0 0 23px; padding-left: 20px; color: #6280a0; }
.article-toc li { margin-bottom: 14px; padding-left: 3px; font-size: 14px; line-height: 1.5; }
.article-toc a:hover, .article-prose a:hover { color: #073f8b; text-decoration: underline; }
.article-toc-service { display: block; padding-top: 18px; border-top: 1px solid #dfe8f2; color: var(--blue); font: 600 16px/1.35 var(--teko); text-transform: uppercase; }
.article-prose { min-width: 0; color: #435164; font: 400 17px/1.82 var(--rubik); }
.article-prose .article-intro { margin: 0 0 46px; padding-left: 23px; border-left: 4px solid var(--blue); color: #172d45; font-size: 21px; line-height: 1.55; }
.article-prose section { padding-bottom: 30px; margin-bottom: 36px; border-bottom: 1px solid #e6eaf0; scroll-margin-top: 105px; }
.article-prose section h2 { margin: 0 0 20px; color: #152236; font: 600 clamp(34px,3.2vw,45px)/1.05 var(--teko); }
.article-prose section p { margin: 0 0 20px; }
.article-prose a { color: var(--blue); }
.article-context { margin-top: 45px; padding: 28px 32px; border-left: 4px solid var(--blue); background: #f4f8fd; }
.article-context span { color: var(--blue); font: 600 15px/1 var(--teko); letter-spacing: .07em; text-transform: uppercase; }
.article-context p { margin: 13px 0 0; }
.article-final-cta { margin: 55px 0 27px; padding: clamp(30px,5vw,55px); border-radius: 9px; color: #fff; background: #0c2343; }
.article-final-cta h2 { margin: 0 0 12px; color: #fff; font: 600 clamp(35px,4vw,52px)/1 var(--teko); }
.article-final-cta p:not(.blog-eyebrow) { margin: 0 0 24px; color: #d5e1ee; }
.article-final-cta .blog-eyebrow { color: #8ec6ff; }
.article-back { color: var(--blue); font: 600 18px/1 var(--teko); text-transform: uppercase; }
.service-related { padding: 75px 0 90px; background: #f8faff; }
.service-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 28px; }
.service-related-grid a { display: grid; grid-template-columns: 1fr auto; gap: 11px; align-content: center; min-height: 145px; padding: 24px 28px; border: 1px solid #e3eaf3; border-radius: 7px; background: #fff; transition: border-color .2s,box-shadow .2s; }
.service-related-grid a:hover { border-color: var(--blue); box-shadow: 0 10px 28px rgba(14,47,87,.08); }
.service-related-grid a > span:first-child { grid-column: 1/-1; color: var(--blue); font: 500 15px/1 var(--teko); text-transform: uppercase; }
.service-related-grid strong { color: #13253d; font: 600 28px/1.05 var(--teko); }
.service-related-grid .related-arrow { color: var(--blue); }
.utility-hero { padding: 205px 0 75px; background: linear-gradient(180deg,#f2f7ff,#fff); }
.utility-hero .breadcrumbs { display: flex; gap: 11px; margin-bottom: 38px; color: #728397; font-size: 14px; }
.utility-hero .breadcrumbs a { color: var(--blue); }
.utility-hero .blog-eyebrow { color: var(--blue); }
.utility-hero h1 { margin: 0 0 18px; color: #11233c; font: 600 clamp(56px,7vw,90px)/.95 var(--teko); }
.utility-hero p:last-child { max-width: 680px; color: #516276; font-size: 19px; line-height: 1.6; }
.utility-layout { display: grid; grid-template-columns: 220px minmax(0,780px); justify-content: center; gap: clamp(40px,6vw,90px); padding: 45px 0 110px; }
.utility-toc { align-self: start; position: sticky; top: 110px; padding: 22px; border: 1px solid #e3eaf3; border-radius: 7px; background: #f8fbff; }
.utility-toc strong { color: #142a46; font: 600 21px/1 var(--teko); text-transform: uppercase; }
.utility-toc ol { margin: 18px 0 0; padding-left: 20px; }
.utility-toc li { margin-bottom: 11px; font-size: 14px; }
.utility-toc a:hover, .utility-content a:hover { color: #073f8b; text-decoration: underline; }
.utility-content { min-width: 0; color: #4b5969; font-size: 16px; line-height: 1.8; }
.utility-updated { margin-bottom: 40px; color: #7b8795; font-size: 14px; }
.utility-content section { margin-bottom: 34px; padding-bottom: 25px; border-bottom: 1px solid #e5eaf0; scroll-margin-top: 105px; }
.utility-content h2, .sitemap-content h2 { margin: 0 0 15px; color: #14243b; font: 600 39px/1.05 var(--teko); }
.utility-content p { margin: 0 0 14px; }
.utility-content a, .sitemap-content a { color: var(--blue); }
.utility-contact { padding: 28px 30px; border-radius: 6px; background: #f2f7ff; }
.utility-contact h2 { font-size: 33px; }
.sitemap-content { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 45px 65px; padding-top: 55px; padding-bottom: 100px; }
.sitemap-content section { padding: 20px 0; border-top: 3px solid #e0eaf5; }
.sitemap-content ul { margin: 0; padding: 0; list-style: none; }
.sitemap-content li a { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #e7edf4; color: #26384e; }
.sitemap-content li a:hover { color: var(--blue); }
.error-page { min-height: 80vh; display: grid; align-items: center; padding: 190px 0 100px; background: linear-gradient(135deg,#f3f8ff,#fff 60%); }
.error-inner { max-width: 850px; }
.error-code { margin: 0 0 8px; color: var(--blue); font: 600 clamp(120px,21vw,250px)/.75 var(--teko); letter-spacing: -.05em; }
.error-page h1 { max-width: 740px; margin: 20px 0; color: #10233b; font: 600 clamp(42px,6vw,72px)/1 var(--teko); }
.error-page p:not(.error-code):not(.blog-eyebrow) { max-width: 580px; color: #4f6275; font-size: 18px; line-height: 1.65; }
.error-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 27px; }
.error-actions .btn-outline { color: var(--blue); border-color: var(--blue); background: #fff; }
.error-actions .btn-outline:hover { color: #fff; border-color: #073f8b; background: #073f8b; }
@media (max-width: 1000px) { .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.article-shell, .utility-layout { grid-template-columns: 1fr; gap: 35px; }.article-toc-inner, .utility-toc { position: static; }.article-toc ol, .utility-toc ol { columns: 2; }.article-shell { padding-top: 55px; } }
@media (max-width: 700px) { .blog-grid, .related-articles .blog-grid, .service-related-grid, .sitemap-content { grid-template-columns: minmax(0,1fr); }.article-top, .utility-hero { padding-top: 165px; }.article-feature { width: calc(100% - 28px); padding-top: 0; }.article-feature img { border-radius: 6px; }.article-shell { padding-top: 45px; padding-bottom: 75px; }.article-toc ol, .utility-toc ol { columns: 1; }.article-prose { font-size: 16px; }.article-prose .article-intro { font-size: 19px; }.article-context { padding: 23px; }.utility-layout { padding-bottom: 75px; }.error-page { padding-top: 165px; }.blog-listing-head { gap: 14px; } }
@media (max-width: 420px) { .article-top h1 { font-size: 51px; }.article-top .article-meta { gap: 10px; }.blog-card-body { padding: 22px; }.article-final-cta { padding: 27px; }.btn { width: auto; max-width: 100%; }.error-actions .btn { width: 100%; }.employee-row { grid-template-columns: 64px minmax(0,1fr); }.checklist li { overflow-wrap: anywhere; } }
.article-top .article-meta { color: #245c9d; }
.nav > li > a::after, .nav > li > button::after { transform: none; opacity: 0; transition: opacity .2s ease; }
.nav > li:hover > a::after, .nav > li:hover > button::after, .nav > li > a[aria-current]::after { opacity: 1; }
@media (max-width: 390px) { .article-top h1 { font-size: clamp(44px,13vw,51px); }.utility-hero h1 { font-size: 55px; }.article-top .breadcrumbs, .utility-hero .breadcrumbs { margin-bottom: 26px; }.blog-hero h1 { overflow-wrap: anywhere; } }
.working-principles .principles-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.working-principles .principles-grid article { padding: clamp(28px,3vw,44px); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.055); }
.working-principles .principles-grid article > span { color: #72b4ff; font: 600 20px/1 var(--teko); }
.working-principles .principles-grid h3 { margin: 25px 0 12px; color: #fff; font: 600 32px/1 var(--teko); }
.working-principles .principles-grid p { margin: 0; color: #b9c9db; font-size: 15px; line-height: 1.65; }
@media (max-width: 700px) { .working-principles .principles-grid { grid-template-columns: 1fr; } }

/* Refined shared chrome and actions */
.logo { display: inline-flex; align-items: center; flex-basis: 188px; }
.logo img { width: 128px; height: 88px; max-height: none; object-fit: contain; }
.sticky .logo img { width: 104px; height: 67px; }
.footer-logo { width: clamp(116px,9vw,132px); height: auto; max-width: 100%; }
.footer-main { grid-template-columns: minmax(245px,1.35fr) repeat(3,minmax(0,1fr)); gap: clamp(28px,4vw,70px); }
.opening { grid-template-columns: 64px 1fr; gap: 17px; }
.opening i { width: 50px; height: 50px; border-radius: 8px; font-size: 0; background: linear-gradient(145deg,#0964d0,#004aad); box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 9px 24px rgba(0,74,173,.18); }
.opening i::before { content: ''; width: 27px; height: 27px; display: block; background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M6.62%2010.79a15.46%2015.46%200%200%200%206.59%206.59l2.2-2.2a1%201%200%200%201%201.02-.24c1.12.37%202.33.57%203.57.57a1%201%200%200%201%201%201V20a1%201%200%200%201-1%201C10.61%2021%203%2013.39%203%204a1%201%200%200%201%201-1h3.5a1%201%200%200%201%201%201c0%201.25.2%202.45.57%203.57a1%201%200%200%201-.25%201.02l-2.2%202.2Z'/%3E%3C/svg%3E"); }
.footer-about p { margin-top: 20px; }
.process-card p { min-height: 72px; }
.process-card a { color: #064eaa; border-bottom: 1px solid transparent; transition: color .24s ease, border-color .24s ease; }
.process-card a:hover { color: #073f8b; border-color: currentColor; }

.btn, .nav-cta, .footer-cta .btn, .portfolio-cta .btn, .article-final-cta .btn {
  position: relative; overflow: hidden; isolation: isolate; border-radius: 5px; color: #fff;
  background-color: #0759bb; border: 1px solid #0759bb;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 4px 11px rgba(0,74,173,.12);
  transition: background-color .28s ease, border-color .28s ease, color .28s ease, box-shadow .28s ease;
}
.btn::before, .nav-cta::before { content: ''; position: absolute; z-index: 0; inset: 0; opacity: 0; pointer-events: none; background: linear-gradient(110deg,transparent 8%,rgba(255,255,255,.16) 50%,transparent 92%); transition: opacity .35s ease; }
.btn:hover::before, .nav-cta:hover::before, .btn:focus-visible::before, .nav-cta:focus-visible::before { opacity: 1; }
.btn:hover, .nav-cta:hover, .footer-cta .btn:hover, .portfolio-cta .btn:hover, .article-final-cta .btn:hover { color: #fff; background-color: #06458e; border-color: #06458e; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 10px 27px rgba(0,65,145,.21); }
.btn:active, .nav-cta:active, .article-final-cta .btn:active { color: #fff; background-color: #062e68; border-color: #062e68; box-shadow: inset 0 2px 6px rgba(0,0,0,.17); }
.article-prose .article-final-cta .btn, .article-prose .article-final-cta .btn:hover, .article-prose .article-final-cta .btn:focus-visible, .article-prose .article-final-cta .btn:active { color: #fff; text-decoration: none; }
.hero .btn-secondary, .btn-outline { color: #fff; background-color: rgba(7,22,45,.35); border-color: rgba(255,255,255,.72); }
.hero .btn-secondary:hover, .btn-outline:hover { color: #fff; background-color: #06458e; border-color: #9ac8ff; }
.lead-form .btn { color: #0752aa; background-color: #fff; border-color: #fff; }
.lead-form .btn:hover { color: #fff; background-color: #06458e; border-color: #06458e; }

/* Static Google-inspired reviews. Card content lives in js/reviews-data.js. */
.review-showcase { position: relative; overflow: hidden; padding: clamp(82px,9vw,132px) 0; background: linear-gradient(145deg,#f8fbff 0%,#fff 48%,#f2f7fd 100%); }
.review-showcase::before { content: ''; position: absolute; width: 520px; height: 520px; top: -310px; right: -120px; border-radius: 50%; border: 1px solid rgba(29,110,202,.12); box-shadow: 0 0 0 70px rgba(29,110,202,.025),0 0 0 140px rgba(29,110,202,.018); pointer-events: none; }
.review-showcase .container { position: relative; z-index: 1; }
.review-showcase-head { display: grid; grid-template-columns: minmax(0,1fr) 285px; align-items: end; gap: clamp(34px,6vw,90px); margin-bottom: clamp(36px,5vw,58px); }
.review-showcase-copy { max-width: 770px; }
.review-showcase-copy .section-title { max-width: 720px; margin: 5px 0 16px; color: #0d223e; }
.review-showcase-copy > p { max-width: 660px; margin: 0; color: #5b6a7d; font-size: 17px; line-height: 1.7; }
.review-google-summary { min-height: 132px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px; padding: 24px 27px; border: 1px solid rgba(18,68,125,.11); border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: 0 18px 50px rgba(7,45,94,.09); backdrop-filter: blur(12px); }
.review-google-summary > div { display: flex; align-items: center; gap: 10px; }
.review-google-summary img { width: 105px; height: auto; }
.review-google-summary strong { color: #24364d; font: 500 23px/1 var(--roboto); }
.review-summary-stars { color: #fbbc04; font-size: 21px; line-height: 1; letter-spacing: 2px; }
.review-gallery { position: relative; }
.review-window { overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; outline: none; }
.review-window::-webkit-scrollbar { display: none; }
.review-window:focus-visible { border-radius: 18px; box-shadow: 0 0 0 3px rgba(26,115,232,.23); }
.review-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px)/3); gap: 20px; align-items: stretch; }
.review-card { min-width: 0; min-height: 315px; display: flex; flex-direction: column; padding: clamp(23px,2.3vw,30px); scroll-snap-align: start; border: 1px solid #e1e8f1; border-radius: 18px; background: #fff; box-shadow: 0 16px 46px rgba(13,49,92,.075); transition: transform .32s ease,border-color .32s ease,box-shadow .32s ease; }
.review-card:hover {  border-color: #0759bb; box-shadow: 0 22px 55px rgba(13,49,92,.12); }
.review-card-top { display: flex; align-items: center; gap: 13px; min-width: 0; }
.review-avatar { width: 52px; height: 52px; display: grid; flex: 0 0 52px; place-items: center; overflow: hidden; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
.review-avatar-letter { color: #fff; background: linear-gradient(145deg,#1769c2,#0b3f7c); font: 600 22px/1 var(--roboto); }
.review-avatar-image { background-repeat: no-repeat; background-size: 400% 200%; }
.review-avatar-letter.review-avatar-1 { background: linear-gradient(145deg,#8e57ca,#50338e); }
.review-avatar-letter.review-avatar-2 { background: linear-gradient(145deg,#e08b41,#a84932); }
.review-avatar-letter.review-avatar-3 { background: linear-gradient(145deg,#1d9a91,#12615e); }
.review-card-person { min-width: 0; display: grid; gap: 3px; }
.review-card-person strong { overflow: hidden; color: #182b43; font: 600 18px/1.2 var(--roboto); text-overflow: ellipsis; white-space: nowrap; }
.review-card-person span { overflow: hidden; color: #748295; font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.review-google-mark { width: 54px; height: auto; margin-left: auto; object-fit: contain; }
.review-rating-line { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 23px 0 16px; }
.review-stars { display: flex; gap: 3px; margin: 0; color: #fbbc04; }
.review-stars svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.review-stars svg.is-filled { fill: currentColor; }
.review-date { flex: 0 0 auto; color: #8a96a5; font-size: 11px; }
.review-card blockquote { margin: 0 0 24px; color: #3f5064; font-size: 14px; line-height: 1.76; }
.review-gallery-controls { display: grid; grid-template-columns: minmax(130px,1fr) auto; align-items: center; gap: 32px; margin-top: 29px; }
.review-progress { position: relative; height: 3px; overflow: hidden; border-radius: 3px; background: #dce5ef; }
.review-progress span { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: linear-gradient(90deg,#1769c2,#1a73e8); transition: width .4s cubic-bezier(.22,1,.36,1); }
.review-control-group { display: flex; align-items: center; gap: 9px; }
.review-count { min-width: 66px; margin-right: 7px; color: #43566e; font: 500 17px/1 var(--teko); letter-spacing: .08em; }
.review-arrow { width: 47px; height: 47px; display: grid; place-items: center; border: 1px solid #d3dfec; border-radius: 50%; color: #173b67; background: #fff; box-shadow: 0 6px 18px rgba(13,49,92,.06); cursor: pointer; transition: color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease; }
.review-arrow svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.review-arrow:hover:not(:disabled),.review-arrow:focus-visible { color: #fff; background: #0759bb; border-color: #0759bb; transform: translateY(-2px); }
.review-arrow:disabled { opacity: .35; cursor: default; }
.review-showcase-foot { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 24px; }
.review-disclosure { max-width: 760px; margin: 0; color: #8390a1; font-size: 11px; line-height: 1.55; }
.review-disclosure code { color: #617287; background: transparent; font-family: inherit; }
.review-contact-link { flex: 0 0 auto; color: #0752aa; font: 600 18px/1 var(--teko); text-transform: uppercase; border-bottom: 1px solid transparent; transition: color .25s ease,border-color .25s ease; }
.review-contact-link:hover { color: #073f8b; border-color: currentColor; }

/* Compact, light mobile navigation with a visible project action. */
.menu-backdrop { display: none; }
body.menu-open .whatsapp-float { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 900px) {
  .logo { flex-basis: auto; }
  .logo img { width: 111px; height: 77px; }
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
  .menu-backdrop { position: fixed; z-index: 68; inset: 0; display: block; visibility: hidden; opacity: 0; border: 0; background: rgba(7,18,36,.58); backdrop-filter: blur(2px); pointer-events: none; transition: opacity .32s ease, visibility .32s ease; }
  body.menu-open .menu-backdrop { visibility: visible; opacity: 1; pointer-events: auto; }
  .site-header .navbar .nav-inner .menu-toggle { width: 52px; height: 52px; display: block !important; overflow: hidden; border: 1px solid #d6e5f7; border-radius: 7px; color: #064c9f; background: #f5f9ff; box-shadow: 0 4px 14px rgba(5,58,119,.08); }
  .site-header .navbar .nav-inner .menu-toggle:hover { color: #fff; background: #064c9f; border-color: #064c9f; box-shadow: 0 5px 18px rgba(0,74,173,.18); }
  body.menu-open .site-header .navbar .nav-inner .menu-toggle { top: 18px !important; right: 20px !important; z-index: 82; color: #fff; background: #074e9e; border-color: #074e9e; }
  .menu-toggle span { position: absolute; top: 50%; left: 50%; width: 23px; height: 2px; margin: 0; border-radius: 2px; transform: translate(-50%,-50%); transform-origin: center; }
  .menu-toggle span:first-child { top: calc(50% - 7px); }
  .menu-toggle span:last-child { top: calc(50% + 7px); }
  .menu-toggle[aria-expanded="true"] span:first-child,
  .menu-toggle[aria-expanded="true"] span:last-child { top: 50%; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translate(-50%,-50%) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translate(-50%,-50%) rotate(-45deg); }
  .navbar .nav { width: min(410px,88vw); padding: 88px 27px 35px; background: #fff; box-shadow: -20px 0 60px rgba(2,20,51,.2); }
  .navbar .nav::before { content: 'Explore Virexa'; display: block; margin: 0 0 15px; padding: 0 0 20px; border-bottom: 1px solid #e6edf5; color: #1b3757; font: 500 19px/1 var(--teko); letter-spacing: .075em; text-transform: uppercase; }
  .navbar .nav > li { height: auto; border-bottom: 1px solid #ebf0f6; }
  .navbar .nav > li > a, .navbar .nav > li > button { width: 100%; min-height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 12px 2px; color: #1b2d45; font: 500 25px/1 var(--teko); text-align: left; letter-spacing: .01em; transition: color .23s ease, background-color .23s ease; }
  .navbar .nav > li > a:hover, .navbar .nav > li > button:hover, .navbar .nav > li > a[aria-current] { color: #0758b7; }
  .navbar .nav .submenu { position: static; width: 100%; margin: 0; border: 0; box-shadow: none; background: #f5f9ff; transform: none; }
  .navbar .nav li.open .submenu { padding: 9px 13px 13px; }
  .navbar .nav .submenu li { border: 0; }
  .navbar .nav .submenu a { padding: 9px 7px; color: #345370; background: transparent; font: 500 18px/1.2 var(--teko); }
  .navbar .nav .submenu a:hover { color: #064c9f; background: #e5f1ff; }
  .navbar .nav .nav-contact { display: flex !important; margin-top: 23px; border: 0; }
  .navbar .nav .nav-contact a { justify-content: center; min-height: 54px; padding: 12px 18px; border: 1px solid #0759bb; border-radius: 5px; color: #fff; background: #0759bb; text-align: center; text-transform: uppercase; font-size: 20px; }
  .navbar .nav .nav-contact a:hover { color: #fff; background: #06458e; border-color: #06458e; }
  .review-showcase-head { grid-template-columns: minmax(0,1fr) 235px; gap: 30px; }
  .review-track { grid-auto-columns: calc((100% - 18px)/2); gap: 18px; }
  .review-google-summary { min-height: 130px; padding: 22px; }
}
@media (max-width: 700px) {
  .footer-main { grid-template-columns: minmax(0,1fr); }
  .logo img { width: 101px; height: 70px; }
  .footer-logo { width: 116px; }
  .support-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px 12px; min-height: 0; padding: 22px 18px 30px; }
  .support-phone { position: static; grid-column: 1; grid-row: 1; min-width: 0; justify-self: start; gap: 8px; font-size: clamp(12px,3.7vw,15px); white-space: nowrap; }
  .support-phone svg { flex: 0 0 14px; }
  .support-play { position: static; grid-column: 2; grid-row: 1; width: 56px; height: 56px; transform: none; }
  .support-cta > div { grid-column: 1/-1; grid-row: 2; min-width: 0; }
  .support-cta h3 { font-size: clamp(36px,11vw,45px); }
  .support-cta p { max-width: 470px; font-size: clamp(15px,4.4vw,18px); overflow-wrap: break-word; }
  body.menu-open .site-header .navbar .nav-inner .menu-toggle { width: 44px; height: 44px; top: 14px !important; right: max(14px,env(safe-area-inset-right)) !important; border-radius: 6px; }
  .review-showcase { padding: 72px 0; }
  .review-showcase-head { grid-template-columns: minmax(0,1fr); gap: 27px; margin-bottom: 31px; }
  .review-showcase-copy > p { font-size: 15px; }
  .review-google-summary { min-height: 0; flex-direction: row; align-items: center; justify-content: space-between; padding: 20px; }
  .review-google-summary img { width: 88px; }
  .review-google-summary strong { font-size: 20px; }
  .review-summary-stars { font-size: 17px; letter-spacing: 1px; }
  .review-track { grid-auto-columns: 100%; gap: 14px; }
  .review-card { min-height: 310px; padding: 22px; }
  .review-gallery-controls { gap: 18px; margin-top: 23px; }
  .review-progress { min-width: 0; }
  .review-count { display: none; }
  .review-showcase-foot { align-items: flex-start; flex-direction: column; gap: 17px; }
  .process-card p { min-height: 0; }
}
@media (max-width: 360px) {
  .review-google-summary { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .btn, .nav-cta, .menu-backdrop, .navbar .nav, .navbar .nav .submenu, .review-card, .review-arrow, .review-progress span { transition-duration: .01ms; }
  .review-window { scroll-behavior: auto; }
}

/* Production contact details and server-backed form feedback. */
.opening .footer-email { display: block; margin-top: 5px; color: #dce9f8; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.opening .footer-email:hover { color: #fff; }
.form-message.is-visible { display: block; }
.form-message.is-success { color: #0c6238; border-color: #b9e5cd; background: #eaf8f0; }
.form-message.is-error { color: #9a2634; border-color: #efc3c9; background: #fff0f2; }
.lead-form .form-message.is-success, .audit-form .form-message.is-success { color: #eafff2; border-color: rgba(172,255,207,.55); background: rgba(8,93,51,.42); }
.lead-form .form-message.is-error, .audit-form .form-message.is-error { color: #fff; border-color: rgba(255,181,190,.7); background: rgba(145,18,38,.48); }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
form[aria-busy="true"] { cursor: wait; }
button[type="submit"]:disabled { opacity: .68; cursor: wait; }

@media (min-width: 901px) and (max-width: 1180px) {
  .hero .container { gap: 28px; }
  .hero-copy { width: min(590px,calc(100% - 390px)); }
  .hero-seo-visual { flex-basis: 370px; }
  .hero-seo-panel-head, .hero-seo-chart { padding-inline: 20px; }
  .hero-seo-metrics > div { padding-inline: 16px; }
}
@media (max-width: 900px) {
  .hero-seo-visual { display: none; }
}

/* Homepage hero: a focused message paired with transparent performance proof. */
.hero { min-height: 830px; padding-top: 152px; background-color: #07152e; background-image: radial-gradient(circle at 82% 29%,rgba(38,127,241,.24),transparent 24%), radial-gradient(circle at 65% 88%,rgba(35,80,157,.2),transparent 32%), url('../assets/images/hero.jpg'); background-position: center,center,center 42%; background-size: auto,auto,cover; }
.hero::before { background: linear-gradient(94deg,rgba(3,11,28,.985) 0%,rgba(5,16,38,.96) 39%,rgba(7,22,50,.82) 68%,rgba(7,19,43,.69) 100%); }
.hero::after { inset: 152px 0 0; opacity: .25; background-size: 80px 80px; mask-image: linear-gradient(90deg,#000 0%,rgba(0,0,0,.88) 64%,transparent 100%); }
.hero-orbit { display: none; }
.hero .container { height: 678px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.78fr); align-items: center; gap: clamp(48px,6vw,104px); }
.hero-copy { width: auto; padding: 0 0 0 30px; background: none; backdrop-filter: none; }
.hero-copy::before { left: 0; top: 7px; width: 3px; height: 134px; border-radius: 8px; background: linear-gradient(#7bbcff,#1878e8); box-shadow: 0 0 26px rgba(80,163,255,.72); }
.hero-kicker { margin-bottom: 24px; padding: 8px 13px; color: #d8ebff; background: rgba(109,174,255,.09); font-size: 17px; }
.hero h1 { max-width: 680px; margin-bottom: 24px; font-size: clamp(62px,5.8vw,88px); line-height: .92; letter-spacing: -.018em; text-wrap: pretty; }
.hero-intro { max-width: 550px; margin-bottom: 33px; color: rgba(229,239,252,.78); font-size: 18px; line-height: 1.7; }
.hero-buttons { gap: 12px; }
.hero-buttons .btn { min-width: 185px; min-height: 55px; border-radius: 6px; font-size: 17px; }
.hero-buttons .btn:first-child { background: linear-gradient(135deg,#168aff,#0058bd); box-shadow: 0 16px 38px rgba(0,83,188,.3); }
.hero-trust { display: flex; flex-wrap: wrap; gap: 13px 22px; margin-top: 28px; color: rgba(219,234,252,.7); font-size: 13px; }
.hero-trust span { display: inline-flex; align-items: center; gap: 7px; }
.hero-trust i { width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid rgba(126,192,255,.52); border-radius: 50%; color: #98d0ff; font-size: 10px; font-style: normal; }
.hero-seo-visual { width: min(100%,474px); justify-self: end; flex: initial; margin: 0; }
.hero-seo-glow { inset: 10% -17% -15%; opacity: .52; filter: blur(30px); }
.hero-seo-panel { border-color: rgba(164,201,246,.29); border-radius: 20px; background: linear-gradient(145deg,rgba(18,39,74,.96),rgba(5,18,43,.98)); box-shadow: 0 36px 90px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.025), inset 0 1px 0 rgba(255,255,255,.11); transform: none; animation: hero-seo-panel 7s ease-in-out infinite; }
.hero-seo-panel::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg,rgba(255,255,255,.065),transparent 22%,transparent 72%,rgba(62,153,255,.07)); }
.hero-seo-panel-head { position: relative; padding: 25px 27px 21px; }
.hero-seo-panel-head strong { font-size: 31px; letter-spacing: .01em; }
.hero-seo-evidence-panel { animation-duration: 8s; }
.hero-evidence-primary { position: relative; margin: 0; padding: 0 18px 14px; }
.hero-evidence-primary img, .hero-evidence-secondary img { display: block; width: 100%; height: auto; border: 1px solid rgba(190,216,245,.18); border-radius: 7px; background: #f6f8fc; box-shadow: 0 12px 24px rgba(0,0,0,.19); }
.hero-evidence-primary figcaption, .hero-evidence-secondary figcaption { margin-top: 8px; color: rgba(216,233,251,.62); font-size: 10px; line-height: 1.25; }
.hero-evidence-primary figcaption { padding-left: 2px; }
.hero-evidence-secondary { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 13px 18px 15px; border-top: 1px solid rgba(169,210,255,.14); }
.hero-evidence-secondary figure { min-width: 0; margin: 0; }
.hero-evidence-secondary figcaption { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero-seo-chart { position: relative; padding: 22px 27px 15px; }
.hero-seo-chart svg { height: 137px; }
.hero-seo-metrics { position: relative; }
.hero-seo-metrics > div { min-height: 98px; padding: 17px 22px; }
.hero-seo-panel-foot { position: relative; padding: 15px 23px; }
@keyframes hero-seo-panel { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (min-width: 901px) and (max-width: 1180px) {
  .hero .container { grid-template-columns: minmax(0,1fr) minmax(340px,.72fr); gap: 34px; }
  .hero-copy { width: auto; }
  .hero h1 { font-size: clamp(56px,6vw,72px); }
  .hero-seo-visual { width: 100%; }
}
@media (max-width: 900px) {
  .hero .container { display: flex; height: 690px; }
  .hero-copy { width: min(680px,100%); }
}
@media (max-width: 600px) {
  .hero { min-height: 780px; }
  .hero .container { height: 662px; }
  .hero-copy { padding-left: 22px; }
  .hero-copy::before { height: 104px; }
  .hero h1 { font-size: clamp(54px,14vw,67px); }
  .hero-trust { gap: 10px 15px; margin-top: 23px; font-size: 12px; }
}
