/* Shared finish: typography, quiet surfaces, and explicit interaction states. */
@font-face {
  font-family: "WDG Manrope";
  src: url("../fonts/manrope-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "WDG Open Sans";
  src: url("../fonts/open-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
}
html[data-theme] {
  --refine-heading: "WDG Manrope", "Segoe UI", sans-serif;
  --refine-text: "WDG Open Sans", "Segoe UI", sans-serif;
  --v245-shadow: 0 3px 12px rgb(0 0 0 / 12%);
  --v245-shadow-hover: 0 10px 26px rgb(0 0 0 / 20%);
  --v245-shadow-panel: 0 4px 20px rgb(0 0 0 / 10%);
}
html[data-theme="light"] {
  --v245-shadow: 0 3px 10px rgb(20 45 55 / 6%);
  --v245-shadow-hover: 0 10px 26px rgb(20 45 55 / 11%);
  --v245-shadow-panel: 0 4px 20px rgb(20 45 55 / 6%);
}
html[data-theme] body {
  font-family: var(--refine-text);
}
html[data-theme] body :is(h1,h2,h3,.brand,.footer-brand,.entry-card-title,.welcome-choice-title) {
  font-family: var(--refine-heading) !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}
html[data-theme] body main :is(h1,h2,h3) {
  overflow-wrap: break-word;
}
html[data-theme] body main :is(.section-intro,.services-v177-section-head,.growth-section-intro,.galaxy-intake-section-heading,.snapshot-copy,.home-conversion-copy) h2 {
  font-size: 36px !important;
  line-height: 1.18 !important;
}
html[data-theme] body main :is(.service-estimate-card,.summary-card,.galaxy-intake-sidebar,.service-detail-panel,.service-builder-panel) h2 {
  font-size: 26px !important;
  line-height: 1.25 !important;
}
html[data-theme] body main :is(.standalone-service-card,.service-menu-card,.galaxy-intake-route) h3 {
  font-size: 22px !important;
  line-height: 1.25 !important;
}
html[data-theme] body main .standalone-service-card .service-card-glow {
  display: none !important;
}
html[data-theme] body main .standalone-service-card::before {
  background: none !important;
}
html[data-theme] body main .standalone-service-card {
  padding: 24px !important;
}
html[data-theme] body main .standalone-service-card .card-action-row {
  gap: 8px;
  flex-wrap: wrap;
}
html[data-theme] body main .standalone-service-card .card-action-row a {
  padding: 9px 11px !important;
  line-height: 1.35 !important;
}
html[data-theme] body main .standalone-service-card .card-action-row a + a {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Readable trust summary with the same scale as surrounding sections. */
html[data-theme] body #project-protection .home-trust-shell {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 32px;
  align-items: start;
}
html[data-theme] body #project-protection .home-trust-intro {
  padding: 8px 16px 8px 0 !important;
}
html[data-theme] body #project-protection .home-trust-intro h2 {
  max-width: 24ch;
  font-size: 36px !important;
  line-height: 1.18 !important;
}
html[data-theme] body #project-protection .home-trust-intro > p:not(.eyebrow) {
  max-width: 49ch;
}
html[data-theme] body #project-protection .home-trust-links > a {
  min-height: 190px;
  padding: 22px !important;
}

