/* Local behavior and captured-state adjustments over the original Square design. */
:root {
  --qg-primary: #087f43;
  --qg-primary-hover: #066536;
  --qg-primary-active: #054f2a;
  --qg-primary-tint: #e5f5ec;
  --qg-primary-inverse: #53d591;
  /* Keep the original component tokens mapped to the Quote Genius palette. */
  --color-blue: var(--qg-primary);
  --color-blue-light: var(--qg-primary);
  --color-blue-dark: var(--qg-primary-hover);
  --color-blue-darker: var(--qg-primary-active);
  --color-royal-blue: var(--qg-primary);
  --color-royal-blue-light: var(--qg-primary);
  --color-royal-blue-dark: var(--qg-primary-hover);
  --color-royal-blue-darker: var(--qg-primary-active);
  --color-link: var(--qg-primary);
  --color-theme: var(--qg-primary);
  --color-theme-focus: var(--qg-primary-hover);
}
.PublicWebNav, .Cart {
  --color-theme: var(--qg-primary) !important;
  --color-theme-focus: var(--qg-primary-hover) !important;
}
.Count.svelte-1nrqte { background-color: var(--qg-primary); }
.MainContentJumpLink.svelte-1fgjz5w { border-color: var(--qg-primary); }
ul.svelte-scptpf li a.svelte-scptpf { color: var(--qg-primary); }
path.svelte-scptpf.svelte-scptpf,
svg.svelte-scptpf.svelte-scptpf { fill: var(--qg-primary); }
svg [stroke="#006aff"] { stroke: var(--qg-primary); }
.badge-pricing-tier {
  --badge-pricing-tier-background-color: var(--qg-primary-tint);
  --badge-pricing-tier-color: var(--qg-primary-hover);
}
.sq-custom-bg-black-link-color:is([class*=LinkComponent]),
.sq-custom-bg-black-link-color:is([class*=LinkComponent]) a,
.sq-custom-bg-black-link-color:is([class*=LinkComponent]) *:is([class*=LinkComponent]),
.sq-custom-bg-black-link-color a:not([class~=button]):not([class*=LinkComponent]) {
  --color-link: var(--qg-primary-inverse);
}
.sq-custom-bg-black-link-color .LinkComponent--video .videoTextContainer,
.HomePageFAQSectionCustomStyles { --icon-color: var(--qg-primary-inverse); }
.sq-custom-outline-video-icon { --color-blue-for-bg-invert: var(--qg-primary-inverse); }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { overflow-x: clip; visibility: visible; }
html { overflow-x: clip; }
:focus-visible { outline: 2px solid var(--qg-primary); outline-offset: 5px; }
button, [role="button"], [role="tab"] { -webkit-tap-highlight-color: transparent; }
.balance-text { text-wrap: balance; }
.HomePageHeroImageCollage h1 { max-width: 510px; }
.HomePageHeroImageCollage .sq-custom-home-page-hero-image-collage-images > * { animation: none !important; }
.HomePageTabSection { opacity: 1 !important; }
.HomePageHeroImageCollage .sq-custom-side-by-side-ctas { flex-direction: row; justify-content: flex-start; }
.HomePageTabSection .tabBar { position: relative; z-index: 5; background: transparent !important; }
.HomePageTabSection .tabBar .ctas { display: none; }
.HomePageProductCombos .rows { height: auto !important; }
.HomePageProductCombos:not(.expanded) .rowsContainer > :nth-child(n+4) { display: none; }
.HomePageProductCombos .toggle { width: fit-content; }
.HomePageProductCombos .sq-custom-number-in-circle { font-variant-ligatures: common-ligatures discretionary-ligatures; }
.SellerProofCarousel .sq-custom-slider { will-change: transform; }
.SellerProofCarousel .carouselButtonNav [role="button"] { cursor: pointer; }
.SellerProofCarousel .carouselButtonNav .disabled { opacity: .4; cursor: default; }
.SellerProofCarousel .LinkComponent--video { display: block; }
.SellerProofCarousel .sq-custom-quote-card { background: #245b47 !important; }
.SellerProofCarousel .sq-custom-stats-card { background: #245b47 !important; }
.HomePageHorizontalStoryCustomSection .story-container .button-right.disabled { opacity: .4; cursor: default; }
.ThreeColVideoSequence .VideoComponent { position: relative; }
.ThreeColVideoSequence .VideoComponent video { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.media-play { position: absolute; right: 18px; bottom: 18px; z-index: 2; width: 24px; height: 24px; border: 1px solid #ffffff66; border-radius: 50%; background: #0009; color: white; padding: 0; font: 10px Arial, sans-serif; cursor: pointer; }
.media-play:hover { background: #000; transform: scale(1.08); }
.MarqueeSection .headings-compact { overflow: hidden; }
.MarqueeSection .headings-compact p { animation: none !important; transform: none; }
.RegisterAnimation .sq-custom-register-animation-video-forward,
.RegisterAnimation .sq-custom-register-animation-video-reverse,
.RegisterAnimation .sq-custom-register-animation-after-content,
.RegisterAnimation .sq-custom-register-animation-after-image { display: none; }
.RegisterAnimation__container { min-height: 960px; }
.RegisterAnimation__container .sq-custom-register-animation-before-image { width: 100%; }
.RegisterAnimation .sq-custom-register-animation-before-image { display: block !important; }
.RegisterAnimation__container .sq-custom-register-animation-before-content { position: absolute; inset: 12% 0 auto; z-index: 4; }
.RegisterAnimation__container .sq-custom-register-animation-before-image img { width: 100%; }
.RegisterAnimation__spotlight { opacity: .65; }
.sq-custom-register-animation-outer-box { overflow: visible !important; }
.qg-devices { --device-top: 0px; background: #030303; color: #fff; }
.qg-devices__stage { position: relative; max-width: 1440px; margin: 0 auto; padding: 40px clamp(20px, 4.4vw, 64px); }
.qg-devices__heading { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.qg-devices__heading h2 { margin: 0; color: white; font: 400 clamp(23px, 2.25vw, 34px)/1.1 'Square Sans Display', sans-serif; letter-spacing: -.035em; }
.qg-devices__skip { flex-shrink: 0; color: #b6c2bb; font-size: 13px; text-decoration: none; }
.qg-devices__skip:hover { color: var(--qg-primary-inverse); }
.qg-device-deck { display: grid; gap: 24px; }
.qg-device-card { display: grid; grid-template-columns: 57% 43%; align-items: center; min-width: 0; min-height: 540px; padding: 40px 44px 40px 20px; border: 0; border-radius: 0; background: transparent; color: #fff; overflow: hidden; transform-origin: 50% 0; }
.qg-device-card__media { display: flex; align-items: center; justify-content: center; align-self: stretch; min-width: 0; min-height: 0; padding: 20px; }
.qg-device-card__media img { display: block; width: 100%; height: 100%; max-height: 520px; object-fit: contain; }
.qg-device-card__copy { padding: 20px 0 20px 28px; }
.qg-device-card__label { margin: 0 0 28px; color: var(--qg-primary-inverse); font-size: 14px; font-weight: 500; }
.qg-device-card h3 { margin: 0 0 24px; font: 400 clamp(36px, 4.15vw, 64px)/1.02 'Square Sans Display', sans-serif; letter-spacing: -.04em; text-wrap: balance; }
.qg-device-card__description { max-width: 360px; margin: 0; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.45; color: #b6c2bb; }
.qg-device-card__caption { margin: 32px 0 0; padding-top: 18px; font-size: 13px; color: #a5b1a9; }
.qg-devices.is-pinned .qg-devices__spacer { height: var(--device-scroll-height); }
.qg-devices.is-pinned .qg-devices__stage { position: sticky; top: var(--device-top); height: calc(100svh - var(--device-top)); display: flex; flex-direction: column; padding-top: 28px; padding-bottom: 24px; overflow: clip; }
.qg-devices.is-pinned .qg-device-deck { position: relative; flex: 1; min-height: 0; perspective: 1800px; clip-path: inset(-24px -20px 0); }
.qg-devices.is-pinned .qg-device-card { position: absolute; inset: 0; min-height: 0; height: 100%; will-change: transform, opacity; }
.qg-devices.is-pinned .qg-device-card__media img { max-height: 100%; }
@media (max-width: 1023px) {
  .qg-devices__stage { padding: 24px; }
  .qg-device-card { padding: 28px 28px 28px 8px; min-height: 460px; }
  .qg-device-card__copy { padding-left: 12px; }
  .qg-device-card__media { padding: 12px; }
  .qg-device-card__label { margin-bottom: 20px; }
  .qg-device-card h3 { font-size: clamp(34px, 4.7vw, 48px); }
  .qg-device-card__caption { margin-top: 24px; }
}
@media (max-width: 767px) {
  .qg-devices__stage { padding: 24px 16px; }
  .qg-devices__heading { margin-bottom: 22px; gap: 14px; }
  .qg-devices__heading h2 { max-width: 205px; font-size: 25px; }
  .qg-devices__skip { max-width: 92px; font-size: 11px; }
  .qg-device-card { grid-template-columns: 1fr; grid-template-rows: auto 1fr; min-height: 560px; padding: 26px 24px 16px; }
  .qg-device-card__copy { grid-row: 1; padding: 0; }
  .qg-device-card__label { margin-bottom: 14px; font-size: 12px; }
  .qg-device-card h3 { font-size: 36px; margin-bottom: 16px; }
  .qg-device-card__description { font-size: 15px; line-height: 1.4; }
  .qg-device-card__caption { margin-top: 16px; padding-top: 12px; font-size: 11px; }
  .qg-device-card__media { padding: 12px 0 0; }
  .qg-device-card__media img { max-height: 300px; }
  .qg-devices.is-pinned .qg-devices__stage { padding-top: 20px; padding-bottom: 16px; }
}
@media (max-width: 360px) {
  .qg-device-card { padding-left: 18px; padding-right: 18px; }
  .qg-device-card h3 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce), (max-height: 699px) {
  .qg-devices .qg-devices__spacer { height: auto !important; }
  .qg-devices .qg-devices__stage { position: relative !important; top: auto; height: auto !important; display: block !important; }
  .qg-devices .qg-device-deck { display: grid; gap: 24px; clip-path: none; }
  .qg-devices .qg-device-card { position: relative !important; height: auto !important; min-height: 440px; transform: none !important; opacity: 1 !important; visibility: visible !important; }
}
.HomePageGradientHaloAnimation .gradients { pointer-events: none; }
.HomePageGradientHaloAnimation .OneColumnSection { background: transparent !important; }
.HomePageIntegrations .sq-custom-integrations-logos-inner { transform: none !important; }
.HomePageIntegrations .sq-custom-integrations-logos-container { opacity: 1 !important; }
.HomePageIntegrations .sq-custom-integrations-logos-outer { mask-image: linear-gradient(transparent, #000 30%, #000 65%, transparent); }
.AccordionItemComponent [role="button"] { display: block; }
.AccordionItemComponent .accordion-body { overflow: hidden; }
.footer-note { padding: 24px max(24px, calc((100% - 1200px) / 2)); margin: 0; width: 100%; background: #030303; color: #929292; font-size: 12px; line-height: 1.6; }
.footer-locale { display: inline-flex; align-items: center; gap: 8px; color: white; font-weight: 500; }
.footer-locale svg { flex-shrink: 0; }
.skip-link { position: fixed; left: 20px; top: -80px; z-index: 200; padding: 14px 20px; background: white; color: var(--qg-primary); }
.skip-link:focus { top: 8px; }
.local-menu { position: fixed; z-index: 100; top: 72px; left: 0; right: 0; max-height: calc(100dvh - 72px); overflow-y: auto; border-top: 1px solid #eee; background: white; box-shadow: 0 24px 40px #0002; }
.menu-inner { position: relative; max-width: 1280px; margin: auto; padding: 44px 64px 56px; }
.menu-inner h2 { font: 400 36px/1.1 'Square Sans Display', sans-serif; margin: 0 0 28px; }
.menu-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 40px; }
.menu-links a { display: block; padding: 14px 0; color: #1a1a1a; font-size: 18px; text-decoration: none; }
.menu-links a:hover { color: var(--qg-primary); }
.menu-close { position: absolute; right: 32px; top: 28px; border: 0; background: none; padding: 12px; cursor: pointer; font: 30px/1 Arial; color: #1a1a1a; }
.local-dialog { border: 0; border-radius: 12px; width: min(600px, calc(100% - 40px)); padding: 44px; color: #1a1a1a; font-family: 'Square Sans Text', sans-serif; }
.local-dialog::backdrop { background: #0008; }
.local-dialog h2 { margin: 0 44px 24px 0; font: 400 36px/1.1 'Square Sans Display', sans-serif; }
.local-dialog p { line-height: 1.6; }
.local-dialog .dialog-close { position: absolute; right: 20px; top: 16px; border: 0; background: transparent; font-size: 28px; padding: 8px; cursor: pointer; }
.local-dialog .dialog-links { display: grid; gap: 18px; margin: 24px 0 0; }
.local-dialog a { color: var(--qg-primary); }
.local-dialog .dialog-links a { text-decoration: none; }
@media (min-width: 1024px) {
  .HomePageHeroImageCollage { padding-top: 60px; padding-bottom: 50px; }
  .HomePageTabSection .tabPanel[aria-hidden="false"]:has(.HomePageHorizontalStoryCustomSection),
  .HomePageTabSection .BoxComponent:has(.HomePageHorizontalStoryCustomSection),
  .HomePageHorizontalStoryCustomSection { overflow: clip !important; display: flow-root; }
  .RegisterAnimation__container { min-height: 1350px; }
  .RegisterAnimation__container .sq-custom-register-animation-before-image { width: 70%; justify-self: center; align-self: start; margin-top: 34px; }
  .RegisterAnimation__container .sq-custom-register-animation-before-content { top: 23%; }
  .FlexLayoutSection.FlexLayoutSection-4GtdTMAWS9edRfKQqksJh3-box-properties { max-height: 335px; overflow: hidden; }
  header .chevron-container { display: none !important; }
  header .title, header a { font-weight: 400 !important; }
  .FooterCategorySubcomponent > .navLinks { height: auto; opacity: 1; overflow: visible; }
  .HomePageHeroImageCollage .sq-custom-home-page-hero-image-collage-images > :first-child { transform: translate(0, -60%); }
  .HomePageHeroImageCollage .sq-custom-home-page-hero-image-collage-images > :nth-child(2) { transform: translate(0, 40%); }
  .HomePageHeroImageCollage .sq-custom-home-page-hero-image-collage-images > :nth-child(3) { transform: translate(75%, 25%); }
}
@media (max-width: 1023px) {
  .HomePageTabSection .tabBar { display: flex !important; flex-wrap: wrap; gap: 12px; padding: 20px 0; height: auto; }
  .HomePageTabSection .tabBar .intro { display: none; }
  .HomePageTabSection .tabBar .tabs { display: flex; gap: 8px; justify-content: center; }
  .HomePageTabSection .tabBar .tabs li { display: block; padding: 10px 14px; margin: 0; font-size: 14px; }
  .HomePageTabSection .tabBarPlaceholder { display: none; }
  .HomePageHeroImageCollage h1 { max-width: 530px; }
  .HomePageHeroImageCollage .sq-custom-home-page-hero-image-collage-images > * { transform: none !important; }
  .HomePageHeroImageCollage .sq-custom-home-page-hero-image-collage-images { align-items: center; }
  .RegisterAnimation__container { min-height: 440px; display: grid; }
  .RegisterAnimation__container .sq-custom-register-animation-before-content { top: 0; position: relative; margin-bottom: 24px; }
  .RegisterAnimation__container .sq-custom-register-animation-before-image { margin-top: 90px; }
  .RegisterAnimation__spotlight { display: block; width: 65vw; }
  .MarqueeSection .headings-compact p { transform: none; }
  .menu-inner { padding: 32px 24px; }
  .local-menu { top: 69px; max-height: calc(100dvh - 69px); }
  .menu-links { grid-template-columns: 1fr 1fr; gap: 8px 20px; }
  .menu-links a { font-size: 16px; }
  .menu-close { right: 12px; top: 16px; }
  .local-dialog { padding: 30px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
