/* Visual Vibe Theme Custom Overrides for Avista Dark Mode */
.avista-main-wrapper { overflow-x: clip; }
body:has(.avista-main-wrapper) { overflow-x: clip; }
.as-header-1-logo .vv-header-brand-icon { width: 44px; height: 44px; object-fit: contain; }
.as-preloader .loader_letter img { width: 48px; height: 48px; object-fit: contain; }
.vv-drawer-brand-logo { width: min(210px, 58vw); height: auto; object-fit: contain; }
.logo-elm .vv-card-brand-logo { width: min(230px, 60vw); height: auto; object-fit: contain; }
.as-footer-1-logo .vv-footer-brand-logo { width: clamp(260px, 32vw, 420px); max-width: 80vw; height: auto; object-fit: contain; }
.as-price-1-right { position: relative; isolation: isolate; }
.as-price-1-card:nth-child(1) { z-index: 1; }
.as-price-1-card:nth-child(2) { z-index: 2; }
.as-price-1-card:nth-child(3) { z-index: 3; }
.as-footer-1-big-email { font-size: clamp(18px, 1.7vw, 24px); padding: 10px 24px; max-width: 100%; }
.as-footer-1-big-email .text { color: #151136; transition: color .4s var(--as-cube-1); overflow-wrap: anywhere; }
.as-footer-1-big-email:hover .text, .as-footer-1-big-email:focus-visible .text { color: #fff; }
@media (min-width: 992px) {
  .as-price-1-card { position: sticky; top: 100px; }
}
@media (max-width: 575px) {
  .as-header-1-logo .vv-header-brand-icon { width: 36px; height: 36px; }
}
:root {
  --as-clr-pr-1: #ffc612;
  --as-clr-pr-3: #eab308;
  --as-clr-gd-3: linear-gradient(130deg, #eab308 21%, #ffc612 58%, #eab308 100%);
  --as-font-1: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --as-font-2: 'Geist Mono', monospace;
  --as-font-3: 'Mona Sans', sans-serif;
}

body.has-dark {
  background-color: #151136 !important;
  color: #f1f1f3 !important;
}

/* Ensure background of sections in dark mode */
.page-wrapper.has-dark {
  background-color: #151136;
}

/* Gold button hover & accents */
.as-pr-btn-1 {
  background-color: #ffc612 !important;
  color: #151136 !important;
  font-weight: 600 !important;
}
.as-pr-btn-1:hover {
  background-color: #eab308 !important;
  color: #151136 !important;
}

.as-pr-btn-1-v2 .icon {
  background-color: #ffc612 !important;
}
.as-pr-btn-1-v2 .icon svg {
  fill: #151136 !important;
}

/* Service item numbering & highlights */
.has-dark .as-services-1-item .number {
  color: #ffc612 !important;
}
.has-dark .as-services-1-item:hover {
  border-color: rgba(255, 197, 21, 0.4) !important;
}

/* Portfolio tags and stars */
.item-tags .link-elm:hover {
  background-color: #ffc612 !important;
  color: #151136 !important;
}

/* Marquee star icons */
.as-marquee-text-1-content img {
  filter: drop-shadow(0 0 8px rgba(255, 197, 21, 0.6));
}

/* Accordion active border */
.has-dark .as-accordion-item.active {
  border-color: rgba(255, 197, 21, 0.5) !important;
}

/* Modal styles */
.vv-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(4, 4, 6, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  animation: vvFadeIn 0.25s ease-out;
}

@keyframes vvFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes vvSlideUp {
  from { opacity: 0; transform: scale(0.95) translateY(20px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.vv-modal-container {
  background: #251f5e;
  border: 1px solid rgba(255, 197, 21, 0.25);
  border-radius: 24px;
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.8), 0 0 35px rgba(255, 197, 21, 0.15);
  animation: vvSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

/* Custom Scrollbar */
.vv-modal-container::-webkit-scrollbar {
  width: 6px;
}
.vv-modal-container::-webkit-scrollbar-thumb {
  background: #ffc612;
  border-radius: 3px;
}

/* Fix for noise overlay canvas */
#wa_cursor_noise {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.12;
  z-index: 2;
}

/* Ensure nice-select dropdown is dark in has-dark */
.as-header-1-menu.show { width: clamp(540px, 55vw, 680px); }
.as-header-1-menu .navbar-nav { gap: 24px; }
.vv-faq-answer { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .35s ease, opacity .35s ease; }
.vv-faq-answer.is-open { grid-template-rows: 1fr; opacity: 1; }
.vv-faq-answer > div { overflow: hidden; min-height: 0; }
.avista-main-wrapper a:focus-visible, .avista-main-wrapper button:focus-visible,
.avista-main-wrapper input:focus-visible, .avista-main-wrapper select:focus-visible,
.avista-main-wrapper textarea:focus-visible { outline: 2px solid #ffc612; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .avista-main-wrapper *, .avista-main-wrapper *::before, .avista-main-wrapper *::after { animation: none !important; transition: none !important; }
}
.has-dark .nice-select {
  background-color: #251f5e !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.has-dark .nice-select .list {
  background-color: #251f5e !important;
  color: #ffffff !important;
  border-color: rgba(255, 197, 21, 0.3) !important;
}
.has-dark .nice-select .option:hover,
.has-dark .nice-select .option.focus,
.has-dark .nice-select .option.selected.focus {
  background-color: rgba(255, 197, 21, 0.15) !important;
  color: #ffc612 !important;
}
/* Visual Vibe brand system and service-led hero */
:root { --as-clr-pr-1: #ffc612; --as-clr-pr-3: #ffc612; --as-clr-gd-3: linear-gradient(130deg,#ffc612,#eab308,#ffc612); }
.avista-main-wrapper { background: #151136; }
.as-header-1-logo .vv-header-brand-icon { width:36px; height:36px; }
.as-footer-1-logo .vv-footer-brand-logo { width:240px; }
.as-hero-1-area.has-dark { border-color:#151136; border-radius:0 0 72px 72px; isolation:isolate; }
.as-hero-1-bg-color { background:radial-gradient(ellipse at 25% 40%,#393278 0%,#251f5e 40%,#151136 85%); }
.as-hero-1-wrap { min-height:860px; margin-left:0; padding:145px 0 80px; gap:40px; }
.as-hero-1-left { align-self:stretch; width:48px; flex-shrink:0; z-index:3; }
.as-hero-1-marquee { height:630px; background:#151136; border-color:#51498d; border-radius:24px; overflow:hidden; }
.as-hero-1-marquee-wrap .text-elm { font-size:17px; }
.as-hero-1-copyright-bg { display:none; }
.as-hero-1-right { width:52%; max-width:760px; margin-top:0; z-index:3; }
.as-hero-1-content { text-align:left; }
.as-hero-1-area.has-dark .as-hero-1-content .hero-disc { color:#dcd8f5; max-width:560px; margin-left:0; font-size:20px; }
.as-hero-1-content .hero-title { color:#fff; font-size:clamp(64px,6.2vw,116px); line-height:1.06; letter-spacing:-.055em; margin:30px 0 40px; }
.vv-hero-yellow { color:#ffc612; }
.as-hero-1-content-inner { margin-top:0; gap:24px; align-items:center; flex-wrap:wrap; }
.as-hero-1-area.has-dark .as-hero-1-content-box { background:#251f5e; border:1px solid #51498d; box-shadow:0 20px 60px #15113666; width:340px; padding:26px; }
.as-hero-1-content-box .box-title { font-size:21px; }
.as-hero-1-content .guaranteed { font-size:24px; color:#dcd8f5; }
.as-hero-1-active .bg-shape { display:none; }
.as-hero-1-active { background:#151136; padding:12px 28px; border-radius:0 0 28px 28px; }
.vv-hero-showcase { position:absolute; left:8%; top:190px; width:38%; height:570px; z-index:1; }
.vv-hero-orbit { position:absolute; inset:20px -30px; border:1px solid #ffc61233; border-radius:50%; transform:rotate(-20deg); }
.vv-hero-design-card { position:absolute; left:0; top:0; width:83%; padding:22px; background:#251f5e; border:1px solid #655ca1; border-radius:24px; transform:rotate(-6deg); box-shadow:0 30px 60px #15113680; }
.vv-showcase-label { display:block; color:#ffc612; font:11px var(--as-font-2); letter-spacing:.12em; margin-bottom:16px; }
.vv-hero-design-card img { width:100%; height:220px; object-fit:cover; border-radius:12px; }
.vv-hero-design-card h3 { color:#fff; font-size:25px; line-height:1.15; margin:18px 0 10px; }
.vv-hero-design-card > span:last-child { font-size:11px; color:#dcd8f5; }
.vv-hero-digital-card { position:absolute; right:0; bottom:0; width:77%; padding:24px; border:1px solid #ffc612; border-radius:20px; background:#ffc612; color:#251f5e; transform:rotate(5deg); box-shadow:0 25px 50px #15113680; }
.vv-hero-digital-card .vv-showcase-label { color:#251f5e; }
.vv-mini-browser { display:flex; gap:5px; align-items:center; padding-bottom:13px; border-bottom:1px solid #251f5e33; }
.vv-mini-browser i { width:6px; height:6px; border:1px solid #251f5e; border-radius:50%; }
.vv-mini-browser span { margin-left:auto; font:10px var(--as-font-2); }
.vv-digital-title { font-size:34px; line-height:1.06; letter-spacing:-.04em; margin:20px 0 16px; }
.vv-digital-platforms { font-size:12px; line-height:1.8; }
.vv-showcase-link { display:inline-block; color:#251f5e; font-size:12px; margin-top:15px; border-bottom:1px solid #251f5e; }
.as-footer-1-area { background:radial-gradient(ellipse at bottom,#393278,#151136 75%); }
.as-footer-1-bg { opacity:.15; filter:hue-rotate(35deg); }
.as-pr-btn-1:hover { background-color:#eab308 !important; }
@media(max-width:1199px) {
 .as-hero-1-wrap { min-height:780px; gap:20px; }
 .vv-hero-showcase { left:8%; width:37%; top:190px; height:480px; }
 .vv-hero-design-card { padding:16px; width:95%; }
 .vv-hero-design-card img { height:160px; }
 .vv-hero-digital-card { padding:18px; width:90%; }
 .vv-digital-title { font-size:28px; }
 .as-hero-1-right { width:53%; }
 .as-hero-1-content .hero-title { font-size:70px; }
 .as-hero-1-content .hero-disc { font-size:17px !important; }
}
@media(max-width:767px) {
 .as-hero-1-wrap { display:block; padding:155px 4px 55px; min-height:0; }
 .as-hero-1-right { width:100%; max-width:none; }
 .as-hero-1-content .hero-title { font-size:clamp(48px,11vw,80px); margin:24px 0; }
 .as-hero-1-content-box { max-width:100%; }
 .as-hero-1-content-inner { margin-top:0; }
 .vv-hero-showcase { position:relative; left:auto; top:auto; width:min(430px,92%); height:510px; margin:65px auto 0; }
 .vv-hero-design-card { width:85%; }
 .vv-hero-digital-card { width:76%; }
 .as-hero-1-area.has-dark { border-radius:0 0 40px 40px; }
}
.vv-quote-price { font-size:38px; color:#ffc612; }
.as-services-1-item .title { font-size:clamp(24px,3vw,48px); }
.as-services-1-item .item-tags { max-width:270px; }
.as-hero-1-content-box::after { background:#51498d; opacity:.45; }
.as-hero-1-content-box::before { background:#ffc612; opacity:.08; }
.as-hero-1-content-box .box-address { color:#dcd8f5; }
.as-hero-1-content .guaranteed { font-size:24px !important; }
.as-hero-1-content-box .as-pr-btn-1-v2 { background:#393278 !important; }
/* Readable typography on every Visual Vibe dark surface. */
.avista-main-wrapper.has-dark, .vv-modal-container {
  --as-clr-h-1:#ffffff;
  --as-clr-h-2:#ffffff;
  --as-clr-p-1:#dcd8ef;
  --as-clr-p-2:#dcd8ef;
  color:#dcd8ef;
}
.avista-main-wrapper.has-dark .as-p-1,
.avista-main-wrapper.has-dark .as-p-2 { color:#dcd8ef; }
.avista-main-wrapper.has-dark .as-subtitle-1 { color:#ffc612; }
.avista-main-wrapper .as-footer-1-menu a,
.avista-main-wrapper .as-footer-1-copyright,
.avista-main-wrapper .as-footer-1-newsletter .disc,
.avista-main-wrapper .as-team-1-member .member-dg { color:#dcd8ef; }
.avista-main-wrapper input, .avista-main-wrapper textarea,
.avista-main-wrapper select { color:#fff; }
.avista-main-wrapper input::placeholder,
.avista-main-wrapper textarea::placeholder { color:#c8c2e3; opacity:1; }
.avista-main-wrapper .as-pr-btn-1,
.avista-main-wrapper .as-pr-btn-1 .text,
.avista-main-wrapper .plan-btn,
.avista-main-wrapper .plan-btn .text,
.avista-main-wrapper .item-tags .link-elm:hover,
.avista-main-wrapper .as-cta-1-experi-services .link-elm:hover { color:#151136; }
.avista-main-wrapper .as-hero-1-marquee-wrap .text-elm { color:#fff; }
.avista-main-wrapper .as-footer-1-big-email .text { color:#151136; }
.avista-main-wrapper .as-footer-1-big-email:hover .text,
.avista-main-wrapper .as-footer-1-big-email:focus-visible .text { color:#fff; }
.vv-hero-digital-card { --as-clr-h-1:#251f5e; --as-clr-p-1:#251f5e; color:#251f5e; }
.avista-main-wrapper .vv-hero-digital-card .vv-digital-platforms,
.avista-main-wrapper .vv-hero-digital-card .vv-showcase-link { color:#251f5e; }
.vv-modal-container .text-gray-400 { color:#c8c2e3; }
.avista-main-wrapper .page-wrapper.has-dark,
.avista-main-wrapper .as-process-1-area.has-dark,
.avista-main-wrapper .as-faqs-1-area.has-dark { background:#151136; }
.avista-main-wrapper .as-marquee-text-1-wrap-1 .text-elm,
.avista-main-wrapper .as-marquee-text-1-wrap-2 .text-elm { color:#151136; }
.avista-main-wrapper .as-features-1-quality .title,
.avista-main-wrapper .as-features-1-quality .disc { color:#151136; }
.avista-main-wrapper .as-partner-1-boost .title { background:#251f5e; color:#fff; }
.avista-main-wrapper .as-partner-1-boost .title:last-child { color:#ffc612; }
.avista-main-wrapper .as-cta-1-experi-title { color:#dcd8ef; }
.avista-main-wrapper .as-blog-1-item .categories { color:#151136 !important; }
/* Hero based on the supplied Visual Vibe composition. */
.vv-reference-hero.as-hero-1-area.has-dark { margin:12px 16px 0; border:0; border-bottom:7px solid #ffc612; border-radius:0 0 180px 180px; background:#151044; overflow:hidden; }
.vv-reference-hero .as-hero-1-bg-color { background:#151044; }
.vv-reference-hero .as-hero-1-wrap { display:block; min-height:clamp(780px,53vw,1080px); padding:0; margin:0; }
.vv-reference-hero .as-container-1 { max-width:none; padding:0; }
.vv-reference-arc { position:absolute; width:86vw; height:75vw; left:-38vw; top:-59vw; border:clamp(30px,3.2vw,68px) solid #ffc612; border-radius:50%; pointer-events:none; z-index:-1; }
.vv-reference-hero .as-hero-1-active { top:0; left:50%; transform:translateX(-50%); background:#070521; border-radius:0 0 30px 30px; padding:18px 40px; width:auto; white-space:nowrap; }
.vv-reference-hero .active-text { font-size:clamp(15px,1.4vw,28px); }
.vv-reference-hero .active-text i { display:none; }
.vv-reference-hero .as-hero-1-right { position:relative; margin-left:54%; width:44%; max-width:none; padding-top:clamp(210px,15vw,310px); padding-bottom:55px; }
.vv-reference-hero .as-hero-1-content .hero-disc { max-width:none; font-size:clamp(18px,1.75vw,35px) !important; line-height:1.3; color:#fff; letter-spacing:-.025em; }
.vv-reference-hero .as-hero-1-content .hero-title { font-size:clamp(66px,5.85vw,120px); font-weight:700; line-height:1.17; letter-spacing:-.04em; margin:24px 0 30px; color:#fff; }
.vv-reference-hero .vv-hero-yellow { white-space:nowrap; }
.vv-reference-hero .as-hero-1-content-inner { display:flex; flex-wrap:nowrap; gap:24px; align-items:flex-end; justify-content:space-between; padding:12px 12px 8px 0; background:linear-gradient(120deg,#251f5e88,#251f5e33); }
.vv-reference-hero .as-hero-1-content-box { flex:0 1 410px; width:48%; padding:28px 20px; border-radius:35px; gap:25px; background:#251f5e; border:1px solid #51498d; }
.vv-reference-hero .as-hero-1-content-box .box-title { font-size:clamp(18px,1.25vw,25px); max-width:280px; }
.vv-reference-hero .as-hero-1-content-box .box-address { font-size:clamp(12px,1vw,19px); line-height:1.2; }
.vv-reference-hero .as-hero-1-content-box::before,.vv-reference-hero .as-hero-1-content-box::after { display:none; }
.vv-reference-hero .guaranteed { margin:0 35px 65px 0; font-size:clamp(18px,1.45vw,29px) !important; white-space:nowrap; font-style:italic; color:#dcd8ef; }
.vv-reference-art { position:absolute; left:2%; bottom:3%; width:52%; z-index:1; pointer-events:none; }
.vv-reference-art img { display:block; width:100%; height:auto; object-fit:contain; }
.as-header-1-logo:has(.vv-reference-header-logo) { top:-30px; left:0; width:24%; min-height:130px; padding:15px 45px 15px 24px; background:#070521; border-radius:0 0 70px 0; }
.as-header-1-logo:has(.vv-reference-header-logo) .bg-shape { display:none; }
.vv-reference-header-logo { width:100%; max-width:350px; height:auto; object-fit:contain; }
.as-header-1-menu-toggle-btn span { width:40px; }
@media(min-width:768px) and (max-width:1199px) {
 .vv-reference-hero .as-hero-1-right { margin-left:51%; width:47%; }
 .vv-reference-hero .as-hero-1-content .hero-title { font-size:clamp(47px,5.8vw,69px); }
 .vv-reference-hero .as-hero-1-content-inner { flex-wrap:wrap; }
 .vv-reference-hero .as-hero-1-content-box { width:100%; flex-basis:100%; }
 .vv-reference-hero .guaranteed { margin:0 15px 15px auto; }
 .as-header-1-logo:has(.vv-reference-header-logo) { min-height:100px; padding:15px 25px 15px 15px; }
}
@media(max-width:767px) {
 .vv-reference-hero.as-hero-1-area.has-dark { margin:8px 8px 0; border-bottom-width:4px; border-radius:0 0 45px 45px; }
 .vv-reference-hero .as-hero-1-wrap { min-height:0; display:flex; flex-direction:column; padding:0 18px 28px; }
 .vv-reference-hero .as-hero-1-active { top:95px; padding:10px 18px; border-radius:20px; }
 .vv-reference-hero .active-text { font-size:13px; }
 .vv-reference-hero .as-hero-1-right { width:100%; margin:0; padding:170px 0 0; }
 .vv-reference-hero .as-hero-1-content .hero-disc { font-size:17px !important; line-height:1.5; }
 .vv-reference-hero .as-hero-1-content .hero-title { font-size:clamp(39px,10.4vw,75px); line-height:1.15; margin:24px 0; }
 .vv-reference-hero .as-hero-1-content-inner { flex-wrap:wrap; background:none; padding:0; gap:18px; }
 .vv-reference-hero .as-hero-1-content-box { width:100%; flex-basis:100%; max-width:none; padding:25px 20px; border-radius:25px; }
 .vv-reference-hero .as-hero-1-content-box .box-title { font-size:21px; }
 .vv-reference-hero .as-hero-1-content-box .box-address { font-size:14px; }
 .vv-reference-hero .guaranteed { margin:0 0 0 auto; font-size:20px !important; }
 .vv-reference-art { position:relative; left:auto; bottom:auto; width:calc(100% + 24px); margin:28px -12px 0; }
 .vv-reference-arc { width:150vw; height:130vw; left:-70vw; top:-111vw; border-width:25px; }
 .as-header-1-logo:has(.vv-reference-header-logo) { width:43%; min-height:80px; padding:14px 20px 14px 12px; border-radius:0 0 35px 0; top:-30px; }
 .as-header-1-action-link { gap:8px !important; }
 .as-header-1-action-link .as-pr-btn-1 { padding:12px 10px; font-size:12px; }
}
.vv-reference-hero .as-hero-1-content .hero-disc { font-size:clamp(17px,1.5vw,30px) !important; margin-bottom:0; }
.vv-reference-hero .as-hero-1-content .hero-title { font-size:clamp(58px,5.4vw,110px); margin:24px 0 30px; }
.vv-reference-hero .as-hero-1-wrap { min-height:clamp(680px,53vw,1080px); }
.vv-reference-art { width:54%; left:0; bottom:5%; }
@media(max-width:767px) {
 .vv-reference-disc-break { display:none; }
 .vv-reference-hero .as-hero-1-wrap { min-height:0; }
 .vv-reference-hero .as-hero-1-content .hero-title { font-size:clamp(37px,10vw,72px); }
 .vv-reference-art { width:calc(100% + 24px); left:auto; bottom:auto; }
}
@media(max-width:767px) {
 .vv-reference-hero .as-hero-1-active { display:block; z-index:3; }
}
/* Original Avista contours with Visual Vibe's colors and artwork. */
.vv-reference-hero .as-hero-1-content-inner { background:transparent; padding:0; }
.vv-reference-hero .as-hero-1-content-box { box-shadow:none; background:#251f5e; border:8px solid #393278; border-radius:30px; }
.vv-reference-hero .as-hero-1-content-box::before,
.vv-reference-hero .as-hero-1-content-box::after { display:none; }
.vv-reference-hero.as-hero-1-area.has-dark { margin:0; border:12px solid #151136; border-radius:0 0 150px 150px; }
.vv-reference-arc { display:none; }
.vv-reference-hero .as-hero-1-active { padding:13px 63px; background:transparent; border-radius:0; }
.vv-reference-hero .as-hero-1-active .bg-shape { display:block; filter:brightness(0) saturate(100%) invert(8%) sepia(24%) saturate(1940%) hue-rotate(213deg) brightness(93%) contrast(98%); }
.vv-reference-hero .active-text { font-size:18px; }
.as-header-1-logo:has(.vv-reference-header-logo) { top:-16px; left:12px; width:clamp(200px,23vw,390px); min-height:0; padding:10px 55px 10px 20px; background:transparent; border-radius:0; }
.as-header-1-logo:has(.vv-reference-header-logo) .bg-shape { display:block; filter:brightness(0) saturate(100%) invert(8%) sepia(24%) saturate(1940%) hue-rotate(213deg) brightness(93%) contrast(98%); }
@media(max-width:991px) {
 .vv-reference-hero.as-hero-1-area.has-dark { border:4px solid #151136; border-radius:0 0 50px 50px; }
}
@media(max-width:767px) {
 .as-header-1-logo:has(.vv-reference-header-logo) { top:-27px; left:0; width:43%; padding:12px 22px 12px 12px; }
 .vv-reference-hero .as-hero-1-active { padding:10px 20px; }
 .vv-reference-hero .active-text { font-size:13px; }
 .vv-reference-hero .as-hero-1-active .bg-shape { display:none; }
}
.as-hero-1-area.vv-reference-hero.has-dark .as-hero-1-content-box { box-shadow:none; border:8px solid #393278; border-radius:30px; background:#251f5e; }
/* Compact logo tab and higher hero artwork. */
.as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { width:clamp(180px,17vw,290px); padding:10px 40px 10px 16px; }
.as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) .bg-shape { filter:none; }
.vv-reference-header-logo { max-width:230px; }
.vv-reference-hero .vv-reference-art { bottom:16%; }
@media(max-width:767px) {
 .as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { width:40%; min-width:0; padding:12px 18px 12px 10px; }
 .vv-reference-hero .vv-reference-art { bottom:auto; margin-top:12px; }
}
/* One continuous near-black navy page background, with the logo above the hero. */
:root { --vv-page-background:#090817; }
body.has-dark,
.avista-main-wrapper.has-dark,
.avista-main-wrapper .page-wrapper.has-dark,
.avista-main-wrapper section.has-dark,
.avista-main-wrapper .as-footer-1-area,
.avista-main-wrapper .as-cta-1-bg { background:var(--vv-page-background) !important; }
.vv-reference-hero.as-hero-1-area.has-dark { margin-top:120px; border-color:var(--vv-page-background); }
.vv-reference-hero .as-hero-1-bg-color { background:var(--vv-page-background); }
.as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { top:-10px; left:20px; padding:0; width:clamp(180px,17vw,230px); background:transparent; }
.as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) .bg-shape { display:none; }
.avista-main-wrapper .as-footer-1-bg { display:none; }
.vv-reference-hero .as-hero-1-active .bg-shape { filter:brightness(0) saturate(100%) invert(3%) sepia(21%) saturate(1796%) hue-rotate(217deg) brightness(97%) contrast(97%); }
@media(max-width:767px) {
 .vv-reference-hero.as-hero-1-area.has-dark { margin-top:100px; }
 .as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { left:12px; top:-12px; width:38%; }
 .vv-reference-hero .as-hero-1-active { top:0; }
 .vv-reference-hero .as-hero-1-right { padding-top:75px; }
}
/* Supplied hero: purple shaped panel over the continuous dark page. */
.avista-main-wrapper .vv-reference-hero.as-hero-1-area.has-dark { margin:8px; border:8px solid #090817; border-bottom:7px solid #ffc612; border-radius:0 0 150px 150px; background:#151044 !important; }
.vv-reference-hero .as-hero-1-bg-color { background:#151044; }
.vv-reference-hero .vv-reference-arc { display:block; }
.as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { top:-22px; left:8px; width:clamp(180px,23vw,300px); padding:10px 50px 10px 14px; }
.as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) .bg-shape { display:block; filter:none; }
.vv-reference-hero .as-hero-1-right { padding-top:clamp(170px,15vw,310px); }
.vv-reference-hero .vv-reference-art { bottom:6%; }
@media(max-width:767px) {
 .avista-main-wrapper .vv-reference-hero.as-hero-1-area.has-dark { margin:6px; border:4px solid #090817; border-bottom:4px solid #ffc612; border-radius:0 0 50px 50px; }
 .as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { top:-25px; left:6px; width:43%; padding:10px 22px 10px 10px; }
 .vv-reference-hero .as-hero-1-active { top:95px; background:#090817; border-radius:20px; }
 .vv-reference-hero .as-hero-1-right { padding-top:165px; }
 .vv-reference-hero .vv-reference-art { bottom:auto; }
}
html:has(.avista-main-wrapper), body.has-dark { margin:0; padding:0; background:#090817 !important; }
.avista-main-wrapper .vv-reference-hero.as-hero-1-area.has-dark { margin-top:0; background:#251f5e !important; }
.vv-reference-hero .as-hero-1-bg-color { background:#251f5e; }
.as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { width:clamp(250px,24vw,360px); padding:10px 100px 10px 14px; }
.as-header-1-area.has-dark .vv-reference-header-logo { width:100%; max-width:190px; }
.vv-reference-hero::after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(380px circle at var(--vv-pointer-x,50%) var(--vv-pointer-y,40%),rgba(255,198,18,.1),transparent 75%); opacity:0; transition:opacity .35s ease; z-index:0; }
.vv-reference-hero.vv-pointer-active::after { opacity:1; }
@media(max-width:767px) {
 .as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { width:45%; padding:10px 35px 10px 10px; }
 .as-header-1-area.has-dark .vv-reference-header-logo { max-width:125px; }
}
@media(prefers-reduced-motion:reduce) { .vv-reference-hero::after { display:none; } }
/* Curved service ticker within the yellow band. */
.vv-reference-hero .vv-reference-arc { width:50%; height:auto; aspect-ratio:1000/350; left:0; top:0; border:0; border-radius:0; z-index:1; overflow:hidden; }
.vv-reference-arc svg { display:block; width:100%; height:100%; overflow:visible; }
.vv-reference-arc text { fill:#151136; font:600 24px var(--as-font-1); letter-spacing:.4px; }
.vv-arc-static-text { display:none; }
@media(min-width:992px) {
 .avista-main-wrapper .vv-reference-hero.as-hero-1-area.has-dark { height:calc(100svh - 8px); min-height:580px; box-sizing:border-box; border-radius:0 0 clamp(65px,10vh,150px) clamp(65px,10vh,150px); }
 .vv-reference-hero .as-hero-1-wrap { height:100%; min-height:0; }
 .vv-reference-hero .as-container-1 { height:100%; }
 .vv-reference-hero .as-hero-1-right { height:100%; padding:clamp(125px,22vh,240px) 0 30px; display:flex; align-items:center; }
 .vv-reference-hero .as-hero-1-content { width:100%; }
 .vv-reference-hero .as-hero-1-content .hero-disc { font-size:clamp(16px,2.7vh,28px) !important; line-height:1.3; }
 .vv-reference-hero .as-hero-1-content .hero-title { font-size:clamp(50px,min(5.4vw,9vh),110px); line-height:1.1; margin:18px 0 22px; }
 .vv-reference-hero .as-hero-1-content-inner { flex-wrap:nowrap; gap:16px; }
 .as-hero-1-area.vv-reference-hero.has-dark .as-hero-1-content-box { width:55%; flex:0 1 55%; padding:clamp(14px,2.2vh,25px) 14px; gap:clamp(12px,2.5vh,24px); border-width:3px; border-radius:26px; }
 .vv-reference-hero .as-hero-1-content-box .box-title { font-size:clamp(16px,2.5vh,23px); }
 .vv-reference-hero .as-hero-1-content-box .box-address { font-size:clamp(11px,1.8vh,17px); }
 .vv-reference-hero .guaranteed { margin:0 14px 35px 0; font-size:clamp(15px,1.5vw,25px) !important; }
 .vv-reference-hero .vv-reference-art { width:54%; height:72%; bottom:4%; display:flex; align-items:flex-end; }
 .vv-reference-art img { width:100%; height:100%; object-fit:contain; object-position:left bottom; }
}
@media(max-width:767px) {
 .vv-reference-hero .vv-reference-arc { width:80%; }
 .vv-reference-arc text { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) {
 .vv-arc-moving-text { display:none; }
 .vv-arc-static-text { display:block; }
}
.vv-reference-hero .vv-reference-arc { top:clamp(-40px,-2.5vw,-20px); }
.vv-reference-arc text { font-size:22px; }
@media(max-width:767px) {
 .vv-reference-hero .vv-reference-arc { top:-12px; }
 .vv-reference-arc text { font-size:26px; }
}
/* Shared button contrast in default, hover, and keyboard focus states. */
.avista-main-wrapper .as-pr-btn-1-v2,
.avista-main-wrapper .as-pr-btn-1-v2 .text { color:#fff; }
.avista-main-wrapper .as-pr-btn-1-v2:hover,
.avista-main-wrapper .as-pr-btn-1-v2:hover .text,
.avista-main-wrapper .as-pr-btn-1-v2:focus-visible,
.avista-main-wrapper .as-pr-btn-1-v2:focus-visible .text { color:#151136; }
.avista-main-wrapper .as-pr-btn-1-v2:focus-visible::after { width:calc(100% - 8px); }
.avista-main-wrapper .as-pr-btn-1-v2 .icon { background:#ffc612; color:#151136; border-radius:3px; }
.avista-main-wrapper .as-pr-btn-1-v2 .icon svg,
.avista-main-wrapper .as-pr-btn-1-v2 .icon svg circle,
.avista-main-wrapper .as-pr-btn-1-v2:hover .icon svg circle,
.avista-main-wrapper .as-pr-btn-1-v2:focus-visible .icon svg circle { fill:#151136 !important; color:#151136; }
.avista-main-wrapper .as-pr-btn-1-v2 .icon i { color:#151136; }
/* Center the service lettering across the thickness of the curved band. */
.vv-reference-arc text { dominant-baseline:central; }
.vv-mobile-header-icon { display:none; }
@media(max-width:767px) {
 .vv-reference-hero .vv-reference-arc { display:none; }
 .as-header-1-area.has-dark .vv-reference-header-logo { display:none; }
 .as-header-1-area.has-dark .vv-mobile-header-icon { display:block; width:44px; height:44px; object-fit:contain; }
 .as-header-1-area.has-dark .as-header-1-logo:has(.vv-reference-header-logo) { width:88px; padding:12px 30px 12px 12px; }
}
@media(max-width:767px) {
 .as-header-1-area.has-dark .as-header-1-wrap { transform:translateY(-14px); padding:5px; }
 .as-header-1-area.has-dark .as-header-1-action-link { gap:7px !important; }
 .as-header-1-area.has-dark .as-header-1-action-link .as-pr-btn-1 { height:38px; padding:8px 12px; font-size:12px; display:inline-flex; align-items:center; border-radius:9px; }
 .as-header-1-area.has-dark .sr-offcanvas-btn-1 { width:36px; height:36px; padding:0; font-size:18px; border-radius:8px; display:inline-flex !important; align-items:center; justify-content:center; }
}

/* Real team portraits and readable captions across screen sizes. */
.avista-main-wrapper .as-team-1-member .member-img > img { object-fit:cover; object-position:center 25%; }
.avista-main-wrapper .as-team-1-member .content-wrap { padding:32px 14px 14px; background:linear-gradient(transparent,rgba(9,8,23,.94) 35%); opacity:1; transform:translateY(0); }
.avista-main-wrapper .as-team-1-member .member-name { color:#fff; font-size:clamp(20px,1.4vw,26px); }
.avista-main-wrapper .as-team-1-member .member-dg { color:#dcd8ef; font-size:14px; line-height:1.45; margin-bottom:0; }

/* Lighter blue service ribbon with high-contrast white lettering. */
.avista-main-wrapper .as-marquee-text-1-area.has-dark .as-marquee-text-1-wrap-1 { background:#403777; }
.avista-main-wrapper .as-marquee-text-1-wrap-1 .text-elm { color:#fff; }

/* Partner artwork sized consistently without cropping. */
.avista-main-wrapper .as-partner-1-logo-single .vv-partner-logo { width:100%; max-width:235px; height:80px; object-fit:contain; position:relative; z-index:1; }
.avista-main-wrapper .as-partner-1-logo-single .vv-partner-link { display:flex; align-items:center; justify-content:center; width:100%; height:100%; position:relative; z-index:2; }
.avista-main-wrapper .vv-partner-link:focus-visible { outline:2px solid #ffc612; outline-offset:4px; border-radius:4px; }

/* Brand-blue depth and contrast for pricing, process, and portfolio cards. */
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card {
  box-shadow:0 12px 32px rgba(4,3,18,.42), 0 0 0 1px rgba(111,99,206,.16);
}
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:hover,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:focus-within {
  background:#403777;
  border-color:#6257a4;
  box-shadow:0 18px 44px rgba(9,7,35,.55), 0 0 28px rgba(98,87,164,.28);
}
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:hover .plan-name,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:hover .plan-disc,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:hover .plan-price,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:hover .plan-list li,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:focus-within .plan-name,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:focus-within .plan-disc,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:focus-within .plan-price,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:focus-within .plan-list li { color:#fff; }
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:hover .plan-btn,
.avista-main-wrapper .as-price-1-area.has-dark .as-price-1-card:focus-within .plan-btn { background:#ffc612; color:#151136; }

.avista-main-wrapper .as-process-1-card {
  border:1px solid rgba(126,114,216,.38);
  box-shadow:0 18px 40px rgba(3,2,16,.52), 0 0 20px rgba(74,62,154,.18);
}
.avista-main-wrapper .as-process-1-card:nth-child(1) { background-color:#211b50; }
.avista-main-wrapper .as-process-1-card:nth-child(2) { background-color:#403777; border-color:#6d62b4; }
.avista-main-wrapper .as-process-1-card:nth-child(3) { background-color:#2c2564; }
.avista-main-wrapper .as-process-1-card .disc { color:#dcd8ef; }
.avista-main-wrapper .as-process-1-card:hover {
  border-color:#887bd7;
  box-shadow:0 22px 52px rgba(3,2,16,.62), 0 0 32px rgba(101,88,196,.3);
}

.avista-main-wrapper .as-portfolio-1-item {
  border-color:#292263 !important;
  box-shadow:0 18px 46px rgba(3,2,16,.5), 0 0 0 1px rgba(88,75,173,.16);
  transition:transform .45s var(--as-cube-1), box-shadow .45s var(--as-cube-1), border-color .45s var(--as-cube-1);
}
.avista-main-wrapper .as-portfolio-1-item:hover {
  transform:translateY(-5px);
  border-color:#514692 !important;
  box-shadow:0 26px 58px rgba(3,2,16,.62), 0 0 28px rgba(78,65,170,.2);
}