/* Stationary navigation, clearly outlined appearance controls. */
html[data-theme] body .site-header .brand {
  font-size: 17px !important;
  gap: 10px;
}
html[data-theme] body .site-header .site-nav a {
  font-weight: 650 !important;
}
html[data-theme] body .site-header .theme-light-group-v212 {
  gap: 0;
  border: 1px solid var(--studio-border-dark);
  border-radius: 4px;
  padding: 3px;
  background: var(--studio-header-alt);
}
html[data-theme="light"] body .site-header .theme-light-group-v212 {
  border-color: var(--studio-border);
}
html[data-theme] body .site-header .theme-light-group-v212 .theme-picker-label {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 36px;
}
html[data-theme] body .site-header .theme-picker select {
  color-scheme: dark;
  transition: none !important;
  animation: none !important;
  color: var(--studio-header-text) !important;
  background-color: var(--studio-control) !important;
  font-weight: 650 !important;
  min-height: 30px;
}
html[data-theme="light"] body .site-header .theme-picker select {
  color-scheme: light;
}
html[data-theme] body.professional-studio-v166 .site-header .container.nav-wrap .site-light-toggle-v203.site-light-toggle-v212 {
  min-height: 38px;
  border: 1px solid var(--studio-border-dark) !important;
  border-radius: 3px;
  padding-inline: 10px;
  box-shadow: none !important;
}
html[data-theme="light"] body.professional-studio-v166 .site-header .container.nav-wrap .site-light-toggle-v203.site-light-toggle-v212 {
  border-color: var(--studio-border) !important;
}
html[data-theme] body .site-header .site-light-toggle-state {
  font-size: 10px;
  font-weight: 600;
}
html[data-theme] body.v245-sitewide-ready .site-header {
  box-shadow: 0 3px 16px rgb(0 0 0 / 12%) !important;
}
html[data-theme] body.v245-sitewide-ready .header-discount-banner {
  box-shadow: none !important;
}
html[data-theme] body.v245-sitewide-ready .site-header .nav-cta:is(:hover,:focus-visible) {
  transform: none !important;
}
html[data-theme] body :is(.btn,.package-card-cta,.wizard-actions button,.entry-discount-apply) {
  min-height: 44px;
  font-weight: 700 !important;
}
html[data-theme] body :is(.form,.contact-form) :is(input,textarea,select) {
  font-family: var(--refine-text);
  font-size: 16px;
  line-height: 1.5;
}
html[data-theme] body :is(.form,.contact-form) :is(input,textarea)::placeholder {
  font-weight: 400 !important;
  opacity: 1;
}
html[data-theme] body :is(.form,.contact-form) textarea {
  resize: vertical;
}
html[data-theme] body :is(a,button,input,textarea,select,summary):focus-visible {
  outline-style: solid !important;
  outline-width: 3px !important;
  outline-offset: 3px;
}

