/* Quinbis PERF3 public visual refinement bundle
   PERF3 generated bundle. Source order is intentional; keep source files until dependency-proven cleanup. */

/* ---- source: quinbis-visual-refinement-vr12.css ---- */
/* Quinbis VR12 — Public Website Refinement
   Scope: public marketing surfaces only.
   Growth #013D37 = structure, Kinetic #77D650 = signal, Light Green #F0F7E7 = quiet supporting surface.
   Deliberately scoped to public marketing surfaces and away from authenticated Account/Admin surfaces. */

:root{
  --qv12-growth:#013D37;
  --qv12-kinetic:#77D650;
  --qv12-light:#F0F7E7;
}

/* Public header: the button carries the action; Kinetic supplies the spark. */
.site-header .btn-nav{
  min-height:42px!important;
  padding:0 7px 0 16px!important;
  gap:10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.site-header .btn-nav::after{
  content:"→";
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--qv12-kinetic);
  color:var(--qv12-growth);
  font-size:13px;
  line-height:1;
  transition:transform .18s ease;
}
.site-header .btn-nav:hover::after{transform:translateX(2px)}
.site-header:not(.is-scrolled) .btn-nav{
  background:var(--qv12-light)!important;
  color:var(--qv12-growth)!important;
  border:1px solid rgba(1,61,55,.12)!important;
}
.site-header.is-scrolled .btn-nav{
  background:var(--qv12-growth)!important;
  color:#fff!important;
  border:1px solid var(--qv12-growth)!important;
}

/* Homepage — preserve the Kinetic chart/status signal, refine reading surfaces. */
.home-v32 .home-dashboard-summary .home-dashboard-safe{
  position:relative;
  overflow:hidden;
  background:var(--qv12-light)!important;
  border-color:rgba(1,61,55,.10)!important;
  color:var(--qv12-growth)!important;
}
.home-v32 .home-dashboard-summary .home-dashboard-safe>span,
.home-v32 .home-dashboard-summary .home-dashboard-safe small{
  color:rgba(1,61,55,.68)!important;
}
.home-v32 .home-dashboard-summary .home-dashboard-safe::after{
  content:"";
  position:absolute;
  right:16px;
  top:16px;
  width:7px;
  height:42px;
  border-radius:999px;
  background:var(--qv12-kinetic);
}
.home-v32 .home-bars .home-bar-lime,
.home-v32 .home-status-lime{background:var(--qv12-kinetic)!important}

/* CTA on the Growth product card: Light Green with a compact Kinetic action circle. */
.home-v32 .home-product-btn{
  background:var(--qv12-light)!important;
  color:var(--qv12-growth)!important;
  border-color:rgba(1,61,55,.12)!important;
  padding-right:7px!important;
  gap:12px!important;
}
.home-v32 .home-product-btn>span:last-child{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--qv12-kinetic);
  color:var(--qv12-growth)!important;
  transition:transform .18s ease;
}
.home-v32 .home-product-btn:hover>span:last-child{transform:translateX(2px)}

/* Grow remains the highlighted connected part without making Kinetic carry copy. */
.home-v32 .home-part-grow{
  overflow:hidden;
  background:var(--qv12-light)!important;
  border-color:rgba(1,61,55,.08)!important;
  color:var(--qv12-growth)!important;
}
.home-v32 .home-part-grow h3,
.home-v32 .home-part-grow p,
.home-v32 .home-part-grow *{color:var(--qv12-growth)!important}
.home-v32 .home-part-grow p{color:rgba(1,61,55,.68)!important}
.home-v32 .home-part-grow::after{
  content:"";
  position:absolute;
  right:-31px;
  top:-35px;
  width:88px;
  height:88px;
  border:7px solid var(--qv12-kinetic);
  border-radius:50%;
  opacity:.92;
  pointer-events:none;
}

/* Setup: preserve the Growth featured package, but stop using Kinetic as its reading button surface. */
.setup-v3 .setup-package-featured .package-cta{
  background:var(--qv12-light)!important;
  border-color:var(--qv12-light)!important;
  color:var(--qv12-growth)!important;
  padding-right:7px!important;
}
.setup-v3 .setup-package-featured .package-cta>span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--qv12-kinetic);
  color:var(--qv12-growth)!important;
}

