/* ============================================================
   PIVOT AIDE TAX — COMPONENTS
   ============================================================ */

/* ---------- Prototype Status Bar ---------- */
.protobar {
  display: none !important;
}

/* ---------- Base & Reset ---------- */
html, body {
  overflow-x: clip;
  max-width: 100%;
}

/* ---------- Topbar & Navigation ---------- */
.topbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  transition: box-shadow var(--transition-fast);
}

.topbar.scrolled {
  box-shadow: 0 4px 20px rgba(12, 29, 40, 0.07);
}

.topbar .in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 68px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: none;
  text-decoration: none;
}

.brand .mark {
  width: 36px;
  height: 36px;
  display: block;
}

.brand .wm {
  font-family: var(--f-display);
  font-weight: 600;
  font-variation-settings: 'SOFT' 20;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.brand .wm span {
  color: var(--blue);
  font-weight: 400;
}

nav.main-nav {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-wrap: nowrap;
}

nav.main-nav a, .nav-item.has-dropdown > a {
  font-family: var(--f-body);
  font-size: 0.84rem;
  font-weight: 400;
  color: var(--ink-2);
  padding: 8px 10px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  border-radius: 2px 2px 0 0;
  transition: all var(--transition-fast);
  text-decoration: none;
}

@media (min-width: 1240px) {
  nav.main-nav a, .nav-item.has-dropdown > a {
    padding: 8px 12px;
    font-size: 0.86rem;
  }
}

nav.main-nav a:hover, .nav-item.has-dropdown > a:hover {
  color: var(--ink);
  background: var(--surface-2);
}

nav.main-nav a.active, .nav-item.has-dropdown > a.active {
  color: var(--ink);
  font-weight: 500;
  border-bottom-color: var(--gold);
}

nav.main-nav a.hot.active, .nav-item.has-dropdown > a.hot.active {
  border-bottom-color: var(--brand);
}

/* ---------- Dropdown Navigation ---------- */
.nav-item.has-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}

.dropdown-chevron {
  transition: transform var(--transition-fast);
  opacity: 0.7;
}

.nav-item.has-dropdown:hover .dropdown-chevron,
.nav-item.has-dropdown:focus-within .dropdown-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 210px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: 0 12px 32px rgba(12, 29, 40, 0.12);
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 150;
}

.nav-item.has-dropdown:hover .dropdown-menu,
.nav-item.has-dropdown:focus-within .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-item {
  display: block;
  padding: 9px 18px;
  font-family: var(--f-body);
  font-size: 0.85rem;
  color: var(--ink-2);
  text-decoration: none;
  transition: all var(--transition-fast);
  border-bottom: none !important;
  border-radius: 0;
}

.dropdown-item:hover {
  background: var(--surface-2);
  color: var(--blue);
  padding-left: 22px;
}

.dropdown-item.active {
  color: var(--blue);
  font-weight: 500;
  background: var(--surface-2);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: none;
}

.nav-actions .tel {
  display: none;
  font-family: var(--f-mono);
  font-size: 0.78rem;
  color: var(--ink-2);
  text-decoration: none;
}

/* ---------- Login / Sign up Button in Topbar ---------- */
.btn-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--f-body);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 8px 18px;
  background: var(--blue);
  color: #FFFFFF !important;
  border-radius: var(--r);
  border: 1px solid var(--blue);
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--transition-fast);
  box-shadow: 0 2px 8px rgba(10, 107, 168, 0.28);
  cursor: pointer;
}

.btn-login:hover {
  background: var(--blue-dk);
  border-color: var(--blue-dk);
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(10, 107, 168, 0.4);
}

.btn-login:active {
  transform: translateY(0);
}

@media (max-width: 480px) {
  .nav-actions {
    gap: 8px;
  }
  .nav-actions .btn-login {
    padding: 6px 12px;
    font-size: 0.78rem;
  }
}

/* ---------- Mobile Drawer Dropdown & Sublinks ---------- */
.mobile-dropdown-group {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--line-2);
  padding: 8px 0;
}

.mobile-group-header {
  font-weight: 500;
}

.mobile-sublinks {
  display: flex;
  flex-direction: column;
  padding-left: 14px;
  gap: 4px;
  margin-top: 4px;
}

.mobile-sublinks a {
  border-bottom: none !important;
  font-size: 0.88rem;
  color: var(--ink-2);
  padding: 6px 0 !important;
}

.mobile-sublinks a:hover {
  color: var(--blue);
}

.nav-actions .tel:hover {
  color: var(--blue);
}

/* Mobile Nav Toggle */
.nav-toggle {
  display: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 10px;
  min-width: 44px;
  min-height: 44px;
  color: var(--ink);
  border-radius: var(--r);
  transition: color var(--transition-fast), background var(--transition-fast);
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
  color: var(--blue);
  background: var(--surface-2);
  outline: none;
}

.nav-toggle svg {
  width: 24px;
  height: 24px;
  display: block;
}

/* Mobile Drawer */
.mobile-drawer {
  position: fixed;
  top: 68px;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--surface);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 24px 20px 40px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(-16px);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
  z-index: 999;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.mobile-drawer.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.mobile-drawer a {
  font-size: 1.05rem;
  padding: 12px 6px;
  border-bottom: 1px solid var(--line-2);
  color: var(--ink);
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease, padding-left 0.2s ease;
}

.mobile-drawer a:hover,
.mobile-drawer a:active {
  color: var(--blue);
  padding-left: 10px;
}

.mobile-drawer a.active {
  color: var(--blue);
  font-weight: 600;
}

.mobile-drawer .mobile-dropdown-group {
  border-bottom: 1px solid var(--line-2);
  padding-bottom: 8px;
}

.mobile-drawer .mobile-sublinks a {
  font-size: 0.95rem;
  padding: 8px 14px;
  border-bottom: none;
  color: var(--ink-2);
}

.mobile-drawer .mobile-sublinks a:hover,
.mobile-drawer .mobile-sublinks a.active {
  color: var(--blue);
  padding-left: 18px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .mobile-drawer {
    background: #081B24;
    border-bottom: 1px solid var(--line);
  }
}

:root[data-theme="dark"] .mobile-drawer {
  background: #081B24;
  border-bottom: 1px solid var(--line);
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: var(--f-body);
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0.005em;
  padding: 12px 22px;
  border-radius: var(--r);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: transform var(--transition-fast), background var(--transition-normal), border-color var(--transition-fast);
}

.btn:active {
  transform: translateY(1px);
}

.btn-p {
  background: var(--blue);
  color: #FFFFFF;
}

.btn-p:hover {
  background: var(--blue-dk);
}

.btn-g {
  background: var(--gold);
  color: #1A1A05;
}

.btn-g:hover {
  background: #F5EF3E;
}

.btn-o {
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}

.btn-o:hover {
  border-color: var(--blue);
  color: var(--blue);
}

.btn-w {
  background: transparent;
  color: var(--night-ink);
  border-color: var(--night-line);
}

.btn-w:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.btn .px {
  font-family: var(--f-mono);
  font-size: 0.8rem;
  opacity: 0.85;
}

/* ---------- Sections ---------- */
section {
  padding: 76px 0;
}

section.tight {
  padding: 54px 0;
}

.sechead {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 38px;
  max-width: 66ch;
}

/* ---------- Night Section ---------- */
.night {
  background: var(--night);
  color: var(--night-ink);
}

.night h1, .night h2, .night h3, .night h4, .night h5, .night h6 {
  color: #FFFFFF;
}

.night .lede {
  color: var(--night-ink-2);
}

.night .grid {
  background: var(--night-line);
  border-color: var(--night-line);
}

.night .card {
  background: var(--night-2);
}

.night .card p {
  color: var(--night-ink-2);
}

.night .card .tag {
  color: var(--night-ink-2);
}

.night .card .tag b {
  color: var(--gold);
}

/* ---------- Door Cards ---------- */
.doors {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.door {
  background: var(--surface);
  padding: 26px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  cursor: pointer;
  text-align: left;
  border: 0;
  font-family: var(--f-body);
  color: var(--ink);
  text-decoration: none;
  transition: background var(--transition-fast);
}

.door:hover {
  background: var(--surface-2);
}

.door .n {
  font-family: var(--f-mono);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  color: var(--blue);
}

.door h3 {
  font-size: 1.08rem;
}

.door p {
  font-size: 0.85rem;
  color: var(--ink-2);
  line-height: 1.55;
  flex: 1;
}

.door .pz {
  font-family: var(--f-mono);
  font-size: 0.78rem;
  color: var(--ink);
  padding-top: 9px;
  border-top: 1px solid var(--line-2);
}

.door .pz i {
  font-style: normal;
  color: var(--ink-3);
}

/* ---------- Price Tables ---------- */
.twrap {
  overflow-x: auto;
  margin-bottom: 24px;
}

.ptab {
  width: 100%;
  border-collapse: collapse;
}

.ptab caption {
  text-align: left;
  font-family: var(--f-mono);
  font-size: 0.66rem;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--blue);
  padding: 26px 0 9px;
  border-bottom: 2px solid var(--ink);
  font-weight: 500;
}

.ptab tr {
  border-bottom: 1px solid var(--line-2);
}

.ptab td {
  padding: 15px 14px 15px 0;
  vertical-align: top;
}

.ptab td.n {
  width: 11rem;
  font-weight: 500;
  font-size: 0.96rem;
  color: var(--ink);
}

.ptab td.d {
  font-size: 0.88rem;
  color: var(--ink-2);
  line-height: 1.55;
}

.ptab td.p {
  width: 8.5rem;
  text-align: right;
  padding-right: 0;
  font-family: var(--f-mono);
  font-variant-numeric: tabular-nums;
  font-size: 1.06rem;
  font-weight: 500;
  color: var(--blue-dk);
  white-space: nowrap;
}

.ptab td.p small {
  display: block;
  font-family: var(--f-mono);
  font-size: 0.62rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 400;
  margin-top: 3px;
}

.night .ptab caption {
  color: var(--gold);
  border-bottom-color: var(--night-line);
}

.night .ptab tr {
  border-bottom-color: var(--night-line);
}

.night .ptab td.n {
  color: #FFFFFF;
}

.night .ptab td.d {
  color: var(--night-ink-2);
}

.night .ptab td.p {
  color: var(--gold);
}

.night .ptab td.p small {
  color: var(--night-ink-2);
}

@media (max-width: 640px) {
  .ptab {
    display: block;
    width: 100%;
  }
  .ptab thead {
    display: none;
  }
  .ptab tbody {
    display: block;
    width: 100%;
  }
  .ptab tr {
    display: flex;
    flex-direction: column;
    padding: 14px 0;
    gap: 4px;
    border-bottom: 1px solid var(--line-2);
  }
  .ptab td {
    display: block;
    width: 100% !important;
    padding: 2px 0 !important;
  }
  .ptab td.n {
    font-size: 0.98rem;
    font-weight: 600;
  }
  .ptab td.p {
    text-align: left;
    margin-top: 4px;
    font-size: 1.1rem;
    white-space: normal;
  }
}

/* ---------- Grid & Cards ---------- */
.grid {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.g2 { grid-template-columns: repeat(2, 1fr); }
.g3 { grid-template-columns: repeat(3, 1fr); }
.g4 { grid-template-columns: repeat(4, 1fr); }

.card {
  background: var(--surface);
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.card p {
  font-size: 0.88rem;
  color: var(--ink-2);
  line-height: 1.56;
}

.card .tag {
  font-family: var(--f-mono);
  font-size: 0.64rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-3);
}

.card .tag b {
  color: var(--blue);
  font-weight: 500;
}

.card .meta {
  font-family: var(--f-mono);
  font-size: 0.68rem;
  color: var(--ink);
  padding-top: 9px;
  margin-top: auto;
  border-top: 1px solid var(--line-2);
}

.card .meta b {
  color: var(--blue-dk);
  font-weight: 500;
}

.night .card .meta {
  color: #FFFFFF;
  border-top-color: var(--night-line);
}

.night .card .meta b {
  color: var(--gold);
}

/* ---------- Tier Blocks ---------- */
.tiers {
  display: flex;
  flex-direction: column;
}

.tier {
  display: grid;
  grid-template-columns: 3.4rem 1fr 10rem;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  border-top: 1px solid var(--night-line);
}

.tier:last-child {
  border-bottom: 1px solid var(--night-line);
}

.tier .k {
  font-family: var(--f-display);
  font-weight: 300;
  font-size: 2.1rem;
  color: var(--gold);
  line-height: 0.9;
}

.tier p {
  color: var(--night-ink-2);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-top: 6px;
}

.tier .pz {
  font-family: var(--f-mono);
  font-size: 0.85rem;
  color: #FFFFFF;
  text-align: right;
  padding-top: 5px;
}

.tier .pz i {
  display: block;
  font-style: normal;
  font-size: 0.63rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--night-ink-2);
  margin-top: 4px;
}

/* ---------- Lists & Ticks ---------- */
ul.ticks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

ul.ticks li {
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--ink-2);
  padding: 10px 0 10px 20px;
  border-bottom: 1px solid var(--line-2);
  position: relative;
}

ul.ticks li:first-child {
  border-top: 1px solid var(--line-2);
}

ul.ticks li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  width: 9px;
  height: 2px;
  background: var(--blue);
}

ul.ticks li b {
  color: var(--ink);
  font-weight: 500;
}

.night ul.ticks li {
  color: var(--night-ink-2);
  border-bottom-color: var(--night-line);
}

.night ul.ticks li:first-child {
  border-top-color: var(--night-line);
}

.night ul.ticks li::before {
  background: var(--gold);
}

.night ul.ticks li b {
  color: #FFFFFF;
}

ul.ticks.tight li {
  font-size: 0.83rem;
  padding: 8px 0 8px 18px;
  line-height: 1.5;
}

ul.ticks.tight li::before {
  top: 15px;
  width: 8px;
}

/* ============================================================
   PRICING SECTION — HIGH-CONTRAST TYPOGRAPHY & CARD ILLUMINATION
   Packages & pricing · Individual tax filing (1040) · Add-ons
   ============================================================ */
#pricing-section {
  position: relative;
  background: var(--ground, #F5F8FB);
  color: var(--ink, #0C1D28);
}

/* Eyebrow: Packages & pricing */
#pricing-section .sechead .eyebrow {
  color: #08557F !important;
  font-family: var(--f-mono, 'JetBrains Mono', monospace) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* Heading: Only pay for the tax work you need. */
#pricing-section .sechead h2 {
  color: #0C1D28 !important;
  font-family: var(--f-display, 'Fraunces', Georgia, serif) !important;
  font-weight: 600 !important;
  letter-spacing: -0.018em !important;
}

/* Lede: Get it right the first time... */
#pricing-section .sechead .lede {
  color: #2D4352 !important;
  font-size: 1.05rem !important;
  line-height: 1.62 !important;
}

/* Category Subheads: Individual tax filing · Form 1040 & Business tax filing */
#pricing-section .eyebrow.dim,
#pricing-section .pricing-subhead,
#pkg-subhead-individual,
#pkg-subhead-business {
  color: #08557F !important;
  font-family: var(--f-mono, 'JetBrains Mono', monospace) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#pricing-section .eyebrow.dim::before,
#pricing-section .pricing-subhead::before,
#pkg-subhead-individual::before,
#pkg-subhead-business::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 3px;
  background: #019FFF;
  border-radius: 2px;
  flex-shrink: 0;
}

/* Package Cards Typography & Contrast */
#pricing-section .pkg {
  background: #FFFFFF !important;
  border: 1px solid #D3E0E9 !important;
  box-shadow: 0 4px 18px rgba(14, 22, 33, 0.04) !important;
  color: #0C1D28 !important;
}

