/* Diagnex One Phase 1.1 visual refinement, sourced from Blueprint v3, Chapters 17-23.
   The referenced logo is exact historical source artwork, not an approved final production mark. */

/* Source-aligned artwork. Never rebuild the shield or substitute a fabricated wordmark. */
.wordmark.brand-reference,
.wordmark.brand-reference.wordmark-light {
  font-size: initial;
  letter-spacing: normal;
  font-weight: 400;
  align-items: center;
  display: inline-flex;
  max-width: 100%;
  line-height: 1;
  flex: 0 1 auto;
}
.brand-reference-image { display: block; width: 155px; height: auto; max-width: 100%; object-fit: contain; }
.wordmark-large .brand-reference-image { width: 193px; }
.rail-logo .brand-reference-image { width: 182px; }
.workspace-top-brand .brand-reference-image { width: 151px; }
.onboard-header .brand-reference-image { width: 164px; }
.auth-topbar .brand-reference-image { width: 192px; }
.splash-screen { position: relative; overflow: hidden; }
.splash-halo { position: absolute; width: min(540px,95vw); aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 0 0 72px rgba(175,203,255,.035),0 0 0 145px rgba(175,203,255,.025); background: radial-gradient(circle,rgba(153,186,250,.20),transparent 65%); }
.splash-screen p { position: relative; z-index: 1; }
.splash-logo-panel { background: #fff; padding: 16px 22px; border-radius: 17px; box-shadow: 0 16px 44px rgba(1,7,38,.25); position: relative; z-index: 1; }
.splash-logo-panel .brand-reference-image { width: min(240px,68vw); }

/* Trust-first login: content hierarchy and readable inputs over decorative effects. */
.auth-shell { background: #F7F9FD; }
.auth-topbar { padding-bottom: 24px; gap: 14px; }
.auth-top-badge {
  border: 1px solid #DCE5F1;
  border-radius: 100px;
  background: #FFFFFF;
  color: #4F5D75;
  padding: 8px 11px;
  letter-spacing: .085em;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}
.auth-story { background: linear-gradient(143deg,#061559 0%,#122B79 60%,#315CA5 100%); }
.auth-story h1 { letter-spacing: -.038em; }
.auth-form-head h2 { letter-spacing: -.032em; }
.auth-form-head p, .auth-policy-foot { color: #62718B; }
.auth-paper { box-shadow: 0 15px 48px rgba(6,21,89,.065); }
.policy-copy { color: #606F86; font-size: 11px; line-height: 1.75; }
.form-divider span { color: #74829B; font-size: 10px; }
.help-text { color: #5A6B84; font-size: 11px; }
.social-disabled button { opacity: .8; color: #69758A; }
.auth-policy-foot { line-height: 1.55; }

/* Home: calmer orientation, actionable search and compact catalogue discovery. */
.home-personal { padding-bottom: 24px; }
.home-personal h1 { max-width: 535px; font-size: clamp(28px,3.2vw,35px); letter-spacing: -.034em; line-height: 1.22; margin-bottom: 14px; }
.home-greeting { font-size: 14px; color: #4B5C78; margin-bottom: 7px; }
.location-trigger {
  min-height: 40px;
  border: 1px solid #DCE6F3;
  background: #FFFFFF;
  border-radius: 11px;
  padding: 7px 11px;
  gap: 8px;
  color: #3B4F71;
  transition: border-color var(--press), background var(--press);
}
.location-trigger:hover { background: #F1F6FF; border-color: #B8C9E5; }
.location-trigger svg:last-child { margin-left: 5px; }
.hero-card { background: linear-gradient(125deg,#061559 0%,#11246F 56%,#2452A0 100%); }
.hero-text { padding-bottom: 38px; }
.hero-text p { color: #E4ECFB; }
.hero-cta { min-height: 46px; }
.hero-demo-status {
  display: flex; align-items: center; gap: 6px;
  color: #DAE5FC; font-size: 10.5px; font-weight: 500;
  margin-top: 17px; line-height: 1.4;
}
.hero-demo-status svg { opacity: .9; }
.search-launch { border-color: #D9E4F4; }
.search-launch:focus-visible { outline: 3px solid #2556CC; outline-offset: 2px; }
.category-card { overflow: hidden; }
.category-card:active, .home-service-tile:active { transform: scale(.988); }

/* A compact, source-traceable service preview in place of three overly tall cards. */
.home-service-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.home-service-tile {
  display: flex; flex-direction: column; align-items: flex-start;
  position: relative; gap: 11px; min-width: 0;
  min-height: 158px; padding: 17px;
  border: 1px solid #E4EAF4; background: white; border-radius: 18px;
  box-shadow: var(--shadow-soft);
  transition: transform var(--press), box-shadow var(--press), border-color var(--press);
}
.home-service-tile:hover { border-color: #BECEE9; transform: translateY(-2px); box-shadow: var(--shadow-raised); }
.home-service-tile:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.home-service-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px; flex: none; }
.home-service-text { display: flex; flex-direction: column; min-width: 0; gap: 3px; padding-right: 19px; }
.home-service-type { color: #667A98; font-size: 10px; letter-spacing: .055em; text-transform: uppercase; font-weight: 600; }
.home-service-text strong { color: var(--navy); font-size: 14px; line-height: 1.45; font-weight: 600; overflow-wrap: anywhere; }
.home-service-text small { color: #63738B; font-size: 11px; line-height: 1.4; }
.home-service-next { position: absolute; right: 15px; top: 18px; width: 28px; height: 28px; border: 1px solid #E3EAF4; background: white; border-radius: 50%; color: var(--navy); display: grid; place-items: center; }
.home-discover-section .section-header { margin-bottom: 14px; }

@media (max-width: 880px) {
  .workspace-top-brand .brand-reference-image { width: 164px; }
  .auth-shell-secondary .auth-story { display: none; }
  .auth-shell-secondary .auth-grid { min-height: calc(100vh - 108px); display: flex; justify-content: center; }
  .auth-shell-secondary .auth-form-column { justify-content: flex-start; padding-top: 8px; }
}

@media (max-width: 680px) {
  .auth-shell { padding: 8px 13px 28px; }
  .auth-topbar { padding: 12px 3px 17px; }
  .auth-topbar .brand-reference-image { width: 169px; }
  .auth-top-badge { padding: 8px 9px; letter-spacing: .04em; font-size: 9px; }
  .auth-grid { gap: 11px; }
  .auth-story { min-height: 157px; padding: 19px 23px 20px; border-radius: 20px; }
  .auth-story h1 { font-size: clamp(29px,8vw,34px); line-height: 1.12; margin: 9px 0 9px; }
  .auth-story-copy > p { max-width: 360px; font-size: 11px; line-height: 1.65; }
  .auth-story .kicker { font-size: 9px; letter-spacing: .105em; }
  .auth-paper { padding: 25px 22px 24px; }
  .auth-form-head { margin-bottom: 19px; }
  .auth-form-head h2 { font-size: 25px; line-height: 1.2; margin: 10px 0 8px; }
  .auth-form-head p { font-size: 12px; line-height: 1.6; }
  .form-divider { margin: 20px 0 15px; }
  .social-disabled button { min-height: 44px; }
  .policy-copy { font-size: 10.5px; line-height: 1.7; }
  .auth-policy-foot { margin: 13px 8px 0; text-align: center; font-size: 10px; justify-content: center; }
  .workspace-top { padding: 0 17px; }
  .workspace-top-brand .brand-reference-image { width: 152px; }
  .home-personal { padding: 9px 0 20px; }
  .home-personal h1 { font-size: 28px; max-width: 250px; margin-bottom: 11px; line-height: 1.23; }
  .home-greeting { font-size: 12.5px; margin-bottom: 8px; }
  .home-actions { margin-top: 8px; gap: 9px; }
  .home-actions .icon-button, .home-actions .avatar { width: 44px; height: 44px; }
  .location-trigger { padding: 6px 10px; font-size: 11.5px; min-height: 38px; }
  .hero-card { min-height: 267px; border-radius: 23px; }
  .hero-text { width: 94%; padding: 27px 13px 25px 24px; }
  .hero-text h2 { font-size: 30px; line-height: 1.12; margin: 13px 0 10px; }
  .hero-text p { font-size: 11.5px; line-height: 1.65; max-width: 235px; margin-bottom: 17px; }
  .hero-eyebrow { font-size: 9px; letter-spacing: .09em; }
  .hero-cta { min-height: 43px; padding: 10px 14px; font-size: 12px; }
  .hero-demo-status { font-size: 10px; margin-top: 12px; }
  .hero-art { opacity: .3; right: -70px; }
  .search-intro { margin: 16px 0 14px; }
  .search-launch { min-height: 55px; padding: 0 13px; gap: 11px; }
  .search-launch span { font-size: 11.8px; line-height: 1.5; }
  .search-launch kbd { display: none; }
  .section-block { margin-top: 27px; }
  .section-header { margin-bottom: 12px; }
  .section-header h2 { font-size: 18px; }
  .section-header p { font-size: 11px; line-height: 1.5; }
  .category-card { min-height: 154px; border-radius: 16px; padding: 15px; }
  .category-art { width: 53px; height: 53px; border-radius: 15px; margin-bottom: 10px; }
  .category-art svg { width: 27px; height: 27px; }
  .category-card strong { font-size: 13px; }
  .category-card small { font-size: 10.5px; line-height: 1.4; }
  .home-service-list { grid-template-columns: 1fr; gap: 9px; }
  .home-service-tile { display: grid; grid-template-columns: 43px minmax(0,1fr) 25px; align-items: center; gap: 12px; min-height: 84px; padding: 13px 12px; border-radius: 15px; }
  .home-service-icon { width: 43px; height: 43px; border-radius: 12px; }
  .home-service-text { gap: 2px; padding-right: 0; }
  .home-service-type { font-size: 9px; }
  .home-service-text strong { font-size: 12.6px; line-height: 1.36; }
  .home-service-text small { font-size: 10px; }
  .home-service-next { position: static; width: 25px; height: 25px; }
  .app-footer { margin-top: 34px; }
}

@media (max-width: 390px) {
  .auth-topbar .brand-reference-image { width: 156px; }
  .auth-top-badge { font-size: 8.5px; }
  .workspace-top-brand .brand-reference-image { width: 139px; }
  .home-personal h1 { font-size: 26px; max-width: 236px; }
  .home-actions .icon-button, .home-actions .avatar { width: 40px; height: 40px; }
  .hero-text h2 { font-size: 29px; }
  .hero-text p { max-width: 219px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-service-tile { transition: none; }
}