/* Design: preserve expressive Kinetic artwork; refine only the featured package action. */
.design-v7 .design-package-sales .design-package-cta{
  background:var(--qv12-light)!important;
  border-color:var(--qv12-light)!important;
  color:var(--qv12-growth)!important;
  padding-right:7px!important;
}
.design-v7 .design-package-sales .design-package-cta>span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--qv12-kinetic);
  color:var(--qv12-growth)!important;
}
.design-v7 .design-package-sales .design-package-cta:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:var(--qv12-growth)!important;
}

/* Pricing guide: same dark-surface CTA logic, while keeping Kinetic feature icons. */
.qb-guide-v3 .qg-app-btn{
  background:var(--qv12-light)!important;
  color:var(--qv12-growth)!important;
  padding-right:8px!important;
}
.qb-guide-v3 .qg-app-btn::after{
  content:"→";
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--qv12-kinetic);
  color:var(--qv12-growth);
}

/* Public enquiry/start forms: everyday action is Growth; Kinetic remains a compact signal. */
.contact-page-v4 .public-intake-submit-row-v102 button,
.intake-page-v102 .public-intake-submit-row-v102 button,
.intake-page-v102 .thank-you-button-v102{
  background:var(--qv12-growth)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(1,61,55,.14)!important;
}
.contact-page-v4 .public-intake-submit-row-v102 button::after,
.intake-page-v102 .public-intake-submit-row-v102 button::after,
.intake-page-v102 .thank-you-button-v102::after{
  content:"→";
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--qv12-kinetic);
  color:var(--qv12-growth);
}

/* About: a quiet Light Green bridge, not another bright-green reading panel. */
.about-page-v3 .about-insights-row{
  background:var(--qv12-light)!important;
  border-color:rgba(1,61,55,.10)!important;
}

/* Mobile: accents stay compact and never crowd the reading lane. */
@media(max-width:680px){
  .site-header .btn-nav{min-height:40px!important;padding-left:14px!important}
  .site-header .btn-nav::after{width:27px;height:27px}
  .home-v32 .home-dashboard-summary .home-dashboard-safe::after{right:14px;top:14px;height:34px}
  .home-v32 .home-product-btn>span:last-child,
  .setup-v3 .setup-package-featured .package-cta>span,
  .design-v7 .design-package-sales .design-package-cta>span,
  .qb-guide-v3 .qg-app-btn::after{width:28px;height:28px}
}

@media(prefers-reduced-motion:reduce){
  .site-header .btn-nav::after,
  .home-v32 .home-product-btn>span:last-child{transition:none}
}

/* ---- source: quinbis-visual-refinement-vr12-1m.css ---- */
/* Quinbis VR12.1M — Public Website & Remaining Public Surfaces
   2026-09-18
   White does the heavy lifting. Growth anchors actions. Light Green supports information.
   Kinetic is a compact signal and never a large reading/control surface. */

:root{
  --qv121m-growth:#013D37;
  --qv121m-kinetic:#77D650;
  --qv121m-light:#F0F7E7;
  --qv121m-onyx:#0D0D0D;
  --qv121m-line:rgba(1,61,55,.14);
}

/* Shared public header: quiet Light Green at rest, Growth after scroll. */
.site-header .btn-nav::after{
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}
.site-header:not(.is-scrolled) .btn-nav{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
  border-color:var(--qv121m-line)!important;
}

.setup-v3 .site-header:not(.is-scrolled) .btn-nav{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
  border-color:var(--qv121m-line)!important;
}
.site-header.is-scrolled .btn-nav{
  background:var(--qv121m-growth)!important;
  color:#fff!important;
  border-color:var(--qv121m-growth)!important;
}

/* Directional arrows on Growth primary buttons use the compact Kinetic signature. */
.btn-primary .btn-arrow-lime,
.setup-primary-btn .setup-btn-arrow,
.design-primary-btn .design-btn-arrow{
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}