#pricing-section .pkg.flag {
  background: #F0F7FD !important;
  border-color: #A3D4F7 !important;
}

#pricing-section .pkg .nm {
  color: #0C1D28 !important;
  font-weight: 700 !important;
  font-size: 1.22rem !important;
}

#pricing-section .pkg .for {
  color: #2D4352 !important;
  font-weight: 600 !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#pricing-section .pkg .fig {
  color: #08557F !important;
  font-weight: 700 !important;
  font-size: 2.15rem !important;
}

#pricing-section .pkg .fig sup {
  color: #08557F !important;
  font-weight: 600 !important;
}

#pricing-section .pkg ul {
  border-top: 1px solid #E5EDF3 !important;
}

#pricing-section .pkg li {
  color: #2D4352 !important;
  font-size: 0.86rem !important;
  line-height: 1.5 !important;
}

#pricing-section .pkg li b,
#pricing-section .pkg li strong {
  color: #0C1D28 !important;
  font-weight: 700 !important;
}

#pricing-section .pkg li::before {
  background: #019FFF !important;
}

#pricing-section .pkg li.no {
  color: #6E8797 !important;
}

#pricing-section .pkg li.no::before {
  background: #A8C3D2 !important;
  opacity: 0.6 !important;
}

#pricing-section .pkg .btn-o {
  color: #08557F !important;
  border-color: #08557F !important;
  background: transparent !important;
  font-weight: 600 !important;
}

#pricing-section .pkg:hover .btn-o {
  background: #019FFF !important;
  color: #FFFFFF !important;
  border-color: #019FFF !important;
}

#pricing-section .pkg.flag .btn-p {
  background: #08557F !important;
  color: #FFFFFF !important;
  border-color: #08557F !important;
}

#pricing-section .pkg.flag:hover .btn-p {
  background: #019FFF !important;
  border-color: #019FFF !important;
}

/* Pricing Add-ons & Extension Panel */
#pricing-split {
  margin-top: 34px;
}

#addons-panel,
#ext-panel {
  background: #FFFFFF !important;
  border: 1px solid #D3E0E9 !important;
  border-radius: 8px !important;
  padding: 26px 28px !important;
  box-shadow: 0 4px 18px rgba(14, 22, 33, 0.04) !important;
  color: #0C1D28 !important;
}

#addons-panel .eyebrow,
#ext-panel .eyebrow {
  color: #08557F !important;
  font-family: var(--f-mono, 'JetBrains Mono', monospace) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#addons-panel p.small,
#ext-panel p.small {
  color: #2D4352 !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}

#addons-panel ul.ticks li,
#ext-panel ul.ticks li {
  color: #2D4352 !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  border-bottom: 1px solid #E5EDF3 !important;
  transition:
    background 0.22s ease,
    padding-left 0.22s cubic-bezier(0.16, 1, 0.3, 1),
    color 0.2s ease;
  border-radius: 4px;
}

#addons-panel ul.ticks li:first-child,
#ext-panel ul.ticks li:first-child {
  border-top: 1px solid #E5EDF3 !important;
}

#addons-panel ul.ticks li::before,
#ext-panel ul.ticks li::before {
  background: #019FFF !important;
}

#addons-panel ul.ticks li b,
#ext-panel ul.ticks li b {
  color: #0C1D28 !important;
  font-weight: 700 !important;
}

#addons-panel ul.ticks li:hover,
#ext-panel ul.ticks li:hover {
  background: #F0F7FD !important;
  padding-left: 24px;
  color: #0C1D28 !important;
}

#addons-panel ul.ticks li:hover b,
#ext-panel ul.ticks li:hover b {
  color: #08557F !important;
}

#ext-panel .btn-g {
  background: #1F8A54 !important;
  color: #FFFFFF !important;
}

#ext-panel .btn-o,
#ext-panel .btn-w,
#pricing-split .btn-o,
#pricing-split .btn-w {
  color: #0C1D28 !important;
  border-color: #D3E0E9 !important;
  background: #F8FAFC !important;
  font-weight: 600 !important;
}

#ext-panel .btn-o:hover,
#ext-panel .btn-w:hover,
#pricing-split .btn-o:hover,
#pricing-split .btn-w:hover {
  border-color: #019FFF !important;
  color: #08557F !important;
  background: #F0F7FD !important;
}

#pricing-footnote {
  color: #3F5A6B !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
}

/* Dark Mode Theme Support for Pricing Section */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #pricing-section {
    background: var(--ground, #0A2029);
    color: var(--ink, #E6F1F7);
  }

  :root:not([data-theme="light"]) #pricing-section .sechead .eyebrow {
    color: #3FB4FF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .sechead h2 {
    color: #FFFFFF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .sechead .lede {
    color: #A8C3D2 !important;
  }

  :root:not([data-theme="light"]) #pricing-section .eyebrow.dim,
  :root:not([data-theme="light"]) #pricing-section .pricing-subhead,
  :root:not([data-theme="light"]) #pkg-subhead-individual,
  :root:not([data-theme="light"]) #pkg-subhead-business {
    color: #3FB4FF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .eyebrow.dim::before,
  :root:not([data-theme="light"]) #pricing-section .pricing-subhead::before,
  :root:not([data-theme="light"]) #pkg-subhead-individual::before,
  :root:not([data-theme="light"]) #pkg-subhead-business::before {
    background: #019FFF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg {
    background: #0F2B38 !important;
    border-color: #204558 !important;
    color: #E6F1F7 !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg.flag {
    background: #153545 !important;
    border-color: #3FB4FF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg .nm {
    color: #FFFFFF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg .for {
    color: #A8C3D2 !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg .fig {
    color: #7CCBFF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg .fig sup {
    color: #7CCBFF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg ul {
    border-top-color: #1A3948 !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg li {
    color: #DCEBF3 !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg li b,
  :root:not([data-theme="light"]) #pricing-section .pkg li strong {
    color: #FFFFFF !important;
  }

  :root:not([data-theme="light"]) #pricing-section .pkg .btn-o {
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
  }

  :root:not([data-theme="light"]) #addons-panel,
  :root:not([data-theme="light"]) #ext-panel {
    background: #0F2B38 !important;
    border-color: #204558 !important;
    color: #DCEBF3 !important;
  }

  :root:not([data-theme="light"]) #addons-panel .eyebrow,
  :root:not([data-theme="light"]) #ext-panel .eyebrow {
    color: #019FFF !important;
  }

  :root:not([data-theme="light"]) #addons-panel p.small,
  :root:not([data-theme="light"]) #ext-panel p.small {
    color: #DCEBF3 !important;
  }

  :root:not([data-theme="light"]) #addons-panel ul.ticks li,
  :root:not([data-theme="light"]) #ext-panel ul.ticks li {
    color: #DCEBF3 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  :root:not([data-theme="light"]) #addons-panel ul.ticks li:first-child,
  :root:not([data-theme="light"]) #ext-panel ul.ticks li:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  :root:not([data-theme="light"]) #addons-panel ul.ticks li b,
  :root:not([data-theme="light"]) #ext-panel ul.ticks li b {
    color: #FFFFFF !important;
  }

  :root:not([data-theme="light"]) #addons-panel ul.ticks li:hover,
  :root:not([data-theme="light"]) #ext-panel ul.ticks li:hover {
    background: rgba(1, 159, 255, 0.12) !important;
    color: #FFFFFF !important;
  }

  :root:not([data-theme="light"]) #addons-panel ul.ticks li:hover b,
  :root:not([data-theme="light"]) #ext-panel ul.ticks li:hover b {
    color: #FDE047 !important;
  }

  :root:not([data-theme="light"]) #ext-panel .btn-o,
  :root:not([data-theme="light"]) #ext-panel .btn-w,
  :root:not([data-theme="light"]) #pricing-split .btn-o,
  :root:not([data-theme="light"]) #pricing-split .btn-w {
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
    background: rgba(255, 255, 255, 0.06) !important;
  }

  :root:not([data-theme="light"]) #pricing-footnote {
    color: #A8C3D2 !important;
  }
}

:root[data-theme="dark"] #pricing-section {
  background: var(--ground, #0A2029);
  color: var(--ink, #E6F1F7);
}

:root[data-theme="dark"] #pricing-section .sechead .eyebrow {
  color: #3FB4FF !important;
}

:root[data-theme="dark"] #pricing-section .sechead h2 {
  color: #FFFFFF !important;
}

:root[data-theme="dark"] #pricing-section .sechead .lede {
  color: #A8C3D2 !important;
}

:root[data-theme="dark"] #pricing-section .eyebrow.dim,
:root[data-theme="dark"] #pricing-section .pricing-subhead,
:root[data-theme="dark"] #pkg-subhead-individual,
:root[data-theme="dark"] #pkg-subhead-business {
  color: #3FB4FF !important;
}

:root[data-theme="dark"] #pricing-section .eyebrow.dim::before,
:root[data-theme="dark"] #pricing-section .pricing-subhead::before,
:root[data-theme="dark"] #pkg-subhead-individual::before,
:root[data-theme="dark"] #pkg-subhead-business::before {
  background: #019FFF !important;
}

:root[data-theme="dark"] #pricing-section .pkg {
  background: #0F2B38 !important;
  border-color: #204558 !important;
  color: #E6F1F7 !important;
}

:root[data-theme="dark"] #pricing-section .pkg.flag {
  background: #153545 !important;
  border-color: #3FB4FF !important;
}

:root[data-theme="dark"] #pricing-section .pkg .nm {
  color: #FFFFFF !important;
}

:root[data-theme="dark"] #pricing-section .pkg .for {
  color: #A8C3D2 !important;
}

:root[data-theme="dark"] #pricing-section .pkg .fig {
  color: #7CCBFF !important;
}

:root[data-theme="dark"] #pricing-section .pkg .fig sup {
  color: #7CCBFF !important;
}

:root[data-theme="dark"] #pricing-section .pkg ul {
  border-top-color: #1A3948 !important;
}

:root[data-theme="dark"] #pricing-section .pkg li {
  color: #DCEBF3 !important;
}

:root[data-theme="dark"] #pricing-section .pkg li b,
:root[data-theme="dark"] #pricing-section .pkg li strong {
  color: #FFFFFF !important;
}

:root[data-theme="dark"] #pricing-section .pkg .btn-o {
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

:root[data-theme="dark"] #addons-panel,
:root[data-theme="dark"] #ext-panel {
  background: #0F2B38 !important;
  border-color: #204558 !important;
  color: #DCEBF3 !important;
}

:root[data-theme="dark"] #addons-panel .eyebrow,
:root[data-theme="dark"] #ext-panel .eyebrow {
  color: #019FFF !important;
}

:root[data-theme="dark"] #addons-panel p.small,
:root[data-theme="dark"] #ext-panel p.small {
  color: #DCEBF3 !important;
}

:root[data-theme="dark"] #addons-panel ul.ticks li,
:root[data-theme="dark"] #ext-panel ul.ticks li {
  color: #DCEBF3 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

:root[data-theme="dark"] #addons-panel ul.ticks li:first-child,
:root[data-theme="dark"] #ext-panel ul.ticks li:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

:root[data-theme="dark"] #addons-panel ul.ticks li b,
:root[data-theme="dark"] #ext-panel ul.ticks li b {
  color: #FFFFFF !important;
}

:root[data-theme="dark"] #addons-panel ul.ticks li:hover,
:root[data-theme="dark"] #ext-panel ul.ticks li:hover {
  background: rgba(1, 159, 255, 0.12) !important;
  color: #FFFFFF !important;
}

:root[data-theme="dark"] #addons-panel ul.ticks li:hover b,
:root[data-theme="dark"] #ext-panel ul.ticks li:hover b {
  color: #FDE047 !important;
}

:root[data-theme="dark"] #ext-panel .btn-o,
:root[data-theme="dark"] #ext-panel .btn-w,
:root[data-theme="dark"] #pricing-split .btn-o,
:root[data-theme="dark"] #pricing-split .btn-w {
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

:root[data-theme="dark"] #pricing-footnote {
  color: #A8C3D2 !important;
}

/* ---------- Callouts & Uncle Pat Quotes ---------- */
.callout {
  border-left: 3px solid var(--gold);
  background: var(--surface-2);
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-radius: 0 var(--r) var(--r) 0;
}

.callout .h {
  font-family: var(--f-mono);
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--blue-dk);
}

.callout p {
  font-size: 0.9rem;
  color: var(--ink-2);
  line-height: 1.6;
}

.night .callout {
  background: rgba(255, 255, 255, 0.055);
  border-left-color: var(--gold);
}

.night .callout .h {
  color: var(--gold);
}

.night .callout p {
  color: var(--night-ink-2);
}

.patsays {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px 24px;
  background: var(--surface-2);
  border-left: 3px solid var(--brand);
  border-radius: 0 var(--r) var(--r) 0;
}

.patsays svg, .patsays img {
  width: 64px;
  height: 64px;
}

.patsays q {
  font-family: var(--f-display);
  font-weight: 300;
  font-size: 1.24rem;
  line-height: 1.4;
  color: var(--ink);
  quotes: none;
  display: block;
}

.patsays .who {
  font-family: var(--f-mono);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: 9px;
}

.night .patsays {
  background: rgba(255, 255, 255, 0.055);
  border-left-color: var(--gold);
}

.night .patsays q {
  color: #FFFFFF;
}

.night .patsays .who {
  color: var(--night-ink-2);
}

/* ---------- Split & Bridge ---------- */
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: start;
}

.split.wide {
  grid-template-columns: 1.15fr 0.85fr;
}

.bridge {
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 34px 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}

.bridge h3 {
  font-size: 1.5rem;
  font-weight: 400;
}

.bridge p {
  font-size: 0.92rem;
  color: var(--ink-2);
  margin-top: 8px;
  max-width: 56ch;
}

/* ---------- Forms & Inputs ---------- */
.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.form-label {
  font-family: var(--f-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-2);
}

.form-control {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  border-radius: var(--r);
  font-size: 0.9rem;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.form-control:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(1, 159, 255, 0.15);
}

/* ---------- Modal ---------- */
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7, 32, 46, 0.65);
  backdrop-filter: blur(4px);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.modal-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.modal-panel {
  background: var(--surface);
  color: var(--ink);
  width: 100%;
  max-width: 580px;
  border-radius: var(--r-md);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  border: 1px solid var(--line);
  transform: translateY(12px) scale(0.98);
  transition: transform 0.22s ease;
}

.modal-backdrop.open .modal-panel {
  transform: translateY(0) scale(1);
}

.modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.modal-body {
  padding: 24px;
}

.modal-close {
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--ink-3);
  font-size: 1.4rem;
  padding: 4px;
}

/* ---------- Footer ---------- */
footer {
  background: var(--night);
  color: var(--night-ink-2);
  padding: 56px 0 42px;
}

footer .cols {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
}

footer h4 {
  font-family: var(--f-mono);
  font-size: 0.65rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 14px;
}

footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

footer li a {
  font-size: 0.83rem;
  color: var(--night-ink-2);
  transition: color var(--transition-fast);
}

footer li a:hover {
  color: #FFFFFF;
}

footer .fine {
  margin-top: 38px;
  padding-top: 20px;
  border-top: 1px solid var(--night-line);
  font-size: 0.74rem;
  line-height: 1.65;
  color: var(--night-ink-2);
  max-width: 90ch;
}

footer .wm {
  font-family: var(--f-display);
  font-size: 1.05rem;
  color: #FFFFFF !important;
  font-weight: 600;
}