/* The contact page leads directly into the brief. */
html[data-theme] body.galaxy-contact-page main .galaxy-intake-hero {
  min-height: 500px;
  max-height: none;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-hero h1 {
  max-width: 18ch;
  font-size: 56px !important;
  line-height: 1.1 !important;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-hero .lead {
  max-width: 56ch;
  font-size: 17px !important;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-hero-inner {
  padding-block: 56px;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-section {
  padding-block: 64px;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-layout {
  gap: 40px;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
}
html[data-theme] body.galaxy-contact-page main .galaxy-project-form {
  padding: 32px !important;
}
html[data-theme] body.galaxy-contact-page main .galaxy-project-form h2 {
  font-size: 32px !important;
  line-height: 1.2 !important;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-sidebar h2 {
  font-size: 24px !important;
  max-width: 24ch;
  line-height: 1.3 !important;
}
html[data-theme] body.galaxy-contact-page main .galaxy-next-panel,
html[data-theme] body.galaxy-contact-page main .galaxy-direct-panel {
  padding: 28px !important;
}
html[data-theme] body.galaxy-contact-page main .galaxy-next-steps li {
  padding-block: 16px;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-routes {
  padding-block: 64px;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-route-grid {
  gap: 16px;
  background: transparent;
  border: 0;
}
html[data-theme] body.galaxy-contact-page main .galaxy-intake-route {
  padding: 24px !important;
}
html[data-theme] body.galaxy-contact-page #project-brief,
html[data-theme] body.galaxy-contact-page #contact-form {
  scroll-margin-top: calc(var(--wdg-header-height, 120px) + 24px);
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-hero:has(#contact-title) {
  background: linear-gradient(90deg, #f3f7f8 0%, #f3f7f8 46%, rgb(243 247 248 / 96%) 55%, rgb(243 247 248 / 8%) 82%), url("../img/services-light-v225/services-hero.webp") center / cover no-repeat !important;
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-hero::before {
  background: none;
  border-color: #ccd9dd;
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-hero :is(h1,.lead,.galaxy-intake-kicker,.galaxy-intake-assurances strong,.galaxy-intake-assurances span) {
  color: #21343d !important;
  -webkit-text-fill-color: #21343d !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-hero .lead {
  max-width: 52ch;
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-hero .galaxy-intake-kicker {
  color: #235e69 !important;
  -webkit-text-fill-color: #235e69 !important;
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-assurances {
  max-width: 700px;
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-assurances li {
  border-color: #aabfc6;
}
html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main #project-brief {
  background: #edf3f5 !important;
}

/* The funnel uses the same type and accent family while keeping pale choices. */
html[data-theme]:has(.funnel-shell) {
  --refine-action: #235e69;
  --refine-action-hover: #174752;
  --blue: var(--refine-action);
  --purple: var(--refine-action);
  --ink: #182b35;
  --muted: #51616c;
  --studio-page: var(--funnel-page, #edf3f5);
  --studio-page-alt: var(--funnel-shell, #ffffff);
  --studio-accent: var(--refine-action);
  --studio-accent-soft: var(--funnel-accent, #317782);
  --studio-metal: #ac925a;
  --studio-border-dark: var(--funnel-edge, #c9d7dc);
  --v245-focus: var(--funnel-accent, #235e69);
}
html[data-theme="solar"]:has(.funnel-shell) { --refine-action: #75501b; --refine-action-hover: #533810; }
html[data-theme="midnight"]:has(.funnel-shell) { --refine-action: #245581; --refine-action-hover: #193d60; }
html[data-theme="nebula"]:has(.funnel-shell) { --refine-action: #644478; --refine-action-hover: #493159; }
html[data-theme="emerald"]:has(.funnel-shell) { --refine-action: #275e45; --refine-action-hover: #194330; }
html[data-theme="crimson"]:has(.funnel-shell) { --refine-action: #803d4b; --refine-action-hover: #5f2834; }
html[data-theme] body:has(.funnel-shell),
html[data-theme] body .funnel-shell :is(button,input,textarea,select) {
  font-family: var(--refine-text) !important;
}
html[data-theme] body .funnel-shell :is(.brand-block strong,.screen-heading h1) {
  font-family: var(--refine-heading) !important;
  font-weight: 750;
  line-height: 1.2;
}
html[data-theme] body .funnel-shell {
  border-color: var(--funnel-edge, #c9d7dc) !important;
}
html[data-theme] body .funnel-shell .brand-block {
  grid-template-columns: 44px minmax(0,1fr) auto;
  gap: 12px;
}
html[data-theme] body .funnel-shell .brand-block img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
html[data-theme] body .funnel-shell .brand-block strong {
  font-size: 17px;
}
html[data-theme] body .funnel-shell .funnel-brand-actions > span {
  display: none;
}
html[data-theme] body .funnel-shell .trust-strip {
  padding: 8px 0;
  border: 0;
  background: transparent;
}
html[data-theme] body .funnel-shell .trust-strip span {
  background: transparent;
  border-radius: 0 !important;
  font-size: 11px;
  font-weight: 650;
}
html[data-theme] body .funnel-shell .trust-strip span + span {
  border-left: 1px solid var(--funnel-edge, #c9d7dc);
}
html[data-theme] body .funnel-shell .screen {
  padding-top: 24px;
}
html[data-theme] body .funnel-shell .option {
  border-width: 1px;
  border-color: #b8c9cf;
  box-shadow: none !important;
  min-height: 80px;
}
html[data-theme] body .funnel-shell .option.selected {
  background: #eff7f6;
  border-color: var(--refine-action) !important;
  box-shadow: 0 0 0 2px var(--refine-action) !important;
}
html[data-theme] body .funnel-shell .option-icon {
  color: var(--refine-action);
  background: #e8f2f3;
  border-radius: 4px;
}
html[data-theme] body .funnel-shell .service-option small {
  color: #526370 !important;
  font-weight: 500;
  line-height: 1.5;
}
html[data-theme] body .funnel-shell .option:hover {
  transform: none !important;
}
html[data-theme] body .funnel-shell .sticky-action button:not(:disabled) {
  background: var(--refine-action);
  color: #fff;
  min-height: 52px;
  font-weight: 700;
  box-shadow: 0 4px 16px rgb(0 0 0 / 12%);
}
html[data-theme] body .funnel-shell .sticky-action button:not(:disabled):is(:hover,:focus-visible) {
  background: var(--refine-action-hover);
}
html[data-theme] body .funnel-shell .icon-button {
  border-radius: 4px;
}
html[data-theme] body .funnel-shell .builder-mode-switch {
  --builder-switch-active: var(--refine-action);
  --builder-switch-active-ink: #fff;
  box-shadow: none;
}
html[data-theme] body .funnel-shell .builder-mode-options strong[aria-current="page"] {
  box-shadow: none;
}

/* Reveal motion cannot hide a long section or a keyboard destination. */
html[data-theme] body.v245-motion-ready main > section.v245-reveal-section {
  opacity: 1;
}
html[data-theme] body.v245-motion-ready main > section.v245-reveal-section:focus-within {
  transform: none;
}
html[data-theme] body :is(.footer,.site-footer) .footer-brand::before {
  background: #080c11 url("../img/website-design-galaxy-logo-v235.png") center / cover no-repeat !important;
  border: 1px solid var(--studio-accent-soft);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  box-shadow: none !important;
}
html[data-theme] body .footer > .footer-maintainer-credit-v216 {
  text-shadow: none !important;
  opacity: 1;
}
@media (max-width: 1000px) {
  html[data-theme] body #project-protection .home-trust-shell {
    grid-template-columns: 1fr;
  }
  html[data-theme] body #project-protection .home-trust-intro h2 {
    max-width: 28ch;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-intake-layout {
    gap: 24px;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-intake-route-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 760px) {
  html[data-theme="light"] body.galaxy-contact-page.v246-studio-ready main .galaxy-intake-hero:has(#contact-title) {
    background: linear-gradient(rgb(243 247 248 / 95%), rgb(243 247 248 / 95%)), url("../img/services-light-v225/services-hero.webp") center / cover no-repeat !important;
  }
  html[data-theme] body .site-header .brand {
    font-size: 13px !important;
  }
  html[data-theme] body .site-header .brand span {
    white-space: normal !important;
  }
  html[data-theme] body .site-header .brand::before {
    flex-shrink: 0;
  }
  html[data-theme] body #project-protection .home-trust-intro {
    padding-inline: 0 !important;
  }
  html[data-theme] body main :is(.section-intro,.services-v177-section-head,.growth-section-intro,.galaxy-intake-section-heading,.snapshot-copy,.home-conversion-copy) h2,
  html[data-theme] body #project-protection .home-trust-intro h2 {
    font-size: 28px !important;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-intake-hero h1 {
    font-size: 38px !important;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-intake-hero-inner {
    padding-block: 40px;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-intake-hero {
    min-height: auto;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-intake-layout {
    grid-template-columns: 1fr;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-project-form,
  html[data-theme] body.galaxy-contact-page main .galaxy-next-panel,
  html[data-theme] body.galaxy-contact-page main .galaxy-direct-panel {
    padding: 24px !important;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-project-form h2 {
    font-size: 28px !important;
  }
  html[data-theme] body.galaxy-contact-page main :is(.galaxy-intake-section,.galaxy-intake-routes) {
    padding-block: 40px;
  }
}
@media (max-width: 480px) {
  html[data-theme] body.galaxy-contact-page main .galaxy-intake-route-grid {
    grid-template-columns: 1fr;
  }
  html[data-theme] body.galaxy-contact-page main .galaxy-field-grid {
    grid-template-columns: 1fr;
  }
  html[data-theme] body .funnel-shell .brand-block {
    grid-template-columns: 40px minmax(0,1fr);
  }
  html[data-theme] body .funnel-shell .brand-block img {
    width: 40px;
    height: 40px;
  }
  html[data-theme] body .funnel-shell .funnel-brand-actions {
    display: flex;
    justify-content: flex-end;
  }
}