/* Homepage: only one pale green, with Kinetic kept to a signal. */
.home-v32 .home-dashboard-summary .home-dashboard-safe,
.home-v32 .home-part-grow{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
}
.home-v32 .home-product-btn{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
  border-color:var(--qv121m-line)!important;
}
.home-v32 .home-product-btn>span:last-child{
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}

/* Featured actions sitting on Growth/dark service cards. */
.setup-v3 .setup-package-featured .package-cta,
.design-v7 .design-package-sales .design-package-cta,
.qb-guide-v3 .qg-app-btn{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
  border-color:var(--qv121m-light)!important;
}
.setup-v3 .setup-package-featured .package-cta>span,
.design-v7 .design-package-sales .design-package-cta>span,
.qb-guide-v3 .qg-app-btn::after{
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}

/* Public forms: white/light canvas -> Growth primary; arrows get the Kinetic signal. */
.contact-page-v4 .public-intake-submit-row-v102 button,
.intake-page-v102 .public-intake-submit-row-v102 button,
.intake-page-v102 .thank-you-button-v102,
.thank-you-page-v102 .thank-you-button-v102{
  background:var(--qv121m-growth)!important;
  color:#fff!important;
  border-color:var(--qv121m-growth)!important;
  box-shadow:0 10px 24px rgba(1,61,55,.14)!important;
}
.contact-page-v4 .public-intake-submit-row-v102 button::after,
.intake-page-v102 .public-intake-submit-row-v102 button::after,
.intake-page-v102 .thank-you-button-v102::after{
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}
.thank-you-page-v102 .thank-you-button-v102>span:last-child{
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  flex:0 0 28px;
  border-radius:50%;
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}
.thank-you-page-v102 .thank-you-mark-v102{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
  box-shadow:inset 0 0 0 1px var(--qv121m-line);
}

/* VR12.1M.2 — anything placed on Kinetic uses Growth; never white on Kinetic. */
.site-header .btn-nav::after,
.btn-primary .btn-arrow-lime,
.setup-primary-btn .setup-btn-arrow,
.design-primary-btn .design-btn-arrow,
.home-v32 .home-product-btn>span:last-child,
.setup-v3 .setup-package-featured .package-cta>span:last-child,
.design-v7 .design-package-sales .design-package-cta>span:last-child,
.thank-you-page-v102 .thank-you-button-v102>span:last-child,
.insight-article-page .qa-product-primary>span:last-child,
.insight-article-page .article-product-primary>span:last-child{
  color:var(--qv121m-growth)!important;
}

/* How it works already carries a real arrow in markup. Suppress the legacy generated second arrow. */
.qb-guide-v3 .qg-app-btn::after{
  content:none!important;
  display:none!important;
}
.qb-guide-v3 .qg-app-btn>span:last-child{
  width:30px;
  height:30px;
  display:inline-grid;
  place-items:center;
  flex:0 0 30px;
  border-radius:50%;
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}

/* Insights index keeps its editorial composition; only the featured CTA stops using Kinetic as the button fill. */
.insights-page .featured-insight-read{
  min-height:46px!important;
  padding:0 7px 0 17px!important;
  gap:10px!important;
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
  border:1px solid rgba(240,247,231,.72)!important;
  box-shadow:none!important;
}
.insights-page .featured-insight-read:hover{
  background:var(--qv121m-light)!important;
}
.insights-page .featured-insight-read>span:last-child{
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  flex:0 0 28px;
  border-radius:50%;
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
  transition:transform .18s ease;
}
.insights-page .featured-insight-read:hover>span:last-child{transform:translateX(2px)}

/* About/support/legal remain reading-first. */
.about-page-v3 .about-insights-row{
  background:var(--qv121m-light)!important;
  border-color:var(--qv121m-line)!important;
}
.support-page-v4 .support-topic-grid>a{
  background:#fff;
  border-color:var(--qv121m-line);
}
.support-page-v4 .support-topic-grid>a i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--qv121m-kinetic);
  color:var(--qv121m-growth);
}
.legal-page-v2 .legal-summary{
  background:#fff!important;
  border-left-color:var(--qv121m-kinetic)!important;
}