/* ---------- Resource Cards Grid ---------- */
.res {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.res a, .res .res-card {
  background: var(--surface);
  padding: 16px 18px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: background var(--transition-fast);
}

.res a:hover, .res .res-card:hover {
  background: var(--surface-2);
}

.res .t {
  font-weight: 500;
  font-size: 0.92rem;
  color: var(--ink);
}

.res .u {
  font-family: var(--f-mono);
  font-size: 0.68rem;
  color: var(--blue);
  word-break: break-all;
}

.res p {
  font-size: 0.8rem;
  color: var(--ink-2);
  line-height: 1.5;
  margin: 0;
}

/* Responsive Media Queries */
@media (max-width: 980px) {
  .doors, .g4, .g3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .split, .split.wide {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .bridge {
    grid-template-columns: 1fr;
  }
  footer .cols {
    grid-template-columns: repeat(2, 1fr);
  }
  nav.main-nav {
    display: none;
  }
  .nav-toggle {
    display: block;
  }
}

@media (max-width: 620px) {
  section {
    padding: 52px 0;
  }
  .doors, .g4, .g3, .g2 {
    grid-template-columns: 1fr;
  }
  .tier {
    grid-template-columns: 2.6rem 1fr;
  }
  .tier .pz {
    grid-column: 2;
    text-align: left;
    padding-top: 10px;
  }
  .patsays {
    grid-template-columns: 1fr;
  }
  footer .cols {
    grid-template-columns: 1fr;
  }
}

/* ---------- How It Works: Medallion Flow ---------- */
.flow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 26px;
  position: relative;
}
.flow:before {
  content: '';
  position: absolute;
  top: 60px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: var(--line);
  z-index: 0;
  opacity: 0.4;
}
.night .flow:before {
  background: var(--night-line);
  opacity: 0.3;
}
.flow-laser-conduit {
  position: absolute;
  top: 59px;
  left: 10%;
  width: 80%;
  height: 3px;
  background: linear-gradient(90deg, #019FFF 0%, #EAE42F 50%, #019FFF 100%);
  box-shadow: 0 0 10px #019FFF, 0 0 22px rgba(1, 159, 255, 0.8), 0 0 35px rgba(234, 228, 47, 0.5);
  border-radius: 2px;
  pointer-events: none;
  z-index: 1;
  transform-origin: left center;
}
.flow .st {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 13px;
}
.flow .st:hover {
  transform: translateY(-4px);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.flow .med {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  flex: none;
  position: relative;
  z-index: 2;
  border: 2px solid var(--gold);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  box-shadow: 0 0 0 7px var(--ground);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.night .flow .med {
  background: var(--night-2);
  box-shadow: 0 0 0 7px var(--night);
}
.flow .st:hover .med {
  border-color: #FFFFFF;
  box-shadow:
    0 0 0 7px var(--ground),
    0 8px 24px rgba(234, 228, 47, 0.2),
    0 0 25px rgba(1, 159, 255, 0.45);
}
.night .flow .st:hover .med {
  border-color: #FFFFFF;
  box-shadow:
    0 0 0 7px var(--night),
    0 8px 24px rgba(234, 228, 47, 0.25),
    0 0 25px rgba(1, 159, 255, 0.45);
}
.flow .med .a, .flow .med .c {
  font-family: var(--f-mono);
  font-size: 0.55rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-3);
  line-height: 1.25;
}
.night .flow .med .a, .night .flow .med .c {
  color: var(--night-ink-2);
}
.flow .med .b {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: -0.012em;
  color: var(--ink);
  line-height: 1.05;
}
.night .flow .med .b {
  color: #FFFFFF;
}
.flow .n {
  font-family: var(--f-mono);
  font-size: 0.6rem;
  letter-spacing: 0.17em;
  color: var(--gold-dp);
}
.night .flow .n {
  color: var(--gold);
}
.flow h3 {
  font-size: 1rem;
  line-height: 1.28;
}
.night .flow h3 {
  color: #FFFFFF;
}
.flow p {
  font-size: 0.82rem;
  color: var(--ink-2);
  line-height: 1.55;
}
.night .flow p {
  color: var(--night-ink-2);
}

@media (max-width: 1080px) {
  .flow {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 36px;
  }
  .flow:before {
    display: none;
  }
}
@media (max-width: 700px) {
  .flow {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 460px) {
  .flow {
    grid-template-columns: 1fr;
  }
}

/* ---------- Case Study: Figs Table & KPI ---------- */
.figs {
  width: 100%;
  border-collapse: collapse;
}
.figs caption {
  text-align: left;
  font-family: var(--f-mono);
  font-size: 0.66rem;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--blue);
  padding: 26px 0 8px;
  font-weight: 500;
  border-bottom: 2px solid var(--ink);
}
.figs tr {
  border-bottom: 1px solid var(--line-2);
}
.figs th {
  text-align: left;
  font-weight: 400;
  font-size: 0.86rem;
  color: var(--ink-2);
  padding: 11px 16px 11px 0;
  line-height: 1.45;
}
.figs th small {
  display: block;
  font-size: 0.72rem;
  color: var(--ink-3);
  margin-top: 2px;
}
.figs td {
  text-align: right;
  padding: 11px 0;
  white-space: nowrap;
  vertical-align: top;
  font-family: var(--f-mono);
  font-variant-numeric: tabular-nums;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--blue-dk);
}
.figs td small {
  display: block;
  font-family: var(--f-body);
  font-size: 0.68rem;
  color: var(--ink-3);
  font-weight: 300;
  margin-top: 2px;
  white-space: normal;
}

.ba, .kpi {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.ba {
  grid-template-columns: 1fr 1fr;
}
.kpi {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 22px;
}
.ba > div, .kpi > div {
  background: var(--surface);
  padding: 24px 22px;
}
.ba .k, .kpi .k {
  font-family: var(--f-mono);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  display: block;
}
.ba .v, .kpi .v {
  font-family: var(--f-display);
  font-weight: 300;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 12px 0 10px;
}
.ba .v {
  font-size: clamp(2.1rem, 4.4vw, 3rem);
}
.kpi .v {
  font-size: clamp(1.7rem, 3.2vw, 2.3rem);
}
.ba p, .kpi p {
  font-size: 0.83rem;
  color: var(--ink-2);
  line-height: 1.55;
}
.ba .after {
  background: var(--surface-2);
}
.ba .after .v {
  color: var(--blue-dk);
}
.kpi .tot {
  background: var(--surface-2);
}
.kpi .tot .v {
  color: var(--blue-dk);
}

@media (max-width: 700px) {
  .ba, .kpi {
    grid-template-columns: 1fr;
  }
}

.colhead-n {
  font-family: var(--f-mono);
  font-size: 0.66rem;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  padding-bottom: 8px;
  margin-bottom: 14px;
  border-bottom: 2px solid var(--gold);
  color: var(--gold);
}

.date-stamp {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 12px;
  background: rgba(234, 228, 47, 0.1);
  border: 1px solid rgba(234, 228, 47, 0.3);
  border-radius: 20px;
  font-family: var(--f-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-transform: uppercase;
}

.callout.w-note, .w-note {
  background: rgba(255, 255, 255, 0.055);
  border-left-color: var(--gold);
}
.callout.w-note .h, .w-note .h {
  color: var(--gold);
}
.callout.w-note p, .w-note p {
  color: var(--night-ink-2);
}

ul.ticks.lime li:before {
  background: var(--gold-dp);
}

/* ---------- Legal Documents (Policy Pages) ---------- */
.legal-content {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 42px 36px;
  color: var(--ink);
  line-height: 1.75;
  font-size: 0.95rem;
  box-shadow: 0 4px 16px rgba(12, 29, 40, 0.04);
}

.legal-content h2 {
  font-size: 1.32rem;
  font-weight: 600;
  color: var(--blue-dk);
  margin: 32px 0 12px;
  border-bottom: 1px solid var(--line-2);
  padding-bottom: 8px;
}

.legal-content h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink);
  margin: 22px 0 8px;
}

.legal-content p {
  margin: 0 0 16px;
  color: var(--ink-2);
}

.legal-content ul, .legal-content ol {
  margin: 0 0 20px 20px;
  padding: 0;
  color: var(--ink-2);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.legal-content li {
  line-height: 1.6;
}

.legal-content strong {
  color: var(--ink);
}

.legal-content a {
  color: var(--blue);
  text-decoration: underline;
}

.legal-content hr {
  border: none;
  border-top: 1px solid var(--line-2);
  margin: 32px 0;
}

/* ---------- Enhanced Legal Policy Pages UI/UX ---------- */
.legal-badge-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.legal-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  padding: 4px 12px;
  font-family: var(--f-mono);
  font-size: 0.72rem;
  color: var(--night-ink-2);
  letter-spacing: 0.02em;
}

.legal-badge.gold {
  border-color: rgba(234, 228, 47, 0.35);
  color: var(--gold);
  background: rgba(234, 228, 47, 0.08);
}

.legal-toc-bar {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 56px;
  z-index: 90;
  box-shadow: 0 4px 12px rgba(12, 29, 40, 0.04);
}

.legal-toc-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  padding: 10px 0;
  align-items: center;
}

.legal-toc-link {
  font-family: var(--f-body);
  font-size: 0.76rem;
  font-weight: 500;
  color: var(--ink-2);
  text-decoration: none;
  padding: 5px 12px;
  border-radius: 14px;
  background: var(--surface-2);
  border: 1px solid var(--line-2);
  white-space: nowrap;
  transition: all var(--transition-fast);
}

.legal-toc-link:hover {
  background: var(--blue-light);
  color: var(--blue);
  border-color: rgba(1, 159, 255, 0.35);
}

.legal-toc-link:focus,
.legal-toc-link:active,
.legal-toc-link.active {
  background: var(--blue-light);
  color: var(--blue);
  border-color: var(--blue);
}

.legal-content [id] {
  scroll-margin-top: 130px;
}

@media (max-width: 640px) {
  .legal-toc-list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0;
    scrollbar-width: thin;
    scrollbar-color: var(--line-2) transparent;
  }
  .legal-toc-list::-webkit-scrollbar {
    display: block;
    height: 3px;
  }
  .legal-toc-list::-webkit-scrollbar-track {
    background: transparent;
  }
  .legal-toc-list::-webkit-scrollbar-thumb {
    background: var(--line-2);
    border-radius: 3px;
  }
}

.legal-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(12, 29, 40, 0.05);
  padding: 48px 44px;
  margin: 32px 0 64px;
}

.legal-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 20px 0 28px;
}

.legal-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--ground);
  border: 1px solid var(--line-2);
  border-radius: 8px;
}

.legal-contact-item .icon {
  width: 20px;
  height: 20px;
  color: var(--blue);
  flex-shrink: 0;
  margin-top: 2px;
}

.legal-contact-item .meta-label {
  font-family: var(--f-mono);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
  margin-bottom: 2px;
}

.legal-contact-item .meta-val {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.4;
}

.legal-category-card {
  background: var(--ground);
  border: 1px solid var(--line-2);
  border-radius: 8px;
  padding: 22px 24px;
  margin-bottom: 18px;
}

.legal-category-card h3 {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  font-size: 1.05rem;
  color: var(--blue-dk);
}

.legal-callout-shield {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 24px 0;
  color: #166534;
}

.legal-callout-shield.blue {
  background: var(--blue-light);
  border-color: rgba(1, 159, 255, 0.25);
  color: #08557F !important;
}

.legal-callout-shield.blue p {
  color: #08557F !important;
}

.legal-callout-shield p {
  margin: 0 !important;
  font-weight: 600;
  font-size: 0.95rem;
  color: inherit !important;
}

.legal-contact-banner {
  background: linear-gradient(135deg, var(--night) 0%, var(--night-2) 100%);
  border: 1px solid var(--night-line);
  border-radius: 12px;
  padding: 32px 36px;
  color: #FFFFFF;
  margin-top: 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.legal-contact-banner h3 {
  color: #FFFFFF !important;
  margin: 0 0 6px 0;
  font-size: 1.25rem;
}

.legal-contact-banner p {
  color: var(--night-ink-2) !important;
  margin: 0;
  font-size: 0.88rem;
}

.legal-contact-banner .banner-btns {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .legal-card {
    padding: 28px 20px;
  }
  .legal-contact-grid {
    grid-template-columns: 1fr;
  }
  .legal-contact-banner {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ============================================================
   IMAGE INTEGRATION — bands, panels, split layouts
   ============================================================ */

/* Full-bleed photo band — image sits behind a colour overlay
   so it stays inside the palette rather than fighting it.
   Usage: <div class="imgband" style="--img:url('Pics/...')"> */
.imgband {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.imgband::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--img);
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  transition: transform 8s ease;
  filter: saturate(0.7) brightness(0.6);
}
.imgband:hover::before {
  transform: scale(1.0);
}
/* Night (dark navy) tint over the photo */
.imgband::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 28, 40, 0.82) 0%,
    rgba(10, 28, 40, 0.58) 55%,
    rgba(10, 28, 40, 0.72) 100%
  );
}
.imgband .imgband-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--shell-max, 1200px);
  margin: 0 auto;
  padding: 64px 24px;
  color: #fff;
}

/* Gold accent tint variant */
.imgband.gold-tint::after {
  background: linear-gradient(
    135deg,
    rgba(10, 28, 40, 0.80) 0%,
    rgba(190, 155, 18, 0.28) 100%
  );
}

/* Blue accent tint variant */
.imgband.blue-tint::after {
  background: linear-gradient(
    135deg,
    rgba(10, 28, 40, 0.80) 0%,
    rgba(1, 90, 160, 0.38) 100%
  );
}

/* Slim band — shorter height, good for section dividers */
.imgband.slim {
  min-height: 220px;
}

/* Tall band */
.imgband.tall {
  min-height: 460px;
}

/* ---- Image + Text Split ---- */
.img-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 420px;
  overflow: hidden;
}
.img-split .img-col {
  position: relative;
  overflow: hidden;
}
.img-split .img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.75) brightness(0.85);
  transition: transform 6s ease, filter 0.4s ease;
}
.img-split .img-col::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(10,28,40,0.15) 0%, rgba(10,28,40,0.0) 100%);
  pointer-events: none;
}
.img-split:hover .img-col img {
  transform: scale(1.04);
  filter: saturate(0.85) brightness(0.9);
}
.img-split .text-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 56px 48px;
  background: var(--surface);
}
.img-split.night-side .text-col,
.img-split .text-col.night-side,
.img-split .text-col.night {
  background: var(--night);
  color: var(--night-ink);
}
.img-split.night-side .text-col h2,
.img-split .text-col.night-side h2,
.img-split .text-col.night h2 {
  color: #FFFFFF !important;
}
.img-split.night-side .text-col ul.ticks li,
.img-split .text-col.night-side ul.ticks li,
.img-split .text-col.night ul.ticks li {
  color: var(--night-ink-2);
  border-top-color: rgba(255,255,255,0.08);
}
.img-split.night-side .text-col ul.ticks li::before,
.img-split .text-col.night-side ul.ticks li::before,
.img-split .text-col.night ul.ticks li::before {
  color: var(--gold);
}
.img-split.img-right {
  direction: rtl;
}
.img-split.img-right > * {
  direction: ltr;
}

/* ---- Photo accent strip — full-width thin banner ---- */
.photo-strip {
  position: relative;
  height: 180px;
  overflow: hidden;
}
.photo-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  display: block;
  filter: saturate(0.65) brightness(0.55);
}
.photo-strip::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.18) 0%,
    rgba(10,28,40,0.55) 100%
  );
}

/* Responsive */
@media (max-width: 860px) {
  .img-split {
    grid-template-columns: 1fr;
  }
  .img-split .img-col {
    min-height: 260px;
  }
  .img-split .text-col {
    padding: 40px 28px;
  }
  .imgband {
    min-height: 260px;
  }
  .imgband.tall {
    min-height: 340px;
  }
  .imgband.slim {
    min-height: 160px;
  }
}

