/* Velo design refresh. Shared across the original seven-page static site. */
:root {
  --color-bg:#fff; --color-bg-alt:#f2f5f8; --color-bg-warm:#f2f5f8;
  --color-text:#152938; --color-text-light:#50616e; --color-text-muted:#596b7b;
  --color-primary:#1859df; --color-primary-dark:#1044ad; --color-primary-light:#eaf0fd;
  --color-secondary:#1859df; --color-secondary-light:#edf2fb;
  --color-accent-purple:#436bb1; --color-accent-teal:#367d8d;
  --color-border:#dbe2e9; --color-border-light:#edf1f5;
  --gradient-primary:linear-gradient(#1859df,#1859df);
  --gradient-secondary:linear-gradient(#1859df,#1859df);
  --font-family:'Manrope',Arial,sans-serif;
  --container-max:1240px; --header-height:88px;
  --shadow-glow-blue:none; --shadow-glow-purple:none; --shadow-glow-orange:none;
}
body {line-height:1.65;}
h1,h2,h3,h4 {font-weight:650;letter-spacing:-.045em;}
h1 {text-wrap:balance;}
p {text-wrap:pretty;}
section[id] {scroll-margin-top:100px;}
.container {padding-inline:40px;}
.section {padding-block:88px;}
.header {background:rgba(255,255,255,.97);border-bottom:1px solid var(--color-border-light);}
.header.scrolled {box-shadow:none;}
.nav-logo,.footer-logo {gap:9px;color:var(--color-text);}
.wordmark {font-size:35px;font-weight:800;letter-spacing:-2px;line-height:1;}
.wordmark span {color:var(--color-primary);}
.nav-menu {gap:30px;}
.nav-link {font-size:14px;}
.nav-link::after {height:1px;}
.nav-cta,.btn,.sticky-cta-btn {border-radius:7px;box-shadow:none;}
.nav-cta {padding:12px 21px;}
.nav-cta:hover,.btn:hover,.sticky-cta-btn:hover {transform:none;box-shadow:none;}
.btn {min-height:48px;padding:14px 22px;font-size:14px;}
.btn-large {font-size:15px;padding:15px 24px;}
.btn-primary:hover,.nav-cta:hover {background:var(--color-primary-dark);color:#fff;}
.btn-primary::before {display:none;}
.btn-secondary {border:1px solid #cad4df;background:#fff;}
.btn-secondary:hover {background:#f2f5fa;border-color:var(--color-primary);color:var(--color-primary);}
.highlight {background:none;-webkit-text-fill-color:currentColor;color:inherit;}
.hero {min-height:0;padding-top:calc(var(--header-height) + 64px);padding-bottom:68px;background:#fff;}
.hero::before,.hero::after {display:none;}
.hero-content {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center;text-align:left;}
.hero-text {max-width:none;margin:0;}
.hero-location {display:flex;align-items:center;gap:10px;color:var(--color-text-light);font-size:12px;margin-bottom:25px;}
.hero-location::before {content:'';width:7px;height:7px;flex:none;background:var(--color-primary);border-radius:50%;}
.hero-title {font-size:clamp(46px,5.1vw,68px);font-weight:650;line-height:1.07;letter-spacing:-.058em;margin-bottom:25px;}
.hero-subtitle {font-size:17px;line-height:1.75;margin:0 0 28px;max-width:46ch;}
.hero-cta {justify-content:flex-start;gap:12px;margin:0;}
.hero-note {font-size:12px;margin-top:17px;color:var(--color-text-muted);}
.hero-visual {min-width:0;max-width:none;padding:25px 20px 16px;background:#eaf0f9;border-radius:18px;margin:0;}
.screen-caption {text-transform:none;letter-spacing:-.025em;text-align:left;font-size:18px;color:var(--color-text);margin:0 0 16px 3px;}
.floating-screen,.floating-screen:hover {transform:none;border-radius:10px;box-shadow:0 12px 26px #21365412;border:1px solid #d4deec;}
.browser-chrome {background:#f8fafc;padding:11px 12px;gap:12px;}
.browser-dot {width:7px;height:7px;background:#bac6d5!important;}
.browser-controls {gap:5px;}
.browser-url-bar {background:none;border:0;padding:0;font-size:11px;}
.browser-tabs {background:#fff;overflow:visible;}
.browser-tab {min-width:0;max-width:none;white-space:normal;font-size:11px;padding:13px 6px;line-height:1.5;}
.browser-tab.active {background:#edf3ff;}
.browser-tab.active::after {height:2px;}
.screen-content {min-height:0;background:#fff;}
.dashboard-screen {position:relative;inset:auto;padding:18px;display:none;opacity:1;min-height:316px;}
.dashboard-screen.active {display:flex;}
.dash-header {gap:8px;margin-bottom:14px;padding-bottom:12px;flex-wrap:wrap;}
.dash-title {font-size:12px;}
.dash-badge {font-size:10px;padding:4px 7px;}
.dash-metrics {gap:7px;margin-bottom:14px;}
.dash-metric,.dash-metric.orange,.dash-metric.purple,.dash-metric.teal {background:#f3f6fa;border:none;border-radius:6px;padding:12px 5px;}
.dash-metric-value,.dash-metric.orange .dash-metric-value,.dash-metric.purple .dash-metric-value,.dash-metric.teal .dash-metric-value {font-size:21px;font-weight:700;color:#23456d;}
.dash-metric-label {font-size:9px;text-transform:none;letter-spacing:0;line-height:1.4;}
.dash-chart {border-radius:6px;min-height:130px;height:130px;flex:auto;background:#f8fafd;padding:9px;}
.dash-chart svg {height:130px;}
.dash-bars {height:145px;}
.dash-bar,.dash-bar:nth-child(odd) {background:#4e7ada;}
.dash-bar:nth-child(even) {background:#a8bfeb;}
.dash-rank-item {padding:9px;gap:8px;}
.dash-rank-keyword {font-size:11px;}
.demo-note {font-size:10px;color:#50616e;text-align:center;margin-top:12px;}
.section-header {text-align:left;max-width:760px;margin:0 0 36px;}
.section-title {font-size:clamp(30px,3.3vw,43px);line-height:1.18;margin-bottom:14px;}
.section-subtitle {font-size:16px;max-width:62ch;margin:0;}
.services-preview {background:#f2f5f8;border-block:1px solid #e6ecf2;}
.services-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
.service-card,.service-card.featured {background:transparent;border:0;border-right:1px solid #d5dfe8;border-radius:0;padding:4px 24px;box-shadow:none;display:flex;flex-direction:column;}
.service-card:first-child {padding-left:0;}
.service-card:last-child {border-right:0;padding-right:0;}
.service-card::before,.service-card.featured::after {display:none;}
.service-card:hover {transform:none;box-shadow:none;}
.service-icon,.service-card:nth-child(n) .service-icon {width:44px;height:44px;background:#e3ebf7;border-radius:10px;margin-bottom:25px;}
.service-icon svg {width:24px;height:24px;}
.service-icon svg path,.service-icon svg circle,.service-icon svg rect {stroke:#1859df;}
.service-title {font-size:19px;letter-spacing:-.03em;margin-bottom:13px;}
.service-desc {font-size:14px;line-height:1.75;flex:1;margin-bottom:20px;}
.service-link,.blog-link {font-size:13px;}
.services-cta {text-align:left;margin-top:38px;}
.process {background:#fff;}
.process-steps {gap:32px;}
.process-step {background:none;border:0;border-radius:0;text-align:left;padding:0;}
.process-step:hover {transform:none;}
.process-step .step-number,.process-step:nth-child(n) .step-number {color:#315270;background:none;border:0;border-radius:0;box-shadow:none;font-size:15px;font-weight:600;width:auto;height:auto;display:block;margin:0 0 20px;text-align:left;}
.process-step h3 {font-size:18px;margin-bottom:12px;}
.process-step p {font-size:14px;}
.blog {background:#f2f5f8;}
.blog-grid {gap:24px;}
.blog-card {border:1px solid #dae2eb;border-radius:12px;box-shadow:none;}
.blog-card:hover {transform:none;box-shadow:none;border-color:#8ea5bf;}
.blog-image {aspect-ratio:1.8;height:auto;}
.blog-content {padding:24px;}
.blog-category,.case-study-category,.blog-post-category {text-transform:none;letter-spacing:0;font-size:12px;background:none;padding:0;color:#1859df;}
.blog-title {font-size:21px;line-height:1.4;}
.blog-excerpt {font-size:14px;}
.cta-section {background:#fff;padding:60px 0;}
.cta-box {background:#16394f;border:0;border-radius:16px;text-align:left;padding:48px 56px;}
.cta-box::before {display:none;}
.cta-box .cta-title {color:#fff;font-size:clamp(28px,4vw,42px);}
.cta-box .cta-text {color:#d9e4ed;max-width:58ch;margin:18px 0 26px;}
.cta-box .btn-primary {background:#fff;color:#16394f;}
.cta-box .btn-primary:hover {background:#e7eff6;}
.footer {background:#f2f5f8;border-top:1px solid #dbe2e9;padding-top:58px;}
.footer-logo {display:flex;align-items:center;}
.footer-logo svg {width:26px;height:26px;}
.footer-grid {grid-template-columns:1.3fr 1fr .7fr 1fr;gap:32px;}
.footer-desc {font-size:13px;max-width:30ch;}
.footer-links h4,.footer-contact h4 {font-size:14px;text-transform:none;letter-spacing:0;}
.footer-links a,.footer-contact a,.footer-contact p {font-size:13px;}
.footer-bottom p {font-size:11px;}
.page-header {padding:calc(var(--header-height) + 60px) 0 52px;background:#f2f5f8;text-align:left;}
.page-header::before {display:none;}
.page-title {font-size:clamp(36px,5vw,60px);max-width:900px;}
.page-subtitle {font-size:17px;max-width:65ch;margin:22px 0 0;}
.service-block,.service-block.reverse {grid-template-columns:160px minmax(0,1fr);gap:64px;direction:ltr;}
.service-icon-large {width:148px;height:148px;background:#edf2f9;border-radius:24px;}
.service-content h2 {font-size:33px;}
.service-content p {max-width:65ch;}
.service-detail:nth-of-type(even) {background:#fff;}
.service-detail:nth-of-type(odd) {background:#f7f9fc;}
.package-card,.package-card.featured {border:1px solid #d7e0eb;border-radius:12px;box-shadow:none;transform:none;}
.package-card:hover {transform:none;box-shadow:none;}
.package-card.featured {border-color:#1859df;}
.package-card.featured::before {background:#1859df;border-radius:10px 10px 0 0;}
.faq-item {background:#fff;border:1px solid #dbe2e9;border-radius:8px;overflow:visible;}
.faq-question {font-size:16px;padding:22px;list-style:none;}
.faq-question::-webkit-details-marker {display:none;}
.faq-question::after {content:'+';margin-left:20px;font-size:24px;color:#1859df;}
.faq-item[open] .faq-question::after {content:'−';}
.faq-answer {max-height:none;overflow:visible;transition:none;}
.faq-answer p {padding:0 22px 22px;}
.case-study-card,.case-study-card:nth-child(even) {direction:ltr;border:1px solid #dbe2e9;border-radius:14px;box-shadow:none;overflow:hidden;gap:36px;padding:28px;}
.case-study-card:hover {transform:none;box-shadow:none;}
.case-study-title {font-size:28px;}
.case-study-visual {border-radius:8px;overflow:hidden;}
.concept-note {margin-top:18px;display:inline-block;background:#edf2f9;border-radius:5px;padding:5px 10px;font-size:11px;color:#50616e;}
.contact-grid {gap:64px;}
.contact-form-wrapper h2 {font-size:30px;}
.contact-card {border:1px solid #dbe2e9;background:#f6f8fb;box-shadow:none;border-radius:12px;}
input,select,textarea {font-family:inherit;}
.form-input,.form-select,.form-textarea {border-radius:7px;border:1px solid #bccbd7;background:#fff;}
.booking-card {box-shadow:none;border:1px solid #ccd9e6;border-radius:16px;background:#f3f6fb;}
.booking-card::before {display:none;}
.blog-post-header {text-align:left;background:#f2f5f8;padding-top:calc(var(--header-height) + 56px);}
.blog-post-title {font-size:clamp(32px,4.5vw,52px);}
.blog-post-meta {justify-content:flex-start;}
.blog-post-body {font-size:17px;line-height:1.85;}
.blog-post-body h2 {font-size:29px;}
.fade-in,.fade-in.visible {opacity:1;transform:none;transition:none;}
.skip-link {position:fixed;top:8px;left:12px;z-index:2000;background:#fff;color:#1859df;padding:12px 18px;transform:translateY(-160%);}
.skip-link:focus {transform:translateY(0);}
@media(min-width:769px) and (max-width:1050px){
 .hero-content {gap:24px;grid-template-columns:1fr 1fr;}
 .hero-visual {padding:18px 12px 12px;}
 .hero-title {font-size:49px;}
 .hero-cta {flex-wrap:wrap;}
 .dash-header {display:block;}.dash-badge {display:inline-block;margin-top:6px;}
 .services-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;}
 .service-card:nth-child(n) {padding:0;border:0;}
}
@media(max-width:768px){
 :root {--header-height:74px;}
 .container {padding-inline:22px;}
 .section {padding-block:54px;}
 .wordmark {font-size:30px;}
 .nav-logo svg {width:25px;}
 .nav-menu {visibility:hidden;transition:visibility .15s,right .15s;padding:90px 24px 24px;gap:25px;}
 .nav-menu.active {visibility:visible;}
 .nav-link {font-size:25px;}
 .nav-cta {font-size:16px;}
 .hero {padding:114px 0 48px;}
 .hero-content {display:flex;flex-direction:column;gap:36px;align-items:stretch;text-align:left;}
 .hero-location {margin-bottom:20px;}
 .hero-title {font-size:clamp(44px,10vw,60px);max-width:540px;}
 .hero-subtitle {font-size:16px;}
 .hero-cta {flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:10px;}
 .hero-cta .btn {width:auto;flex:1;padding:14px 12px;white-space:nowrap;font-size:13px;}
 .hero-visual {padding:20px 12px 12px;}
 .screen-caption {font-size:16px;}
 .browser-tab {font-size:10px;min-width:0;padding:12px 4px;}
 .dashboard-screen {padding:12px;min-height:310px;}
 .dash-title {font-size:11px;}.dash-badge {font-size:9px;}
 .dash-metric-value {font-size:19px;}
 .dash-metrics {gap:5px;}
 .dash-metric {padding:10px 4px;}
 .dash-rank-item {font-size:11px;}
 .section-header {margin-bottom:30px;}
 .services-grid {grid-template-columns:1fr;gap:0;}
 .service-card:nth-child(n) {padding:26px 0;border-right:0;border-bottom:1px solid #d5dfe8;}
 .service-card:first-child {padding-top:0;}.service-card:last-child {border:0;padding-bottom:0;}
 .service-icon {margin-bottom:16px;}.service-desc {max-width:55ch;margin-bottom:12px;}
 .process-steps {grid-template-columns:1fr 1fr;gap:32px 22px;}
 .process-step h3 {font-size:17px;}
 .blog-grid {grid-template-columns:1fr;}
 .cta-section {padding:35px 0;}
 .cta-box {padding:30px 25px;}
 .footer-grid {grid-template-columns:1fr 1fr;gap:36px 20px;}
 .footer-brand {grid-column:1 / -1;}
 .footer-contact {grid-column:1 / -1;}
 .page-header {padding:118px 0 40px;}
 .page-title {font-size:42px;}
 .service-block,.service-block.reverse {grid-template-columns:1fr;gap:26px;}
 .service-icon-large {height:80px;width:80px;border-radius:15px;}
 .service-icon-large svg {width:42px;height:42px;}
 .service-content h2 {font-size:28px;}
 .case-study-card,.case-study-card:nth-child(even) {grid-template-columns:1fr;gap:22px;padding:20px;}
 .case-study-title {font-size:25px;}
 .contact-grid {grid-template-columns:1fr;gap:36px;}
 .booking-card {padding:30px 20px;}
 .faq-question {font-size:15px;padding:20px;}
 .blog-post-body {font-size:16px;}
}
@media(max-width:360px){.container{padding-inline:16px;}.process-steps{grid-template-columns:1fr;}.dash-header{display:block;}.dash-badge{margin-top:5px;display:inline-block;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;}}