/* Insights articles: action sits on Growth -> Light Green button, compact Kinetic arrow. */
.insight-article-page .qa-product-primary,
.insight-article-page .article-product-primary{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
  border-color:var(--qv121m-light)!important;
}
.insight-article-page .qa-product-primary>span:last-child,
.insight-article-page .article-product-primary>span:last-child{
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  flex:0 0 28px;
  border-radius:50%;
  background:var(--qv121m-kinetic)!important;
  color:var(--qv121m-growth)!important;
}
.insight-article-page .qa-next-card:focus-visible,
.insights-page .insight-card-read:focus-visible,
.insights-page .featured-insight-read:focus-visible{
  outline:3px solid rgba(119,214,80,.40);
  outline-offset:3px;
}

/* Never let the retired experimental pale-green role return through generic soft surfaces. */
.qv-action--soft,
.qv-surface--soft{
  background:var(--qv121m-light)!important;
  color:var(--qv121m-growth)!important;
}

@media(max-width:680px){
  .support-page-v4 .support-topic-grid>a i,
  .qb-guide-v3 .qg-app-btn>span:last-child,
  .insights-page .featured-insight-read>span:last-child,
  .thank-you-page-v102 .thank-you-button-v102>span:last-child,
  .insight-article-page .qa-product-primary>span:last-child,
  .insight-article-page .article-product-primary>span:last-child{
    width:27px;
    height:27px;
    flex-basis:27px;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-header .btn-nav::after,
  .home-v32 .home-product-btn>span:last-child,
  .qb-guide-v3 .qg-app-btn>span:last-child,
  .insights-page .featured-insight-read>span:last-child{transition:none!important}
}

/* W1 — Public Website Shared Foundation
   One public header, one current-state language, and one mobile navigation contract. */
.site-header .desktop-nav a[aria-current="page"]::after{right:0}
.site-header:not(.is-scrolled) .desktop-nav a[aria-current="page"]{color:#fff!important}
.site-header.is-scrolled .desktop-nav a[aria-current="page"]{color:var(--qv121m-growth)!important}

.site-header .mobile-menu{max-height:calc(100svh - 64px);overflow:auto;overscroll-behavior:contain}
.site-header .mobile-menu a{align-items:center;gap:18px}
.site-header .mobile-menu a[aria-current="page"]{color:var(--qv121m-kinetic)!important}
.site-header .mobile-menu a[aria-current="page"]::after{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  margin-left:auto;
  border-radius:50%;
  background:var(--qv121m-kinetic);
}
.site-header.is-scrolled .mobile-menu a[aria-current="page"]{color:var(--qv121m-growth)!important}
.site-header.is-scrolled .mobile-menu a[aria-current="page"]::after{background:var(--qv121m-kinetic)}
.site-header.is-menu-open{box-shadow:0 12px 34px rgba(13,13,13,.08)}

.site-header .brand:focus-visible,
.site-header .desktop-nav a:focus-visible,
.site-header .btn-nav:focus-visible,
.site-header .menu-toggle:focus-visible,
.site-header .mobile-menu a:focus-visible,
.site-footer-v2 a:focus-visible{
  outline:3px solid rgba(119,214,80,.48);
  outline-offset:3px;
}
.site-header .menu-toggle[aria-expanded="true"]{border-color:rgba(119,214,80,.58)!important}

@media(max-width:900px){
  .site-header .nav-shell{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
  .site-header .brand{min-width:0}
  .site-header .nav-actions{flex:0 0 auto}
}
@media(max-width:680px){
  .site-header .nav-shell{column-gap:8px}
  .site-header .brand-mark{flex:0 0 auto}
  .site-header .brand-wordmark-v1102{min-width:0}
  .site-header .btn-nav{white-space:nowrap}
  .site-header .mobile-menu{max-height:calc(100svh - 58px)}
}
@media(max-width:360px){
  .site-header .brand-mark{width:44px!important;height:30px!important}
  .site-header .brand-wordmark-v1102{width:88px!important}
  .site-header .btn-nav{min-height:34px!important;padding:0 10px!important;font-size:10.5px!important}
  .site-header .menu-toggle{width:34px!important;height:34px!important}
}