/* ============================================================
   IRS DOCUMENT PARALLAX & STRATEGIC PLAYBOOK TRANSITION
   Luxury B2B Fintech Paper Physics & Tactile Geometry (Soraban-style)
   ============================================================ */

/* Strategic Transition Wrapper */
.doc-strategic-wrapper {
  position: relative;
  width: 100%;
  background: var(--night-1, #081D29);
  overflow: visible;
}

/* 1. IRS Document Pinned Banner */
.doc-pinned-banner {
  position: relative;
  width: 100%;
  height: 60vh;
  min-height: 440px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  background: #061520;
  contain: paint;
}

/* Angled IRS Form 1040/1120 background texture on deep parallax plane */
.doc-banner-parallax {
  position: absolute;
  top: -20%;
  left: -5%;
  width: 110%;
  height: 140%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.05) rotate(-1.5deg);
  transform-origin: 50% 50%;
  filter: saturate(0.68) contrast(1.15) brightness(0.62);
  will-change: transform;
  pointer-events: none;
  z-index: 0;
}

/* Luxury lighting & depth gradient over paper document */
.doc-banner-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: 
    radial-gradient(ellipse at 50% 45%, rgba(10, 28, 40, 0.6) 0%, rgba(6, 21, 32, 0.94) 100%),
    linear-gradient(135deg, rgba(10, 28, 40, 0.85) 0%, rgba(190, 155, 18, 0.22) 100%),
    linear-gradient(180deg, rgba(6, 21, 32, 0.3) 0%, rgba(8, 29, 41, 0.95) 100%);
}

/* Document Headline & Accent content (locks & fades) */
.doc-banner-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--shell-max, 1200px);
  margin: 0 auto;
  padding: 48px 24px;
  text-align: center;
  will-change: opacity, transform;
}

.doc-banner-eyebrow {
  font-family: var(--f-mono);
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold, #EAE42F);
  margin: 0 0 14px;
  text-shadow: 0 0 12px rgba(234, 228, 47, 0.3);
}

.doc-banner-headline {
  color: #FFFFFF;
  margin: 0;
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 2.8vw, 2.25rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.doc-gold-accent {
  color: var(--gold, #EAE42F);
  font-style: normal;
  display: inline-block;
  text-shadow: 0 0 16px rgba(234, 228, 47, 0.25);
}

/* 2. Playbook Stage: Rising Tactile Sheet */
.playbook-stage {
  position: relative;
  z-index: 2;
  background: var(--night-1, #081D29);
  padding: 80px 0 100px;
  box-shadow: 0 -25px 60px -10px rgba(2, 10, 16, 0.8), 0 -1px 0 rgba(255, 255, 255, 0.08);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Masked upward drift wrappers */
.playbook-mask {
  overflow: hidden;
  display: block;
  padding: 2px 0;
}

.playbook-eyebrow,
.playbook-headline,
.playbook-lede {
  will-change: transform, opacity;
}

/* 3. Playbook Dual-Column Grid Geometry & Micro-Physics */
.playbook-moves-grid,
.moves-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 40px;
  perspective: 1200px;
}

.playbook-card,
.move-card {
  background: var(--night-2, #0B2C3E);
  border: 1px solid var(--night-line, rgba(255, 255, 255, 0.14));
  border-radius: 4px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: default;
  will-change: transform, box-shadow, opacity, border-color;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Sibling card drops slightly in opacity (0.7) to focus attention on active move */
.playbook-moves-grid:hover .playbook-card,
.moves-grid:hover .move-card {
  opacity: 0.7;
}

/* Active card lifts: translateY(-5px) scale(1.015), z-index: 10, box-shadow blooms */
.playbook-moves-grid .playbook-card:hover,
.moves-grid .move-card:hover {
  opacity: 1 !important;
  transform: translateY(-5px) scale(1.015);
  z-index: 10;
  box-shadow: 0 18px 40px -10px rgba(1, 159, 255, 0.2), 0 0 0 1px #019FFF;
  border-color: #019FFF;
}

/* Monospace Year Badges */
.playbook-card .move-tag,
.move-card .move-tag {
  font-family: var(--f-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 2px;
  width: fit-content;
  border: 1px solid transparent;
  transition: color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, background 0.4s ease;
  color: var(--night-ink-2, #9FBECF);
}

/* Brand Cyan Badge illumination: Card 1 (2026) */
.playbook-card .move-tag.move-tag-cyan {
  color: #019FFF;
  border-color: rgba(1, 159, 255, 0.4);
  background: rgba(1, 159, 255, 0.08);
  box-shadow: 0 0 14px rgba(1, 159, 255, 0.3);
}

/* Accent Yellow Badge illumination: Card 2 (2026-2028) */
.playbook-card .move-tag.move-tag-gold {
  color: #EAE42F;
  border-color: rgba(234, 228, 47, 0.4);
  background: rgba(234, 228, 47, 0.08);
  box-shadow: 0 0 14px rgba(234, 228, 47, 0.3);
}

.move-card h3 {
  font-family: var(--f-display);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  color: #FFFFFF !important;
  margin: 0 0 12px 0;
}

.move-card p {
  font-family: var(--f-sans);
  font-size: 0.88rem;
  color: var(--night-ink-2, #9FBECF);
  line-height: 1.6;
  margin: 0;
}

.moves-action {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--night-line, rgba(255, 255, 255, 0.16));
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.moves-action-title {
  font-family: var(--f-display);
  font-size: 1.35rem;
  font-weight: 300;
  color: #FFFFFF;
  margin: 0;
  line-height: 1.25;
  max-width: 32ch;
}

.moves-action-btns {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

/* Responsive Dual-column on desktop (>=900px) & Single-column on mobile (<768px) */
@media (min-width: 900px) {
  .playbook-moves-grid,
  .moves-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 899px) and (min-width: 768px) {
  .playbook-moves-grid,
  .moves-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}

@media (max-width: 767px) {
  .doc-pinned-banner {
    height: auto;
    min-height: 280px;
    padding: 24px 0;
  }
  .playbook-stage {
    padding: 48px 0 64px;
  }
  .playbook-moves-grid,
  .moves-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 28px;
  }
  .playbook-card,
  .move-card {
    min-height: 44px;
    padding: 24px 20px;
  }
  /* Disable sibling dimming on touch devices */
  .playbook-moves-grid:hover .playbook-card,
  .moves-grid:hover .move-card {
    opacity: 1;
  }
  .moves-action {
    flex-direction: column;
    align-items: flex-start;
  }
  .moves-action-btns {
    width: 100%;
    flex-direction: column;
  }
  .moves-action-btns .btn {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* ============================================================
   NEW LAW: CITATIONS STAGE, VERIFICATION & FOOTER BRIDGE
   Tactile Sheet Layering · 2x2 Citation Grid · Pinned Footer Unmask
   ============================================================ */

/* 1. White Citations Stage (Elevated Layer over Dark Footer) */
.citations-stage {
  position: relative;
  z-index: 2;
  background: var(--surface, #FFFFFF);
  padding: 64px 0 84px;
  border-radius: 0 0 32px 32px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
  margin-bottom: 0;
  will-change: transform;
}

/* Uncle Pat Quote Card */
.citation-patsays {
  background: var(--surface, #FFFFFF);
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 8px;
  padding: 26px 30px;
  display: flex;
  align-items: center;
  gap: 24px;
  box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.06);
  will-change: transform, opacity;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.citation-patsays:hover {
  border-color: rgba(1, 159, 255, 0.4);
  box-shadow: 0 12px 28px -6px rgba(1, 159, 255, 0.12);
}

/* Mascot Avatar Frame & Ambient Blink / Eye Glow */
.mascot-avatar-frame {
  position: relative;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mascot-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease;
  filter: drop-shadow(0 2px 8px rgba(1, 159, 255, 0.2));
  animation: mascotEyePulse 7s ease-in-out infinite;
}

@keyframes mascotEyePulse {
  0%, 100% {
    filter: drop-shadow(0 2px 8px rgba(1, 159, 255, 0.18));
  }
  48% {
    filter: drop-shadow(0 0 14px rgba(1, 159, 255, 0.5));
  }
  50% {
    filter: drop-shadow(0 0 2px rgba(1, 159, 255, 0.05)); /* subtle blink dip */
  }
  52% {
    filter: drop-shadow(0 0 18px rgba(1, 159, 255, 0.65)); /* eye glow return */
  }
}

.citation-patsays:hover .mascot-avatar-img {
  transform: scale(1.05) rotate(-1.5deg);
  filter: drop-shadow(0 0 20px rgba(1, 159, 255, 0.65));
}

/* 2. Verification Status Banner */
.verification-banner {
  margin-top: 28px;
  background: #F8FAFC !important;
  border: 1px solid var(--line, #E2E8F0);
  border-left: 3px solid #08557F !important;
  border-radius: 4px;
  padding: 24px 28px;
  position: relative;
  will-change: transform, opacity;
  box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.04);
}

.verification-eyebrow {
  font-family: var(--f-mono);
  font-size: 0.74rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #08557F !important;
  margin-bottom: 12px;
  display: block;
  font-weight: 600;
}

.verification-banner p {
  color: #2D4352 !important;
}

.verification-banner strong,
.verification-banner b {
  color: #0C1D28 !important;
}

/* 3. 2x2 IRS Primary Citation Grid & Ledger Cards */
.citation-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 28px;
  background: transparent;
  border: none;
}

.citation-card {
  background: var(--surface, #FFFFFF);
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 6px;
  padding: 22px 24px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  will-change: transform, box-shadow, border-color;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

/* Tactile Card Hover Micro-Physics */
.citation-card:hover {
  transform: translateY(-4px) scale(1.01);
  z-index: 10;
  box-shadow: 0 16px 36px -10px rgba(1, 159, 255, 0.16), 0 0 0 1px #019FFF;
  border-color: #019FFF;
  background: var(--surface-hover);
}

.citation-card .t {
  font-family: var(--f-sans);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ink, #0E1621);
  line-height: 1.35;
}

/* Monospace Tabular Formatting for Citations and URLs */
.citation-card .u {
  font-family: var(--f-mono);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  color: #64748B;
  word-break: break-all;
  transition: color 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Subtitle link turns brand blue (#019FFF) over 0.28s */
.citation-card:hover .u {
  color: #019FFF;
}

.citation-card p {
  font-family: var(--f-sans);
  font-size: 0.82rem;
  color: var(--ink-2, #475569);
  line-height: 1.5;
  margin: 4px 0 0;
}

/* ============================================================
   UNIVERSAL MASTER FOOTER: SORABAN PINNED CURTAIN & TACTILE DOCK
   ============================================================ */

/* Base Master Footer Container */
#site-footer,
footer {
  background: #070C12 !important;
  color: #8B98A5;
  padding: 64px 0 44px;
  position: relative;
  overflow: hidden;
}

#site-footer .cols,
footer .cols {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 36px;
  align-items: start;
}

/* Brand Column & Mascot Hover Micro-Physics */
.footer-brand-col .brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-brand-col .brand img,
.footer-brand-col .brand svg {
  transition: filter 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-brand-col .brand:hover {
  transform: translateY(-2px);
}

.footer-brand-col .brand:hover img,
.footer-brand-col .brand:hover svg {
  filter: brightness(1.35) drop-shadow(0 0 12px rgba(1, 159, 255, 0.75));
  transform: scale(1.08) rotate(-2deg);
}

.footer-brand-col .wm {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: 1.15rem;
  font-weight: 700;
  color: #FFFFFF !important;
  letter-spacing: -0.01em;
}

.footer-brand-col p.small {
  color: #8B98A5;
  font-size: 0.84rem;
  line-height: 1.6;
  max-width: 36ch;
  margin-top: 10px;
}

.footer-brand-col p.small strong {
  color: #F5F8FB;
  font-weight: 600;
}

/* Monospace Column Headers */
.footer-nav-col h4,
footer .cols h4 {
  font-family: var(--f-mono, 'JetBrains Mono', 'SF Mono', monospace);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #EAE42F;
  margin-bottom: 16px;
  transition: letter-spacing 0.3s ease;
}

/* Nav Link Hover Micro-Physics with Cyan Pip */
.footer-nav-col ul,
footer .cols ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-nav-col ul li,
footer .cols ul li {
  margin: 0;
  padding: 0;
}

.footer-nav-col ul li a,
footer .cols ul li a {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-family: var(--f-sans, -apple-system, BlinkMacSystemFont, 'Inter', sans-serif);
  font-size: 0.84rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
  padding: 3px 0;
  will-change: transform, color;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1),
              color 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-nav-col ul li a::before,
footer .cols ul li a::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #019FFF;
  margin-right: 0;
  opacity: 0;
  transform: scale(0) translateX(-6px);
  box-shadow: 0 0 8px rgba(1, 159, 255, 0.85);
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              margin-right 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-nav-col ul li a:hover,
footer .cols ul li a:hover {
  transform: translateX(4px);
  color: #FFFFFF !important;
}

.footer-nav-col ul li a:hover::before,
footer .cols ul li a:hover::before {
  opacity: 1;
  transform: scale(1) translateX(0);
  margin-right: 8px;
}

/* 3. Client Portal Login Pill Micro-Physics */
.footer-nav-col .portal-link,
footer .portal-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #019FFF !important;
  border-radius: 9999px !important;
  background: rgba(1, 159, 255, 0.06) !important;
  color: #019FFF !important;
  font-family: var(--f-mono, 'JetBrains Mono', 'SF Mono', monospace) !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.03em !important;
  padding: 10px 22px !important;
  margin-top: 10px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  will-change: transform, box-shadow, background, color;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.footer-nav-col .portal-link::before,
footer .portal-link::before {
  display: none !important;
}

.footer-nav-col .portal-link:hover,
footer .portal-link:hover {
  transform: translateY(-2px) !important;
  background: #019FFF !important;
  color: #FFFFFF !important;
  border-color: #019FFF !important;
  box-shadow: 0 0 20px rgba(1, 159, 255, 0.4), inset 0 0 10px rgba(1, 159, 255, 0.2) !important;
}

/* 4. Bottom Seam & Legal Divider */
.footer-hairline {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(234, 228, 47, 0.45) 0%, rgba(255, 255, 255, 0.16) 25%, rgba(255, 255, 255, 0.04) 100%);
  margin: 36px 0 20px;
  transform-origin: left center;
  will-change: transform;
}

.footer-legal,
footer .fine {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  font-family: var(--f-mono, 'JetBrains Mono', 'SF Mono', monospace);
  font-size: 12px;
  line-height: 1.75;
  color: #8B98A5;
  letter-spacing: 0.015em;
  max-width: 95ch;
}

.footer-legal a,
footer .fine a {
  color: #8B98A5;
  text-decoration: underline;
  text-decoration-color: rgba(139, 152, 165, 0.35);
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.footer-legal a:hover,
footer .fine a:hover {
  color: #EAE42F !important;
  text-decoration-color: #EAE42F;
}

/* 1 & 5. Pinned Curtain Unmask Physics (Screens >= 1024px) */
@media (min-width: 1024px) {
  body {
    overflow-x: hidden;
  }

  /* Preceding content section elevated depth & rounded bottom lip */
  main,
  #main {
    position: relative !important;
    z-index: 2 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    background: var(--ground) !important;
  }

  main > :last-child,
  #main > :last-child {
    border-bottom-left-radius: 36px !important;
    border-bottom-right-radius: 36px !important;
  }

  .citations-stage,
  #citations-stage {
    position: relative !important;
    z-index: 2 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  #site-footer,
  footer {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    z-index: 10 !important;
    height: auto !important;
    background: #070C12 !important;
    pointer-events: auto !important;
    display: block !important;
    clear: both !important;
  }

  .footer-brand-col,
  .footer-nav-col,
  .footer-hairline,
  .footer-legal {
    will-change: transform, opacity;
  }
}

/* Tablet Layout (768px - 1023px) */
@media (max-width: 1023px) and (min-width: 768px) {
  #site-footer .cols,
  footer .cols {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }

  main,
  #main,
  .citations-stage {
    position: relative !important;
    z-index: 2 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  #site-footer,
  footer {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    z-index: 10 !important;
    height: auto !important;
    background: #070C12 !important;
    pointer-events: auto !important;
    display: block !important;
    clear: both !important;
  }

  .citation-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

/* 5. Mobile Fallback (< 768px): standard natural document flow */
@media (max-width: 767px) {
  main,
  #main,
  .citations-stage {
    position: static !important;
    z-index: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  #site-footer,
  footer {
    position: static !important;
    bottom: auto !important;
    z-index: auto !important;
    background: #070C12 !important;
    padding: 44px 0 36px;
  }

  #site-footer .cols,
  footer .cols {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-brand-col,
  .footer-nav-col,
  .footer-hairline,
  .footer-legal {
    transform: none !important;
    opacity: 1 !important;
  }

  .footer-nav-col ul li a,
  footer .cols ul li a {
    min-height: 44px; /* Touch target >= 44px */
    display: inline-flex;
    align-items: center;
  }

  .citation-patsays {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    gap: 14px;
  }

  .citation-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 20px;
  }

  .citation-card {
    min-height: 44px;
    padding: 18px 20px;
  }
}

/* Reduced motion preference fallback */
@media (prefers-reduced-motion: reduce) {
  .footer-brand-col,
  .footer-nav-col,
  .footer-hairline,
  .footer-legal,
  .footer-nav-col ul li a,
  .footer-brand-col .brand,
  .mascot-avatar-img,
  .citation-card {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .citations-stage {
    box-shadow: none !important;
  }
}

/* ============================================================
   FREE-HELP: PINNED HERO STAGE & COMPLIMENTARY TRIAGE GRID
   ============================================================ */


/* Pinned Hero Stage Container */
.free-help-pinned-wrapper {
  position: relative;
  width: 100%;
  background: var(--night, #0E1621);
}

.free-help-hero-stage {
  position: relative;
  width: 100%;
  background: radial-gradient(circle at 50% 15%, rgba(1, 159, 255, 0.08), transparent 60%), #0E1621;
  padding: 12px 0 14px;
  overflow: hidden;
  z-index: 2;
}

.free-help-sechead {
  max-width: 820px;
  margin-bottom: 6px;
}

.free-help-eyebrow {
  color: #019FFF !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 3px;
  display: inline-block;
  will-change: transform, opacity;
}

.free-help-h1-mask {
  overflow: hidden;
  padding-bottom: 2px;
}

.free-help-h1 {
  color: #FFFFFF !important;
  font-size: clamp(1.45rem, 2.1vw, 1.88rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.02em;
  margin: 0 0 4px;
  will-change: transform, opacity;
}

.free-help-lede {
  color: var(--night-ink-2, rgba(255, 255, 255, 0.7));
  font-size: 0.85rem;
  line-height: 1.38;
  max-width: 62ch;
  margin: 0;
  will-change: transform, opacity;
}

/* Dual Card Grid */
.triage-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 10px;
  position: relative;
  z-index: 5;
}

/* Card Geometry & Typography */
.triage-card {
  background: var(--surface);
  border-radius: 14px;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-top: 4px solid rgba(1, 159, 255, 0.3);
  box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.14);
  position: relative;
  color: var(--ink, #0E1621);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  will-change: transform, box-shadow, border-color, opacity;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#triage-card-notice-triage {
  border-top-color: rgba(234, 228, 47, 0.6);
}

.triage-card h2 {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink, #0E1621);
  margin: 2px 0 3px;
  letter-spacing: -0.015em;
}

.triage-card p {
  color: var(--ink-2, #475569);
  font-size: 0.81rem;
  line-height: 1.36;
}

/* Monospace Offer Pills */
.triage-tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 2px 9px;
  border-radius: 999px;
  background: rgba(1, 159, 255, 0.08);
  border: 1px solid rgba(1, 159, 255, 0.28);
  color: #019FFF;
  margin-bottom: 5px;
  will-change: letter-spacing, background-color, color;
  transition: letter-spacing 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

#triage-tag-notice-triage {
  background: rgba(234, 228, 47, 0.1);
  border-color: rgba(234, 228, 47, 0.35);
  color: #B59E00;
}

.triage-card .ticks {
  margin: 5px 0 6px;
  gap: 0;
  padding: 0;
}

.triage-card .ticks li {
  font-size: 0.77rem;
  line-height: 1.32;
  color: var(--ink-2, #334155);
  padding: 2px 0 2px 16px;
  border: none !important;
}

.triage-card .ticks li:first-child {
  border-top: none !important;
}

.triage-card .ticks li::before {
  top: 8px;
  width: 8px;
  height: 2px;
}

.triage-card .ticks li b {
  color: var(--ink, #0E1621);
}

.triage-card .callout {
  margin-top: auto;
  margin-bottom: 6px;
  padding: 4px 8px;
  background: #F8FAFC;
  border-radius: 6px;
  border-left: 3px solid #019FFF;
}

.triage-card .callout.gold-callout {
  border-left-color: #EAE42F;
}
/* Night-context fix: triage cards live inside .night section but must stay light-surfaced */
.night .triage-card,
.free-help-hero-stage .triage-card {
  background: #FFFFFF !important;
  border-color: var(--line, #D8E6EE) !important;
}

.night .triage-card h2,
.free-help-hero-stage .triage-card h2 {
  color: #0C1D28 !important;
}

.night .triage-card p,
.free-help-hero-stage .triage-card p {
  color: #3F5A6B !important;
}

.night .triage-card .ticks li,
.free-help-hero-stage .triage-card .ticks li {
  color: #3F5A6B !important;
}

.night .triage-card .ticks li b,
.free-help-hero-stage .triage-card .ticks li b {
  color: #0C1D28 !important;
}

.night .triage-card .callout,
.free-help-hero-stage .triage-card .callout {
  background: #F8FAFC !important;
}

.night .triage-card .callout .h,
.free-help-hero-stage .triage-card .callout .h {
  color: #64748B !important;
}

.night .triage-card .callout p.small,
.free-help-hero-stage .triage-card .callout p.small {
  color: #64748B !important;
}

.triage-card .callout .h {
  font-family: var(--f-mono, monospace);
  font-size: 0.63rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748B;
  display: block;
  margin-bottom: 1px;
}

.triage-card .callout p.small {
  font-size: 0.73rem;
  color: #64748B;
  margin: 0;
  line-height: 1.28;
}

.triage-card .btn {
  width: 100%;
  justify-content: center;
  font-size: 0.83rem;
  padding: 7px 12px;
  min-height: 36px;
}

/* 3. Tactile Card Hover Micro-Physics */
.triage-card:hover {
  transform: translateY(-5px) scale(1.015) !important;
  z-index: 10;
  box-shadow: 0 20px 40px -10px rgba(1, 159, 255, 0.22), 0 0 0 1px #019FFF !important;
  border-top-color: #019FFF !important;
}

#triage-card-notice-triage:hover {
  box-shadow: 0 20px 40px -10px rgba(234, 228, 47, 0.28), 0 0 0 1px #EAE42F !important;
  border-top-color: #EAE42F !important;
}

/* Sibling card softens in contrast (opacity: 0.7) */
.triage-cards-grid:hover .triage-card:not(:hover) {
  opacity: 0.7;
}

/* 4. Responsive & Mobile Fallback (< 900px) */
@media (max-width: 899px) {
  .free-help-hero-stage {
    padding: 48px 0 60px;
  }

  .triage-cards-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 24px;
  }

  .triage-card {
    padding: 26px 20px;
    border-radius: 16px;
    transform: none !important;
    opacity: 1 !important;
  }

  .triage-card:hover {
    transform: translateY(-3px) scale(1.01) !important;
  }

  .triage-card .btn {
    min-height: 44px; /* Touch target >= 44px */
  }

  .triage-cards-grid:hover .triage-card:not(:hover) {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .free-help-eyebrow,
  .free-help-h1,
  .free-help-lede,
  .triage-card,
  .triage-tag {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ============================================================
   FREE-HELP: DIAGNOSTIC TOOL SUITE & EDITORIAL BRIDGE
   ============================================================ */

.diagnostic-tools-section {
  position: relative;
  width: 100%;
  background: var(--surface-2, #F8FAFC);
  border-top: 1px solid var(--line, #E2E8F0);
  border-bottom: 1px solid var(--line, #E2E8F0);
  padding: 90px 0 100px;
  scroll-margin-top: 110px;
  overflow: hidden;
}

.diagnostic-sechead {
  max-width: 820px;
  margin-bottom: 40px;
}

.diagnostic-eyebrow-wrap {
  display: inline-block;
  overflow: hidden;
  margin-bottom: 8px;
}

.diagnostic-eyebrow {
  color: #08557F !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-block;
  will-change: transform, opacity;
}

.diagnostic-h2-mask {
  overflow: hidden;
  padding-bottom: 4px;
}

.diagnostic-h2 {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  font-weight: 700;
  color: var(--ink, #0E1621);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0;
  will-change: transform, opacity;
}

/* 4-Card Equalizer Grid */
.diagnostic-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  position: relative;
  z-index: 5;
}

.diagnostic-card {
  background: var(--surface);
  border-radius: 16px;
  padding: 32px 26px;
  border: 1px solid var(--line);
  border-top: 3px solid transparent;
  box-shadow: 0 4px 16px -2px rgba(14, 22, 33, 0.05);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
  will-change: transform, box-shadow, border-color, opacity;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.diagnostic-tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  font-family: var(--f-mono, monospace);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(1, 159, 255, 0.07);
  border: 1px solid rgba(1, 159, 255, 0.22);
  color: #019FFF;
  margin-bottom: 16px;
  will-change: letter-spacing;
  transition: letter-spacing 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.3s ease, border-color 0.3s ease;
}

.diagnostic-card h3 {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ink, #0E1621);
  margin: 0 0 10px;
  letter-spacing: -0.015em;
  line-height: 1.25;
}

.diagnostic-card p {
  color: var(--ink-2, #475569);
  font-size: 0.88rem;
  line-height: 1.5;
  margin: 0 0 24px;
  flex: 1;
}

.diagnostic-btn {
  width: 100%;
  justify-content: center;
  font-size: 0.86rem;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 8px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 2. Tactile Card Hover Micro-Physics */
.diagnostic-card:hover {
  transform: translateY(-6px) scale(1.015) !important;
  z-index: 10;
  box-shadow: 0 20px 40px -12px rgba(1, 159, 255, 0.16), 0 0 0 1px #019FFF !important;
  border-top-color: #019FFF !important;
}

.diagnostic-card:hover .diagnostic-btn {
  background: #F0F7FD !important;
  border-color: #0A6BA8 !important;
  color: #08557F !important;
}

.diagnostic-grid:hover .diagnostic-card:not(:hover) {
  opacity: 0.7;
}

/* 3. Editorial Bridge Split Banner (Complimentary Review Stage) */
.editorial-bridge {
  position: relative;
  overflow: hidden;
  background: var(--night, #0E1621);
  border-radius: 36px 36px 0 0;
  box-shadow: 0 -30px 60px rgba(0, 0, 0, 0.45);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  z-index: 10;
  margin-top: -36px;
}

@media (min-width: 1024px) {
  .editorial-bridge {
    min-height: 100vh;
    height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.editorial-img-col {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
  min-height: 480px;
}

.editorial-img-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 8px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.editorial-photo {
  width: 100%;
  height: 120%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(0.9) brightness(0.92);
  will-change: transform;
}

.editorial-text-col {
  padding: clamp(56px, 6vw, 90px) clamp(36px, 5vw, 76px);
  background: var(--night, #0E1621);
  color: var(--night-ink, #FFFFFF);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
  will-change: transform, opacity;
}

.editorial-eyebrow {
  display: inline-block;
  align-self: flex-start;
  padding: 6px 16px;
  border-radius: 999px;
  background: rgba(1, 159, 255, 0.12);
  border: 1px solid rgba(1, 159, 255, 0.35);
  color: #019FFF !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  box-shadow: 0 0 16px rgba(1, 159, 255, 0.25);
  transition: letter-spacing 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease, border-color 0.4s ease;
  will-change: letter-spacing, box-shadow, border-color;
}

.editorial-h2 {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: clamp(1.8rem, 2.8vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 16px 0 18px;
  will-change: transform, opacity;
}

.editorial-p {
  color: var(--night-ink-2, rgba(255, 255, 255, 0.72));
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 48ch;
  margin-bottom: 22px;
  will-change: transform, opacity;
}

/* 3 Diagnostic Deliverables with Clean Hairline Dividers */
.complimentary-deliverables {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 12px 0 28px;
}

.complimentary-item {
  position: relative;
  width: 100%;
  overflow: hidden;
  will-change: transform, opacity;
}

.complimentary-divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  transform-origin: 0% 50%;
  will-change: transform;
  display: block;
}

.complimentary-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 14px;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  transition: background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.complimentary-row:hover {
  background: rgba(255, 255, 255, 0.03);
}

.complimentary-dash {
  font-family: var(--f-mono, monospace);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--night-ink-2, rgba(255, 255, 255, 0.45));
  transition: color 0.25s ease, text-shadow 0.25s ease, transform 0.25s ease;
  will-change: color, text-shadow, transform;
}

.complimentary-row:hover .complimentary-dash {
  color: #019FFF;
  text-shadow: 0 0 10px rgba(1, 159, 255, 0.7);
  transform: translateX(2px);
}

.complimentary-label {
  font-size: 0.94rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.85);
  transition: color 0.25s ease;
}

.complimentary-row:hover .complimentary-label {
  color: #FFFFFF;
}

/* Yellow CTA Micro-Interactions */
.editorial-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #EAE42F !important;
  color: #0E1621 !important;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 14px 28px;
  border-radius: 8px;
  border: 1px solid #EAE42F;
  box-shadow: 0 4px 14px rgba(234, 228, 47, 0.18);
  cursor: pointer;
  min-height: 44px;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.25s ease;
  will-change: transform, box-shadow;
}

.editorial-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(234, 228, 47, 0.35);
  background: #F2EC4B !important;
}

.editorial-cta:active {
  transform: translateY(0) scale(0.97) !important;
  box-shadow: 0 3px 8px rgba(234, 228, 47, 0.2);
}

/* Tablet (768px - 1023px): 2x2 Grid */
@media (min-width: 768px) and (max-width: 1023px) {
  .diagnostic-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* Mobile (< 768px): Single-column Vertical Stack */
@media (max-width: 767px) {
  .diagnostic-tools-section {
    padding: 56px 0 64px;
  }

  .diagnostic-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .diagnostic-card {
    padding: 24px 20px;
    transform: none !important;
    opacity: 1 !important;
  }

  .diagnostic-card:hover {
    transform: translateY(-3px) scale(1.01) !important;
  }

  .diagnostic-btn {
    min-height: 44px; /* Accessible touch target >= 44px */
  }

  .diagnostic-grid:hover .diagnostic-card:not(:hover) {
    opacity: 1;
  }

  .editorial-bridge {
    grid-template-columns: 1fr;
    min-height: auto;
    height: auto;
    margin-top: 0;
    border-radius: 24px 24px 0 0;
  }

  .editorial-img-col {
    min-height: 280px;
    max-height: 360px;
    border-radius: 24px 24px 0 0;
  }

  .editorial-img-frame {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px 24px 0 0;
  }

  .editorial-text-col {
    padding: 44px 24px 56px;
  }

  .complimentary-row {
    padding: 11px 8px;
  }

  .editorial-cta {
    width: 100%;
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .diagnostic-eyebrow,
  .diagnostic-h2,
  .diagnostic-card,
  .diagnostic-tag,
  .editorial-bridge,
  .editorial-photo,
  .editorial-text-col,
  .editorial-eyebrow,
  .editorial-h2,
  .editorial-p,
  .complimentary-item,
  .complimentary-divider,
  .editorial-cta {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ============================================================
   FREE-HELP: INDUSTRY DEDUCTION GUIDES MATRIX
   ============================================================ */

.industry-guides-section {
  position: relative;
  width: 100%;
  background: var(--surface, #FFFFFF);
  border-top: 1px solid var(--line, #E2E8F0);
  border-bottom: 1px solid var(--line, #E2E8F0);
  padding: 96px 0 108px;
  scroll-margin-top: 110px;
  overflow: hidden;
  z-index: 5;
}

.industry-sechead {
  max-width: 840px;
  margin-bottom: 48px;
}

.industry-eyebrow-wrap {
  display: inline-block;
  overflow: hidden;
  margin-bottom: 8px;
}

.industry-eyebrow {
  color: #08557F !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-block;
  will-change: transform, opacity;
}

.industry-h2-mask {
  overflow: hidden;
  padding-bottom: 4px;
}

.industry-h2 {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  font-weight: 700;
  color: var(--ink, #0E1621);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 12px;
  will-change: transform, opacity;
}

.industry-lede-mask {
  overflow: hidden;
}

.industry-lede {
  color: var(--ink-2, #475569);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 68ch;
  margin: 0;
  will-change: transform, opacity;
}

/* 3x2 Grid Geometry */
.industry-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
  z-index: 5;
}

.industry-card {
  background: var(--surface);
  border-radius: 16px;
  padding: 32px 28px;
  border: 1px solid var(--line);
  border-top: 3px solid transparent;
  box-shadow: 0 4px 16px -2px rgba(14, 22, 33, 0.05);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
  will-change: transform, box-shadow, border-color, opacity;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.industry-tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  font-family: var(--f-mono, monospace);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(1, 159, 255, 0.07);
  border: 1px solid rgba(1, 159, 255, 0.22);
  color: #019FFF;
  margin-bottom: 16px;
  will-change: letter-spacing;
  transition: letter-spacing 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.3s ease, border-color 0.3s ease;
}

.industry-card h3 {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ink, #0E1621);
  margin: 0 0 10px;
  letter-spacing: -0.015em;
  line-height: 1.25;
}

.industry-card p {
  color: var(--ink-2, #475569);
  font-size: 0.88rem;
  line-height: 1.55;
  margin: 0 0 24px;
  flex: 1;
}

.industry-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 0.86rem;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 8px;
  margin-top: auto;
  transition: background-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.industry-arrow {
  display: inline-block;
  margin-left: 6px;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

/* 3. Tactile Card Hover Micro-Physics */
.industry-card:hover {
  transform: translateY(-5px) scale(1.015) !important;
  z-index: 10;
  box-shadow: 0 20px 40px -12px rgba(1, 159, 255, 0.16), 0 0 0 1px #019FFF !important;
  border-top-color: #019FFF !important;
}

.industry-card:hover .industry-btn {
  background: #F0F7FD !important;
  border-color: #0A6BA8 !important;
  color: #08557F !important;
}

.industry-card:hover .industry-arrow {
  transform: translateX(4px);
}

.industry-grid:hover .industry-card:not(:hover) {
  opacity: 0.75;
}

/* Tablet (768px - 1099px): 2x3 Grid */
@media (min-width: 768px) and (max-width: 1099px) {
  .industry-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* Mobile (< 768px): Single-column Vertical Stack */
@media (max-width: 767px) {
  .industry-guides-section {
    padding: 56px 0 64px;
  }

  .industry-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .industry-card {
    padding: 24px 20px;
    transform: none !important;
    opacity: 1 !important;
  }

  .industry-card:hover {
    transform: translateY(-3px) scale(1.01) !important;
  }

  .industry-btn {
    min-height: 44px; /* Accessible touch targets >= 44px */
  }

  .industry-grid:hover .industry-card:not(:hover) {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .industry-eyebrow,
  .industry-h2,
  .industry-lede,
  .industry-card,
  .industry-tag,
  .industry-btn,
  .industry-arrow {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ============================================================
   AUDIT-RESOLUTION: PINNED HERO STAGE & TRIAGE DOCK (SORABAN SUITE)
   ============================================================ */

.audit-hero-stage {
  position: relative;
  background: var(--night, #070C12);
  color: var(--night-ink, #F5F8FB);
  padding: 120px 0 68px;
  overflow: hidden;
  z-index: 10;
}

.audit-hero-shell {
  position: relative;
  z-index: 5;
}

.audit-hero-sechead {
  max-width: 860px;
  margin-bottom: 36px;
}

.audit-eyebrow-wrap {
  display: inline-block;
  overflow: hidden;
  margin-bottom: 12px;
}

.audit-eyebrow {
  color: #EAE42F !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: inline-block;
  will-change: transform, opacity;
}

.audit-h1-mask {
  overflow: hidden;
  padding-bottom: 6px;
  margin-bottom: 16px;
}

.audit-h1 {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: clamp(2.3rem, 4.2vw, 3.6rem);
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0;
  will-change: transform, opacity;
}

.audit-h1-lead {
  color: #FFFFFF;
  display: inline-block;
}

.audit-h1-emphasis {
  color: rgba(255, 255, 255, 0.75);
  display: inline-block;
  position: relative;
  will-change: color, text-shadow, transform, opacity, filter;
  transition: color 0.4s ease, text-shadow 0.4s ease;
}

.audit-h1-emphasis.is-illuminated {
  color: #FFFFFF !important;
  text-shadow: 0 0 24px rgba(255, 255, 255, 0.4), 0 0 40px rgba(1, 159, 255, 0.25);
}

.audit-lede-mask {
  overflow: hidden;
  margin-bottom: 28px;
}

.audit-lede {
  color: #A3B3C2;
  font-size: clamp(1.05rem, 1.35vw, 1.22rem);
  line-height: 1.62;
  max-width: 68ch;
  margin: 0;
  will-change: transform, opacity;
}

/* Dual CTAs */
.audit-cta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  will-change: transform, opacity;
}

.audit-cta-primary {
  background: #EAE42F !important;
  color: #070C12 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(234, 228, 47, 0.2);
  will-change: transform, box-shadow;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.25s ease !important;
}

.audit-cta-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(234, 228, 47, 0.38) !important;
  background: #F3EE52 !important;
}

.audit-cta-primary:active {
  transform: scale(0.97) !important;
  box-shadow: 0 4px 10px rgba(234, 228, 47, 0.2) !important;
}

.audit-cta-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #F5F8FB !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  padding: 14px 26px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  will-change: transform, border-color, color, background-color;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.audit-cta-secondary:hover {
  border-color: #019FFF !important;
  color: #019FFF !important;
  background: rgba(1, 159, 255, 0.06) !important;
}

.audit-arrow-down {
  display: inline-block;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.audit-cta-secondary:hover .audit-arrow-down {
  transform: translateY(3px);
}

/* Uncle Pat Quote Card Spring Dock */
.audit-patsays {
  display: flex;
  align-items: center;
  gap: 24px;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-left: 3px solid #EAE42F !important;
  border-radius: 6px !important;
  padding: 22px 28px !important;
  margin-top: 36px !important;
  box-shadow: 0 12px 32px -4px rgba(0, 0, 0, 0.35);
  cursor: pointer;
  will-change: transform, opacity, border-color, box-shadow;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease;
}

.audit-patsays:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px -4px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(234, 228, 47, 0.3);
  border-color: rgba(234, 228, 47, 0.4) !important;
}

.audit-owl-wrap {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.audit-owl-mascot {
  filter: brightness(1.2) drop-shadow(0 0 0px rgba(1, 159, 255, 0));
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              filter 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, filter;
}

.audit-patsays:hover .audit-owl-mascot {
  transform: scale(1.1) rotate(-2deg);
  filter: brightness(1.35) drop-shadow(0 0 16px rgba(1, 159, 255, 0.85));
}

.audit-patsays-text q {
  font-family: var(--f-display, 'Outfit', sans-serif);
  font-size: 1.15rem;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.45;
  display: block;
  margin-bottom: 6px;
  font-style: italic;
}

.audit-patsays-text .who {
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #EAE42F;
}

/* Tablet & Mobile Breakpoints */
@media (max-width: 1023px) and (min-width: 768px) {
  .audit-hero-stage {
    padding: 72px 0 64px;
  }
}

@media (max-width: 767px) {
  .audit-hero-stage {
    padding: 56px 0 48px;
  }

  .audit-h1 {
    font-size: 2rem;
  }

  .audit-cta-row {
    flex-direction: column;
    width: 100%;
    gap: 12px;
  }

  .audit-cta-primary,
  .audit-cta-secondary {
    width: 100% !important;
    min-height: 48px;
    justify-content: center;
    text-align: center;
  }

  .audit-patsays {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 18px !important;
    gap: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .audit-eyebrow,
  .audit-h1,
  .audit-h1-emphasis,
  .audit-lede,
  .audit-cta-primary,
  .audit-cta-secondary,
  .audit-patsays,
  .audit-owl-mascot {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
  }
}

/* ============================================================
   AUDIT-RESOLUTION: INTERACTIVE NOTICE DIAGNOSTIC (SORABAN SUITE)
   ============================================================ */

.notice-diagnostic-stage {
  position: relative;
  background: var(--night-2, #0E1621);
  border-top: 1px solid var(--night-line, rgba(255, 255, 255, 0.08));
  border-bottom: 1px solid var(--night-line, rgba(255, 255, 255, 0.08));
  overflow: hidden;
  z-index: 15;
}

/* Top Examiner Banner */
.notice-examiner-band {
  position: relative;
  overflow: hidden;
  will-change: transform, opacity;
  transform-origin: 50% 50%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.examiner-band-inner {
  padding: 24px 20px;
  text-align: center;
  position: relative;
  z-index: 2;
}

.examiner-eyebrow {
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #EAE42F;
  margin: 0 0 6px;
  font-weight: 600;
}

.examiner-h2 {
  color: #FFFFFF;
  margin: 0;
  font-size: clamp(1.15rem, 2.2vw, 1.65rem);
  font-weight: 700;
  line-height: 1.25;
}

.examiner-h2-em {
  color: #EAE42F;
  font-style: normal;
}

/* Notice Diagnostic Content Shell */
.notice-diagnostic-shell {
  padding-top: 24px;
  padding-bottom: 40px;
  position: relative;
  z-index: 5;
}

.notice-diagnostic-head {
  margin-bottom: 16px;
}

.notice-eyebrow {
  color: #EAE42F !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 6px;
}

.notice-h2 {
  color: #FFFFFF;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
  line-height: 1.2;
}

.notice-lede {
  color: rgba(245, 248, 251, 0.8);
  font-size: 0.95rem;
  line-height: 1.45;
  max-width: 680px;
  margin: 0;
}

/* Step Indicator */
.triage-step-label {
  display: block;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #EAE42F;
  font-weight: 700;
  margin-bottom: 10px;
}

/* 6-Card Grid: 4-Column Top Row + 2-Column Bottom Row */
.triage-options {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}

@media (min-width: 1024px) {
  .triage-opt:nth-child(5) {
    grid-column: span 2;
  }
  .triage-opt:nth-child(6) {
    grid-column: span 2;
  }
}

/* Notice Selection Card */
.triage-opt {
  position: relative;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 14px 16px;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
  color: #F5F8FB;
  opacity: 0.7;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.25s ease;
  will-change: transform, border-color, box-shadow, opacity;
  outline: none;
}

/* Tactile Inactive Card Hover Physics */
.triage-opt:not(.selected):hover {
  transform: translateY(-3px);
  opacity: 0.95;
  border-color: rgba(1, 159, 255, 0.5);
  background: rgba(1, 159, 255, 0.03);
}

/* Active Card Ring & Glow Physics */
.triage-opt.selected {
  border: 1px solid #019FFF !important;
  background: rgba(1, 159, 255, 0.08) !important;
  box-shadow: 0 0 20px rgba(1, 159, 255, 0.2) !important;
  opacity: 1 !important;
  transform: translateY(0);
}

.triage-opt-title {
  color: #FFFFFF;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}

.triage-opt-desc {
  font-size: 0.78rem;
  line-height: 1.4;
  color: rgba(245, 248, 251, 0.72);
  margin: 0;
}

/* Dynamic Lower Drawer */
.triage-result {
  position: relative;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-left: 3px solid #019FFF;
  border-radius: 6px;
  padding: 20px 24px;
  box-shadow: 0 16px 40px -8px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: hidden;
  will-change: transform, opacity;
}

.triage-result::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 140px;
  height: 100%;
  background: linear-gradient(90deg, rgba(1, 159, 255, 0.06), transparent);
  pointer-events: none;
}

.triage-result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.triage-result-title {
  color: #FFFFFF;
  font-size: clamp(1.08rem, 1.6vw, 1.25rem);
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.015em;
}

/* Color-Coded Monospace Severity Badges */
.triage-severity-tag {
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.triage-severity-tag.severity-medium,
.triage-severity-tag.severity-warn {
  color: #EAE42F;
  background: rgba(234, 228, 47, 0.12);
  border: 1px solid rgba(234, 228, 47, 0.35);
  box-shadow: 0 0 12px rgba(234, 228, 47, 0.15);
}

.triage-severity-tag.severity-high,
.triage-severity-tag.severity-critical,
.triage-severity-tag.severity-emergency,
.triage-severity-tag.severity-danger {
  color: #FF4D4D;
  background: rgba(255, 77, 77, 0.12);
  border: 1px solid rgba(255, 77, 77, 0.35);
  box-shadow: 0 0 12px rgba(255, 77, 77, 0.15);
}

.triage-result-summary {
  color: rgba(245, 248, 251, 0.88);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0 0 14px;
}

/* Uncle Pat's Read Callout */
.callout.triage-callout,
.triage-callout {
  background: rgba(3, 14, 22, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-left: 3.5px solid #EAE42F !important;
  padding: 14px 18px;
  border-radius: 0 var(--r-md, 8px) var(--r-md, 8px) 0;
  margin-bottom: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

.triage-callout-tag {
  display: block;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #EAE42F !important;
  font-weight: 700;
  margin-bottom: 6px;
}

.triage-callout p,
.triage-callout .triage-callout-quote,
.triage-callout-quote {
  font-family: var(--f-serif, Georgia, serif);
  font-style: italic;
  font-size: 0.96rem;
  line-height: 1.5;
  color: #F0F6FA !important;
  margin: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* Drawer Bottom Actions Deck */
.triage-result-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 14px;
}

.triage-path-wrap {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.triage-path-label {
  font-family: var(--f-mono, monospace);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #EAE42F;
  font-weight: 600;
}

.triage-path-tier {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 700;
}

.triage-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  font-family: var(--f-sans, sans-serif);
  font-size: 0.9rem;
  font-weight: 700;
  color: #0E1621 !important;
  background-color: #EAE42F;
  border: 1px solid #EAE42F;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(234, 228, 47, 0.2);
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.25s ease;
  will-change: transform, box-shadow;
  min-height: 40px;
}

.triage-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(234, 228, 47, 0.38);
  background-color: #F4EF3E;
}

.triage-cta-btn:active {
  transform: scale(0.97);
}

/* Tablet & Mobile Layout Adaptations */
@media (max-width: 1023px) {
  .triage-options {
    grid-template-columns: repeat(2, 1fr);
  }
  .triage-opt:nth-child(5),
  .triage-opt:nth-child(6) {
    grid-column: span 1;
  }
}

@media (max-width: 767px) {
  .notice-diagnostic-shell {
    padding-top: 36px;
    padding-bottom: 48px;
  }
  .triage-options {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .triage-result {
    padding: 20px 18px;
  }
  .triage-result-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .triage-cta-btn {
    width: 100%;
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .notice-examiner-band,
  .triage-opt,
  .triage-result,
  .triage-cta-btn {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ============================================================
   AUDIT-RESOLUTION: RESOLUTION TIERS & AUDIT SHIELD (SORABAN SUITE)
   ============================================================ */

.resolution-tiers-stage {
  position: relative;
  background: var(--night, #070C12);
  color: var(--night-ink, #F5F8FB);
  padding: 48px 0 60px;
  overflow: hidden;
  z-index: 18;
}

.tiers-shell {
  position: relative;
  z-index: 5;
  will-change: transform;
}

.tiers-sechead {
  max-width: 860px;
  margin-bottom: 24px;
}

.tiers-eyebrow {
  color: #EAE42F !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 8px;
}

.tiers-h2 {
  color: #FFFFFF;
  font-size: clamp(1.8rem, 3.2vw, 2.7rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  margin: 0 0 10px;
  line-height: 1.2;
}

.tiers-lede {
  color: rgba(245, 248, 251, 0.82);
  font-size: 1.02rem;
  line-height: 1.55;
  max-width: 720px;
  margin: 0;
}

/* Ledger Tiers Container */
.ledger-tiers {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}

/* Individual Ledger Tier Row */
.ledger-tier {
  position: relative;
  display: grid;
  grid-template-columns: 3.4rem 1fr 11rem;
  gap: 22px;
  align-items: start;
  padding: 18px 18px;
  border-radius: 6px;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  overflow: hidden;
}

/* Tactile Tier Hover Micro-Physics */
.ledger-tier:hover {
  background: rgba(255, 255, 255, 0.03);
}

.ledger-tier:hover .tier-title {
  transform: translateX(4px);
  color: #019FFF !important;
}

.ledger-tier:hover .tier-amount {
  color: #FFFFFF !important;
  text-shadow: 0 0 14px rgba(255, 255, 255, 0.5);
}

/* Illuminated Monospace Index Numeral */
.tier-index {
  font-family: var(--f-mono, monospace) !important;
  font-weight: 700;
  font-size: 1.85rem;
  line-height: 1;
  color: #019FFF !important;
  text-shadow: 0 0 16px rgba(1, 159, 255, 0.35);
  letter-spacing: -0.02em;
  display: inline-block;
  will-change: transform, color, text-shadow;
}

.tier-content {
  position: relative;
  z-index: 2;
}

.tier-title {
  color: #FFFFFF;
  font-size: 1.22rem;
  font-weight: 700;
  margin: 0 0 6px;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s ease;
  will-change: transform;
}

.tier-desc {
  color: rgba(245, 248, 251, 0.78);
  font-size: 0.9rem;
  line-height: 1.58;
  margin: 0 0 6px;
}

.tier-subtext {
  font-family: var(--f-sans, sans-serif);
  font-size: 0.76rem;
  color: rgba(245, 248, 251, 0.5);
}

/* Tabular Pricing Alignment */
.tier-pricing {
  font-family: var(--f-mono, monospace);
  font-variant-numeric: tabular-nums;
  text-align: right;
  padding-top: 4px;
  position: relative;
  z-index: 2;
}

.tier-amount {
  display: block;
  font-size: 1.15rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.92);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  transition: color 0.25s ease, text-shadow 0.25s ease;
}

.tier-sub {
  display: block;
  font-style: normal;
  font-size: 0.65rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--night-ink-2, #8E9BAE);
  margin-top: 4px;
}

/* Hairline Laser Dividers */
.tier-laser-divider {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #019FFF, rgba(1, 159, 255, 0.4) 40%, rgba(255, 255, 255, 0.12) 80%, transparent);
  transform-origin: left center;
  transform: scaleX(0);
  will-change: transform;
}

/* Audit Shield Docking Card */
.audit-shield-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(1, 159, 255, 0.35);
  border-radius: 8px;
  padding: 22px 28px;
  margin-top: 28px;
  box-shadow: 0 0 25px rgba(1, 159, 255, 0.15), 0 16px 40px -8px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  will-change: transform, opacity, box-shadow;
  position: relative;
  overflow: hidden;
}

.audit-shield-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #EAE42F, #019FFF 50%, transparent);
}

.shield-content {
  max-width: 680px;
}

.shield-eyebrow {
  color: #EAE42F !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 6px;
}

.shield-title {
  color: #FFFFFF;
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  margin: 0 0 8px;
}

.shield-desc {
  color: rgba(245, 248, 251, 0.8);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0;
}

.shield-action {
  flex-shrink: 0;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.shield-price {
  font-family: var(--f-mono, monospace);
  font-size: 1.35rem;
  font-weight: 700;
  color: #EAE42F;
  letter-spacing: -0.01em;
  display: block;
}

/* Shield CTA Button */
.shield-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  font-family: var(--f-sans, sans-serif);
  font-size: 0.94rem;
  font-weight: 700;
  color: #0E1621 !important;
  background-color: #EAE42F;
  border: 1px solid #EAE42F;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(234, 228, 47, 0.2);
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.25s ease;
  will-change: transform, box-shadow;
  min-height: 44px;
}

.shield-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(234, 228, 47, 0.35);
  background-color: #F4EF3E;
}

.shield-cta:active {
  transform: scale(0.97);
}

/* Tablet & Mobile Layout Adaptations */
@media (max-width: 1023px) {
  .ledger-tier {
    grid-template-columns: 3rem 1fr auto;
    gap: 16px;
    padding: 20px 14px;
  }
}

@media (max-width: 767px) {
  .resolution-tiers-stage {
    padding: 60px 0 70px;
  }
  .ledger-tier {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
  .tier-pricing {
    text-align: left;
    padding-top: 0;
  }
  .tier-laser-divider {
    display: none;
  }
  .audit-shield-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px 20px;
    gap: 18px;
  }
  .shield-action {
    width: 100%;
    align-items: flex-start;
  }
  .shield-cta {
    width: 100%;
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tier-title,
  .tier-laser-divider,
  .audit-shield-card,
  .shield-cta {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ============================================================
   AUDIT-RESOLUTION: AUTHORITY SPLIT STAGE (SORABAN SUITE)
   ============================================================ */

.authority-split-stage {
  position: relative;
  width: 100%;
  background: var(--night, #070C12);
  padding: 60px 0 0;
  overflow: hidden;
  z-index: 20;
}

/* Elevated Rounded Deck Container */
.authority-deck-container {
  width: 100%;
  max-width: 1260px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 32px 32px 0 0;
  background: #0E1621;
  box-shadow: 0 -30px 60px rgba(0, 0, 0, 0.45);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  min-height: 580px;
  position: relative;
  will-change: transform, opacity;
}

/* Left Column: Portrait Parallax Frame */
.authority-portrait-col {
  position: relative;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  min-height: 580px;
  background: #070C12;
}

.authority-portrait-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.authority-portrait-img {
  width: 100%;
  height: 115%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
  will-change: transform;
  filter: saturate(0.92) brightness(0.92);
}

.authority-portrait-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(14, 22, 33, 0) 65%, rgba(14, 22, 33, 0.5) 100%);
  pointer-events: none;
}

/* Right Column: Authority Narrative & Deliverables */
.authority-content-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 56px 54px;
  background: #0E1621;
  position: relative;
  z-index: 2;
}

.authority-content-inner {
  max-width: 520px;
}

.authority-eyebrow {
  color: #EAE42F !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 14px;
  display: inline-block;
  will-change: letter-spacing, opacity;
}

.authority-headline {
  color: #FFFFFF;
  font-size: clamp(1.85rem, 2.7vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.025em;
  margin: 0 0 16px;
  will-change: transform, opacity;
}

.authority-narrative {
  color: rgba(245, 248, 251, 0.76);
  font-size: 0.98rem;
  line-height: 1.64;
  margin: 0 0 28px;
  will-change: transform, opacity;
}

/* Representation Deliverables */
.authority-deliverables {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 34px;
}

.authority-deliverable-item {
  position: relative;
  padding: 15px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}

.authority-deliverable-item:hover {
  background: rgba(255, 255, 255, 0.03);
}

.deliverable-text {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.authority-deliverable-item:hover .deliverable-text {
  transform: translateX(3px);
}

.deliverable-bullet {
  font-family: var(--f-mono, monospace);
  font-size: 0.8rem;
  font-weight: 700;
  color: #019FFF;
  text-shadow: 0 0 10px rgba(1, 159, 255, 0.35);
  margin-top: 1px;
  flex-shrink: 0;
}

.deliverable-label {
  color: rgba(245, 248, 251, 0.88);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.48;
}

/* Hairline Laser Dividers */
.deliverable-hairline {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #019FFF 0%, rgba(1, 159, 255, 0.45) 45%, rgba(255, 255, 255, 0.1) 85%, transparent);
  transform-origin: left center;
  transform: scaleX(0);
  will-change: transform;
}

/* Primary Yellow CTA */
.authority-cta-wrap {
  margin-top: 6px;
}

.authority-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 26px;
  font-family: var(--f-sans, sans-serif);
  font-size: 0.94rem;
  font-weight: 700;
  color: #0E1621 !important;
  background-color: #EAE42F;
  border: 1px solid #EAE42F;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(234, 228, 47, 0.2);
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.25s ease;
  will-change: transform, box-shadow;
  min-height: 46px;
}

.authority-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(234, 228, 47, 0.35);
  background-color: #F4EF3E;
}

.authority-cta-btn:active {
  transform: scale(0.97);
}

/* Tablet & Mobile Responsiveness */
@media (max-width: 1023px) {
  .authority-deck-container {
    grid-template-columns: 1fr;
    border-radius: 24px 24px 0 0;
  }
  .authority-portrait-col {
    min-height: 380px;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  .authority-content-col {
    padding: 44px 32px;
  }
}

@media (max-width: 767px) {
  .authority-split-stage {
    padding: 40px 0 0;
  }
  .authority-deck-container {
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -20px 40px rgba(0, 0, 0, 0.4);
  }
  .authority-portrait-col {
    min-height: 280px;
  }
  .authority-content-col {
    padding: 32px 20px;
  }
  .authority-cta-btn {
    width: 100%;
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .authority-portrait-img,
  .authority-eyebrow,
  .authority-headline,
  .authority-narrative,
  .authority-deliverable-item,
  .deliverable-hairline,
  .authority-cta-btn,
  .deliverable-text {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ============================================================
   AUDIT-RESOLUTION: 50-STATE REVENUE DEPARTMENT (SORABAN SUITE)
   ============================================================ */

.state-desk-stage {
  position: relative;
  width: 100%;
  background: transparent;
  margin-top: 0;
  z-index: 25;
  overflow: visible;
}

/* Elevated White Rounded Deck Container */
.state-deck-container {
  width: 100%;
  border-radius: 36px 36px 0 0;
  background: var(--ground);
  box-shadow: 0 -30px 60px rgba(0, 0, 0, 0.45);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 84px 0 96px;
  position: relative;
  will-change: transform;
}

.state-desk-shell {
  position: relative;
  z-index: 2;
}

.state-desk-sechead {
  max-width: 820px;
  margin-bottom: 44px;
}

.state-desk-eyebrow {
  color: #019FFF !important;
  font-family: var(--f-mono, monospace);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: inline-block;
  will-change: letter-spacing, opacity;
}

.state-desk-h2 {
  color: #0E1621;
  font-size: clamp(1.85rem, 2.8vw, 2.55rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.025em;
  margin: 0 0 14px;
  will-change: transform, opacity;
}

.state-desk-lede {
  color: #5A697A;
  font-size: 1.02rem;
  line-height: 1.62;
  max-width: 720px;
  margin: 0;
  will-change: transform, opacity;
}

/* 3-Card Grid Equalizer */
.state-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 36px;
  position: relative;
}

/* Individual Regional Card */
.state-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 30px 26px;
  box-shadow: 0 4px 16px rgba(10, 28, 40, 0.04);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease;
  overflow: hidden;
  will-change: transform, opacity, box-shadow;
  cursor: pointer;
}

/* Glowing Top Beam */
.state-card-top-beam {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: transparent;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

/* State Labels with Brand Cyan Tracking */
.state-tag {
  display: inline-block;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #019FFF !important;
  background: rgba(1, 159, 255, 0.08);
  border: 1px solid rgba(1, 159, 255, 0.2);
  border-radius: 4px;
  padding: 4px 8px;
  margin-bottom: 12px;
  transition: letter-spacing 0.3s ease, background 0.3s ease;
  will-change: letter-spacing;
}

.state-card-title {
  color: #0E1621;
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  margin: 0 0 10px;
  line-height: 1.3;
}

.state-card-desc {
  color: #5A697A;
  font-size: 0.88rem;
  line-height: 1.58;
  margin: 0;
}

/* Tactile Card Hover Micro-Physics */
.state-card:hover {
  transform: translateY(-5px) scale(1.015);
  box-shadow: 0 20px 40px -12px rgba(1, 159, 255, 0.16), 0 0 0 1px #019FFF;
  border-color: #019FFF;
  z-index: 10;
}

.state-card:hover .state-card-top-beam {
  background: #019FFF;
  box-shadow: 0 0 12px rgba(1, 159, 255, 0.8);
}

.state-card:hover .state-tag {
  background: rgba(1, 159, 255, 0.14);
  letter-spacing: 0.16em;
}

/* Sibling Demagnification: when hovering grid, non-hovered cards drop to 0.7 */
.state-cards-grid:hover .state-card:not(:hover) {
  opacity: 0.7;
  transform: scale(0.99);
}

/* Statutory Callout Card Dock */
.statutory-callout-card {
  position: relative;
  background: #F7F9FB !important;
  border: 1px solid #E3E8ED !important;
  border-left: 3px solid #019FFF !important;
  border-radius: 8px;
  padding: 22px 28px;
  margin-top: 36px;
  box-shadow: 0 4px 12px rgba(10, 28, 40, 0.03);
  will-change: transform, opacity;
}

.statutory-eyebrow {
  display: block;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #019FFF !important;
  margin-bottom: 6px;
}

.statutory-text {
  font-size: 0.82rem;
  line-height: 1.62;
  color: #5A697A;
  margin: 0;
}

/* Responsive Rules */
@media (max-width: 1023px) {
  .state-deck-container {
    border-radius: 28px 28px 0 0;
    padding: 64px 0 76px;
  }
  .state-cards-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 767px) {
  .state-deck-container {
    border-radius: 24px 24px 0 0;
    padding: 50px 0 60px;
    box-shadow: 0 -20px 40px rgba(0, 0, 0, 0.35);
  }
  .state-card {
    padding: 22px 20px;
    min-height: 44px;
  }
  .statutory-callout-card {
    padding: 18px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .state-card,
  .state-card-top-beam,
  .state-tag,
  .state-deck-container,
  .statutory-callout-card {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ============================================================
   MEET-UNCLE-PAT: CIRCULAR 230 THESIS DECK & PRACTITIONER PANEL
   ============================================================ */

.thesis-stage {
  position: relative;
  width: 100%;
  min-height: auto;
  background: var(--night, #070C12);
  margin-top: 0;
  z-index: 20;
}

/* Elevated Rounded Deck Container */
.thesis-deck-container {
  position: relative;
  width: 100%;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 36px 36px 0 0;
  background: #0E1621;
  box-shadow: 0 -35px 70px rgba(0, 0, 0, 0.55);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding: 100px 0;
  overflow: hidden;
  will-change: transform;
}

/* Practitioner Photo Parallax & Vignette Underlay */
.thesis-visual-underlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}

.thesis-bg-img {
  position: absolute;
  top: -15%;
  left: 0;
  width: 100%;
  height: 130%;
  object-fit: cover;
  object-position: center 38%;
  display: block;
  filter: saturate(0.85) brightness(0.68);
  will-change: transform;
}

/* Radial Vignette Mask */
.thesis-vignette-mask {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at center, rgba(14, 22, 33, 0.4) 0%, #0E1621 85%);
  pointer-events: none;
}

/* Foreground Content */
.thesis-shell {
  position: relative;
  z-index: 2;
  width: 100%;
}

.thesis-lockup {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
}

/* Monospace Eyebrow in Brand Cyan (#019FFF) */
.thesis-eyebrow {
  display: inline-block;
  font-family: var(--f-mono, monospace);
  font-size: clamp(0.72rem, 1.2vw, 0.82rem);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #019FFF !important;
  margin-bottom: 24px;
  will-change: transform, opacity, letter-spacing;
}

/* Masked Headlines */
.thesis-headline-wrap {
  overflow: hidden;
  margin: 0;
  display: block;
}

.thesis-headline-lead {
  color: #FFFFFF;
  font-size: clamp(1.85rem, 3.8vw, 3.25rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.025em;
  margin: 0 0 10px;
  will-change: transform, opacity;
}

/* Climax Punchline with Illuminated Gold Flare */
.thesis-headline-climax {
  color: #EAE42F !important;
  font-size: clamp(1.85rem, 3.8vw, 3.25rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.025em;
  margin: 0 0 32px;
  text-shadow: 0 0 24px rgba(234, 228, 47, 0.4);
  will-change: transform, opacity, text-shadow;
}

/* 1px Cyan-to-Yellow Horizontal Gradient Laser Divider */
.thesis-laser-divider {
  width: 100%;
  max-width: 380px;
  height: 1.5px;
  margin: 0 auto;
  background: linear-gradient(90deg, transparent 0%, #019FFF 30%, #EAE42F 70%, transparent 100%);
  transform-origin: center center;
  transform: scaleX(0);
  box-shadow: 0 0 12px rgba(1, 159, 255, 0.6), 0 0 18px rgba(234, 228, 47, 0.5);
  will-change: transform;
}

/* Responsive & Mobile Fallback Rules */
@media (max-width: 1023px) {
  .thesis-deck-container {
    min-height: 70vh;
    padding: 90px 0;
    border-radius: 28px 28px 0 0;
  }
}

@media (max-width: 767px) {
  .thesis-stage {
    overflow: visible;
  }
  .thesis-deck-container {
    min-height: auto;
    padding: 70px 0 80px;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -20px 40px rgba(0, 0, 0, 0.4);
  }
  .thesis-bg-img {
    top: 0;
    height: 100%;
    transform: none !important;
  }
  .thesis-laser-divider {
    max-width: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .thesis-bg-img,
  .thesis-eyebrow,
  .thesis-headline-lead,
  .thesis-headline-climax,
  .thesis-laser-divider,
  .thesis-deck-container {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   MEET-UNCLE-PAT: PHILOSOPHY CARD-STACKING TRANSITIONS (SORABAN SUITE)
   ───────────────────────────────────────────────────────────── */

/* Hero Stage */
.pat-hero-stage {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 100vh;                    /* Full-screen: sticky card-stack anchor */
  display: flex;
  align-items: center;
  background: var(--night);
  will-change: transform, opacity, filter;
  overflow: hidden;                 /* Clip blurred edges on recession */
}

/* Elevated Philosophy Deck Stage (Card Stacking Sheet) */
.owl-philosophy-stage {
  position: relative;
  z-index: 2;
  margin-top: 0;
  background: transparent;
  overflow: visible;
}

.owl-philosophy-deck {
  position: relative;
  background: var(--ground);
  border-radius: 36px 36px 0 0;
  box-shadow: 0 -35px 70px rgba(0, 0, 0, 0.45);
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  padding: 100px 0 110px;
  will-change: transform, opacity;
}

/* Left Column: The Mark */
.owl-mark-col {
  will-change: transform, opacity;
}

.owl-mark-col .eyebrow {
  letter-spacing: 0.14em;
  color: var(--blue);
  will-change: transform, opacity, letter-spacing;
}

.owl-mark-col h2 {
  color: var(--ink);
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
  will-change: transform, opacity;
}

.owl-mark-col .lede {
  font-size: clamp(1.05rem, 1.3vw, 1.2rem);
  line-height: 1.55;
  color: var(--ink);
  font-weight: 500;
  will-change: transform, opacity;
}

/* Right Column: The Five Voice Rules Card */
.voice-rules-card {
  position: relative;
  overflow: hidden;
  padding: 36px 32px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 4px 20px rgba(10, 28, 40, 0.05);
  transition: border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity, box-shadow;
}

/* Top Laser Accent Beam */
.voice-card-top-beam {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  transform-origin: center center;
  transition: background 0.35s ease, box-shadow 0.35s ease;
  will-change: transform, opacity, box-shadow;
}

.voice-rules-card:hover {
  transform: translateY(-4px);
  border-color: rgba(1, 159, 255, 0.45);
  box-shadow: 0 16px 36px rgba(1, 159, 255, 0.12), 0 4px 16px rgba(10, 28, 40, 0.06);
}

.voice-rules-card:hover .voice-card-top-beam {
  background: linear-gradient(90deg, transparent, #019FFF 30%, #019FFF 70%, transparent);
  box-shadow: 0 0 16px rgba(1, 159, 255, 0.65);
}

.voice-tag {
  letter-spacing: 0.12em;
  background: rgba(1, 159, 255, 0.08);
  color: var(--blue);
  border-radius: 999px;
  padding: 4px 12px;
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.voice-rules-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.voice-rule-item {
  position: relative;
  padding: 12px 0 12px 14px;
  border-top: 1px solid var(--line-2);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              color 0.25s ease,
              background-color 0.25s ease;
  border-radius: 8px;
  line-height: 1.6;
  font-size: 0.94rem;
  color: var(--ink-2);
  will-change: transform, opacity;
}

.voice-rule-item b {
  color: var(--ink);
  transition: color 0.25s ease;
}

.voice-rule-item:hover {
  transform: translateX(5px);
  background-color: rgba(1, 159, 255, 0.04);
  color: var(--ink);
}

.voice-rule-item:hover b {
  color: var(--blue);
}

/* Guardrail Stage */
.guardrail-stage {
  position: relative;
  z-index: 3;
  background: var(--night);
}

.guardrail-callout {
  border-radius: 16px;
  border-left-width: 4px;
  border-left-style: solid;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s ease,
              border-left-color 0.3s ease;
  will-change: transform, opacity;
}

.guardrail-callout:hover {
  transform: translateX(4px);
  border-left-color: #F4EF3E;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

@media (max-width: 1023px) {
  .pat-hero-stage {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: auto !important;
    display: block !important;
    overflow: visible !important;
    padding: 36px 0 48px !important;
  }
  .owl-philosophy-deck {
    padding: 70px 0 80px;
    border-radius: 28px 28px 0 0;
  }
}

@media (max-width: 767px) {
  .pat-hero-stage {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: auto !important;
    display: block !important;
    overflow: visible !important;
    padding: 24px 0 40px !important;
  }
  .pat-hero-stage .split {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .pat-hero-stage .hero-owl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
  }
  .pat-hero-stage .hero-owl svg {
    max-width: 190px;
    height: auto;
  }
  .owl-philosophy-stage {
    overflow: visible;
  }
  .owl-philosophy-deck {
    padding: 44px 0 54px;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -16px 36px rgba(0, 0, 0, 0.35);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pat-hero-stage,
  .owl-philosophy-deck,
  .owl-mark-col,
  .voice-rules-card,
  .voice-rule-item,
  .guardrail-callout {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   MEET-UNCLE-PAT: PRACTICE & TEAM CREDENTIAL DECK (SORABAN SUITE)
   ───────────────────────────────────────────────────────────── */

/* Stage & Container */
.credential-deck-stage {
  position: relative;
  z-index: 25;
  background: var(--ground);
  border-radius: 36px 36px 36px 36px;
  box-shadow: 0 -20px 50px rgba(0, 0, 0, 0.22);
}

.credential-deck-container {
  position: relative;
  background: var(--ground);
  border-radius: 36px 36px 0 0;
  padding: 100px 0 110px;
  will-change: transform, opacity;
}

/* Section Header */
.credential-sechead {
  margin-bottom: 56px;
  text-align: center;
  will-change: transform, opacity;
}

.credential-eyebrow {
  display: block;
  font-family: var(--f-mono, 'Roboto Mono', monospace);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #019FFF;
  margin-bottom: 10px;
  will-change: transform, opacity, letter-spacing;
}

.credential-headline {
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--ink);
  margin-bottom: 14px;
  will-change: transform, opacity;
}

.credential-lede {
  max-width: 560px;
  margin: 0 auto;
  will-change: transform, opacity;
}

/* 3-Column Credential Grid */
.credential-grid {
  gap: 24px;
}

/* Individual Credential Card */
.credential-card {
  position: relative;
  overflow: hidden;
  padding: 36px 28px 32px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 4px 16px rgba(10, 28, 40, 0.04);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity, box-shadow;
  cursor: default;
}

/* Illuminated Top Beam */
.cred-card-top-beam {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  transition: background 0.28s ease, box-shadow 0.28s ease;
  will-change: background, box-shadow;
}

/* Category Tag */
.cred-tag {
  display: inline-block;
  font-family: var(--f-mono, 'Roboto Mono', monospace);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #019FFF;
  background: rgba(1, 159, 255, 0.08);
  border-radius: 999px;
  padding: 4px 12px;
  margin-bottom: 14px;
  transition: letter-spacing 0.35s ease, background 0.25s ease;
  will-change: transform, opacity, letter-spacing;
}

.credential-card h3 {
  font-size: 1.22rem;
  font-weight: 700;
  letter-spacing: -0.018em;
  line-height: 1.28;
  margin-bottom: 10px;
  color: var(--ink);
}

.credential-card p {
  font-size: 0.94rem;
  line-height: 1.65;
  color: var(--ink-2);
}

/* Hover: active card lifts, siblings dim */
.credential-grid:has(.credential-card:hover) .credential-card:not(:hover) {
  opacity: 0.7;
}

.credential-card:hover {
  transform: translateY(-5px) scale(1.015);
  z-index: 10;
  box-shadow: 0 20px 40px -12px rgba(1, 159, 255, 0.16),
              0 0 0 1px #019FFF;
  border-color: #019FFF;
}

.credential-card:hover .cred-card-top-beam {
  background: linear-gradient(90deg, transparent, #019FFF 30%, #019FFF 70%, transparent);
  box-shadow: 0 0 18px rgba(1, 159, 255, 0.65);
}

.credential-card:hover .cred-tag {
  letter-spacing: 0.18em;
  background: rgba(1, 159, 255, 0.14);
}

/* CTA Wrap & Button */
.credential-cta-wrap {
  margin-top: 52px;
  text-align: center;
  will-change: transform, opacity;
}

.credential-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 36px;
  background: #EAE42F;
  color: #0A1C28;
  font-weight: 700;
  font-size: 0.97rem;
  letter-spacing: 0.01em;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(234, 228, 47, 0.2);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.2s ease;
  will-change: transform, opacity, box-shadow;
  min-height: 48px;
}

.credential-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(234, 228, 47, 0.35);
  background: #F4EF3E;
}

.credential-cta-btn:active {
  transform: scale(0.97);
  box-shadow: 0 4px 12px rgba(234, 228, 47, 0.2);
}

/* Responsive */
@media (max-width: 1023px) {
  .credential-deck-container {
    padding: 70px 0 80px;
  }
  .credential-sechead {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .credential-deck-stage {
    border-radius: 0 0 24px 24px;
    overflow: visible;
  }
  .credential-deck-container {
    padding: 60px 0 70px;
  }
  .credential-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .credential-card {
    padding: 28px 22px;
    min-height: 44px;
  }
  .credential-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 18px 24px;
    font-size: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .credential-card,
  .cred-card-top-beam,
  .cred-tag,
  .credential-cta-btn,
  .credential-sechead,
  .credential-deck-container {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ============================================================
   GLOBAL SCROLL REVEAL & MICRO-ANIMATIONS
   High-performance, GPU-accelerated, zero-layout-shift
   ============================================================ */

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

.hero-fade-in {
  animation: heroFadeIn 0.75s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes heroFadeIn {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.card,
.pkg,
.svc,
.prob,
.legal-category-card,
.legal-card,
.bridge,
.form-card,
.app-device-wrapper {
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.card:hover,
.pkg:hover,
.svc:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(10, 28, 40, 0.08);
}

/* Mobile & Touch Feedback */
.card:active,
.pkg:active,
.svc:active,
.btn:active,
.d:active {
  transform: scale(0.985) translateY(0);
  transition-duration: 0.12s;
}

/* Primary Button Pulse & Shimmer */
.btn-p,
.btn-gold {
  position: relative;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.2s ease;
}

.btn-p:hover,
.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(1, 159, 255, 0.3);
}

/* Global Top Reading Progress Indicator */
#site-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  z-index: 999999;
  background: linear-gradient(90deg, #019FFF 0%, #EAE42F 100%);
  box-shadow: 0 0 10px rgba(1, 159, 255, 0.7);
  pointer-events: none;
  transition: width 0.08s ease-out;
}

.ptab tr {
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.ptab tr:hover {
  background-color: rgba(1, 159, 255, 0.04);
}

.legal-nav a,
.legal-toc-link {
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.legal-nav a:hover,
.legal-nav a.active {
  color: var(--blue) !important;
  border-left-color: var(--blue) !important;
  padding-left: 14px;
}
.legal-toc-link:hover,
.legal-toc-link.active {
  color: var(--blue) !important;
  border-bottom-color: var(--blue) !important;
}

@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll,
  .hero-fade-in,
  .card,
  .pkg,
  .legal-category-card,
  .legal-card,
  .bridge,
  .app-device-wrapper {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* ---------- Direct Booking Form Card & Mobile Responsive ---------- */
.booking-form-card {
  padding: 32px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 4px 16px rgba(12, 29, 40, 0.04);
}

.form-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}

.file-upload-box {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1.5px dashed var(--line);
  border-radius: var(--r);
  background: var(--wash, #F8FAFC);
  cursor: pointer;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

.file-upload-box:hover {
  border-color: var(--blue, #019FFF);
  background: rgba(1, 159, 255, 0.04);
}

.file-upload-box .upload-text-wrap {
  flex: 1;
  min-width: 0;
}

@media (max-width: 768px) {
  .booking-form-card {
    padding: 22px 16px !important;
  }
  .split {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .split > * {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 580px) {
  .booking-form-card {
    padding: 18px 12px !important;
    border-radius: 10px;
  }
  .form-row-2col {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .file-upload-box {
    padding: 10px 10px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .file-upload-box .upload-text-wrap {
    flex: 1 1 180px;
  }
  .file-upload-box .btn-browse {
    padding: 5px 12px;
    font-size: 0.74rem;
    margin-left: auto;
  }
  #page-booking-file-name, #booking-file-name {
    font-size: 0.82rem !important;
    white-space: normal !important;
    word-break: break-word;
  }
  #page-booking-file-sub, #booking-file-sub {
    font-size: 0.7rem !important;
  }
  .form-control {
    font-size: 0.88rem;
    padding: 10px 12px;
    box-sizing: border-box;
  }
}
