:root {
  --legacy-blue: #05c3f9;
  --cobalt: #050e3d;
  --coral: #ff557e;
  --onyx: #1d1d1d;
  --chalk: #ffffff;
  --slate: #615b56;
  --navy: var(--cobalt);
  --blue: var(--legacy-blue);
  --aqua: #00b7ad;
  --green: #1f9d71;
  --ink: var(--onyx);
  --muted: var(--slate);
  --line: #cbe5f3;
  --paper: #f2faff;
  --white: var(--chalk);
  --warm: #fff5cf;
  --aqua-soft: #dff7f4;
  --blue-soft: #eaf1ff;
  --coral-soft: #ffe8ee;
  --radius-lg: 14px;
  --radius-md: 9px;
  --surface-shadow: 0 16px 38px rgba(5, 14, 61, 0.08);
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 8% 0%, rgba(5, 195, 249, 0.2), transparent 30rem),
    radial-gradient(circle at 92% 18%, rgba(255, 85, 126, 0.17), transparent 32rem),
    linear-gradient(150deg, #eefaff 0%, #fff5f8 52%, #f3fcff 100%);
  color: var(--ink);
}

html {
  scroll-behavior: smooth;
}

button,
input {
  font: inherit;
}

a {
  color: var(--cobalt);
  font-weight: 700;
}

.app {
  min-height: 100vh;
}

.topbar {
  align-items: center;
  background: var(--navy);
  border-bottom: 4px solid var(--aqua);
  color: var(--white);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  min-height: 84px;
  padding: 18px clamp(18px, 4vw, 48px);
  position: sticky;
  box-shadow: 0 10px 30px rgba(5, 14, 61, 0.2);
  top: 0;
  z-index: 50;
}

.brand {
  align-items: center;
  display: flex;
  gap: 14px;
  min-width: 0;
}

.mark {
  align-items: center;
  aspect-ratio: 1;
  background: var(--white);
  border: 2px solid var(--white);
  border-radius: 5px;
  display: grid;
  flex: 0 0 46px;
  overflow: hidden;
  place-items: center;
  width: 46px;
}

.mark img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

h1,
h2,
p {
  margin: 0;
}

h1 {
  font-size: clamp(1.35rem, 2.2vw, 2.05rem);
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.1;
}

.brand p {
  color: #cfd7ef;
  margin-top: 4px;
}

.topnav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  margin-left: auto;
  padding: 0 12px;
}

.topnav a {
  color: #dbe7ff;
  font-size: 0.82rem;
  font-weight: 800;
  padding: 9px 10px;
  text-decoration: none;
}

.topnav a:hover,
.topnav a:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  color: var(--white);
  outline: none;
}

.actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.header-real-wordmark {
  display: block;
  height: auto;
  margin-right: 6px;
  width: 78px;
}

.icon-button {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.38);
  color: var(--white);
  cursor: pointer;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  border-radius: 7px;
  transition: background 150ms ease, box-shadow 150ms ease, transform 120ms ease;
  width: 40px;
}

.icon-button span {
  display: inline-block;
  transition: transform 160ms ease;
}

.icon-button:hover,
.icon-button:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
  outline: none;
  transform: translateY(-1px);
}

.icon-button:active {
  background: rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.32);
  transform: translateY(1px) scale(0.96);
}

#resetButton:active span {
  animation: reset-spin 280ms ease-out;
}

@keyframes reset-spin {
  0% { transform: rotate(0deg); }
  70% { transform: rotate(-85deg); }
  100% { transform: rotate(0deg); }
}

.workspace {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(250px, 0.8fr) minmax(560px, 1.45fr) minmax(300px, 0.9fr);
  padding: 18px clamp(18px, 4vw, 48px) 28px;
}

[data-view-panel][hidden] {
  display: none !important;
}

.perspective-switcher {
  align-items: center;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 16px clamp(18px, 4vw, 48px);
}

.perspective-switcher > div:first-child {
  display: grid;
  gap: 4px;
}

.perspective-switcher strong {
  color: var(--navy);
  font-size: 1rem;
}

.perspective-tabs {
  background: var(--blue-soft);
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(2, minmax(130px, 1fr));
  padding: 4px;
}

.perspective-tab {
  background: transparent;
  border: 0;
  color: var(--cobalt);
  cursor: pointer;
  font-weight: 850;
  min-height: 42px;
  padding: 0 16px;
}

.perspective-tab.active {
  background: var(--navy);
  color: var(--white);
}

.perspective-tab:focus-visible {
  outline: 3px solid var(--aqua);
  outline-offset: 2px;
}

.fixed-plan-summary {
  display: grid;
  gap: 9px;
}

.fixed-plan-summary div {
  background: var(--blue-soft);
  border-left: 4px solid var(--aqua);
  display: grid;
  gap: 3px;
  padding: 11px 12px;
}

.fixed-plan-summary div:nth-child(2) { border-left-color: var(--blue); }
.fixed-plan-summary div:nth-child(3) { border-left-color: var(--green); }
.fixed-plan-summary span { color: var(--muted); font-size: 0.76rem; font-weight: 750; }
.fixed-plan-summary strong { color: var(--navy); font-size: 1.12rem; }
.fixed-plan-summary div:nth-child(3) strong { font-size: 1rem; }

.be-kind-badge {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 14px;
}

.be-kind-badge img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 172px;
  width: 100%;
}

#recruiter-view,
#agent-view,
#why-real,
#real-academy,
#real-tech,
#tech-video,
#real-luxury,
#why-blueprint,
#next-step {
  scroll-margin-top: 112px;
}

.panel,
.calculator {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--surface-shadow);
  min-width: 0;
  overflow: hidden;
  align-self: start;
}

.panel {
  padding: 20px;
}

.panel-heading,
.scenario-bar {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.panel-heading strong,
.scenario-bar h2 {
  color: var(--navy);
  display: block;
  font-size: 1.25rem;
  line-height: 1.2;
  margin-top: 3px;
}

.eyebrow {
  color: var(--muted);
  display: block;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.assumptions {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.field {
  display: grid;
  gap: 7px;
}

.field > span {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.field-note {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.4;
}

.field-note.is-warning {
  background: var(--coral-soft);
  border-left: 3px solid var(--coral);
  color: var(--navy);
  padding: 7px 9px;
}

.money-input,
.percent-input {
  align-items: center;
  background: var(--warm);
  border: 1px solid #d6b64c;
  border-radius: var(--radius-md);
  display: flex;
  min-height: 42px;
  padding: 0 10px;
}

.money-input span,
.percent-input span {
  color: #7c6312;
  font-weight: 800;
}

.money-input input,
.percent-input input {
  background: transparent;
  border: 0;
  min-width: 0;
  outline: none;
  text-align: right;
  width: 100%;
}

.plan-select {
  appearance: none;
  background: var(--warm);
  border: 1px solid #d6b64c;
  border-radius: var(--radius-md);
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 750;
  min-height: 42px;
  padding: 0 34px 0 10px;
  width: 100%;
  background-image:
    linear-gradient(45deg, transparent 50%, #7c6312 50%),
    linear-gradient(135deg, #7c6312 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 17px,
    calc(100% - 11px) 17px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}

.mini-stats {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
  margin-top: 2px;
}

.mini-stats div {
  background: var(--aqua-soft);
  border-left: 4px solid var(--aqua);
  padding: 10px 12px;
}

.mini-stats span,
.kpi span,
.chart-title span {
  color: var(--muted);
  display: block;
  font-size: 0.8rem;
  font-weight: 750;
}

.mini-stats strong {
  color: var(--navy);
  display: block;
  font-size: 1.12rem;
  margin-top: 3px;
}

.canada-fees {
  background:
    linear-gradient(135deg, rgba(234, 241, 255, 0.96), rgba(223, 247, 244, 0.72));
  border: 1px solid rgba(5, 195, 249, 0.22);
  border-top: 4px solid var(--blue);
  border-radius: var(--radius-md);
  padding: 14px;
}

.canada-fees dl {
  display: grid;
  gap: 7px;
  margin: 10px 0;
}

.canada-fees dl div {
  align-items: baseline;
  border-bottom: 1px solid rgba(5, 195, 249, 0.2);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding-bottom: 5px;
}

.canada-fees dt {
  color: var(--muted);
  font-size: 0.77rem;
  font-weight: 700;
}

.canada-fees dd {
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 850;
  margin: 0;
}

.canada-fees p {
  color: var(--navy);
  font-size: 0.75rem;
  line-height: 1.45;
  margin: 0 0 8px;
}

.canada-fees a {
  font-size: 0.76rem;
  font-weight: 800;
}

.calculator-reference {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(180px, 0.78fr) minmax(260px, 1.22fr);
  margin-top: 16px;
  min-height: 280px;
}

.reference-summary,
.reference-details {
  min-width: 0;
}

.reference-summary {
  border-right: 1px solid rgba(5, 195, 249, 0.2);
  padding-right: 16px;
}

.reference-summary dl {
  margin-bottom: 0;
}

.reference-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.reference-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 3px;
}

.reference-links a {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(5, 195, 249, 0.22);
  border-radius: 6px;
  padding: 7px 9px;
  text-decoration: none;
}

.reference-links a:hover,
.reference-links a:focus-visible {
  background: var(--white);
  border-color: var(--blue);
  outline: none;
}

.fine-print {
  background: var(--coral-soft);
  color: var(--navy);
  font-size: 0.83rem;
  line-height: 1.45;
  margin-top: auto;
  padding: 12px;
}

.calculator {
  padding: 20px;
}

.scenario-bar {
  align-items: stretch;
  border-bottom: 1px solid var(--line);
  flex-direction: column;
  padding-bottom: 16px;
}

.tabs {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  width: 100%;
}

.tab {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--navy);
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 760;
  min-height: 38px;
  padding: 0 8px;
}

.tab.active,
.tab:hover,
.tab:focus-visible {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
  outline: none;
}

.level-table {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  margin-top: 16px;
  overflow-x: auto;
}

.table-head > *,
.level-row > * {
  min-width: 0;
}

.table-head span {
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
}

.table-head,
.level-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 44px 50px minmax(82px, 0.7fr) minmax(82px, 0.7fr) minmax(98px, 0.8fr);
  min-width: 0;
}

.table-head {
  background: var(--navy);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 800;
  padding: 10px;
}

.level-row {
  background: var(--white);
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  transition: background 150ms ease;
}

.level-row:hover {
  background: #fbfcff;
}

.level-row:last-child {
  border-bottom: 0;
}

.level-id {
  align-items: center;
  background: var(--blue-soft);
  color: var(--navy);
  display: inline-flex;
  font-weight: 850;
  height: 32px;
  justify-content: center;
  width: 38px;
}

.rate {
  color: var(--cobalt);
  font-weight: 820;
}

.control-pair {
  display: grid;
  gap: 7px;
}

.control-pair,
.number-stepper {
  min-width: 0;
}

.control-pair input[type="range"] {
  accent-color: var(--aqua);
  width: 100%;
}

.number-stepper {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  display: grid;
  grid-template-columns: 24px minmax(24px, 1fr) 24px;
  height: 32px;
  min-width: 0;
}

.number-stepper button {
  background: var(--paper);
  border: 0;
  color: var(--navy);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 900;
  height: 100%;
  touch-action: none;
  user-select: none;
}

.number-stepper input {
  border: 0;
  min-width: 0;
  outline: none;
  text-align: center;
  width: 100%;
}

.number-stepper input {
  appearance: textfield;
  font-size: 0.95rem;
}

.number-stepper input::-webkit-outer-spin-button,
.number-stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.level-total {
  color: var(--navy);
  display: grid;
  font-size: 1.02rem;
  font-weight: 850;
  gap: 2px;
  text-align: right;
}

.level-total b {
  font: inherit;
}

.level-total small {
  color: var(--muted);
  font-size: 0.64rem;
  font-weight: 850;
  line-height: 1.12;
}

.level-total.is-capped small {
  color: var(--coral);
}

.output {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hero-number {
  background: linear-gradient(135deg, var(--navy), #101f70 62%, #075f78);
  border-radius: var(--radius-md);
  color: var(--white);
  padding: 20px;
  box-shadow: 0 12px 26px rgba(5, 14, 61, 0.16);
}

.hero-number span {
  display: block;
  font-size: clamp(2.15rem, 3vw, 3.4rem);
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}

.hero-number small {
  color: #cfd7ef;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-top: 8px;
}

.income-mix {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.income-mix > div {
  background: var(--paper);
  border-top: 4px solid var(--blue);
  border-radius: 8px;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.income-mix > div:nth-child(2) {
  border-top-color: var(--green);
}

.income-mix .income-mix-total {
  background: var(--blue-soft);
  border-top-color: var(--coral);
  grid-column: 1 / -1;
}

.income-mix span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.income-mix strong {
  color: var(--navy);
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
}

.income-mix small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.kpi-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kpi {
  background: var(--paper);
  border-top: 4px solid var(--aqua);
  border-radius: 8px;
  min-height: 78px;
  padding: 10px;
}

.kpi strong {
  color: var(--navy);
  display: block;
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  font-variant-numeric: tabular-nums;
  margin-top: 6px;
  white-space: nowrap;
}

.chart-wrap {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 14px;
}

.chart-metric + .chart-metric {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 16px;
}

.chart-title {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.chart-title strong {
  color: var(--green);
  font-size: 0.86rem;
}

.bar-chart {
  display: grid;
  gap: 9px;
}

.bar-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 54px 1fr 78px;
}

.bar-label {
  color: var(--navy);
  font-weight: 800;
}

.bar-track {
  background: var(--paper);
  border-radius: 999px;
  height: 18px;
  overflow: hidden;
}

.bar-fill {
  background: linear-gradient(90deg, var(--aqua), var(--green));
  border-radius: inherit;
  height: 100%;
  min-width: 2px;
}

.transaction-fill {
  background: linear-gradient(90deg, color-mix(in srgb, var(--legacy-blue), var(--chalk) 42%), var(--legacy-blue));
}

.bar-value {
  color: var(--navy);
  font-size: 0.86rem;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.transaction-value {
  color: var(--cobalt);
}

.talk-track {
  background: var(--blue-soft);
  border-radius: var(--radius-md);
  padding: 14px;
}

.talk-track ul {
  display: grid;
  gap: 8px;
  margin: 9px 0 0;
  padding-left: 18px;
}

.talk-track li {
  line-height: 1.35;
}

.goal-planner {
  background: var(--white);
  border: 1px solid var(--line);
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(320px, 1fr) minmax(280px, 360px);
  margin: 0 clamp(18px, 4vw, 48px) 18px;
  overflow: hidden;
  padding: clamp(22px, 4vw, 34px);
  position: relative;
}

.goal-planner::before {
  background: linear-gradient(90deg, var(--coral), var(--legacy-blue), var(--aqua));
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.goal-copy h2 {
  color: var(--navy);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.05;
  margin: 0 0 14px;
}

.goal-copy {
  max-width: 820px;
}

.goal-copy p,
.goal-note,
.goal-card p,
.goal-card small {
  color: var(--muted);
  line-height: 1.5;
}

.goal-tool {
  display: contents;
}

.goal-field {
  align-self: center;
  grid-column: 2;
  grid-row: 1;
  max-width: 360px;
  width: 100%;
}

.goal-results {
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  grid-row: 2;
  grid-template-columns: 1fr;
}

.goal-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-top: 4px solid var(--legacy-blue);
  border-radius: var(--radius-md);
  display: grid;
  gap: 9px;
  min-height: 210px;
  padding: 16px;
}

.goal-card-wide {
  grid-column: 1 / -1;
  grid-template-columns: 1fr;
  min-height: 0;
  padding: clamp(18px, 2.5vw, 26px);
}

.goal-plan-top {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(230px, 0.72fr) minmax(420px, 1.28fr);
}

.goal-plan-summary {
  align-content: center;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-left: 5px solid var(--legacy-blue);
  color: var(--white);
  display: grid;
  gap: 9px;
  padding: 18px 20px;
}

.goal-plan-summary .goal-label { color: var(--legacy-blue); }
.goal-plan-summary > strong { color: var(--white); font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1; }
.goal-plan-summary > p { color: #dbe7ff; font-weight: 750; margin: 0; }

.goal-card:nth-child(2) {
  border-top-color: var(--aqua);
}

.goal-card:nth-child(3) {
  border-top-color: var(--green);
}

.goal-label {
  color: var(--cobalt);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.goal-card > strong {
  color: var(--navy);
  font-size: 1.55rem;
  line-height: 1;
}

.goal-card p {
  font-weight: 750;
  margin: 0;
}

.goal-card-stats {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 7px;
  padding-top: 10px;
}

.goal-card-stats span {
  color: var(--muted);
  display: grid;
  font-size: 0.82rem;
  gap: 2px;
}

.goal-card-stats b {
  color: var(--navy);
  font-size: 1rem;
}

.goal-net-grid {
  align-content: start;
  border-top: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 100%;
  padding-top: 0;
}

.goal-net-grid span {
  background: var(--white);
  border-top: 3px solid var(--aqua);
  padding: 10px;
}

.goal-net-grid span:nth-child(2) {
  border-top-color: var(--green);
}

.goal-net-grid span:nth-child(3) {
  border-top-color: var(--coral);
}

.goal-net-grid span:nth-child(4) {
  border-top-color: var(--blue);
}

.goal-breakdown {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.goal-breakdown div {
  align-content: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 4px solid var(--legacy-blue);
  display: grid;
  gap: 5px;
  min-height: 72px;
  padding: 10px 12px;
}

.goal-breakdown div:nth-child(3n + 2) { border-left-color: var(--green); }
.goal-breakdown div:nth-child(3n + 3) { border-left-color: var(--coral); }

.goal-breakdown span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.goal-breakdown b {
  color: var(--navy);
  font-size: 0.98rem;
  white-space: nowrap;
}

.goal-card small,
.goal-note,
.goal-empty {
  font-size: 0.84rem;
}

.goal-note {
  background: var(--blue-soft);
  border-left: 4px solid var(--legacy-blue);
  grid-column: 1 / -1;
  grid-row: 3;
  margin: 0;
  padding: 12px 14px;
}

@media (min-width: 1400px) {
  .goal-breakdown {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.goal-empty {
  background: var(--paper);
  color: var(--muted);
  grid-column: 1 / -1;
  margin: 0;
  padding: 16px;
}

.recruit-pages {
  display: grid;
  gap: 18px;
  padding: 0 clamp(18px, 4vw, 48px) 42px;
}

.insight-band,
.plan-band,
.academy-band,
.tech-band,
.video-band,
.luxury-band,
.blueprint-band,
.cta-band {
  background: var(--white);
  border: 1px solid var(--line);
  min-width: 0;
  padding: clamp(22px, 4vw, 34px);
}

.insight-band,
.plan-band,
.academy-band,
.tech-band,
.video-band,
.blueprint-band {
  overflow: hidden;
  position: relative;
}

.insight-band::before,
.plan-band::before,
.academy-band::before,
.tech-band::before,
.video-band::before,
.blueprint-band::before {
  animation: gradient-drift 8s ease-in-out infinite;
  background: linear-gradient(90deg, var(--aqua), var(--green), var(--blue), var(--aqua));
  background-size: 240% 100%;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.plan-band {
  display: grid;
  gap: 24px;
}

.plan-intro {
  align-items: end;
  display: grid;
  gap: 10px 24px;
  grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
}

.plan-intro .section-kicker,
.plan-intro h2 {
  grid-column: 1;
}

.plan-intro h2 {
  color: var(--navy);
  font-size: clamp(1.8rem, 3.6vw, 3rem);
  line-height: 1;
}

.plan-intro > p {
  color: var(--muted);
  grid-column: 1;
  line-height: 1.65;
}

.plan-cap-note {
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-left: 6px solid var(--aqua);
  color: var(--white);
  display: grid;
  gap: 7px;
  grid-column: 2;
  grid-row: 1 / span 3;
  padding: 22px;
}

.plan-cap-note > span,
.plan-step,
.plan-fees article > span {
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.plan-cap-note > span { color: #b7ecff; }
.plan-cap-note strong { font-size: 1.55rem; }
.plan-cap-note small { color: #dbe7ff; line-height: 1.45; }

.plan-journey {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(280px, 1fr) 78px minmax(280px, 1fr);
}

.plan-stage {
  background: var(--paper);
  border: 1px solid var(--line);
  border-top: 5px solid var(--coral);
  display: grid;
  gap: 12px;
  padding: 20px;
}

.plan-stage-after { border-top-color: var(--green); }
.plan-step { color: var(--cobalt); }
.split-number { color: var(--navy); font-size: clamp(2.35rem, 5vw, 4rem); font-weight: 900; line-height: 0.9; }
.plan-stage p { color: var(--muted); line-height: 1.45; }
.plan-stage dl { display: grid; gap: 0; margin: 0; }
.plan-stage dl div { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; padding: 9px 0; }
.plan-stage dl div + div { border-top: 1px solid var(--line); }
.plan-stage dt { color: var(--muted); font-size: 0.82rem; font-weight: 750; }
.plan-stage dd { color: var(--navy); font-size: 0.9rem; font-weight: 900; margin: 0; text-align: right; }
.plan-stage-fee {
  border-left: 4px solid var(--coral);
  display: grid;
  gap: 4px;
  padding: 12px;
}

.plan-stage-fee strong {
  font-size: 0.73rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.plan-stage-fee span { font-size: 0.87rem; font-weight: 750; line-height: 1.45; }
.plan-stage-fee-before { background: #fff1f5; color: #8f2145; }
.plan-stage-fee-after { background: var(--aqua-soft); border-left-color: var(--green); color: var(--navy); }

.plan-stage-cap {
  background: var(--blue-soft);
  border-left: 4px solid var(--blue);
  color: var(--navy);
  display: grid;
  gap: 4px;
  padding: 12px;
}

.plan-stage-cap strong { font-size: 0.9rem; }
.plan-stage-cap span { font-size: 0.84rem; line-height: 1.45; }
.split-cap-label {
  background: var(--blue-soft);
  color: var(--cobalt);
  font-size: 0.74rem;
  font-weight: 850;
  margin-top: -8px;
  padding: 7px 9px;
  width: fit-content;
}

.plan-transition {
  align-items: center;
  color: var(--cobalt);
  display: flex;
  flex-direction: column;
  font-size: 0.72rem;
  font-weight: 900;
  gap: 8px;
  justify-content: center;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}

.plan-transition i { color: var(--aqua); font-size: 2rem; font-style: normal; }

.plan-fees {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.plan-fees article {
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--aqua);
  display: grid;
  gap: 8px;
  min-height: 178px;
  padding: 16px;
}

.plan-fees article:nth-child(4n + 2) { border-top-color: var(--green); }
.plan-fees article:nth-child(4n + 3) { border-top-color: var(--blue); }
.plan-fees article:nth-child(4n + 4) { border-top-color: var(--coral); }
.plan-fees article > span { color: var(--cobalt); }
.plan-fees strong { color: var(--navy); font-size: 1.05rem; }
.plan-fees p { color: var(--muted); font-size: 0.84rem; line-height: 1.5; }

.plan-footer {
  align-items: center;
  background: var(--blue-soft);
  border-left: 5px solid var(--blue);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(300px, 1fr) auto;
  padding: 16px 18px;
}

.plan-footer p { color: var(--navy); font-size: 0.88rem; line-height: 1.55; }

@keyframes gradient-drift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.section-kicker {
  color: var(--green);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.section-heading {
  align-items: end;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(240px, 0.75fr) minmax(260px, 1fr);
  margin-bottom: 22px;
}

.section-heading h2,
.video-band h2,
.blueprint-band h2,
.cta-band h2 {
  color: var(--navy);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.05;
}

.section-heading p,
.tech-lead p,
.video-band p,
.blueprint-band p,
.cta-band p,
.value-card p,
.tech-card p,
.fee-note span,
.video-highlights span,
.blueprint-list span {
  color: var(--muted);
  line-height: 1.55;
}

.value-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.value-card {
  background: var(--paper);
  border-top: 4px solid var(--aqua);
  display: grid;
  gap: 10px;
  min-height: 230px;
  padding: 18px;
  text-decoration: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.value-card:nth-child(2) { border-top-color: var(--green); }
.value-card:nth-child(3) { border-top-color: var(--blue); }
.value-card:nth-child(4) { border-top-color: var(--coral); }

.value-card:hover,
.value-card:focus-visible {
  box-shadow: 0 14px 28px rgba(5, 14, 61, 0.09);
  outline: none;
  transform: translateY(-3px);
}

.value-card span {
  color: var(--cobalt);
  font-size: 0.78rem;
  font-weight: 900;
}

.academy-band {
  background:
    radial-gradient(circle at 12% 12%, rgba(143, 211, 255, 0.2), transparent 34%),
    radial-gradient(circle at 92% 88%, rgba(255, 77, 120, 0.14), transparent 30%),
    linear-gradient(135deg, #07113f 0%, #0b1d64 52%, #111e52 100%);
  border: 0;
  color: var(--white);
  display: grid;
  gap: clamp(26px, 4vw, 52px);
  grid-template-columns: minmax(300px, 0.88fr) minmax(480px, 1.12fr);
  padding: clamp(30px, 5vw, 54px);
}

.academy-band::before {
  background: linear-gradient(90deg, var(--legacy-blue) 0 68%, var(--coral) 68% 100%);
  background-size: 100% 100%;
  height: 6px;
}

.academy-hero {
  align-content: center;
  display: grid;
  gap: 12px;
  padding-right: clamp(0px, 2vw, 20px);
}

.academy-wordmark {
  align-items: center;
  display: flex;
  gap: 14px;
  margin-bottom: 8px;
}

.academy-real-crop {
  aspect-ratio: 1240 / 440;
  display: block;
  flex: 0 0 124px;
  overflow: hidden;
  position: relative;
}

.academy-real-crop img {
  filter: invert(1) contrast(1.08);
  height: auto;
  left: -32.3%;
  max-width: none;
  mix-blend-mode: screen;
  position: absolute;
  top: -56.8%;
  width: 165.2%;
}

.academy-wordmark > span:last-child {
  border-left: 2px solid var(--legacy-blue);
  color: var(--legacy-blue);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  padding-left: 14px;
  text-transform: uppercase;
}

.academy-hero h2 {
  color: var(--white);
  font-size: clamp(1.8rem, 3.25vw, 2.7rem);
  line-height: 1.04;
  max-width: 680px;
}

.academy-hero > p,
.academy-benefits p {
  color: #d7e5ff;
  line-height: 1.55;
}

.academy-hero > p {
  font-size: 1rem;
  max-width: 620px;
}

.academy-hero .section-kicker {
  color: #ff668c;
}

.academy-benefits {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-benefits article {
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(190, 218, 255, 0.22);
  border-top: 4px solid var(--aqua);
  display: grid;
  gap: 8px;
  min-height: 174px;
  padding: 22px;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.academy-benefits article:nth-child(2),
.academy-benefits article:nth-child(4) { border-top-color: var(--coral); }
.academy-benefits article:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(143, 211, 255, 0.48);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.2);
  transform: translateY(-3px);
}
.academy-benefits span {
  color: var(--legacy-blue);
  font-size: 0.72rem;
  font-weight: 900;
}
.academy-benefits h3 { color: var(--white); font-size: 1.08rem; line-height: 1.2; }
.academy-benefits p { color: #c8d4ee; font-size: 0.86rem; margin: 0; }
.academy-link {
  background: var(--legacy-blue);
  color: var(--navy);
  font-size: 0.86rem;
  font-weight: 900;
  justify-self: start;
  margin-top: 4px;
  padding: 12px 16px;
  text-decoration: none;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.academy-link:hover {
  background: var(--white);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}

.value-card h3 {
  color: var(--navy);
  font-size: 1.1rem;
  line-height: 1.2;
  margin: 0;
}

.value-card p {
  font-size: 0.93rem;
  margin: 0;
}

.value-card b {
  align-self: end;
  color: var(--cobalt);
  font-size: 0.8rem;
  margin-top: 8px;
}

.value-card b i { color: var(--coral); font-style: normal; }

.tech-band {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(280px, 0.82fr) minmax(420px, 1.18fr);
}

.tech-lead {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}

.tech-lead h2 {
  color: var(--navy);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.05;
  margin: 0 0 14px;
}

.fee-note {
  background: linear-gradient(90deg, var(--aqua-soft), var(--blue-soft));
  border-left: 5px solid var(--aqua);
  display: grid;
  gap: 7px;
  margin-top: 22px;
  padding: 16px;
  position: relative;
  overflow: hidden;
}

.fee-note::after {
  animation: fee-sheen 7.2s ease-in-out 2.4s infinite;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
  content: "";
  inset: 0 auto 0 -40%;
  position: absolute;
  width: 40%;
}

@keyframes fee-sheen {
  0%, 58% { transform: translateX(0); }
  84%, 100% { transform: translateX(360%); }
}

.fee-note strong {
  color: var(--navy);
  font-size: 1.12rem;
}

.fee-note span {
  font-size: 0.9rem;
}

.tech-stage {
  display: grid;
  gap: 12px;
}

.tech-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tech-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  display: grid;
  gap: 9px;
  min-height: 184px;
  padding: 18px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.tech-card:nth-child(2) { border-top-color: var(--aqua); }
.tech-card:nth-child(3) { border-top-color: var(--green); }
.tech-card:nth-child(4) { border-top-color: var(--coral); }
.tech-card:nth-child(5) {
  border-top-color: var(--aqua);
  grid-column: 1 / -1;
  min-height: 0;
}

.tech-card:hover {
  box-shadow: 0 14px 28px rgba(5, 14, 61, 0.09);
  transform: translateY(-3px);
}

.tech-card span {
  color: var(--cobalt);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tech-card-logo {
  display: block;
  height: 34px;
  max-width: 150px;
  object-fit: contain;
  object-position: left center;
  width: auto;
}

.tech-card-logo-rezen {
  height: 42px;
  max-width: 168px;
}

.tech-card h3 {
  color: var(--navy);
  font-size: 1.08rem;
  line-height: 1.2;
  margin: 0;
}

.tech-card p {
  font-size: 0.92rem;
  margin: 0;
}

.wallet-note {
  background: linear-gradient(90deg, var(--aqua-soft), var(--blue-soft));
  border-left: 5px solid var(--aqua);
  display: grid;
  gap: 6px;
  padding: 15px 16px;
}

.wallet-note strong {
  color: var(--navy);
}

.wallet-note span {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.wallet-note a {
  font-size: 0.86rem;
  margin-top: 2px;
  width: fit-content;
}

.video-band {
  align-items: center;
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(300px, 0.8fr) minmax(420px, 1.2fr);
}

.video-copy {
  min-width: 0;
}

.video-copy h2 {
  margin-bottom: 12px;
}

.video-highlights {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

.video-highlights div {
  background: var(--blue-soft);
  border-left: 4px solid var(--aqua);
  display: grid;
  gap: 4px;
  padding: 13px 15px;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.video-highlights div:nth-child(2) {
  border-left-color: var(--green);
}

.video-highlights div:nth-child(3) {
  border-left-color: var(--blue);
}

.video-highlights div:hover {
  box-shadow: 0 12px 24px rgba(5, 14, 61, 0.08);
  transform: translateX(3px);
}

.video-highlights strong {
  color: var(--navy);
}

.video-frame {
  background: var(--navy);
  border: 1px solid #1d2a6c;
  box-shadow: 0 18px 34px rgba(5, 14, 61, 0.16);
  display: grid;
  gap: 0;
  min-width: 0;
  overflow: hidden;
}

.video-poster {
  aspect-ratio: 16 / 9;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.video-poster img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease, filter 220ms ease;
  width: 100%;
}

.video-poster::after {
  background: linear-gradient(180deg, transparent 45%, rgba(5, 14, 61, 0.62));
  content: "";
  inset: 0;
  position: absolute;
}

.video-play {
  align-items: center;
  background: #ff0033;
  border: 3px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
  color: var(--white);
  display: flex;
  font-size: 1.35rem;
  height: 66px;
  justify-content: center;
  left: 50%;
  padding-left: 4px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: transform 180ms ease;
  width: 66px;
  z-index: 1;
}

.video-poster:hover img,
.video-poster:focus-visible img {
  filter: brightness(0.82);
  transform: scale(1.025);
}

.video-poster:hover .video-play,
.video-poster:focus-visible .video-play {
  transform: translate(-50%, -50%) scale(1.08);
}

.video-poster:focus-visible {
  outline: 4px solid var(--aqua);
  outline-offset: -4px;
}

.video-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.video-frame .video-link,
.video-frame .video-channel-link {
  align-items: center;
  color: var(--navy);
  display: flex;
  font-size: 0.9rem;
  font-weight: 900;
  justify-content: space-between;
  padding: 13px 16px;
  text-decoration: none;
}

.video-frame .video-link {
  background: linear-gradient(90deg, var(--aqua), var(--green));
}

.video-frame .video-channel-link {
  background: var(--blue-soft);
  border-left: 1px solid rgba(5, 14, 61, 0.16);
}

.video-frame .video-link::after {
  content: "→";
}

.video-frame .video-channel-link::after {
  content: "↗";
}

.video-frame .video-link:hover,
.video-frame .video-link:focus-visible,
.video-frame .video-channel-link:hover,
.video-frame .video-channel-link:focus-visible {
  background: var(--aqua);
  outline: none;
}

.luxury-band {
  background:
    radial-gradient(circle at 16% 8%, rgba(143, 211, 255, 0.14), transparent 24rem),
    linear-gradient(135deg, #2a2c31 0%, #202227 55%, #17191d 100%);
  border: 1px solid #3d4047;
  color: var(--white);
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(320px, 1.04fr) minmax(280px, 0.74fr);
  overflow: hidden;
  position: relative;
}

.luxury-band::before {
  background: linear-gradient(90deg, #d29a54 0%, #f0c783 42%, var(--legacy-blue) 72%, #d29a54 100%);
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.luxury-band::after {
  background: radial-gradient(circle, rgba(240, 199, 131, 0.09), transparent 68%);
  content: "";
  height: 460px;
  pointer-events: none;
  position: absolute;
  right: -160px;
  top: -180px;
  width: 460px;
}

.luxury-hero,
.luxury-panel,
.luxury-grid {
  position: relative;
  z-index: 1;
}

.luxury-kicker {
  color: var(--legacy-blue);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.luxury-logo {
  mix-blend-mode: screen;
  filter: drop-shadow(0 2px 8px rgba(241, 211, 139, 0.12));
  display: block;
  height: auto;
  margin: 0 0 22px;
  max-width: 360px;
  object-fit: contain;
  width: min(78%, 360px);
}

.luxury-hero h2 {
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 500;
  line-height: 1.03;
  margin: 0 0 16px;
}

.luxury-hero p {
  color: #ced1d8;
  font-size: 1rem;
  line-height: 1.7;
  max-width: 680px;
}

.luxury-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.luxury-actions a {
  border: 1px solid rgba(240, 199, 131, 0.62);
  color: #f6dfb6;
  font-size: 0.85rem;
  font-weight: 900;
  padding: 11px 14px;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.luxury-actions a:first-child {
  background: var(--legacy-blue);
  border-color: var(--legacy-blue);
  color: #202227;
}

.luxury-actions a:hover,
.luxury-actions a:focus-visible {
  background: #f0c783;
  border-color: #f0c783;
  color: #202227;
  outline: none;
  transform: translateY(-2px);
}

.luxury-panel {
  align-self: start;
  background: linear-gradient(145deg, rgba(52, 55, 62, 0.98), rgba(24, 26, 31, 0.98));
  border: 1px solid rgba(240, 199, 131, 0.45);
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.28);
  display: grid;
  gap: 0;
  overflow: hidden;
}

.luxury-stat {
  display: grid;
  gap: 6px;
  padding: 18px;
}

.luxury-stat + .luxury-stat {
  border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.luxury-stat span {
  color: #a9e1ff;
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.luxury-stat strong {
  color: var(--white);
  font-size: 1.15rem;
}

.luxury-grid {
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.luxury-grid article {
  background: rgba(48, 51, 58, 0.96);
  border: 1px solid #484c55;
  border-top: 4px solid var(--legacy-blue);
  display: grid;
  gap: 10px;
  min-height: 170px;
  padding: 18px;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.luxury-grid article:hover {
  border-color: rgba(240, 199, 131, 0.72);
  border-top-color: #f0c783;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.24);
  transform: translateY(-3px);
}

.luxury-grid span {
  color: #a9e1ff;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.luxury-grid h3 {
  color: var(--white);
  font-size: 1.08rem;
  line-height: 1.2;
  margin: 0;
}

.luxury-grid p {
  color: #c7cbd3;
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0;
}

.blueprint-band {
  align-items: center;
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
}

.blueprint-band h2 {
  margin-bottom: 14px;
}

.partnership-logo {
  display: block;
  height: 58px;
  margin-bottom: 16px;
  object-fit: cover;
  object-position: left center;
  width: 132px;
}

.footer-logo {
  display: block;
  height: 42px;
  object-fit: cover;
  width: 96px;
}

.blueprint-list {
  display: grid;
  gap: 10px;
}

.blueprint-list div {
  background: var(--blue-soft);
  border-left: 4px solid var(--blue);
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.blueprint-list div:hover {
  box-shadow: 0 12px 24px rgba(5, 14, 61, 0.08);
  transform: translateX(3px);
}

.blueprint-list strong {
  color: var(--navy);
}

.cta-band {
  align-items: center;
  animation: cta-breathe 9s ease-in-out infinite;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 55%, #008b84 100%);
  background-size: 140% 140%;
  border: 0;
  border-top: 5px solid var(--aqua);
  color: var(--white);
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(280px, 1fr) auto;
}

@keyframes cta-breathe {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.cta-band h2,
.cta-band p {
  color: var(--white);
}

.cta-band p {
  color: #dbe7ff;
  margin-top: 10px;
  max-width: 760px;
}

.cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.primary-cta,
.secondary-cta {
  border: 1px solid transparent;
  cursor: pointer;
  font-weight: 850;
  min-height: 44px;
  padding: 0 18px;
  transition: box-shadow 150ms ease, transform 120ms ease;
}

.primary-cta {
  background: var(--aqua);
  color: var(--navy);
}

.secondary-cta {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.38);
  color: var(--white);
}

.primary-cta:hover,
.secondary-cta:hover,
.primary-cta:focus-visible,
.secondary-cta:focus-visible {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
  outline: none;
  transform: translateY(-1px);
}

.primary-cta:active,
.secondary-cta:active {
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3);
  transform: translateY(1px) scale(0.98);
}


.print-report {
  display: none;
}

@media (max-width: 1180px) {
  .workspace {
    grid-template-columns: 320px 1fr;
  }

  .output {
    grid-column: 1 / -1;
  }

  .value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .scenario-bar,
  .panel-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar {
    align-items: center;
    display: grid;
    gap: 10px 12px;
    grid-template-columns: 1fr auto;
    min-height: 0;
    padding: 12px 18px;
  }

  .perspective-switcher {
    align-items: stretch;
    flex-direction: column;
  }

  .brand {
    gap: 10px;
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .mark {
    flex-basis: 38px;
    width: 38px;
  }

  .header-real-wordmark {
    margin-right: 2px;
    width: 54px;
  }

  h1 {
    font-size: 1.16rem;
  }

  .brand p {
    font-size: 0.84rem;
  }

  .topnav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    margin-left: 0;
    max-width: 100%;
    overflow-x: auto;
    padding: 2px 0 0;
    width: 100%;
  }

  .topnav a {
    flex: 0 0 auto;
  }

  .actions {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  #recruiter-view,
  #agent-view,
  #blueprint-plan,
  #why-real,
  #real-academy,
  #real-tech,
  #tech-video,
  #real-luxury,
  #why-blueprint,
  #next-step {
    scroll-margin-top: 142px;
  }

  .workspace {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }

  .hero-number span {
    font-size: clamp(2rem, 12vw, 3.4rem);
  }

  .kpi strong {
    font-size: 1.35rem;
  }

  .tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }

  .kpi-grid,
  .income-mix,
  .value-grid,
  .academy-band,
  .section-heading,
  .tech-band,
  .tech-grid,
  .goal-planner,
  .goal-results,
  .video-band,
  .luxury-band,
  .luxury-grid,
  .plan-intro,
  .plan-journey,
  .plan-footer,
  .blueprint-band,
  .cta-band {
    grid-template-columns: 1fr;
  }

  .plan-intro .section-kicker,
  .plan-intro h2,
  .plan-intro > p,
  .plan-cap-note {
    grid-column: 1;
    grid-row: auto;
  }

  .plan-transition {
    flex-direction: row;
  }

  .plan-transition i {
    transform: rotate(90deg);
  }

  .plan-fees {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .income-mix .income-mix-total {
    grid-column: auto;
  }

  .calculator-reference {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .reference-summary {
    border-bottom: 1px solid rgba(5, 195, 249, 0.2);
    border-right: 0;
    padding-bottom: 8px;
    padding-right: 0;
  }

  .goal-field {
    grid-column: 1;
    grid-row: 2;
    max-width: none;
  }

  .goal-results {
    grid-column: 1;
    grid-row: 3;
  }

  .goal-note {
    grid-column: 1;
    grid-row: 4;
  }

  .goal-plan-top {
    grid-template-columns: 1fr;
  }

  .cta-actions {
    justify-content: stretch;
  }

  .primary-cta,
  .secondary-cta {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .goal-net-grid,
  .goal-breakdown {
    grid-template-columns: 1fr;
  }

  .plan-fees {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

@media print {
  * {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  @page {
    margin: 0.45in;
  }

  body {
    background: var(--white);
  }

  .app {
    display: none;
  }

  .print-report {
    color: var(--navy);
    display: block;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .print-report-header {
    align-items: center;
    background: var(--navy);
    border-bottom: 8px solid var(--aqua);
    color: var(--white);
    display: grid;
    gap: 16px;
    grid-template-columns: 58px 1fr auto;
    padding: 22px 26px;
  }

  .print-mark {
    align-items: center;
    border: 3px solid var(--white);
    display: flex;
    font-size: 1.35rem;
    font-weight: 900;
    height: 52px;
    justify-content: center;
    width: 52px;
  }

  .print-report-header p {
    color: #dbe7ff;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 3px;
    text-transform: uppercase;
  }

  .print-report-header h2 {
    color: var(--white);
    font-size: 2rem;
    line-height: 1.05;
    margin: 0;
    padding: 0;
  }

  .print-report-header > strong {
    background: var(--aqua);
    color: var(--navy);
    font-size: 1rem;
    padding: 10px 14px;
  }

  .print-hero {
    background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 55%, #008b84 100%);
    color: var(--white);
    display: grid;
    gap: 18px;
    grid-template-columns: 1.5fr 0.7fr;
    margin-top: 18px;
    padding: 28px;
  }

  .print-hero span,
  .print-kpis span,
  .print-assumption-box span {
    display: block;
    font-size: 0.85rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .print-hero strong {
    display: block;
    font-size: 3.8rem;
    line-height: 0.95;
    margin-top: 8px;
  }

  .print-hero small {
    color: #dbe7ff;
    display: block;
    font-size: 1.25rem;
    font-weight: 800;
    margin-top: 10px;
  }

  .print-assumption-box {
    align-self: stretch;
    background: rgba(255, 255, 255, 0.14);
    border: 2px solid rgba(255, 255, 255, 0.55);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px;
  }

  .print-assumption-box strong {
    color: var(--white);
    font-size: 1.8rem;
  }

  .print-assumption-box small {
    color: #dbe7ff;
    display: block;
    font-size: 1rem;
    font-weight: 800;
    margin-top: 8px;
  }

  .print-kpis {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 16px;
  }

  .print-kpis div {
    background: var(--paper);
    border-top: 8px solid var(--aqua);
    padding: 16px;
  }

  .print-kpis div:nth-child(2) {
    border-top-color: var(--green);
  }

  .print-kpis div:nth-child(3) {
    border-top-color: var(--coral);
  }

  .print-kpis div:nth-child(4) {
    border-top-color: var(--blue);
  }

  .print-kpis strong {
    color: var(--navy);
    display: block;
    font-size: 1.65rem;
    margin-top: 6px;
  }

  .print-levels,
  .print-notes {
    border: 2px solid #cfd7ef;
    margin-top: 16px;
    padding: 18px;
  }

  .print-levels h3,
  .print-notes h3 {
  color: var(--cobalt);
    font-size: 1.05rem;
    letter-spacing: 0.06em;
    margin: 0 0 14px;
    padding: 0;
    text-transform: uppercase;
  }

  .print-level-row {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px 190px 1fr 90px;
    margin-top: 10px;
  }

  .print-level-row strong {
  color: var(--cobalt);
    font-size: 1rem;
  }

  .print-level-row span {
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 800;
  }

  .print-level-row b {
    color: var(--navy);
    font-size: 0.95rem;
    text-align: right;
  }

  .print-level-track {
    background: var(--paper);
    height: 18px;
    overflow: hidden;
  }

  .print-level-track i {
    background: linear-gradient(90deg, var(--aqua), var(--green));
    display: block;
    height: 100%;
  }

  .print-level-row:nth-child(2) .print-level-track i {
    background: linear-gradient(90deg, var(--blue), var(--aqua));
  }

  .print-level-row:nth-child(3) .print-level-track i {
    background: linear-gradient(90deg, var(--green), #74c69d);
  }

  .print-level-row:nth-child(4) .print-level-track i {
    background: linear-gradient(90deg, var(--coral), #c1121f);
  }

  .print-level-row:nth-child(5) .print-level-track i {
    background: linear-gradient(90deg, var(--navy), var(--blue));
  }

  .print-notes {
    background: var(--blue-soft);
    border-left: 8px solid var(--blue);
  }

  .print-notes ul {
    margin: 0;
    padding-left: 20px;
  }

  .print-notes li {
    color: var(--navy);
    font-size: 0.95rem;
    line-height: 1.35;
    margin-top: 8px;
  }

  .print-notes li::marker {
    color: var(--coral);
  }

  .print-disclaimer {
    border-top: 3px solid var(--coral);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 750;
    margin-top: 18px;
    padding-top: 12px;
  }
}

/* Human-first welcome experience */
.simple-journey {
  align-items: end;
  background: #fff4f7;
  display: grid;
  gap: clamp(26px, 5vw, 68px);
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  margin: 0 clamp(18px, 4vw, 48px) 18px;
  padding: clamp(28px, 5vw, 58px);
}

.simple-journey-heading h2 {
  color: var(--navy);
  font-size: clamp(2rem, 4vw, 4rem);
  letter-spacing: -0.045em;
  line-height: 1;
  margin-top: 8px;
}

.simple-journey-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.simple-journey-grid article {
  background: var(--white);
  border-top: 4px solid var(--coral);
  min-height: 220px;
  padding: 22px 18px;
}

.simple-journey-grid article:nth-child(2) { border-top-color: var(--aqua); }
.simple-journey-grid article:nth-child(3) { border-top-color: var(--blue); }
.journey-icon { color: var(--coral); font-size: 0.78rem; font-weight: 900; }
.simple-journey-grid article:nth-child(2) .journey-icon { color: var(--aqua); }
.simple-journey-grid article:nth-child(3) .journey-icon { color: var(--cobalt); }
.simple-journey-grid h3 { color: var(--navy); font-size: 1.2rem; margin: 48px 0 10px; }
.simple-journey-grid p { color: var(--muted); font-size: 0.9rem; line-height: 1.55; }

.deep-dive {
  border: 1px solid var(--line);
  background: var(--white);
  scroll-margin-top: 112px;
}

.deep-dive > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  list-style: none;
  padding: 22px clamp(20px, 4vw, 34px);
}

.deep-dive > summary::-webkit-details-marker { display: none; }
.deep-dive > summary span { display: grid; gap: 4px; }
.deep-dive > summary small { color: var(--coral); font-size: 0.74rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; }
.deep-dive > summary strong { color: var(--navy); font-size: clamp(1rem, 2vw, 1.3rem); }
.deep-dive > summary i { align-items: center; background: var(--coral); border: 1px solid var(--coral); color: var(--white); display: inline-flex; flex: 0 0 38px; font-size: 1.4rem; font-style: normal; height: 38px; justify-content: center; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease; }
.deep-dive > summary:hover i,
.deep-dive > summary:focus-visible i { background: var(--legacy-blue); border-color: var(--legacy-blue); box-shadow: 0 12px 24px rgba(5, 14, 61, 0.2); color: var(--cobalt); }
.deep-dive[open] > summary i { font-size: 0; }
.deep-dive[open] > summary i::after { content: "−"; font-size: 1.7rem; }
.deep-dive-content { display: grid; gap: 18px; padding: 0 18px 18px; }
.deep-dive-content > section { margin: 0; }

.goal-breakdown-details {
  border-top: 1px solid var(--line);
  margin-top: 4px;
  padding-top: 4px;
}

.goal-breakdown-details > summary {
  color: var(--cobalt);
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 850;
  padding: 12px 2px;
}

.goal-breakdown-details .goal-breakdown { padding-top: 4px; }
.cta-link-button { background: transparent; border-color: rgba(255, 255, 255, 0.38); }

.welcome-hero {
  background: linear-gradient(135deg, #f6fbff 0%, #fff4f7 58%, #fff 100%);
  display: grid;
  gap: clamp(30px, 6vw, 84px);
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, 0.72fr);
  min-height: calc(100vh - 84px);
  overflow: hidden;
  padding: clamp(44px, 7vw, 100px) clamp(18px, 7vw, 94px);
  position: relative;
}

.welcome-hero::before {
  background: var(--coral);
  border-radius: 999px;
  content: "";
  height: 280px;
  opacity: 0.1;
  position: absolute;
  right: -100px;
  top: -100px;
  width: 280px;
}

.welcome-copy {
  align-self: center;
  max-width: 720px;
  position: relative;
  z-index: 1;
}

.welcome-kicker {
  color: var(--coral);
  display: block;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.welcome-copy h2 {
  color: var(--navy);
  font-size: clamp(2.7rem, 5.7vw, 5.8rem);
  letter-spacing: -0.055em;
  line-height: 0.96;
  max-width: 760px;
}

.welcome-copy > p {
  color: #43506f;
  font-size: clamp(1.04rem, 1.5vw, 1.28rem);
  line-height: 1.65;
  margin-top: 26px;
  max-width: 650px;
}

.welcome-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.welcome-primary,
.welcome-secondary {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  text-decoration: none;
}

.welcome-primary {
  background: var(--navy);
  color: var(--white);
}

.welcome-secondary {
  border: 2px solid var(--coral);
  color: var(--navy);
}

.welcome-proof {
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 22px;
  margin-top: 28px;
}

.welcome-proof span::before {
  color: var(--aqua);
  content: "\2713";
  margin-right: 7px;
}

.welcome-photo {
  align-self: center;
  background: var(--navy);
  box-shadow: 26px 28px 0 rgba(255, 85, 126, 0.18);
  margin: 0;
  max-width: 560px;
  position: relative;
  transform: rotate(1.4deg);
}

.welcome-photo img {
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: cover;
  object-position: 52% 31%;
  width: 100%;
}

.welcome-photo figcaption {
  background: rgba(5, 14, 61, 0.94);
  bottom: 18px;
  color: var(--white);
  display: grid;
  gap: 3px;
  left: -22px;
  max-width: 84%;
  padding: 16px 18px;
  position: absolute;
}

.welcome-photo figcaption strong { font-size: 1rem; }
.welcome-photo figcaption span { color: #d8e2f8; font-size: 0.78rem; line-height: 1.4; }

.coffee-band {
  align-items: stretch;
  background: var(--navy);
  color: var(--white);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
  margin: 0 clamp(18px, 4vw, 48px) 28px;
  overflow: hidden;
}

.coffee-portrait { min-height: 660px; position: relative; }
.coffee-portrait img { height: 100%; object-fit: cover; object-position: 50% 30%; position: absolute; width: 100%; }
.coffee-caption { background: var(--coral); bottom: 24px; display: grid; left: 24px; padding: 15px 18px; position: absolute; }
.coffee-caption span { font-size: 0.75rem; font-weight: 850; text-transform: uppercase; }
.coffee-caption strong { font-size: 1.15rem; }

.coffee-copy { align-self: center; padding: clamp(38px, 6vw, 84px); }
.coffee-copy .section-kicker { color: #6de3db; }
.coffee-copy h2 { font-size: clamp(2.1rem, 4vw, 4.2rem); letter-spacing: -0.045em; line-height: 1; max-width: 760px; }
.coffee-copy > p { color: #d8e2f8; font-size: 1.08rem; line-height: 1.7; margin-top: 22px; max-width: 680px; }
.coffee-steps { border-top: 1px solid rgba(255,255,255,0.18); display: grid; gap: 0; margin-top: 30px; }
.coffee-steps > div { align-items: start; border-bottom: 1px solid rgba(255,255,255,0.18); display: grid; gap: 14px; grid-template-columns: 36px 1fr; padding: 17px 0; }
.coffee-steps > div > span { color: var(--coral); font-size: 0.78rem; font-weight: 900; }
.coffee-steps p { color: #cbd6ee; display: grid; font-size: 0.84rem; gap: 3px; line-height: 1.45; }
.coffee-steps strong { color: var(--white); font-size: 0.98rem; }
.coffee-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.coffee-button { background: var(--coral); border: 0; color: var(--white); cursor: pointer; font-weight: 900; min-height: 52px; padding: 0 22px; }
.coffee-booking-link {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
  transition: background 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}
.coffee-booking-link:hover,
.coffee-booking-link:focus-visible {
  background: var(--legacy-blue);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.24);
  color: var(--navy);
  outline: none;
  transform: translateY(-4px);
}
.coffee-button:disabled,
.secondary-cta:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}
.coffee-actions p { color: #aebddb; font-size: 0.75rem; max-width: 300px; }
.coffee-actions p a { color: var(--white); font-weight: 850; }

@media (max-width: 900px) {
  .welcome-hero { grid-template-columns: 1fr; min-height: 0; }
  .welcome-photo { justify-self: center; max-width: 500px; transform: none; width: calc(100% - 18px); }
  .coffee-band { grid-template-columns: 1fr; }
  .coffee-portrait { min-height: 520px; }
  .simple-journey { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .welcome-hero { padding-bottom: 64px; padding-top: 50px; }
  .welcome-copy h2 { font-size: clamp(2.55rem, 13vw, 3.6rem); }
  .welcome-actions { align-items: stretch; flex-direction: column; }
  .welcome-primary, .welcome-secondary { width: 100%; }
  .welcome-proof { display: grid; gap: 8px; }
  .welcome-photo figcaption { bottom: 12px; left: -9px; }
  .coffee-band { margin-left: 0; margin-right: 0; }
  .coffee-portrait { min-height: 430px; }
  .coffee-copy { padding: 42px 22px 48px; }
  .coffee-actions { align-items: stretch; flex-direction: column; }
  .coffee-button { width: 100%; }
  .simple-journey { margin-left: 0; margin-right: 0; padding: 38px 20px; }
  .simple-journey-grid { grid-template-columns: 1fr; }
  .simple-journey-grid article { min-height: 0; }
  .simple-journey-grid h3 { margin-top: 28px; }
  .deep-dive-content { padding-left: 0; padding-right: 0; }
  .goal-breakdown { grid-template-columns: 1fr; }
}

/* Video-led opening and linked learning ecosystem */
.intro-film {
  background: var(--navy);
  min-height: min(78vh, 800px);
  overflow: hidden;
  position: relative;
}

.intro-film-poster {
  height: min(78vh, 800px);
  min-height: 560px;
  position: relative;
}

.intro-film-photo,
.intro-film-video {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center 32%;
  position: absolute;
  width: 100%;
}

.intro-film-photo {
  z-index: 0;
}

.intro-film-video {
  opacity: 1;
  transition: opacity 320ms ease;
  z-index: 1;
}

.intro-film-video.is-unavailable {
  opacity: 0;
}

.intro-film-copy {
  align-items: center;
  bottom: clamp(38px, 8vw, 94px);
  color: var(--white);
  display: flex;
  flex-wrap: nowrap;
  gap: 18px;
  left: clamp(20px, 7vw, 96px);
  position: absolute;
  right: 24px;
  z-index: 3;
}

.intro-film-copy h2 {
  flex: 0 1 auto;
  font-size: clamp(1.25rem, 2.2vw, 2.5rem);
  letter-spacing: -0.04em;
  line-height: 0.98;
  opacity: 0;
  text-shadow: 0 4px 22px rgba(5, 14, 61, 0.48);
  transform: translateY(18px);
  transition: opacity 900ms ease, transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
  white-space: nowrap;
}

.intro-film-copy.is-welcome-visible h2 {
  opacity: 1;
  transform: translateY(0);
}

.intro-film-control {
  align-items: center;
  background: var(--coral);
  border: 1px solid var(--coral);
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(5, 14, 61, 0.18);
  color: var(--white);
  cursor: pointer;
  display: flex;
  gap: 13px;
  flex: 0 0 auto;
  margin: 0;
  padding: 7px 19px 7px 7px;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 160ms ease;
  -webkit-tap-highlight-color: transparent;
  will-change: transform;
}

.intro-film-control:hover,
.intro-film-control:focus-visible {
  background: var(--legacy-blue);
  border-color: var(--legacy-blue);
  box-shadow: 0 16px 30px rgba(5, 14, 61, 0.3);
  color: var(--cobalt);
  outline: none;
  transform: translateY(-4px);
}

.intro-film-control:active {
  background: var(--legacy-blue);
  border-color: var(--legacy-blue);
  box-shadow: inset 0 3px 8px rgba(5, 14, 61, 0.3), 0 6px 14px rgba(5, 14, 61, 0.2);
  color: var(--cobalt);
  transform: translateY(1px) scale(0.98);
}

@media (prefers-reduced-motion: reduce) {
  .intro-film-video { transition: none; }
  .intro-film-copy h2 { transition: none; }
  .intro-film-control { transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease; }
}

.intro-film-control-icon {
  align-items: center;
  background: rgba(5, 14, 61, 0.18);
  border-radius: 50%;
  display: inline-flex;
  font-size: 0.9rem;
  height: 50px;
  justify-content: center;
  width: 50px;
}

.intro-film-icon-play { padding-left: 3px; }
.intro-film-icon-pause { display: none; font-size: 1.2rem; font-weight: 900; letter-spacing: -0.26em; padding-right: 3px; }
.intro-film-control[data-paused="false"]:is(:hover, :focus-visible) .intro-film-icon-play { display: none; }
.intro-film-control[data-paused="false"]:is(:hover, :focus-visible) .intro-film-icon-pause { display: inline; }
.intro-film-control strong { font-size: 0.82rem; letter-spacing: 0.04em; }

.welcome-hero {
  min-height: 0;
  padding-bottom: clamp(56px, 7vw, 88px);
  padding-top: clamp(56px, 7vw, 88px);
}

.welcome-copy { max-width: 720px; }
.welcome-copy h2 { max-width: 920px; }

.academy-benefits > a {
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(190, 218, 255, 0.22);
  border-top: 4px solid var(--aqua);
  display: grid;
  gap: 8px;
  min-height: 196px;
  padding: 22px;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.academy-benefits > a:nth-child(2),
.academy-benefits > a:nth-child(4) { border-top-color: var(--coral); }

.academy-benefits > a:hover,
.academy-benefits > a:focus-visible {
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(143, 211, 255, 0.58);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.2);
  outline: none;
  transform: translateY(-3px);
}

.academy-benefits > a > span { color: var(--legacy-blue); font-size: 0.72rem; font-weight: 900; }
.academy-benefits > a h3 { color: var(--white); font-size: 1.08rem; line-height: 1.2; margin: 0; }
.academy-benefits > a p { color: #c8d4ee; font-size: 0.86rem; line-height: 1.55; margin: 0; }
.academy-benefits > a b { align-self: end; color: var(--legacy-blue); font-size: 0.8rem; margin-top: 8px; }
.academy-benefits > a b i { color: var(--coral); font-style: normal; }

.tech-band {
  background:
    radial-gradient(circle at 100% 0%, rgba(143, 211, 255, 0.24), transparent 32rem),
    linear-gradient(180deg, #fff 0%, #f5f9ff 100%);
  gap: clamp(24px, 4vw, 52px);
  grid-template-columns: minmax(270px, 0.7fr) minmax(520px, 1.3fr);
  padding: clamp(30px, 5vw, 58px);
  scroll-margin-top: 112px;
}

.tech-lead { justify-content: center; }
.tech-lead h2 { font-size: clamp(2.2rem, 4vw, 4.4rem); letter-spacing: -0.05em; line-height: 0.97; }
.tech-lead > p { font-size: 1.02rem; }

.tech-card {
  color: inherit;
  min-height: 218px;
  position: relative;
  text-decoration: none;
}

.tech-card:nth-child(5) { grid-column: auto; min-height: 218px; }
.tech-card:nth-child(6) { border-top-color: var(--green); }
.tech-card:hover,
.tech-card:focus-visible { border-color: var(--legacy-blue); box-shadow: 0 18px 36px rgba(5, 14, 61, 0.13); outline: none; transform: translateY(-4px); }
.tech-card b { align-self: end; color: var(--cobalt); font-size: 0.8rem; margin-top: 8px; }
.tech-card b i { color: var(--coral); font-style: normal; }

@media (max-width: 980px) {
  .tech-band { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .intro-film,
  .intro-film-poster { height: 72vh; min-height: 540px; }
  .intro-film-video { object-position: 57% 30%; }
  .intro-film-copy { bottom: 34px; gap: 9px; left: 14px; right: 14px; }
  .intro-film-copy h2 { font-size: clamp(0.62rem, 2.6vw, 0.84rem); }
  .intro-film-control { gap: 7px; padding: 5px 10px 5px 5px; }
  .intro-film-control-icon { height: 38px; width: 38px; }
  .intro-film-control strong { font-size: 0.65rem; }
  .academy-benefits > a { min-height: 0; }
}

.seo-footer {
  border-top: 1px solid var(--line);
  color: var(--muted);
  display: grid;
  font-size: 0.78rem;
  gap: 6px;
  line-height: 1.5;
  padding: 20px clamp(20px, 4vw, 54px) 30px;
}

.seo-footer strong {
  color: var(--navy);
  font-size: 0.84rem;
}

/* Focused search-entry pages keep the same Blue Sky visual language while
   letting each visitor arrive directly at the question they are researching. */
.landing-page {
  min-height: 100vh;
}

.landing-shell {
  margin: 0 auto;
  max-width: 1120px;
  padding: clamp(22px, 5vw, 64px) clamp(18px, 4vw, 42px) 72px;
}

.landing-brand {
  align-items: center;
  color: var(--navy);
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 900;
  gap: 10px;
  letter-spacing: 0.01em;
  text-decoration: none;
}

.landing-brand img {
  border-radius: 9px;
  height: 34px;
  width: 34px;
}

.landing-hero {
  background: linear-gradient(135deg, rgba(5, 195, 249, 0.22), rgba(255, 85, 126, 0.14) 58%, rgba(255, 255, 255, 0.78));
  border: 1px solid rgba(5, 195, 249, 0.24);
  border-radius: var(--radius-lg);
  margin-top: clamp(30px, 7vw, 78px);
  padding: clamp(28px, 6vw, 72px);
}

.landing-hero h1 {
  color: var(--navy);
  font-size: clamp(2.2rem, 5.2vw, 4.4rem);
  letter-spacing: -0.055em;
  line-height: 0.96;
  margin: 12px 0 20px;
  max-width: 850px;
}

.landing-lead {
  color: var(--ink);
  font-size: clamp(1.03rem, 1.8vw, 1.28rem);
  line-height: 1.65;
  margin: 0;
  max-width: 700px;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.landing-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 20px;
}

.landing-grid article,
.landing-note {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 24px;
}

.landing-grid span {
  color: var(--coral);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.landing-grid h2,
.landing-note h2 {
  color: var(--navy);
  font-size: 1.2rem;
  line-height: 1.14;
  margin: 10px 0;
}

.landing-grid p,
.landing-note p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}

.landing-note {
  border-left: 5px solid var(--legacy-blue);
  margin-top: 16px;
}

.landing-note a {
  color: var(--navy);
  display: inline-block;
  font-weight: 900;
  margin-top: 16px;
}

@media (max-width: 720px) {
  .landing-grid { grid-template-columns: 1fr; }
  .landing-actions > a { flex: 1 1 220px; justify-content: center; text-align: center; }
}

.footer-contact { color: var(--cobalt); font-weight: 850; width: fit-content; }

.under-construction { align-items: center; background: #03050e; color: var(--white); display: grid; inset: 0; isolation: isolate; justify-items: center; min-height: 100vh; overflow: hidden; padding: 30px; position: fixed; text-align: center; z-index: 999; }
.under-construction::before { background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.14), transparent 26%), linear-gradient(120deg, transparent 33%, rgba(255,255,255,0.075) 50%, transparent 67%); content: ""; inset: 0; opacity: 0.9; position: absolute; }
.under-construction-drape { background: repeating-linear-gradient(103deg, #01020a 0 8%, #11152a 15%, #03040d 28%, #22263b 42%, #050711 56%, #000 72%); box-shadow: inset -28px 0 42px rgba(0,0,0,0.8), inset 28px 0 42px rgba(255,255,255,0.05); filter: saturate(0.7); height: 118vh; opacity: 0.95; position: absolute; top: -9vh; width: 58vw; z-index: -1; }
.under-construction-drape-left { border-radius: 0 0 53% 0; left: -12vw; transform: rotate(-2deg); }
.under-construction-drape-right { border-radius: 0 0 0 53%; right: -12vw; transform: rotate(2deg); }
.under-construction-content { display: grid; gap: 15px; max-width: 610px; position: relative; }
.under-construction-content img { height: auto; justify-self: center; max-width: 104px; }
.under-construction-content p { color: var(--legacy-blue); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.22em; margin: 18px 0 0; text-transform: uppercase; }
.under-construction-content h1 { font-size: clamp(2.7rem, 7vw, 6.4rem); letter-spacing: -0.065em; line-height: 0.92; margin: 0; }
.under-construction-content span { color: rgba(255,255,255,0.76); font-size: 1rem; line-height: 1.6; }
@media (max-width: 620px) { .under-construction-drape { width: 76vw; } .under-construction-drape-left { left: -31vw; } .under-construction-drape-right { right: -31vw; } }

.footer-social { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.social-link { align-items: center; border-radius: 999px; color: var(--white); display: inline-flex; font-size: 0.875rem; font-weight: 900; gap: 7px; min-height: 44px; padding: 8px 12px; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.social-link svg { fill: currentColor; height: 17px; width: 17px; }
.social-link-instagram { background: linear-gradient(135deg, #f9ce34, #ee2a7b 48%, #6228d7); }
.social-link-instagram svg { fill: none; stroke: currentColor; stroke-width: 2; }
.social-link-facebook { background: #1877f2; }
.social-link-whatsapp { background: #25d366; color: #111b21; }
.social-link-whatsapp img { flex: 0 0 20px; height: 20px; width: 20px; }
.social-link:hover { box-shadow: 0 10px 18px rgba(5, 14, 61, 0.18); transform: translateY(-2px); }

.message-launcher {
  align-items: center;
  background: transparent;
  border: 0;
  bottom: 22px;
  box-shadow: none;
  cursor: pointer;
  display: flex;
  height: 104px;
  justify-content: center;
  padding: 0;
  position: fixed;
  right: 22px;
  width: 104px;
  z-index: 50;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
}

.message-launcher-avatar {
  background: radial-gradient(circle at 50% 28%, #79e6ff 0%, var(--legacy-blue) 55%, #0790c5 100%);
  border: 3px solid rgba(255, 255, 255, 0.94);
  border-radius: 50%;
  box-shadow: 0 16px 34px rgba(5, 14, 61, 0.3), 0 0 0 5px rgba(5, 195, 249, 0.14);
  display: block;
  height: 94px;
  overflow: hidden;
  transition: box-shadow 220ms ease, transform 220ms ease;
  width: 94px;
}

.message-launcher-avatar img {
  animation: blue-sky-bot-presence 4.8s ease-in-out infinite;
  display: block;
  height: 100%;
  object-fit: cover;
  transform-origin: 50% 74%;
  width: 100%;
}

.message-launcher.is-dragging { cursor: grabbing; }
.message-launcher.is-drag-ready { cursor: grab; }
.message-launcher.is-drag-ready .message-launcher-avatar { box-shadow: 0 16px 34px rgba(5, 14, 61, 0.3), 0 0 0 8px rgba(255, 85, 126, 0.32); }
.message-launcher.is-dragging .message-launcher-avatar { box-shadow: 0 20px 42px rgba(5, 14, 61, 0.36), 0 0 0 8px rgba(255, 85, 126, 0.24); }
.message-launcher.is-dragging .message-launcher-avatar img {
  animation: none;
  transform: translate(var(--bot-shift-x, 0), var(--bot-shift-y, 0)) scale(1.1) rotate(var(--bot-lean, 0deg));
  transition: transform 70ms linear;
}

.message-launcher-label {
  background: var(--cobalt);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 10px 24px rgba(5, 14, 61, 0.2);
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
  opacity: 0;
  padding: 8px 11px;
  pointer-events: none;
  position: absolute;
  right: calc(100% + 8px);
  transform: translateX(8px);
  transition: opacity 180ms ease, transform 180ms ease;
  white-space: nowrap;
}

@keyframes blue-sky-float {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-7px) rotate(1deg); }
}

@keyframes blue-sky-bot-presence {
  0%, 100% { transform: translateY(1px) scale(1.09); }
  36% { transform: translateY(-2px) scale(1.12) rotate(-1deg); }
  58% { transform: translateY(-3px) scale(1.125) rotate(0.8deg); }
  78% { transform: translateY(-1px) scale(1.105) rotate(0); }
}

@keyframes blue-sky-hello {
  0% { transform: translateY(0) rotate(0) scale(1); }
  30% { transform: translateY(-8px) rotate(-4deg) scale(1.055); }
  62% { transform: translateY(-3px) rotate(3deg) scale(1.035); }
  100% { transform: translateY(-6px) rotate(-1deg) scale(1.05); }
}

@media (prefers-reduced-motion: reduce) {
  .message-launcher-avatar img { animation: none; }
}

.message-panel {
  background: #fbfdff;
  border: 4px solid var(--legacy-blue);
  border-radius: 34px 34px 34px 15px;
  bottom: 134px;
  box-shadow: 0 24px 60px rgba(5, 14, 61, 0.26), inset 0 0 0 4px rgba(255, 255, 255, 0.72);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 112px);
  overflow: hidden;
  padding: 18px 20px 20px;
  position: fixed;
  right: 22px;
  transition: max-height 240ms ease, width 240ms ease;
  width: min(430px, calc(100vw - 32px));
  z-index: 51;
}

.message-panel[hidden] { display: none; }

.message-panel::after {
  background: #fbfdff;
  border-bottom: 4px solid var(--legacy-blue);
  border-right: 4px solid var(--legacy-blue);
  bottom: -14px;
  content: "";
  height: 24px;
  position: absolute;
  right: 46px;
  transform: rotate(45deg);
  width: 24px;
}

.message-panel-header {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.message-panel h2 {
  color: var(--navy);
  font-size: 1.5rem;
  margin: 0;
}

.message-panel > p {
  color: var(--muted);
  flex: 0 0 auto;
  line-height: 1.5;
  margin: 12px 0 18px;
}

.message-panel-brand {
  align-items: center;
  display: flex;
  gap: 11px;
  min-width: 0;
}

.message-panel-brand img {
  border: 2px solid var(--white);
  border-radius: 50%;
  box-shadow: 0 5px 12px rgba(5, 14, 61, 0.2);
  display: block;
  height: 58px;
  object-fit: cover;
  width: 58px;
}

.message-panel-brand p {
  color: var(--cobalt);
  font-size: 0.76rem;
  font-weight: 800;
  margin: 3px 0 0;
}

.assistant-disclosure {
  background: #f4f7fd;
  border-left: 3px solid var(--aqua);
  font-size: 0.76rem;
  padding: 10px 12px;
}
.assistant-disclosure a { color: var(--cobalt); font-weight: 850; }

.assistant-log {
  display: grid;
  flex: 0 1 auto;
  gap: 12px;
  max-height: min(360px, 38vh);
  min-height: 0;
  overflow-y: auto;
  padding: 3px 3px 12px;
}

.assistant-message {
  display: grid;
  gap: 4px;
  max-width: 90%;
  position: relative;
  padding: 12px 14px;
  border-radius: 22px;
}

.assistant-message span {
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.assistant-message p { font-size: 0.88rem; line-height: 1.5; margin: 0; }
.assistant-message-ai { background: var(--legacy-blue); border-bottom-left-radius: 6px; color: var(--white); }
.assistant-message-ai span { color: rgba(255, 255, 255, 0.84); }
.assistant-message-user { background: #34c759; border-bottom-right-radius: 6px; color: var(--white); justify-self: end; }
.assistant-message-user span { color: rgba(255, 255, 255, 0.82); }
.assistant-message-ai::after,
.assistant-message-user::after { bottom: 0; content: ""; height: 0; position: absolute; width: 0; }
.assistant-message-ai::after { border-bottom: 0 solid transparent; border-right: 10px solid var(--legacy-blue); border-top: 12px solid transparent; left: -7px; }
.assistant-message-user::after { border-bottom: 0 solid transparent; border-left: 10px solid #34c759; border-top: 12px solid transparent; right: -7px; }

.assistant-prompts { display: flex; flex-wrap: wrap; gap: 7px; margin: 2px 0 14px; }
.assistant-prompts[hidden] { display: none; }
.assistant-prompts button {
  background: var(--white);
  border: 1px solid #bac7dd;
  color: var(--navy);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 8px 10px;
}

.assistant-handoff {
  background: #fff3f6;
  border-top: 4px solid var(--coral);
  display: grid;
  gap: 8px;
  margin: 4px 0 14px;
  padding: 14px;
}
.assistant-handoff[hidden] { display: none; }
.assistant-handoff > span { color: var(--coral); font-size: 0.68rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; }
.assistant-handoff p { color: var(--navy); font-size: 0.82rem; line-height: 1.45; margin: 0; }
.assistant-handoff a { background: var(--coral); color: var(--white); font-size: 0.8rem; font-weight: 900; padding: 11px 12px; text-align: center; text-decoration: none; }
.assistant-handoff small { color: var(--muted); line-height: 1.4; }

.assistant-booking-profile {
  background: var(--white);
  border: 1px solid rgba(5, 14, 61, 0.12);
  display: grid;
  gap: 11px;
  padding: 14px;
}

.assistant-booking-profile[hidden],
.assistant-calendly[hidden],
.assistant-booking-confirmed[hidden] { display: none; }

.assistant-booking-profile > strong { color: var(--navy); font-size: 0.94rem; }
.assistant-booking-profile > p { color: var(--muted); font-size: 0.76rem; line-height: 1.45; margin: -4px 0 2px; }
.assistant-booking-profile label { gap: 5px; }
.assistant-booking-profile label > span { color: var(--navy); font-size: 0.74rem; font-weight: 850; }
.assistant-booking-profile button {
  background: var(--coral);
  border: 0;
  color: var(--white);
  cursor: pointer;
  font-weight: 900;
  min-height: 46px;
  padding: 0 14px;
}

.assistant-back-to-chat {
  align-items: center;
  align-self: start;
  background: transparent;
  border: 0;
  color: var(--cobalt);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
  padding: 3px 0;
}

.assistant-back-to-chat:hover,
.assistant-back-to-chat:focus-visible { color: var(--coral); outline: none; text-decoration: underline; }

.assistant-booking-consent {
  align-items: start;
  display: grid !important;
  gap: 9px !important;
  grid-template-columns: auto 1fr;
}

.assistant-booking-consent input { margin-top: 3px; }
.assistant-booking-consent span { color: var(--muted) !important; font-size: 0.7rem !important; font-weight: 650 !important; line-height: 1.4; }

.assistant-calendly {
  background: var(--white);
  height: min(680px, 72vh);
  min-height: 560px;
  overflow: hidden;
}

.assistant-booking-confirmed {
  background: #edf9f5;
  border-left: 4px solid var(--green);
  color: var(--navy);
  padding: 14px;
}

.assistant-booking-confirmed strong { font-size: 0.92rem; }
.assistant-booking-confirmed p { font-size: 0.78rem; line-height: 1.45; margin: 5px 0 0; }
.message-panel.is-scheduling { width: min(760px, calc(100vw - 32px)); }

.assistant-form { border-top: 1px solid var(--line); flex: 0 0 auto; padding-top: 13px; }
.assistant-form[hidden] { display: none; }
.assistant-form > label { color: var(--navy); font-size: 0.75rem; font-weight: 850; margin-bottom: 6px; }
.assistant-form > div { align-items: stretch; display: grid; grid-template-columns: 1fr auto; }
.assistant-form textarea { min-height: 58px; }
.assistant-form .message-submit { min-width: 72px; }

.message-close {
  align-items: center;
  background: var(--cobalt);
  border: 2px solid var(--white);
  border-radius: 50%;
  box-shadow: 0 5px 12px rgba(5, 14, 61, 0.22);
  color: var(--white);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.6rem;
  height: 38px;
  justify-content: center;
  line-height: 1;
  position: relative;
  z-index: 2;
  width: 38px;
}

.message-close:hover,
.message-close:focus-visible { background: var(--legacy-blue); color: var(--cobalt); outline: none; transform: translateY(-2px); }
.message-close:active { box-shadow: inset 0 2px 6px rgba(5, 14, 61, 0.3); transform: translateY(1px) scale(0.96); }

.message-panel form,
.message-panel label {
  display: grid;
  gap: 7px;
}

.message-panel form {
  gap: 14px;
}

.message-panel label > span {
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 850;
}

.message-panel input[type="text"],
.message-panel input[type="email"],
.message-panel select,
.message-panel textarea {
  background: var(--white);
  border: 1px solid #cbd4e5;
  border-radius: 0;
  color: var(--navy);
  font: inherit;
  padding: 11px 12px;
  width: 100%;
}

.message-panel textarea {
  min-height: 104px;
  resize: vertical;
}

.message-panel input:focus,
.message-panel select:focus,
.message-panel textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(5, 195, 249, 0.2);
  outline: 0;
}

.message-consent {
  align-items: start;
  grid-template-columns: auto 1fr;
}

.message-consent input {
  margin-top: 3px;
}

.message-consent span {
  color: var(--muted) !important;
  font-size: 0.74rem !important;
  font-weight: 650 !important;
  line-height: 1.4;
}

.message-trap {
  left: -9999px;
  position: absolute;
}

.message-submit {
  background: var(--navy);
  border: 0;
  color: var(--white);
  cursor: pointer;
  font-weight: 900;
  min-height: 48px;
  padding: 0 16px;
}

.message-submit:disabled {
  cursor: wait;
  opacity: 0.68;
}

.message-status {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.4;
  margin: 0;
  min-height: 1.2em;
}

.message-status.is-success { color: #087765; }
.message-status.is-error { color: #b4233b; }

/* Shared call-to-action motion: buttons and button-style links feel consistent,
   while informational cards retain their own hover treatment. */
:is(button, .welcome-primary, .welcome-secondary, .coffee-booking-link) {
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

:is(button:not(:disabled), .welcome-primary, .welcome-secondary, .coffee-booking-link):hover,
:is(button:not(:disabled), .welcome-primary, .welcome-secondary, .coffee-booking-link):focus-visible {
  background: var(--legacy-blue);
  border-color: var(--legacy-blue);
  box-shadow: 0 16px 30px rgba(5, 14, 61, 0.2);
  color: var(--navy);
  outline: none;
  transform: translateY(-4px);
}

button.message-launcher:hover,
button.message-launcher:focus-visible,
button.message-launcher:active {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

.message-launcher:focus-visible .message-launcher-avatar {
  animation: blue-sky-hello 900ms ease-in-out infinite alternate;
  box-shadow: 0 22px 42px rgba(5, 14, 61, 0.34), 0 0 0 7px rgba(255, 85, 126, 0.2);
}

.message-launcher:active .message-launcher-avatar {
  animation: none;
  box-shadow: 0 8px 18px rgba(5, 14, 61, 0.28), 0 0 0 4px rgba(5, 195, 249, 0.2);
  transform: translateY(5px) scale(0.93);
  transition-duration: 80ms;
}

button.message-launcher:focus-visible {
  outline: none;
}

@media (hover: hover) {
  .message-launcher:hover .message-launcher-avatar {
    animation: blue-sky-hello 900ms ease-in-out infinite alternate;
    box-shadow: 0 22px 42px rgba(5, 14, 61, 0.34), 0 0 0 7px rgba(255, 85, 126, 0.2);
  }

  .message-launcher:hover .message-launcher-label {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (max-width: 560px) {
  .academy-benefits {
    grid-template-columns: 1fr;
  }

  .academy-benefits article {
    min-height: 0;
  }

  .message-launcher {
    bottom: 12px;
    height: 84px;
    right: 12px;
    width: 84px;
  }

  .message-launcher-avatar {
    height: 76px;
    width: 76px;
  }

  .message-launcher-label { display: none; }

  .message-panel {
    bottom: 106px;
    border-radius: 28px 28px 28px 13px;
    max-height: calc(100vh - 88px);
    padding: 18px;
    right: 12px;
    width: calc(100vw - 24px);
  }

  .message-panel-brand img { height: 52px; width: 52px; }
  .message-panel::after { right: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .message-launcher-avatar,
  .message-launcher:hover .message-launcher-avatar,
  .message-launcher:focus-visible .message-launcher-avatar {
    animation: none;
  }
}

@media print {
  .message-launcher,
  .message-panel {
    display: none !important;
  }
}

/* Approved satin blue group identity in the site header. */
.topbar { isolation: isolate; }
.brand-logo-header { flex-direction: column; align-items: flex-start; gap: 0; }
.brand-logo-header h1 { line-height: 0; }
.header-group-logo { display: block; width: 180px; height: auto; mix-blend-mode: screen; }
.brand-logo-header p { margin: 0 0 0 12px; font-size: 0.72rem; letter-spacing: 0.08em; }
@media (max-width: 820px) {
  .topbar .header-real-wordmark { display: none; }
  .header-group-logo { width: 150px; }
  .brand-logo-header p { font-size: 0.65rem; margin-left: 10px; }
}

/* Shawn's introduction uses the same profile treatment as Jasbir. */
.shawn-section-intro {
  background: var(--navy);
  border-top: 4px solid var(--legacy-blue);
  margin: clamp(64px, 8vw, 112px) clamp(18px, 4vw, 48px) 0;
  padding: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 56px) clamp(30px, 4vw, 48px);
  scroll-margin-top: 110px;
}
.shawn-section-intro .section-kicker { color: var(--legacy-blue); font-size: 0.875rem; letter-spacing: 0.14em; margin-bottom: 20px; }
.shawn-section-intro .section-heading { grid-template-columns: 1fr; margin-bottom: 0; }
.shawn-section-intro h2 { color: var(--white); font-size: clamp(2.8rem, 6vw, 5.8rem); font-weight: 900; letter-spacing: -0.055em; line-height: 1.02; margin: 0; }
.shawn-section-intro h2 span { color: var(--legacy-blue); }
.shawn-band { border-top: 1px solid rgba(255, 255, 255, 0.16); }
.shawn-portrait { align-self: start; aspect-ratio: 1160 / 1356; min-height: 0; }
@media (min-width: 901px) {
  .shawn-portrait { margin-top: clamp(32px, 4vw, 56px); }
  .shawn-band .coffee-copy { align-self: start; }
}
.shawn-portrait img { object-position: center top; }
.shawn-band .coffee-copy h2 { font-size: clamp(2.1rem, 3.6vw, 3.7rem); }

.shawn-band .coffee-copy { padding: clamp(32px, 4vw, 56px); }
.shawn-band .coffee-steps p { font-size: 1rem; line-height: 1.5; }
.shawn-band .shawn-personal-note { font-size: 1rem; line-height: 1.6; }
.shawn-band .coffee-actions > p { font-size: 0.875rem; }
.shawn-social { margin-top: 24px; }
.shawn-social .social-link { font-size: 0.875rem; min-height: 44px; }
.shawn-email { color: var(--white); font-size: 0.875rem; font-weight: 750; padding: 12px 4px; text-underline-offset: 4px; }
@media (max-width: 560px) {
  .shawn-section-intro { margin-left: 0; margin-right: 0; padding: 36px 22px; }
  .shawn-section-intro h2 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .shawn-section-intro h2 span { display: block; }
  .shawn-band .coffee-copy { padding: 36px 22px 42px; }
  .shawn-band .coffee-caption { left: 18px; bottom: 18px; max-width: calc(100% - 36px); }
}

/* Quiet navigation: leave reading space clear and return with a gentle motion. */
.topbar {
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s;
}
.topbar.is-header-hidden {
  pointer-events: none;
  transform: translateY(calc(-100% - 16px));
  visibility: hidden;
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s 280ms;
}
.back-to-top { display: none; }
@media (max-width: 820px), (hover: none) and (pointer: coarse) {
  .back-to-top:not([hidden]) {
    align-items: center;
    background: var(--navy);
    border: 1px solid var(--legacy-blue);
    border-radius: 50%;
    bottom: calc(22px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 6px 18px rgba(5, 14, 61, 0.2);
    color: var(--white);
    cursor: pointer;
    display: flex;
    height: 44px;
    justify-content: center;
    left: max(16px, env(safe-area-inset-left, 0px));
    padding: 10px;
    position: fixed;
    width: 44px;
    z-index: 40;
  }
  .back-to-top svg { fill: none; height: 22px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 22px; }
  .back-to-top:focus-visible { outline: 3px solid var(--legacy-blue); outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .topbar, .topbar.is-header-hidden { transition: none; }
}
@media print {
  .back-to-top:not([hidden]) { display: none; }
}

/* Consistent advisor profiles: a portrait, clear copy, and local social links. */
.advisor-profile { grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: clamp(28px, 4vw, 52px); padding: clamp(28px, 4vw, 48px); align-items: start; }
.advisor-profile .coffee-portrait { align-self: start; aspect-ratio: 4 / 5; min-height: 0; margin-top: 0; width: 100%; max-width: 300px; }
.advisor-profile .coffee-portrait img { object-position: center top; }
.advisor-profile .coffee-copy { align-self: start; padding: 0; min-width: 0; }
.advisor-profile .coffee-copy h2 { font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.1; margin-top: 10px; }
.advisor-profile .coffee-copy > p { font-size: 1rem; line-height: 1.65; margin-top: 18px; }
.advisor-profile .coffee-caption { left: 14px; bottom: 14px; max-width: calc(100% - 28px); padding: 12px 14px; }
.advisor-profile .coffee-caption span { font-size: .875rem; }
.advisor-profile .coffee-caption strong { font-size: 1rem; }
.advisor-profile .coffee-actions { margin-top: 24px; }
.advisor-profile .coffee-actions > p { font-size: .875rem; }
.advisor-profile .footer-social { margin-top: 24px; justify-content: flex-start; }
.advisor-profile .social-link { font-size: .875rem; min-height: 44px; }
.jasbir-band { margin-left: 0; margin-right: 0; }
.advisor-secondary { background: transparent; border: 1px solid #7280a6; }
.advisor-bio { margin-top: 22px; color: #d8e2f8; font-size: 1rem; line-height: 1.65; }
.advisor-bio summary { cursor: pointer; color: white; padding: 12px 0; font-weight: 700; }
.advisor-bio p { margin-top: 14px; }
.shawn-section-intro { margin-top: clamp(40px, 5vw, 64px); padding-top: 32px; padding-bottom: 32px; }
.shawn-section-intro h2 { font-size: clamp(2.5rem, 4.8vw, 4.5rem); }
.header-group-logo { width: 132px; }
.brand-logo-header p { font-size: .75rem; margin-left: 6px; }
.topbar { min-height: 96px; padding-top: 10px; padding-bottom: 10px; }
.intro-film-poster { max-height: 660px; }
.plan-invitation { margin: 28px clamp(18px, 4vw, 48px) 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--navy); padding: 26px 32px; color: white; border-left: 4px solid var(--legacy-blue); }
.plan-invitation .section-kicker { display: block; font-size: .875rem; color: var(--legacy-blue); margin-bottom: 8px; }
.plan-invitation strong { display: block; font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.plan-invitation p { color: #d8e2f8; font-size: 1rem; line-height: 1.5; margin-top: 8px; }
.plan-button, .plan-outline-button { align-items: center; display: inline-flex; justify-content: center; gap: 8px; padding: 14px 22px; min-height: 48px; border: 0; background: var(--legacy-blue); color: var(--navy); font: inherit; font-size: 1rem; font-weight: 800; text-align: center; text-decoration: none; cursor: pointer; line-height: 1.35; }
.plan-button:hover { background: #6ddcff; }
.plan-outline-button { background: transparent; border: 1px solid #8b98b8; color: var(--navy); }
.plan-text-button { background: none; border: 0; color: var(--cobalt); font: inherit; font-size: .95rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; padding: 12px 0; min-height: 44px; }
.plan-text-link, .plan-result-link { display: inline-block; font-size: 1rem; font-weight: 750; line-height: 1.5; text-underline-offset: 4px; color: var(--cobalt); padding: 10px 0; }
.plan-result-link { margin-top: 16px; }
.growth-plan { background: #edf6ff; border-top: 4px solid var(--legacy-blue); margin: 28px clamp(18px, 4vw, 48px); padding: clamp(24px, 4vw, 48px); display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; color: var(--navy); scroll-margin-top: 112px; }
.growth-plan-intro .section-kicker { font-size: .875rem; color: var(--cobalt); }
.growth-plan :is(h1,h2) { font-size: clamp(2.2rem, 3.7vw, 4rem); letter-spacing: -.045em; line-height: 1.08; margin-top: 16px; }
.growth-plan :is(h1,h2) span { color: #216098; }
.growth-plan-intro > p { font-size: 1.05rem; line-height: 1.65; margin-top: 22px; }
.plan-benefits { display: grid; gap: 12px; margin: 28px 0 12px; }
.plan-benefits span { border-bottom: 1px solid #cadcec; padding-bottom: 12px; font-size: 1rem; font-weight: 750; }
.growth-plan-tool { min-width: 0; padding: clamp(20px, 3vw, 32px); background: white; border: 1px solid #cadcec; }
.plan-form-heading > span { color: #526480; text-transform: uppercase; font-size: .875rem; font-weight: 800; letter-spacing: .08em; }
.growth-plan h3 { font-size: 1.65rem; line-height: 1.25; letter-spacing: -.025em; margin: 12px 0 22px; }
.plan-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.plan-fields label { display: flex; flex-direction: column; gap: 8px; font-size: .875rem; line-height: 1.4; font-weight: 700; min-width: 0; }
.optional { font-weight: 400; color: #526480; }
.plan-fields input, .plan-fields select, .plan-email-ready textarea { box-sizing: border-box; min-width: 0; width: 100%; border: 1px solid #91a2ba; border-radius: 4px; padding: 12px; min-height: 48px; font: inherit; font-size: 1rem; color: var(--navy); background: white; }
.growth-plan input:focus, .growth-plan select:focus, .growth-plan textarea:focus { outline: 3px solid #8edfff; outline-offset: 2px; }
.plan-fine-print, .growth-plan-intro > .plan-fine-print { font-size: .875rem; color: #526480; line-height: 1.6; margin: 16px 0; }
.growth-plan a { overflow-wrap: anywhere; }
.plan-return { background: #e8f7ed; border-left: 3px solid #258856; padding: 16px; margin-bottom: 20px; display: grid; font-size: 1rem; }
.plan-scorecard { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 22px 0; }
.plan-scorecard > div { background: #edf6ff; padding: 18px; min-width: 0; }
.plan-scorecard strong { font-size: 2rem; display: block; letter-spacing: -.04em; }
.plan-scorecard span { font-size: .875rem; line-height: 1.4; color: #526480; display: block; margin-top: 5px; }
.plan-action-list { display: grid; gap: 16px; }
.plan-action-list p { font-size: 1rem; line-height: 1.6; margin: 8px 0; }
.plan-download-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
#planSaveStatus, #planClearStatus, #planFormStatus, #planCopyStatus { font-size: .875rem; line-height: 1.6; margin-top: 12px; color: #245d41; }
.plan-contact { margin-top: 32px; padding-top: 28px; border-top: 1px solid #cadcec; }
.plan-contact h4 { font-size: 1.4rem; margin: 12px 0; }
.plan-contact > p { font-size: 1rem; line-height: 1.6; }
.plan-advisor-choice { border: 0; padding: 0; margin: 24px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.plan-advisor-choice legend { font-size: .875rem; font-weight: 750; margin-bottom: 10px; }
.plan-advisor-choice label { display: flex; align-items: center; gap: 8px; padding: 14px 12px; border: 1px solid #91a2ba; font-size: .95rem; cursor: pointer; line-height: 1.5; }
.plan-advisor-choice label:has(input:checked) { background: #edf6ff; border-color: #216098; }
.plan-advisor-choice input { accent-color: #216098; flex-shrink: 0; width: 18px; height: 18px; }
.plan-contact-consent { display: flex; gap: 10px; margin: 20px 0; font-size: .875rem; line-height: 1.6; cursor: pointer; }
.plan-contact-consent input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; }
.plan-email-ready { background: #edf6ff; padding: 16px; margin-top: 16px; }
.plan-email-ready p { font-size: 1rem; line-height: 1.6; }
.plan-email-ready textarea { margin-top: 14px; font-size: .875rem; line-height: 1.5; }
.plan-direct-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; font-size: 1rem; }
.plan-privacy { grid-column: 1/-1; border-top: 1px solid #cadcec; padding-top: 18px; }
.plan-privacy summary { cursor: pointer; padding: 12px 0; font-size: 1rem; font-weight: 750; }
.plan-privacy p { max-width: 960px; line-height: 1.65; font-size: .95rem; margin-top: 14px; }
.plan-invitation .plan-button { flex-shrink: 0; }
.growth-plan [hidden] { display: none !important; }
.plan-button:focus-visible, .plan-outline-button:focus-visible, .plan-text-button:focus-visible, summary:focus-visible { outline: 3px solid #20a6d1; outline-offset: 4px; }
@media (max-width: 1000px) { .growth-plan { grid-template-columns: 1fr; gap: 28px; } .plan-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 900px) { .advisor-profile { grid-template-columns: minmax(180px,240px) minmax(0,1fr); gap: 24px; } .advisor-profile .coffee-portrait { max-width: 240px; } }
@media (max-width: 680px) { .advisor-profile { grid-template-columns: 1fr; gap: 24px; padding: 24px; } .advisor-profile .coffee-portrait { max-width: 260px; aspect-ratio: 4/5; } .advisor-profile .coffee-copy h2 { font-size: 2rem; } .advisor-profile .coffee-actions { align-items: stretch; flex-direction: column; } .advisor-profile .coffee-button { width: 100%; } .plan-invitation { flex-direction: column; align-items: stretch; padding: 24px; } .growth-plan { padding: 24px 18px; gap: 24px; } .growth-plan-tool { padding: 22px 18px; } .plan-fields { grid-template-columns: 1fr; } .plan-benefits { grid-template-columns: 1fr; } .plan-download-actions { align-items: stretch; flex-direction: column; } .plan-button, .plan-outline-button { width: 100%; } .plan-advisor-choice { grid-template-columns: 1fr; } .topbar { gap: 8px; } .header-group-logo { width: 104px; } .brand-logo-header p { font-size: .75rem; } .topnav a { font-size: .875rem; padding: 9px 8px; min-height: 44px; } .topbar .actions { gap: 6px; } .intro-film-poster { min-height: 380px; height: 62svh; max-height: 560px; } .intro-film-copy { padding: 22px; } .intro-film-copy h2 { font-size: 1.35rem; } .message-launcher { width: 62px; height: 62px; bottom: max(12px,env(safe-area-inset-bottom)); } .message-launcher-avatar { width: 56px; height: 56px; } .message-panel { top: max(12px, env(safe-area-inset-top)); bottom: max(82px,env(safe-area-inset-bottom)); max-height: calc(100dvh - 96px); overflow: auto; } .shawn-section-intro { padding: 28px 24px; } .shawn-section-intro h2 span { display: inline; } .shawn-section-intro h2 { font-size: 2.5rem; } }
@media (max-width: 560px) { .growth-plan { margin-left: 0; margin-right: 0; } .plan-invitation { margin-left: 18px; margin-right: 18px; } .recruit-pages { padding-left: 0; padding-right: 0; } .advisor-profile .coffee-caption { left: 14px; bottom: 14px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { .growth-plan, .plan-invitation { display: none; } }
.mobile-menu { display: none; }
@media (max-width: 680px) {
 .topbar .topnav { display: none; }
 .topbar { flex-wrap: nowrap; min-height: 88px; }
 .mobile-menu { display: block; margin-left: auto; }
 .mobile-menu summary { padding: 12px 10px; min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: .875rem; font-weight: 750; border: 1px solid #657195; border-radius: 4px; }
 .mobile-menu nav { position: absolute; top: 100%; left: 0; right: 0; padding: 16px 24px; background: rgba(5, 14, 61, 0.75); -webkit-backdrop-filter: blur(14px) saturate(115%); backdrop-filter: blur(14px) saturate(115%); border-top: 1px solid rgba(101, 113, 149, 0.8); box-shadow: 0 12px 24px #050e3d33; display: grid; gap: 4px; }
 .mobile-menu nav a { color: white; display: flex; align-items: center; min-height: 48px; padding: 8px 12px; font-size: 1rem; text-decoration: none; }
 .mobile-menu nav a:hover { background: #1a285b; }
 .topbar .actions #resetButton { display: none; }
}
@media (max-width: 680px) {
 .topbar { display: flex; padding: 10px 18px; }
 .topbar .actions { flex-shrink: 0; }
 .intro-film-copy { flex-direction: column; align-items: flex-start; gap: 12px; max-width: 100%; }
 .intro-film-copy h2 { max-width: 100%; white-space: normal; overflow-wrap: break-word; }
}
/* Keep chat within the visible viewport, including devices with scrollbars. */
.assistant-log { grid-template-columns: minmax(0, 1fr); overflow-x: hidden; }
.assistant-message { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 680px) {
  .message-panel, .message-panel.is-scheduling { left: 12px; right: 12px; width: auto; }
}

.plan-bc-details { margin: 24px 0; border-top: 1px solid #cadcec; border-bottom: 1px solid #cadcec; padding: 10px 0; }
.plan-bc-details summary { padding: 12px 0; font-weight: 750; cursor: pointer; }
.plan-bc-details .plan-action-list { margin-top: 16px; }
.plan-contact-form button + button { margin-top: 12px; }

.funnel-page { background: #edf6ff; color: var(--navy); }
.funnel-header { display:flex; justify-content:space-between; align-items:center; padding:12px clamp(18px,4vw,48px); background:var(--navy); }
.funnel-header img { object-fit:contain; display:block; mix-blend-mode:screen; }
.funnel-header > a:last-child { color:white; font-size:1rem; padding:12px; }
.funnel-page .growth-plan { margin:32px auto; max-width:1280px; border-top:0; }
.funnel-page .growth-plan-intro { align-self:start; }
.funnel-footer { padding:24px; text-align:center; line-height:1.7; font-size:.9rem; }
.funnel-start { display:none; }
.funnel-skip-link { position:absolute; left:-9999px; }
.funnel-skip-link:focus { left:18px; top:18px; z-index:10; background:white; padding:12px; }
#plan-tool, #planReward { scroll-margin-top:24px; }
@media (min-width:1001px) { .funnel-page .growth-plan-intro { position:sticky; top:24px; } }
@media (max-width:1000px) { .funnel-start { display:inline-flex; } }
@media (max-width:680px) { .funnel-header img { width:104px; height:auto; } .funnel-header > a:last-child { font-size:.875rem; } .funnel-page .growth-plan { margin:0; padding-top:28px; } .funnel-page .growth-plan :is(h1,h2) { font-size:2.35rem; } .funnel-page .plan-benefits { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; } .funnel-page .plan-benefits span { font-size:.875rem; } }

/* Carry the main site's brand palette into the dedicated planning journey. */
.funnel-page { background:radial-gradient(circle at 8% 0%,rgba(5,195,249,.2),transparent 30rem),radial-gradient(circle at 92% 18%,rgba(255,85,126,.17),transparent 32rem),linear-gradient(150deg,#eefaff 0%,#fff5f8 52%,#f3fcff 100%); color:var(--ink); }
.funnel-header { border-bottom:4px solid var(--aqua); }
.funnel-page .growth-plan { background:transparent; }
.funnel-page .growth-plan :is(h1,h2) span { color:var(--cobalt); text-decoration:underline; text-decoration-color:var(--legacy-blue); text-decoration-thickness:4px; text-underline-offset:8px; }
.funnel-page .growth-plan-tool { background:var(--white); border-color:var(--line); border-top:4px solid var(--legacy-blue); border-radius:var(--radius-lg); box-shadow:var(--surface-shadow); }
.funnel-page .plan-button { background:var(--coral); color:var(--cobalt); border-radius:var(--radius-md); }
.funnel-page .plan-button:hover { background:var(--coral-soft); }
.funnel-page .plan-outline-button { border-color:var(--cobalt); border-radius:var(--radius-md); }
.funnel-page .plan-scorecard > div { background:var(--paper); border-left:3px solid var(--legacy-blue); border-radius:var(--radius-md); }
.funnel-page .plan-return { background:var(--aqua-soft); border-left-color:var(--aqua); }
.funnel-page .plan-advisor-choice label:has(input:checked) { background:var(--paper); border-color:var(--cobalt); }
.funnel-page .plan-advisor-choice input { accent-color:var(--cobalt); }
.funnel-page .plan-email-ready { background:var(--paper); border-radius:var(--radius-md); }
.funnel-page .plan-benefits span,.funnel-page .plan-contact,.funnel-page .plan-privacy { border-color:var(--line); }
.funnel-page .plan-form-heading > span,.funnel-page .plan-fine-print,.funnel-page .optional,.funnel-page .plan-scorecard span { color:var(--muted); }
.assistant-plan-entry { padding:12px 0; }
.assistant-plan-entry a,.assistant-message .assistant-plan-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; background:var(--legacy-blue); color:var(--cobalt); border-radius:var(--radius-md); font-size:.9rem; line-height:1.45; text-decoration:none; }
.assistant-message .assistant-plan-link { margin-top:10px; }
.assistant-plan-entry a:focus-visible,.assistant-message .assistant-plan-link:focus-visible { outline:3px solid var(--coral); outline-offset:3px; }

/* Planning refinements: a quiet scroll flow, coral accents and a green create action. */
.funnel-page .growth-plan-intro { position:static; }
.funnel-page .growth-plan :is(h1,h2) span { color:#bd2549; text-decoration-color:var(--coral); }
.funnel-page .plan-highlight { color:#bd2549; }
.funnel-page .plan-benefits span { border-bottom-color:var(--coral); }
.funnel-header { border-bottom-color:var(--coral); gap:16px; }
.funnel-header .funnel-back { border:1px solid #98a3bf; color:white; border-radius:var(--radius-md); text-decoration:none; flex-shrink:0; width:auto; }
.funnel-header .funnel-back:hover { background:#263363; }
.funnel-page .plan-create-button { background:#25d366; color:var(--cobalt); }
.funnel-page .plan-create-button:hover { background:#1fbd5a; }
.email-contact-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:12px 16px; border-radius:var(--radius-md); text-decoration:none; font-weight:700; line-height:1.4; }
.email-icon { width:22px; height:22px; flex-shrink:0; }
.funnel-page .plan-direct-links a { display:inline-flex; align-items:center; justify-content:center; padding:12px 16px; min-height:44px; border:1px solid var(--navy); border-radius:var(--radius-md); text-decoration:none; }
.plan-verification-result { max-width:1280px; margin:18px auto 0; padding:14px 18px; background:#e8fff1; border-left:4px solid #25d366; color:var(--navy); font-weight:750; line-height:1.5; }
.plan-verification-dialog { width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; margin:auto; padding:28px; border:1px solid var(--line); border-top:4px solid var(--coral); border-radius:var(--radius-lg); color:var(--navy); box-shadow:var(--surface-shadow); }
.plan-verification-dialog::backdrop { background:#050e3d99; }
.plan-verification-dialog h2 { font-size:1.8rem; margin:12px 0; line-height:1.2; }
.plan-verification-dialog p { font-size:1rem; line-height:1.6; margin:14px 0; }
.plan-verification-dialog label { display:grid; gap:8px; font-weight:700; margin:18px 0; }
.plan-verification-dialog input { width:100%; min-height:48px; font:inherit; font-size:1rem; padding:12px; border:1px solid #91a2ba; border-radius:4px; }
.plan-verification-dialog form[hidden] { display:none; }
.verification-close { display:block; margin-left:auto; }
.plan-verification-dialog .verification-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.plan-button:disabled { opacity:.65; cursor:wait; }
@media(max-width:680px) { .plan-verification-result { margin:12px 18px 0; } .plan-verification-dialog { padding:22px; } .funnel-page .plan-direct-links { gap:12px; } .funnel-page .plan-direct-links a { width:100%; } }


/* Business-plan primary action: preserve the requested WhatsApp-green treatment. */
.funnel-page .growth-plan-tool .plan-button.plan-create-button {
  background-color: #25d366 !important;
  color: #050e3d !important;
}
.funnel-page .growth-plan-tool .plan-button.plan-create-button:hover,
.funnel-page .growth-plan-tool .plan-button.plan-create-button:focus-visible {
  background-color: #1fbd5a !important;
}

/* Advisor plan actions: full button treatment without changing navigation. */
:root .coffee-actions a.coffee-button[href^="/business-plan"] {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 52px;
  padding: 14px 22px;
  border: 1px solid var(--legacy-blue);
  border-radius: var(--radius-md);
  background: #25d366;
  color: var(--cobalt);
  font: inherit;
  font-weight: 850;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-shadow: inset 0 2px 4px rgba(5, 14, 61, 0.18);
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 150ms ease;
}
:root .coffee-actions a.coffee-button[href^="/business-plan"]:focus-visible {
  outline: 3px solid var(--legacy-blue);
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  :root .coffee-actions a.coffee-button[href^="/business-plan"]:hover {
    background: #25d366;
    color: var(--cobalt);
    text-decoration: none;
    box-shadow: 0 6px 14px rgba(5, 14, 61, 0.2);
    transform: translateY(-2px);
  }
}
:root .coffee-actions a.coffee-button[href^="/business-plan"]:active {
  background: #25d366;
  color: var(--cobalt);
  box-shadow: inset 0 3px 6px rgba(5, 14, 61, 0.28);
  transform: translateY(1px) scale(0.98);
  transition-duration: 70ms;
}
@media (prefers-reduced-motion: reduce) {
  :root .coffee-actions a.coffee-button[href^="/business-plan"] {
    transition: none;
    transform: none;
  }
}


/* BlueSky action hierarchy: Legacy Blue at rest, green on intent/press. */
.funnel-page .plan-button,
:root .coffee-actions a.coffee-button[href^="/business-plan"] {
  background: var(--legacy-blue) !important;
  color: var(--cobalt) !important;
  border: 1px solid rgba(5, 14, 61, 0.18);
  box-shadow: 0 7px 0 rgba(5, 14, 61, 0.22), 0 11px 22px rgba(5, 14, 61, 0.14);
  transform: translateY(0);
  transition: background-color 160ms ease, box-shadow 120ms ease, transform 120ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .funnel-page .plan-button:not(:disabled):hover,
  :root .coffee-actions a.coffee-button[href^="/business-plan"]:hover {
    background: #25d366 !important;
    color: var(--cobalt) !important;
    box-shadow: 0 5px 0 rgba(5, 14, 61, 0.22), 0 9px 18px rgba(5, 14, 61, 0.13);
    transform: translateY(2px);
  }
}

.funnel-page .plan-button:not(:disabled):active,
:root .coffee-actions a.coffee-button[href^="/business-plan"]:active {
  background: #25d366 !important;
  color: var(--cobalt) !important;
  box-shadow: inset 0 3px 7px rgba(5, 14, 61, 0.26), 0 1px 0 rgba(5, 14, 61, 0.16);
  transform: translateY(6px);
}

.funnel-page .plan-button:focus-visible,
:root .coffee-actions a.coffee-button[href^="/business-plan"]:focus-visible {
  outline: 3px solid #25d366;
  outline-offset: 4px;
}

.funnel-page .plan-button:disabled {
  box-shadow: none;
  transform: none;
}


/* Audit refinements: clearer navigation, consistent return paths and primary action language. */
.site-skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 1000;
  background: var(--chalk);
  color: var(--cobalt);
  border: 2px solid var(--legacy-blue);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  box-shadow: var(--surface-shadow);
  text-decoration: none;
  transition: top 140ms ease;
}
.site-skip-link:focus { top: 16px; }

.footer-quick-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  margin: 18px 0 4px;
}
.footer-quick-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--cobalt);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.return-plan-prompt {
  margin: 14px clamp(18px, 4vw, 48px) 0;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: linear-gradient(135deg, rgba(5,195,249,.13), rgba(37,211,102,.12));
  border: 1px solid rgba(5,14,61,.12);
  border-left: 4px solid #25d366;
  border-radius: var(--radius-md);
  box-shadow: 0 10px 24px rgba(5,14,61,.07);
}
.return-plan-prompt[hidden] { display: none !important; }
.return-plan-prompt .section-kicker {
  color: var(--green);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.return-plan-prompt strong {
  display: block;
  color: var(--cobalt);
  margin-top: 3px;
}
.return-plan-prompt > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: var(--radius-md);
  background: var(--legacy-blue);
  color: var(--cobalt);
  text-decoration: none;
  font-weight: 850;
  box-shadow: 0 5px 0 rgba(5,14,61,.18);
  transition: background-color 150ms ease, transform 100ms ease, box-shadow 100ms ease;
}
@media (hover:hover) and (pointer:fine) {
  .return-plan-prompt > a:hover { background:#25d366; transform:translateY(2px); box-shadow:0 3px 0 rgba(5,14,61,.18); }
}
.return-plan-prompt > a:active { background:#25d366; transform:translateY(5px); box-shadow:inset 0 2px 5px rgba(5,14,61,.22); }
.return-plan-prompt > a:focus-visible { outline:3px solid #25d366; outline-offset:3px; }

/* Funnel-related primary actions use one interaction language site-wide. */
.plan-invitation .plan-button,
.welcome-primary[href="/business-plan"],
.primary-cta.plan-button,
:root .coffee-actions a.coffee-button[href^="/business-plan"] {
  background: var(--legacy-blue) !important;
  color: var(--cobalt) !important;
  border: 1px solid rgba(5,14,61,.18);
  border-radius: var(--radius-md);
  box-shadow: 0 6px 0 rgba(5,14,61,.20), 0 10px 20px rgba(5,14,61,.12);
  transition: background-color 150ms ease, transform 100ms ease, box-shadow 100ms ease;
}
@media (hover:hover) and (pointer:fine) {
  .plan-invitation .plan-button:hover,
  .welcome-primary[href="/business-plan"]:hover,
  .primary-cta.plan-button:hover,
  :root .coffee-actions a.coffee-button[href^="/business-plan"]:hover {
    background:#25d366 !important;
    color:var(--cobalt) !important;
    transform:translateY(2px);
    box-shadow:0 4px 0 rgba(5,14,61,.20), 0 8px 16px rgba(5,14,61,.11);
  }
}
.plan-invitation .plan-button:active,
.welcome-primary[href="/business-plan"]:active,
.primary-cta.plan-button:active,
:root .coffee-actions a.coffee-button[href^="/business-plan"]:active {
  background:#25d366 !important;
  color:var(--cobalt) !important;
  transform:translateY(6px);
  box-shadow:inset 0 3px 7px rgba(5,14,61,.25);
}
.plan-invitation .plan-button:focus-visible,
.welcome-primary[href="/business-plan"]:focus-visible,
.primary-cta.plan-button:focus-visible {
  outline:3px solid #25d366;
  outline-offset:4px;
}

@media (max-width:680px) {
  .return-plan-prompt { align-items:stretch; flex-direction:column; }
  .return-plan-prompt > a { width:100%; }
}


/* BlueSky Pulse preview: a calm editorial layer that keeps the funnel intact. */
.pulse-section {
  margin: clamp(30px, 5vw, 64px) clamp(18px, 4vw, 48px);
  padding: clamp(34px, 5vw, 64px);
  border-radius: calc(var(--radius-lg) + 2px);
  background:
    radial-gradient(circle at 8% 0%, rgba(5, 195, 249, .18), transparent 34rem),
    radial-gradient(circle at 95% 20%, rgba(109, 227, 219, .08), transparent 28rem),
    linear-gradient(145deg, #050e3d 0%, #0a174f 66%, #0d2857 100%);
  color: var(--white);
  overflow: hidden;
  position: relative;
}
.pulse-heading {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: clamp(26px, 4vw, 42px);
}
.pulse-heading .section-kicker {
  color: var(--legacy-blue);
  display: block;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.pulse-heading h2 {
  font-size: clamp(2.7rem, 5vw, 5.1rem);
  letter-spacing: -.055em;
  line-height: .96;
  margin-top: 10px;
}
.pulse-heading p {
  color: #cfdbf4;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.6;
  margin-top: 16px;
  max-width: 720px;
}
.pulse-status {
  align-items: center;
  color: #b8c9e8;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  font-size: .78rem;
  font-weight: 750;
  gap: 8px;
  justify-content: flex-end;
  max-width: 340px;
  text-align: right;
}
.pulse-status-dot {
  background: var(--legacy-blue);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(5, 195, 249, .12);
  display: inline-block;
  height: 7px;
  width: 7px;
}
#pulseNewBadge {
  background: #25d366;
  border-radius: 999px;
  color: var(--cobalt);
  font-size: .7rem;
  font-weight: 900;
  padding: 5px 9px;
}
.pulse-grid {
  display: grid;
  gap: clamp(16px, 2.2vw, 26px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pulse-card {
  background: #fbfdff;
  border: 1px solid rgba(5, 14, 61, .09);
  border-radius: 18px;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .16);
  color: var(--navy);
  display: flex;
  flex-direction: column;
  min-height: 440px;
  overflow: hidden;
  padding: clamp(22px, 2.5vw, 30px);
  position: relative;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.pulse-card::before {
  content: "";
  height: 4px;
  inset: 0 0 auto;
  position: absolute;
}
.pulse-card-bluesky::before { background: var(--legacy-blue); }
.pulse-card-technology::before { background: var(--aqua); }
.pulse-card-business::before { background: var(--coral); }
@media (hover:hover) and (pointer:fine) {
  .pulse-card:hover {
    box-shadow: 0 24px 44px rgba(0, 0, 0, .20);
    transform: translateY(-3px);
  }
}
.pulse-category {
  color: var(--cobalt);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .13em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.pulse-card-technology .pulse-category { color: #087d91; }
.pulse-card-business .pulse-category { color: #a91e43; }
.pulse-card h3 {
  color: var(--navy);
  font-size: clamp(1.35rem, 1.9vw, 2rem);
  letter-spacing: -.025em;
  line-height: 1.08;
}
.pulse-card > p {
  color: #43506f;
  font-size: .96rem;
  line-height: 1.6;
  margin-top: 18px;
}
.pulse-why {
  border-left: 3px solid rgba(5, 195, 249, .52);
  margin-top: 24px;
  padding-left: 14px;
}
.pulse-card-business .pulse-why { border-left-color: rgba(255, 85, 126, .58); }
.pulse-card-technology .pulse-why { border-left-color: rgba(109, 227, 219, .75); }
.pulse-why span {
  color: var(--cobalt);
  display: block;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pulse-why p {
  color: #465371;
  font-size: .84rem;
  line-height: 1.55;
  margin-top: 5px;
}
.pulse-meta {
  align-items: center;
  color: #697692;
  display: flex;
  font-size: .72rem;
  font-weight: 750;
  gap: 10px;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 26px;
}
.pulse-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 15px;
}
.pulse-primary,
.pulse-secondary {
  align-items: center;
  border: 1px solid rgba(5,14,61,.18);
  border-radius: var(--radius-md);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: .84rem;
  font-weight: 900;
  justify-content: center;
  line-height: 1.3;
  min-height: 44px;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
}
.pulse-primary {
  background: var(--legacy-blue);
  box-shadow: 0 5px 0 rgba(5,14,61,.18);
  color: var(--cobalt);
  transition: background-color 150ms ease, box-shadow 100ms ease, transform 100ms ease;
}
.pulse-secondary {
  background: transparent;
  border-color: rgba(255,255,255,.34);
  color: var(--white);
}
@media (hover:hover) and (pointer:fine) {
  .pulse-primary:hover {
    background: #25d366;
    box-shadow: 0 3px 0 rgba(5,14,61,.18);
    color: var(--cobalt);
    transform: translateY(2px);
  }
  .pulse-secondary:hover {
    background: rgba(255,255,255,.08);
    border-color: var(--legacy-blue);
  }
}
.pulse-primary:active {
  background: #25d366;
  box-shadow: inset 0 3px 7px rgba(5,14,61,.24);
  transform: translateY(5px);
}
.pulse-primary:focus-visible,
.pulse-secondary:focus-visible,
.pulse-source:focus-visible {
  outline: 3px solid #25d366;
  outline-offset: 3px;
}
.pulse-source {
  color: var(--cobalt);
  font-size: .8rem;
  font-weight: 800;
  min-height: 44px;
  padding: 12px 0;
  text-underline-offset: 4px;
}
.pulse-footer {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.15);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-top: clamp(26px, 4vw, 42px);
  padding-top: clamp(22px, 3vw, 30px);
}
.pulse-footer > div:first-child {
  display: grid;
  gap: 4px;
  max-width: 680px;
}
.pulse-footer strong { font-size: 1.06rem; }
.pulse-footer span { color: #b8c9e8; font-size: .86rem; line-height: 1.5; }
.pulse-footer-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.pulse-loading .pulse-card { opacity: .72; }
@media (max-width: 1020px) {
  .pulse-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pulse-card:last-child { grid-column: 1 / -1; min-height: 340px; }
  .pulse-heading { align-items: flex-start; flex-direction: column; }
  .pulse-status { justify-content: flex-start; max-width: none; text-align: left; }
}
@media (max-width: 680px) {
  .pulse-section {
    border-radius: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 38px 18px 42px;
  }
  .pulse-grid { grid-template-columns: 1fr; }
  .pulse-card,
  .pulse-card:last-child { grid-column: auto; min-height: 0; }
  .pulse-card { padding: 24px 20px; }
  .pulse-meta { margin-top: 24px; }
  .pulse-actions,
  .pulse-footer-actions { align-items: stretch; flex-direction: column; }
  .pulse-primary,
  .pulse-secondary,
  .pulse-source { width: 100%; }
  .pulse-source { display: flex; align-items: center; justify-content: center; }
  .pulse-footer { align-items: stretch; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .pulse-card,
  .pulse-primary { transition: none; transform: none !important; }
}
@media print {
  .pulse-section { display: none; }
}


/* Inside BlueSky: visual-first brand storytelling. */
.pulse-card-industry::before { background: var(--coral); }
.pulse-card-industry .pulse-category { color: #a91e43; }
.pulse-card-industry .pulse-why { border-left-color: rgba(255, 85, 126, .58); }

.inside-section {
  margin: clamp(30px, 5vw, 64px) clamp(18px, 4vw, 48px);
  padding: clamp(34px, 5vw, 64px);
  border-radius: calc(var(--radius-lg) + 2px);
  background:
    radial-gradient(circle at 92% 6%, rgba(5,195,249,.12), transparent 32rem),
    linear-gradient(180deg, #f9fcff 0%, #eef6fb 100%);
  border: 1px solid rgba(5,14,61,.08);
  overflow: hidden;
}
.inside-heading {
  align-items: end;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
  margin-bottom: clamp(26px,4vw,42px);
}
.inside-heading .section-kicker {
  color: var(--legacy-blue);
  display: block;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.inside-heading h2 {
  color: var(--cobalt);
  font-size: clamp(2.3rem, 4.4vw, 4.5rem);
  letter-spacing: -.05em;
  line-height: .98;
  margin-top: 10px;
  max-width: 820px;
}
.inside-heading > p {
  color: #56637d;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}
.inside-media-grid {
  display: grid;
  gap: clamp(16px,2vw,24px);
  grid-template-columns: minmax(0,1.65fr) repeat(2,minmax(0,.675fr));
}
.inside-feature,
.inside-story {
  background: #fff;
  border: 1px solid rgba(5,14,61,.08);
  border-radius: 20px;
  box-shadow: 0 16px 34px rgba(5,14,61,.08);
  overflow: hidden;
}
.inside-media {
  aspect-ratio: 4 / 5;
  background: #dbe8ef;
  overflow: hidden;
  position: relative;
}
.inside-feature .inside-media { aspect-ratio: 16 / 10; }
.inside-media img,
.inside-media video {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.inside-media video {
  background: #050e3d;
}
.inside-media-badge {
  backdrop-filter: blur(8px);
  background: rgba(5,14,61,.76);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  color: #fff;
  font-size: .68rem;
  font-weight: 900;
  left: 14px;
  letter-spacing: .1em;
  padding: 7px 10px;
  position: absolute;
  text-transform: uppercase;
  top: 14px;
}
.inside-copy {
  padding: 20px 22px 22px;
}
.inside-feature .inside-copy {
  align-items: end;
  display: grid;
  gap: 12px 24px;
  grid-template-columns: minmax(0,1fr) auto;
}
.inside-feature .inside-copy h3 { grid-column: 1; }
.inside-feature .inside-copy p { grid-column: 1; }
.inside-feature .inside-copy a { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
.inside-copy h3 {
  color: var(--cobalt);
  font-size: clamp(1.25rem,1.8vw,1.8rem);
  letter-spacing: -.025em;
  line-height: 1.12;
}
.inside-copy p {
  color: #596680;
  font-size: .92rem;
  line-height: 1.6;
  margin-top: 8px;
}
.inside-copy a {
  color: var(--cobalt);
  display: inline-flex;
  font-size: .86rem;
  font-weight: 900;
  margin-top: 14px;
  min-height: 44px;
  align-items: center;
  text-underline-offset: 4px;
}
.inside-social-strip {
  align-items: center;
  border-top: 1px solid rgba(5,14,61,.10);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-top: clamp(24px,4vw,38px);
  padding-top: clamp(20px,3vw,28px);
}
.inside-social-strip > div:first-child {
  display: grid;
  gap: 4px;
  max-width: 720px;
}
.inside-social-strip strong {
  color: var(--cobalt);
  font-size: 1rem;
}
.inside-social-strip span {
  color: #63708a;
  font-size: .86rem;
  line-height: 1.5;
}
.inside-social-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.inside-social-actions a {
  align-items: center;
  background: var(--legacy-blue);
  border: 1px solid rgba(5,14,61,.16);
  border-radius: var(--radius-md);
  box-shadow: 0 5px 0 rgba(5,14,61,.16);
  color: var(--cobalt);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 900;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  text-decoration: none;
  transition: background-color 150ms ease, transform 100ms ease, box-shadow 100ms ease;
}
@media (hover:hover) and (pointer:fine) {
  .inside-feature:hover,
  .inside-story:hover {
    box-shadow: 0 22px 42px rgba(5,14,61,.12);
  }
  .inside-social-actions a:hover {
    background: #25d366;
    box-shadow: 0 3px 0 rgba(5,14,61,.16);
    transform: translateY(2px);
  }
}
.inside-social-actions a:active {
  background: #25d366;
  box-shadow: inset 0 3px 7px rgba(5,14,61,.22);
  transform: translateY(5px);
}
.inside-social-actions a:focus-visible,
.inside-copy a:focus-visible {
  outline: 3px solid #25d366;
  outline-offset: 3px;
}
@media (max-width: 1020px) {
  .inside-heading { grid-template-columns: 1fr; }
  .inside-media-grid { grid-template-columns: 1fr 1fr; }
  .inside-feature { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .inside-section {
    border-radius: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 38px 18px 42px;
  }
  .inside-media-grid { grid-template-columns: 1fr; }
  .inside-feature { grid-column: auto; }
  .inside-feature .inside-copy { display: block; }
  .inside-feature .inside-copy a { margin-top: 14px; }
  .inside-feature .inside-media { aspect-ratio: 16 / 11; }
  .inside-story .inside-media { aspect-ratio: 4 / 4.7; }
  .inside-social-strip {
    align-items: stretch;
    flex-direction: column;
  }
  .inside-social-actions {
    flex-direction: column;
  }
  .inside-social-actions a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .inside-social-actions a { transition: none; transform: none !important; }
}
@media print {
  .inside-section { display: none; }
}


.inside-media-frame {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}
.inside-media-frame img,
.inside-media-frame video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.inside-carousel-controls {
  align-items: center;
  background: rgba(5,14,61,.76);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  bottom: 14px;
  color: #fff;
  display: flex;
  gap: 6px;
  padding: 4px;
  position: absolute;
  right: 14px;
  z-index: 3;
}
.inside-carousel-button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 1.25rem;
  height: 36px;
  justify-content: center;
  width: 36px;
}
.inside-carousel-button:hover,
.inside-carousel-button:focus-visible {
  background: rgba(255,255,255,.14);
}
.inside-carousel-button:focus-visible {
  outline: 2px solid #25d366;
  outline-offset: 1px;
}
.inside-carousel-count {
  font-size: .7rem;
  font-weight: 850;
  min-width: 38px;
  text-align: center;
}


/* Coaching & Business gets its own premium warm accent, distinct from market/regulatory content. */
.pulse-card-coaching::before {
  background: linear-gradient(90deg, #c6902f 0%, #e2b85d 100%);
}
.pulse-card-coaching .pulse-category {
  color: #8b5f12;
}
.pulse-card-coaching .pulse-why {
  border-left-color: rgba(198, 144, 47, .72);
}


/* Header cleanup: brand + navigation only. Calculator utilities live with the calculator. */
.topbar .topnav {
  padding-right: 0;
}
.topbar > .brand {
  flex: 0 0 auto;
}

.calculator .scenario-bar {
  align-items: center;
  display: grid;
  gap: 12px 16px;
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.calculator .scenario-bar > div:first-child {
  min-width: 130px;
}
.calculator-reset,
.scenario-download {
  align-items: center;
  border: 1px solid rgba(5,14,61,.16);
  border-radius: var(--radius-md);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: .8rem;
  font-weight: 850;
  gap: 7px;
  justify-content: center;
  min-height: 40px;
  padding: 9px 12px;
  transition: background-color 150ms ease, box-shadow 120ms ease, transform 120ms ease;
  white-space: nowrap;
}
.calculator-reset {
  background: #fff;
  color: var(--cobalt);
}
.scenario-download {
  background: var(--legacy-blue);
  color: var(--cobalt);
  box-shadow: 0 4px 0 rgba(5,14,61,.16);
}
@media (hover:hover) and (pointer:fine) {
  .calculator-reset:hover,
  .scenario-download:hover {
    background: #25d366;
    color: var(--cobalt);
  }
  .scenario-download:hover {
    box-shadow: 0 2px 0 rgba(5,14,61,.16);
    transform: translateY(2px);
  }
}
.calculator-reset:active,
.scenario-download:active {
  background: #25d366;
  box-shadow: inset 0 2px 6px rgba(5,14,61,.22);
  transform: translateY(2px);
}
.calculator-reset:focus-visible,
.scenario-download:focus-visible {
  outline: 3px solid #25d366;
  outline-offset: 3px;
}
.output .panel-heading > div {
  display: grid;
  gap: 3px;
}

@media (max-width: 900px) {
  .calculator .scenario-bar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .calculator-reset {
    justify-self: start;
  }
}
@media (max-width: 680px) {
  .topbar {
    grid-template-columns: 1fr auto;
  }
  .scenario-download,
  .calculator-reset {
    min-height: 44px;
  }
  .output .panel-heading {
    gap: 12px;
  }
  .scenario-download {
    align-self: flex-start;
  }
}


/* Scenario header refinement: title/reset on row one; presets full-width beneath. */
.calculator .scenario-bar {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.calculator .scenario-bar > div:first-child {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}
.calculator .scenario-bar .calculator-reset {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  min-width: 82px;
  padding-inline: 12px;
}
.calculator .scenario-bar .tabs {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
}
@media (max-width: 900px) {
  .calculator .scenario-bar {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  .calculator .scenario-bar > div:first-child {
    grid-column: 1;
    grid-row: 1;
  }
  .calculator .scenario-bar .calculator-reset {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .calculator .scenario-bar .tabs {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}
@media (max-width: 520px) {
  .calculator .scenario-bar .tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* About Us affiliation: visual relationship to the parent group without changing BlueSky branding. */
.about-heading-side {
  display: grid;
  gap: 18px;
}
.about-heading-side > p {
  color: #56637d;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}
.about-affiliation {
  align-items: center;
  background: var(--cobalt);
  border: 1px solid rgba(5,14,61,.12);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(5,14,61,.12);
  display: flex;
  gap: 14px;
  min-height: 72px;
  padding: 14px 18px;
  width: min(100%, 420px);
}
.about-affiliation > span {
  color: rgba(255,255,255,.68);
  flex: 0 0 auto;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.about-affiliation img {
  display: block;
  height: auto;
  max-height: 38px;
  max-width: 245px;
  object-fit: contain;
  width: auto;
}
@media (max-width: 680px) {
  .about-affiliation {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
    width: 100%;
  }
  .about-affiliation img {
    max-height: 34px;
    max-width: 230px;
  }
}


/* Official REAL REMAX affiliation band — premium satin BlueSky treatment. */
.about-affiliation-band {
  align-items: center;
  background:
    linear-gradient(118deg,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,.08) 16%,
      rgba(255,255,255,.025) 31%,
      rgba(5,195,249,.10) 46%,
      rgba(255,255,255,.035) 58%,
      rgba(255,255,255,.09) 73%,
      rgba(255,255,255,.018) 100%),
    linear-gradient(102deg,
      #03102f 0%,
      #071a4e 24%,
      #0a2f69 45%,
      #06184a 68%,
      #030d2d 100%);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  box-shadow:
    0 24px 54px rgba(5,14,61,.20),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.16);
  display: flex;
  justify-content: center;
  margin: 0 0 clamp(24px, 4vw, 42px);
  min-height: clamp(118px, 15vw, 190px);
  overflow: hidden;
  padding: clamp(28px, 4vw, 48px) clamp(22px, 5vw, 70px);
  position: relative;
}
.about-affiliation-band::before {
  background:
    linear-gradient(110deg,
      transparent 14%,
      rgba(255,255,255,.12) 28%,
      rgba(255,255,255,.025) 39%,
      transparent 51%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.about-affiliation-band::after {
  background: linear-gradient(90deg,
    rgba(5,195,249,.72),
    rgba(5,195,249,.12) 36%,
    rgba(255,255,255,.10) 52%,
    rgba(255,85,126,.14) 76%,
    rgba(255,85,126,.50));
  content: "";
  height: 2px;
  inset: 0 0 auto;
  position: absolute;
}
.about-affiliation-band img {
  display: block;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.18));
  height: auto;
  max-width: 100%;
  position: relative;
  width: min(900px, 92%);
  z-index: 1;
}
@media (max-width: 680px) {
  .about-affiliation-band {
    border-radius: 16px;
    min-height: 104px;
    padding: 26px 18px;
  }
  .about-affiliation-band img {
    width: min(100%, 620px);
  }
}


/* REAL Apps deck */
.real-apps-deck {
  background:
    radial-gradient(circle at 12% 0%, rgba(5, 195, 249, 0.18), transparent 26rem),
    linear-gradient(145deg, #ffffff 0%, #f4fbff 52%, #eef8ff 100%);
  border: 1px solid rgba(5, 14, 61, 0.12);
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(5, 14, 61, 0.10);
  margin: 28px 0 34px;
  overflow: hidden;
  padding: clamp(22px, 4vw, 42px);
  position: relative;
}

.real-apps-brand {
  align-items: flex-end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.real-tech-lockup {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  width: min(220px, 52vw);
}

.real-tech-wordmark {
  background: var(--legacy-blue);
  display: block;
  height: 58px;
  -webkit-mask: url("assets/brand/real-wordmark-dark.png") center / contain no-repeat;
  mask: url("assets/brand/real-wordmark-dark.png") center / contain no-repeat;
  width: 100%;
}

.real-tech-label {
  color: var(--legacy-blue);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.42em;
  line-height: 1;
  margin-left: 0.42em;
}

.app-store-chip {
  align-items: center;
  background: var(--cobalt);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  gap: 8px;
  padding: 9px 13px;
  white-space: nowrap;
}

.app-store-chip > span {
  font-size: 1.2rem;
  line-height: 1;
}

.app-store-chip strong {
  font-size: 0.76rem;
  letter-spacing: 0.02em;
}

.real-apps-heading {
  max-width: 760px;
}

.real-apps-heading h3 {
  color: var(--cobalt);
  font-size: clamp(1.7rem, 3.2vw, 2.8rem);
  line-height: 1.04;
  margin: 4px 0 10px;
}

.real-apps-heading > p {
  color: #4f5870;
  font-size: 1.02rem;
  line-height: 1.65;
}

.real-apps-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
}

.real-app-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(5, 14, 61, 0.11);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(5, 14, 61, 0.06);
  color: var(--ink);
  display: flex;
  flex-direction: column;
  min-height: 280px;
  padding: 22px;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.real-app-card:hover,
.real-app-card:focus-visible {
  border-color: rgba(5, 195, 249, 0.8);
  box-shadow: 0 22px 46px rgba(5, 14, 61, 0.12);
  transform: translateY(-3px);
}

.real-app-eyebrow {
  color: var(--legacy-blue);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.real-app-card h4 {
  color: var(--cobalt);
  font-size: clamp(1.22rem, 2vw, 1.52rem);
  line-height: 1.14;
  margin: 10px 0 12px;
}

.real-app-card p {
  color: #525c73;
  line-height: 1.6;
  margin-bottom: 20px;
}

.real-app-cta {
  align-items: center;
  background: var(--cobalt);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  gap: 8px;
  margin-top: auto;
  padding: 10px 13px;
  width: fit-content;
}

.real-app-cta > span {
  font-size: 1rem;
}

.real-app-cta strong {
  font-size: 0.78rem;
}

.real-app-cta i {
  font-style: normal;
  margin-left: 2px;
  opacity: 0.78;
}

@media (max-width: 760px) {
  .real-apps-brand {
    align-items: flex-start;
    flex-direction: column;
  }

  .real-tech-lockup {
    width: 190px;
  }

  .real-apps-grid {
    grid-template-columns: 1fr;
  }

  .real-app-card {
    min-height: 0;
  }
}


/* REAL Technology — premium integrated redesign */
.tech-band.tech-band-premium {
  background:
    radial-gradient(circle at 0% 0%, rgba(5, 195, 249, 0.09), transparent 30rem),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(5, 14, 61, 0.10);
  display: block;
  overflow: hidden;
  padding: clamp(30px, 5vw, 58px);
}

.tech-band.tech-band-premium::before {
  background: linear-gradient(90deg, var(--legacy-blue) 0 82%, var(--coral) 82% 100%);
  background-size: 100% 100%;
  height: 6px;
}

.tech-premium-intro {
  align-items: end;
  display: grid;
  gap: clamp(28px, 5vw, 72px);
  grid-template-columns: minmax(240px, 0.72fr) minmax(420px, 1.28fr);
  margin: 0 auto clamp(34px, 5vw, 56px);
  max-width: 1220px;
}

.tech-premium-lockup {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.real-tech-lockup-hero {
  align-items: flex-start;
  width: clamp(180px, 20vw, 250px);
}

.real-tech-lockup-hero .real-tech-wordmark {
  height: clamp(52px, 6vw, 72px);
}

.real-tech-lockup-hero .real-tech-label {
  font-size: 0.8rem;
  letter-spacing: 0.48em;
  margin-left: 0.48em;
}

.tech-premium-rule {
  background: var(--coral);
  border-radius: 999px;
  display: block;
  height: 4px;
  width: 42px;
}

.tech-premium-overline,
.real-apps-overline,
.tech-continuation-heading > span {
  color: var(--cobalt);
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tech-premium-copy h2 {
  color: var(--cobalt);
  font-size: clamp(2.35rem, 5vw, 4.65rem);
  letter-spacing: -0.045em;
  line-height: 0.93;
  margin: 0 0 18px;
  max-width: 760px;
}

.tech-premium-copy > p {
  color: #566078;
  font-size: clamp(1rem, 1.45vw, 1.12rem);
  line-height: 1.7;
  max-width: 760px;
}

.real-apps-deck.real-apps-deck-premium {
  background:
    radial-gradient(circle at 8% 2%, rgba(5, 195, 249, 0.26), transparent 27rem),
    radial-gradient(circle at 100% 100%, rgba(255, 85, 126, 0.13), transparent 30rem),
    linear-gradient(145deg, #050e3d 0%, #091958 55%, #071346 100%);
  border: 0;
  border-radius: 30px;
  box-shadow: 0 30px 75px rgba(5, 14, 61, 0.20);
  margin: 0 auto;
  max-width: 1220px;
  padding: clamp(26px, 4.5vw, 50px);
}

.real-apps-deck-premium .real-apps-heading {
  align-items: end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  max-width: none;
}

.real-apps-deck-premium .real-apps-overline {
  color: var(--legacy-blue);
}

.real-apps-deck-premium .real-apps-heading h3 {
  color: #ffffff;
  font-size: clamp(2rem, 4.2vw, 3.65rem);
  letter-spacing: -0.035em;
  line-height: 0.98;
  margin: 7px 0 0;
  max-width: 780px;
}

.real-apps-deck-premium .app-store-chip {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  color: #ffffff;
  flex: 0 0 auto;
  gap: 10px;
  padding: 9px 14px 10px;
}

.real-apps-deck-premium .app-store-chip > span:first-child {
  font-size: 1.55rem;
}

.real-apps-deck-premium .app-store-chip > span:last-child {
  display: grid;
  gap: 0;
}

.real-apps-deck-premium .app-store-chip small {
  font-size: 0.54rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  line-height: 1;
}

.real-apps-deck-premium .app-store-chip strong {
  font-size: 0.94rem;
  letter-spacing: -0.01em;
  line-height: 1.08;
}

.real-apps-deck-premium .real-apps-grid {
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(26px, 4vw, 38px);
}

.real-apps-deck-premium .real-app-card {
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.10);
  min-height: 300px;
  overflow: hidden;
  padding: clamp(20px, 2.5vw, 28px);
  position: relative;
}

.real-apps-deck-premium .real-app-card::before {
  background: var(--legacy-blue);
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.real-apps-deck-premium .real-app-card:nth-child(4)::before {
  background: linear-gradient(90deg, var(--legacy-blue), var(--coral));
}

.real-apps-deck-premium .real-app-card:hover,
.real-apps-deck-premium .real-app-card:focus-visible {
  border-color: rgba(5, 195, 249, 0.75);
  box-shadow: 0 22px 45px rgba(0, 0, 0, 0.16);
  outline: none;
  transform: translateY(-5px);
}

.real-app-card-top {
  align-items: center;
  display: flex;
  gap: 12px;
}

.real-app-index {
  color: #a5adbc;
  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.real-apps-deck-premium .real-app-eyebrow {
  color: var(--cobalt);
  font-size: 0.72rem;
  letter-spacing: 0.07em;
}

.real-apps-deck-premium .real-app-card h4 {
  color: var(--cobalt);
  font-size: clamp(1.35rem, 2.15vw, 1.75rem);
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 18px 0 13px;
  max-width: 460px;
}

.real-apps-deck-premium .real-app-card p {
  color: #5b6478;
  font-size: 0.94rem;
  line-height: 1.62;
  margin-bottom: 24px;
  max-width: 500px;
}

.real-apps-deck-premium .real-app-cta {
  background: var(--cobalt);
  border: 1px solid var(--cobalt);
  border-radius: 12px;
  gap: 9px;
  padding: 10px 13px;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.real-apps-deck-premium .real-app-card:hover .real-app-cta,
.real-apps-deck-premium .real-app-card:focus-visible .real-app-cta {
  background: var(--legacy-blue);
  border-color: var(--legacy-blue);
  color: var(--cobalt);
}

.real-apps-deck-premium .real-app-cta strong {
  font-size: 0.8rem;
}

.tech-continuation {
  border-top: 1px solid rgba(5, 14, 61, 0.10);
  display: grid;
  gap: 26px;
  margin: clamp(42px, 6vw, 72px) auto 0;
  max-width: 1220px;
  padding-top: clamp(30px, 4vw, 46px);
}

.tech-continuation-heading {
  align-items: end;
  display: grid;
  gap: 8px 30px;
  grid-template-columns: minmax(280px, 0.8fr) minmax(360px, 1.2fr);
}

.tech-continuation-heading > span {
  color: var(--legacy-blue);
  grid-column: 1 / -1;
}

.tech-continuation-heading h3 {
  color: var(--cobalt);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  letter-spacing: -0.03em;
  line-height: 1;
  margin: 0;
}

.tech-continuation-heading p {
  color: #61697a;
  line-height: 1.62;
  margin: 0;
  max-width: 650px;
}

.tech-grid.tech-grid-premium {
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tech-grid-premium .tech-card,
.tech-grid-premium .tech-card:nth-child(2),
.tech-grid-premium .tech-card:nth-child(3),
.tech-grid-premium .tech-card:nth-child(4),
.tech-grid-premium .tech-card:nth-child(5) {
  background: #ffffff;
  border: 1px solid rgba(5, 14, 61, 0.11);
  border-radius: 16px;
  border-top: 1px solid rgba(5, 14, 61, 0.11);
  box-shadow: 0 10px 25px rgba(5, 14, 61, 0.05);
  display: flex;
  flex-direction: column;
  grid-column: auto;
  min-height: 265px;
  padding: 20px;
  text-decoration: none;
}

.tech-grid-premium .tech-card::before {
  background: var(--legacy-blue);
  border-radius: 999px;
  content: "";
  height: 4px;
  margin-bottom: 4px;
  width: 32px;
}

.tech-grid-premium .tech-card:hover,
.tech-grid-premium .tech-card:focus-visible {
  border-color: rgba(5, 195, 249, 0.55);
  box-shadow: 0 18px 34px rgba(5, 14, 61, 0.10);
  outline: none;
  transform: translateY(-4px);
}

.tech-grid-premium .tech-card > span {
  color: #7a8498;
  font-size: 0.68rem;
  letter-spacing: 0.07em;
}

.tech-grid-premium .tech-card h3 {
  color: var(--cobalt);
  font-size: 1.18rem;
  letter-spacing: -0.015em;
  line-height: 1.12;
  margin: 3px 0 0;
}

.tech-grid-premium .tech-card p {
  color: #636c7d;
  font-size: 0.88rem;
  line-height: 1.55;
}

.tech-grid-premium .tech-card b {
  color: var(--cobalt);
  font-size: 0.78rem;
  margin-top: auto;
  padding-top: 16px;
}

.tech-grid-premium .tech-card b i {
  color: var(--coral);
  font-style: normal;
}

.tech-card-note {
  color: #8a91a0;
  font-size: 0.68rem;
  line-height: 1.35;
  margin-top: 10px;
}

@media (max-width: 980px) {
  .tech-premium-intro {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .tech-premium-copy h2 {
    max-width: 700px;
  }

  .tech-grid.tech-grid-premium {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tech-continuation-heading {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tech-band.tech-band-premium {
    padding: 28px 18px 34px;
  }

  .real-tech-lockup-hero {
    width: 170px;
  }

  .tech-premium-copy h2 {
    font-size: clamp(2.15rem, 12vw, 3.25rem);
  }

  .real-apps-deck.real-apps-deck-premium {
    border-radius: 22px;
    padding: 22px 16px 18px;
  }

  .real-apps-deck-premium .real-apps-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .real-apps-deck-premium .real-apps-heading h3 {
    font-size: clamp(1.9rem, 10vw, 2.75rem);
  }

  .real-apps-deck-premium .real-apps-grid,
  .tech-grid.tech-grid-premium {
    grid-template-columns: 1fr;
  }

  .real-apps-deck-premium .real-app-card {
    min-height: 0;
  }

  .tech-grid-premium .tech-card,
  .tech-grid-premium .tech-card:nth-child(2),
  .tech-grid-premium .tech-card:nth-child(3),
  .tech-grid-premium .tech-card:nth-child(4) {
    min-height: 0;
  }
}


/* REAL Tech official-source alignment */
.tech-source-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.tech-source-primary,
.tech-source-secondary {
  align-items: center;
  border-radius: 12px;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 850;
  gap: 8px;
  justify-content: center;
  padding: 11px 14px;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.tech-source-primary {
  background: var(--cobalt);
  color: #fff;
}

.tech-source-secondary {
  background: #fff;
  border: 1px solid rgba(5, 14, 61, 0.14);
  color: var(--cobalt);
}

.tech-source-primary:hover,
.tech-source-primary:focus-visible,
.tech-source-secondary:hover,
.tech-source-secondary:focus-visible {
  box-shadow: 0 12px 25px rgba(5, 14, 61, 0.12);
  outline: none;
  transform: translateY(-2px);
}

.real-apps-deck-premium .real-app-card {
  text-decoration: none;
}

.real-app-actions {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
}

.real-app-learn {
  color: var(--cobalt);
  font-size: 0.76rem;
  font-weight: 850;
  line-height: 1.35;
  text-decoration: none;
}

.real-app-learn span {
  color: var(--coral);
  transition: transform 160ms ease;
}

.real-app-learn:hover,
.real-app-learn:focus-visible {
  color: #007fad;
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.real-app-learn:hover span,
.real-app-learn:focus-visible span {
  display: inline-block;
  transform: translateX(3px);
}

.tech-grid.tech-grid-official {
  align-items: stretch;
}

.tech-grid-official .tech-card-canada {
  background:
    radial-gradient(circle at 95% 5%, rgba(255, 85, 126, 0.09), transparent 42%),
    linear-gradient(145deg, #fff 0%, #f7fbff 100%);
}

.tech-grid-official .tech-card-canada::before {
  background: linear-gradient(90deg, var(--legacy-blue), var(--coral));
}

.tech-country-note {
  align-items: start;
  background: rgba(5, 14, 61, 0.035);
  border: 1px solid rgba(5, 14, 61, 0.08);
  border-radius: 14px;
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(160px, 0.32fr) minmax(0, 1fr);
  padding: 14px 16px;
}

.tech-country-note strong {
  color: var(--cobalt);
  font-size: 0.82rem;
}

.tech-country-note span {
  color: #6a7180;
  font-size: 0.78rem;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .tech-source-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tech-source-primary,
  .tech-source-secondary {
    width: 100%;
  }

  .tech-country-note {
    grid-template-columns: 1fr;
  }
}


/* Official REAL Tech deep-dive card */
.official-tech-poster {
  align-items: center;
  background:
    radial-gradient(circle at 85% 20%, rgba(5, 195, 249, 0.24), transparent 34%),
    linear-gradient(145deg, #050e3d 0%, #0a1b5d 100%);
  display: flex;
  justify-content: center;
  padding: clamp(24px, 4vw, 42px);
}

.official-tech-poster img {
  filter: brightness(0) invert(1);
  height: auto;
  max-width: 44%;
  object-fit: contain;
  opacity: 0.16;
  position: absolute;
  right: 3%;
  width: 360px;
}

.official-tech-poster::after {
  background: linear-gradient(180deg, transparent 25%, rgba(5, 14, 61, 0.28));
}

.official-tech-poster-copy {
  display: grid;
  gap: 8px;
  max-width: 520px;
  position: relative;
  width: 100%;
  z-index: 2;
}

.official-tech-poster-copy small {
  color: var(--legacy-blue);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.official-tech-poster-copy strong {
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3.4rem);
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.official-tech-poster:hover img,
.official-tech-poster:focus-visible img {
  filter: brightness(0) invert(1);
  transform: scale(1.02);
}


/* Simplified page architecture: Shawn → Tech, Jasbir → Luxury, Academy near close */
.shawn-band + .tech-band-premium {
  border-left: 0;
  border-right: 0;
  margin-top: 0;
}

.jasbir-luxury-reveal {
  background:
    radial-gradient(circle at 92% 0%, rgba(240, 199, 131, 0.11), transparent 28rem),
    linear-gradient(135deg, #202227 0%, #17191d 100%);
  border: 1px solid #3d4047;
  color: #fff;
  overflow: hidden;
}

.jasbir-luxury-reveal > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  list-style: none;
  min-height: 86px;
  padding: 20px clamp(20px, 4vw, 34px);
  position: relative;
}

.jasbir-luxury-reveal > summary::before {
  background: linear-gradient(90deg, #d29a54, #f0c783 46%, var(--legacy-blue));
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.jasbir-luxury-reveal > summary::-webkit-details-marker {
  display: none;
}

.jasbir-luxury-reveal > summary span {
  display: grid;
  gap: 4px;
}

.jasbir-luxury-reveal > summary small {
  color: #f0c783;
  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.jasbir-luxury-reveal > summary strong {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.1rem, 2.2vw, 1.5rem);
  font-weight: 500;
}

.jasbir-luxury-reveal > summary i {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(240, 199, 131, 0.7);
  color: #f0c783;
  display: inline-flex;
  flex: 0 0 42px;
  font-size: 1.5rem;
  font-style: normal;
  height: 42px;
  justify-content: center;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.jasbir-luxury-reveal > summary:hover i,
.jasbir-luxury-reveal > summary:focus-visible i {
  background: #f0c783;
  color: #202227;
  outline: none;
  transform: scale(1.04);
}

.jasbir-luxury-reveal[open] > summary i {
  font-size: 0;
}

.jasbir-luxury-reveal[open] > summary i::after {
  content: "−";
  font-size: 1.6rem;
}

.jasbir-luxury-content {
  border-top: 1px solid rgba(240, 199, 131, 0.18);
  padding: 0;
}

.jasbir-luxury-content .luxury-band {
  border: 0;
  margin: 0;
}

.jasbir-luxury-content .luxury-band::before {
  display: none;
}

.jasbir-luxury-reveal + .academy-band {
  margin-top: 18px;
}

#real-academy {
  margin-top: clamp(30px, 5vw, 56px);
}

#real-academy .academy-hero > p {
  max-width: 680px;
}

@media (max-width: 700px) {
  .jasbir-luxury-reveal > summary {
    min-height: 76px;
    padding: 18px;
  }

  .jasbir-luxury-content .luxury-band {
    grid-template-columns: 1fr;
  }
}


/* Business Plan feature — retains the former Pulse visual language without the feed */
.business-plan-showcase .pulse-heading {
  align-items: center;
}

.business-plan-heading > div:first-child {
  max-width: 820px;
}

.business-plan-hero-cta {
  align-items: center;
  background: var(--legacy-blue);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius-md);
  box-shadow: 0 6px 0 rgba(0,0,0,.18);
  color: var(--cobalt);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .9rem;
  font-weight: 900;
  gap: 10px;
  justify-content: center;
  min-height: 50px;
  padding: 12px 18px;
  text-decoration: none;
  transition: background 150ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.business-plan-hero-cta:hover,
.business-plan-hero-cta:focus-visible {
  background: #25d366;
  box-shadow: 0 3px 0 rgba(0,0,0,.18);
  color: var(--cobalt);
  outline: none;
  transform: translateY(2px);
}

.business-plan-grid .business-plan-card {
  min-height: 345px;
}

.business-plan-card .pulse-why {
  margin-top: auto;
  padding-top: 0;
}

.business-plan-footer {
  margin-top: clamp(24px, 3.5vw, 36px);
}

@media (max-width: 1020px) {
  .business-plan-showcase .pulse-heading {
    align-items: flex-start;
  }

  .business-plan-hero-cta {
    width: fit-content;
  }

  .business-plan-grid .business-plan-card:last-child {
    min-height: 300px;
  }
}

@media (max-width: 680px) {
  .business-plan-hero-cta {
    width: 100%;
  }

  .business-plan-grid .business-plan-card,
  .business-plan-grid .business-plan-card:last-child {
    min-height: 0;
  }
}


/* Integrated REAL platform → apps flow */
.tech-band-premium .tech-continuation {
  margin: 0 auto;
  padding-top: 0;
  border-top: 0;
}

.tech-band-premium .real-apps-deck {
  margin-top: 0;
}

.tech-platform-to-apps {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr auto 1fr;
  margin: clamp(28px, 4vw, 44px) auto;
  max-width: 1220px;
}

.tech-platform-to-apps > span {
  background: linear-gradient(90deg, rgba(5,14,61,.08), rgba(5,195,249,.38), rgba(5,14,61,.08));
  height: 1px;
}

.tech-platform-to-apps strong {
  color: var(--cobalt);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.real-apps-deck-premium .real-app-actions {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}

.real-apps-deck-premium .real-app-cta,
.real-apps-deck-premium .real-app-learn {
  align-items: center;
  border-radius: 12px;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 850;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 10px 13px;
  text-decoration: none !important;
  text-underline-offset: 0;
}

.real-apps-deck-premium .real-app-learn {
  background: #fff;
  border: 1px solid rgba(5,14,61,.18);
  color: var(--cobalt);
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.real-apps-deck-premium .real-app-learn:hover,
.real-apps-deck-premium .real-app-learn:focus-visible {
  background: #eef9ff;
  border-color: rgba(5,195,249,.72);
  box-shadow: 0 8px 18px rgba(5,14,61,.08);
  color: var(--cobalt);
  outline: none;
  text-decoration: none !important;
  transform: translateY(-1px);
}

.real-apps-deck-premium .real-app-learn span {
  color: var(--coral);
}

.real-apps-deck-premium .real-app-card a,
.real-apps-deck-premium .real-app-card a:hover,
.real-apps-deck-premium .real-app-card a:focus-visible {
  text-decoration: none !important;
}

.tech-grid-official .tech-card:nth-child(2) {
  background:
    radial-gradient(circle at 100% 0%, rgba(5,195,249,.08), transparent 38%),
    #fff;
}

@media (max-width: 700px) {
  .tech-platform-to-apps {
    gap: 10px;
    grid-template-columns: 1fr auto 1fr;
    margin: 28px auto;
  }

  .tech-platform-to-apps strong {
    font-size: .62rem;
    letter-spacing: .08em;
    text-align: center;
  }

  .real-apps-deck-premium .real-app-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .real-apps-deck-premium .real-app-cta,
  .real-apps-deck-premium .real-app-learn {
    width: 100%;
  }
}


/* Integrated close: planning owns the plan; final CTA owns the conversation */
.conversation-cta .primary-cta,
.conversation-cta .secondary-cta {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
}

.conversation-cta .conversation-link {
  text-decoration: none;
}

@media (max-width: 820px) {
  .conversation-cta {
    grid-template-columns: 1fr;
  }

  .conversation-cta .cta-actions {
    justify-content: flex-start;
  }
}


/* Unified REAL Tech deck: platform + apps in one visual system */
.real-tech-merged-deck {
  margin-top: 0;
}

.real-tech-merged-heading {
  align-items: flex-end;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.real-tech-merged-intro {
  color: #c9d7ef;
  font-size: .98rem;
  line-height: 1.65;
  margin-top: 16px;
  max-width: 820px;
}

.real-tech-merged-grid {
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.real-tech-merged-card {
  min-height: 470px;
  padding: clamp(24px, 3vw, 32px);
}

.real-tech-merged-card h4 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  max-width: 560px;
}

.real-tech-merged-card > p {
  font-size: .98rem;
  line-height: 1.66;
  max-width: 600px;
}

.real-tech-card-detail {
  border-top: 1px solid rgba(5,14,61,.10);
  display: grid;
  gap: 5px;
  margin-top: 18px;
  padding-top: 15px;
}

.real-tech-card-detail span {
  color: var(--cobalt);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.real-tech-card-detail p {
  color: #5c6679;
  font-size: .86rem;
  line-height: 1.55;
  margin: 0;
}

.real-tech-merged-card .real-app-actions {
  margin-top: 24px;
}

.real-tech-canada-card::before {
  background: linear-gradient(90deg, var(--legacy-blue), var(--coral)) !important;
}

.real-tech-canada-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(255,85,126,.07), transparent 34%),
    rgba(255,255,255,.97) !important;
}

@media (max-width: 900px) {
  .real-tech-merged-grid {
    grid-template-columns: 1fr;
  }

  .real-tech-merged-card {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .real-tech-merged-heading {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }

  .real-tech-merged-heading .app-store-chip {
    width: fit-content;
  }
}


/* REAL TECHNOLOGY art mark — approved legacy-blue treatment */
.real-technology-logo-art {
  background:
    radial-gradient(circle at 88% 8%, rgba(5,195,249,.10), transparent 24%),
    linear-gradient(145deg, #16181c 0%, #0e1013 34%, #070809 72%, #14161a 100%);
  box-shadow:
    0 22px 44px rgba(5,14,61,.16),
    inset 0 0 34px rgba(5,195,249,.025);
  display: inline-grid;
  gap: 12px;
  max-width: 360px;
  padding: 18px 18px 16px;
  width: min(100%, 340px);
}

.real-technology-frame {
  align-items: center;
  border: 5px solid var(--legacy-blue);
  box-shadow:
    0 0 12px rgba(5,195,249,.34),
    inset 0 0 10px rgba(5,195,249,.08);
  display: flex;
  justify-content: center;
  min-height: 128px;
  padding: 20px 26px;
  position: relative;
}

.real-technology-wordmark {
  background: var(--legacy-blue);
  display: block;
  filter: drop-shadow(0 0 7px rgba(5,195,249,.24));
  height: 72px;
  -webkit-mask: url("assets/brand/real-wordmark-dark.png") center / contain no-repeat;
  mask: url("assets/brand/real-wordmark-dark.png") center / contain no-repeat;
  width: 100%;
}

.real-technology-label {
  color: var(--legacy-blue);
  display: block;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 950;
  letter-spacing: .08em;
  line-height: .95;
  text-align: center;
  text-shadow: 0 0 8px rgba(5,195,249,.22);
}

.real-technology-spark {
  height: 22px;
  position: absolute;
  right: -13px;
  top: -13px;
  width: 22px;
}

.real-technology-spark::before,
.real-technology-spark::after {
  background: #d9fbff;
  box-shadow: 0 0 12px rgba(5,195,249,.9);
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
}

.real-technology-spark::before {
  height: 22px;
  width: 2px;
}

.real-technology-spark::after {
  height: 2px;
  width: 22px;
}

@media (max-width: 700px) {
  .real-technology-logo-art {
    max-width: 300px;
    padding: 14px;
    width: min(100%, 300px);
  }

  .real-technology-frame {
    border-width: 4px;
    min-height: 108px;
    padding: 16px 20px;
  }

  .real-technology-wordmark {
    height: 60px;
  }

  .real-technology-label {
    font-size: 1.05rem;
    letter-spacing: .075em;
  }
}


/* REAL Tech card alignment + Canadian visual cues */
.real-tech-merged-grid {
  align-items: stretch;
}

.real-tech-merged-card {
  display: grid;
  grid-template-rows:
    auto
    minmax(82px, auto)
    minmax(108px, auto)
    minmax(112px, auto)
    minmax(112px, auto)
    auto;
  height: 100%;
}

.real-tech-merged-card .real-app-card-top {
  align-self: start;
}

.real-tech-merged-card h4 {
  align-self: start;
  margin-bottom: 12px;
}

.real-tech-merged-card > p {
  align-self: start;
  margin-bottom: 0;
}

.real-tech-merged-card .real-tech-card-detail {
  align-self: stretch;
  margin-top: 0;
  padding-top: 15px;
}

.real-tech-merged-card .real-app-actions {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(145px, .8fr) minmax(0, 1.2fr);
  margin-top: 22px;
}

.real-tech-merged-card .real-app-cta,
.real-tech-merged-card .real-app-learn {
  align-items: center;
  display: inline-flex;
  height: 52px;
  justify-content: center;
  line-height: 1.15;
  margin: 0;
  min-height: 52px;
  padding: 10px 13px;
  text-align: center;
  width: 100%;
}

.real-tech-canada-card .real-app-eyebrow,
.real-tech-canada-card .real-tech-card-detail span {
  display: inline-flex;
  gap: 6px;
}

.tech-source-secondary {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .real-tech-merged-card {
    grid-template-rows: auto;
  }

  .real-tech-merged-card .real-app-actions {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .real-tech-merged-card .real-app-actions {
    grid-template-columns: 1fr;
  }

  .real-tech-merged-card .real-app-cta,
  .real-tech-merged-card .real-app-learn {
    height: auto;
    min-height: 48px;
  }
}


/* Flat Canada flag cue */
.canada-flag {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 12px;
  justify-content: center;
  line-height: 0;
  margin-right: 7px;
  vertical-align: -1px;
  width: 18px;
}

.canada-flag svg {
  display: block;
  height: 100%;
  width: 100%;
}

.tech-source-secondary .canada-flag,
.real-tech-canada-card .canada-flag,
.real-app-learn .canada-flag {
  margin-right: 7px;
}

/* Canada flag marker sourced from the user-provided flag image */
.canada-flag {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAkCAIAAACluesxAAAMTGlDQ1BJQ0MgUHJvZmlsZQAAeJyVVwdYU8kWnltSIQQIREBK6E0QkRJASggtgPQiiEpIAoQSY0JQsSPLruDaRQQrugqi2AERG3ZlUex9saCirIvrYlfehAC67Cvfm++bO//958w/55w7994ZAOgdfKk0B9UEIFeSJ4sJ9mdNSEpmkV4AEtAAVMAGHnyBXMqJigoHsAy2fy9vbwBE2V51UGr9s/+/Fi2hSC4AAImCOE0oF+RCfAAAvFkgleUBQJRC3nx6nlSJV0GsI4MOQlytxBkq3KzEaSp8ud8mLoYL8RMAyOp8viwDAI0eyLPyBRlQhw6jBU4SoVgCsR/EPrm5U4UQz4fYBtrAOelKfXbadzoZf9NMG9Lk8zOGsCqW/kIOEMulOfyZ/2c6/nfJzVEMzmENq3qmLCRGGTPM25PsqWFKrA7xe0laRCTE2gCguFjYb6/EzExFSLzKHrURyLkwZ4AJ8Th5TixvgI8R8gPCIDaEOF2SExE+YFOYLg5S2sD8oeXiPF4cxHoQV4vkgbEDNsdlU2MG572RLuNyBvjnfFm/D0r9r4rseI5KH9POFPEG9DHHgsy4RIipEAfkixMiINaAOEKeHRs2YJNSkMmNGLSRKWKUsVhALBNJgv1V+lhZuiwoZsB+R658MHbseKaYFzGAr+RlxoWocoU9EfD7/YexYD0iCSd+UEcknxA+GItQFBCoih0niyTxsSoe15Pm+ceoxuJ20pyoAXvcX5QTrOTNII6T58cOjs3Pg4tTpY8XS/Oi4lR+4hVZ/NAolT/4HhAOuCAAsIAC1jQwFWQBcVt3Qze8U/UEAT6QgQwgAg4DzOCIxP4eCbzGggLwO0QiIB8a59/fKwL5kP8yjFVy4iFOdXUA6QN9SpVs8BTiXBAGcuC9ol9JMuRBAngCGfE/POLDKoAx5MCq7P/3/CD7jeFAJnyAUQzOyKIPWhIDiQHEEGIQ0RY3wH1wLzwcXv1gdcbZuMdgHN/sCU8J7YRHhOuEDsLtKeJC2TAvx4MOqB80kJ+07/ODW0FNV9wf94bqUBln4gbAAXeB83BwXzizK2S5A34rs8Iapv23CL57QgN2FCcKShlB8aPYDB+pYafhOqSizPX3+VH5mjaUb+5Qz/D5ud9lXwjbsOGW2E/YfuwsdgI7jzVjDYCFHcMasVbsiBIPrbgn/StucLaYfn+yoc7wNfPtySozKXeqdepy+qzqyxPNyFO+jNyp0pkycUZmHosD/xgiFk8icBzFcnZydgNA+f9Rfd7eRPf/VxBm6zdu4W8AeB/r6+s7/I0LPQbAXnf4STj0jbNhw1+LGgDnDgkUsnwVhysvBPjloMO3Tx8YA3NgA+NxBm7AC/iBQBAKIkEcSAKTofeZcJ3LwHQwGywAxaAULAOrQQXYCLaAarAL7AMNoBmcAGfARXAZXAd34erpBC9BD3gLPiEIQkJoCAPRR0wQS8QecUbYiA8SiIQjMUgSkopkIBJEgcxGFiKlyAqkAtmM1CB7kUPICeQ80o7cRh4iXcifyEcUQ9VRHdQItUJHo2yUg4ahcegkNAOdhhagRegStBytQnei9egJ9CJ6He1AX6K9GMDUMCZmijlgbIyLRWLJWDomw+ZiJVgZVoXVYU3wOV/FOrBu7ANOxBk4C3eAKzgEj8cF+DR8Lr4Yr8Cr8Xr8FH4Vf4j34F8JNIIhwZ7gSeARJhAyCNMJxYQywjbCQcJp+C51Et4SiUQm0ZroDt/FJGIWcRZxMXE9cTfxOLGd+JjYSyKR9En2JG9SJIlPyiMVk9aSdpKOka6QOknvyWpkE7IzOYicTJaQC8ll5B3ko+Qr5GfkTxRNiiXFkxJJEVJmUpZStlKaKJconZRPVC2qNdWbGkfNoi6gllPrqKep96hv1NTUzNQ81KLVxGrz1crV9qidU3uo9kFdW91Onaueoq5QX6K+Xf24+m31NzQazYrmR0um5dGW0GpoJ2kPaO81GBqOGjwNocY8jUqNeo0rGq/oFLolnUOfTC+gl9H30y/RuzUpmlaaXE2+5lzNSs1Dmjc1e7UYWmO0IrVytRZr7dA6r/Vcm6RtpR2oLdQu0t6ifVL7MQNjmDO4DAFjIWMr4zSjU4eoY63D08nSKdXZpdOm06Orreuim6A7Q7dS94huBxNjWjF5zBzmUuY+5g3mxxFGIzgjRCMWjagbcWXEO72Ren56Ir0Svd161/U+6rP0A/Wz9ZfrN+jfN8AN7AyiDaYbbDA4bdA9Umek10jByJKR+0beMUQN7QxjDGcZbjFsNew1MjYKNpIarTU6adRtzDT2M84yXmV81LjLhGHiYyI2WWVyzOQFS5fFYeWwylmnWD2mhqYhpgrTzaZtpp/MrM3izQrNdpvdN6eas83TzVeZt5j3WJhYjLeYbVFrcceSYsm2zLRcY3nW8p2VtVWi1Y9WDVbPrfWsedYF1rXW92xoNr4202yqbK7ZEm3Zttm2620v26F2rnaZdpV2l+xRezd7sf16+/ZRhFEeoySjqkbddFB34DjkO9Q6PHRkOoY7Fjo2OL4abTE6efTy0WdHf3Vydcpx2up0d4z2mNAxhWOaxvzpbOcscK50vjaWNjZo7LyxjWNfu9i7iFw2uNxyZbiOd/3RtcX1i5u7m8ytzq3L3cI91X2d+022DjuKvZh9zoPg4e8xz6PZ44Onm2ee5z7PP7wcvLK9dng9H2c9TjRu67jH3mbefO/N3h0+LJ9Un00+Hb6mvnzfKt9HfuZ+Qr9tfs84tpwszk7OK38nf5n/Qf93XE/uHO7xACwgOKAkoC1QOzA+sCLwQZBZUEZQbVBPsGvwrODjIYSQsJDlITd5RjwBr4bXE+oeOif0VJh6WGxYRdijcLtwWXjTeHR86PiV4+9FWEZIIhoiQSQvcmXk/SjrqGlRh6OJ0VHRldFPY8bEzI45G8uInRK7I/ZtnH/c0ri78TbxiviWBHpCSkJNwrvEgMQViR0TRk+YM+FikkGSOKkxmZSckLwtuXdi4MTVEztTXFOKU25Msp40Y9L5yQaTcyYfmUKfwp+yP5WQmpi6I/UzP5Jfxe9N46WtS+sRcAVrBC+FfsJVwi6Rt2iF6Fm6d/qK9OcZ3hkrM7oyfTPLMrvFXHGF+HVWSNbGrHfZkdnbs/tyEnN255JzU3MPSbQl2ZJTU42nzpjaLrWXFks7pnlOWz2tRxYm2yZH5JPkjXk6cKPfqrBR/KB4mO+TX5n/fnrC9P0ztGZIZrTOtJu5aOazgqCCX2bhswSzWmabzl4w++EczpzNc5G5aXNb5pnPK5rXOT94fvUC6oLsBb8WOhWuKPxrYeLCpiKjovlFj38I/qG2WKNYVnzzR68fN/6E/yT+qW3R2EVrF30tEZZcKHUqLSv9vFiw+MLPY34u/7lvSfqStqVuSzcsIy6TLLux3Hd59QqtFQUrHq8cv7J+FWtVyaq/Vk9Zfb7MpWzjGuoaxZqO8vDyxrUWa5et/VyRWXG90r9y9zrDdYvWvVsvXH9lg9+Guo1GG0s3ftwk3nRrc/Dm+iqrqrItxC35W55uTdh69hf2LzXbDLaVbvuyXbK9ozqm+lSNe03NDsMdS2vRWkVt186UnZd3BexqrHOo27ybubt0D9ij2PNib+reG/vC9rXsZ++vO2B5YN1BxsGSeqR+Zn1PQ2ZDR2NSY/uh0EMtTV5NBw87Ht7ebNpceUT3yNKj1KNFR/uOFRzrPS493n0i48Tjliktd09OOHntVPSpttNhp8+dCTpz8izn7LFz3ueaz3ueP3SBfaHhotvF+lbX1oO/uv56sM2trf6S+6XGyx6Xm9rHtR+94nvlxNWAq2eu8a5dvB5xvf1G/I1bN1NudtwS3np+O+f26zv5dz7dnX+PcK/kvub9sgeGD6p+s/1td4dbx5GHAQ9bH8U+uvtY8PjlE/mTz51FT2lPy56ZPKt57vy8uSuo6/KLiS86X0pffuou/l3r93WvbF4d+MPvj9aeCT2dr2Wv+/5c/Eb/zfa/XP5q6Y3qffA29+2ndyXv9d9Xf2B/OPsx8eOzT9M/kz6Xf7H90vQ17Ou9vty+Pilfxu/fCmBAebRJB+DP7QDQkgBgwHMjdaLqfNhfENWZth+B/4RVZ8j+AncudXBPH90Ndzc3AdizFQArqE9PASCKBkCcB0DHjh2qg2e5/nOnshDh2WDT5C9puWng3xTVmfQ7v4e3QKnqAoa3/wKkeINU4zjWnQAAB4ZJREFUeNq9WWuMVVcV/tba+5x7z7lzh5kyT17DMEXKuwOImmqjSROjidGf/rN/jFQjsRqiNZqYaiJFlDTWNAbRRClCGmtrTUSbGKPgg5aArRWkUlIgEB4O3Jn7OK+9lj/uDDMMKXPncmfWr5ubs/dea31rf+ux6ZVHPh4nEQsAAKpQggIEKIDbf5AjIie1INy6Z+eCwSFJUxBhjkTV+F7p/MVXv/CVMBkVJigTAOiESpiiISlAICIolPw2G1y67GexIVZAddqaaUICYlX2A98LwrZQ4sYNU0ChAHGjdomYnJ8YW7h2rS0uCxNUJ7Z6Vw0JKiqwOavWhwLMBKjKzG5UZc8jItW6IxoSEWXPMpFLU2rMF6JadzZZzjLDxkDroTSD/6BKNmdVQYBKgzoSBAwQzSYEVdmzl17/pwH3b9zgkpjYzLiIiYhARAxhGEjDByoIZJu8ABPBTo2dZCyf+/E+49C395kGF92jMACBtnpbgpJIpk6cS9X3rr3xr+jvR5O/Hbt68k3O++qcOCczRz6gNIXAGhWpG9Z6u6BOMjLGhDlxcNAL+w8GY2WvVr544IBARJWDPNiICNOcECvfiqsWiogaz77+/Mv/eeGwLYZjZ96+cfj3+Xzg5f3//eGVm6ff4kJw9jeH3zj4K+t5OhMFNed2O5u70ihcpMKe35bGp3c8kRz7THTlcm6s5IIiCG2V8ttP7bG9/RefOzT0zR1k2aUpMbccMTsHiKlCoehY80B7R7566DlnOBcWM1EG+flCcuRokiVhsbBw07AoFEqquD0gtTWhqPdoh07uoAqyIOOiJLdsEfX0U86zQV5Fb31sgsALQu7tyS3pd1HKbMFmMt3MJj3O4R1TVSICAaIQAaE8crVcGiGisKsrt2x5EiWZIKtnS1VRUZUsioKlS/ILFzqi6thoeeSGCMQ5EVGe8FIdwmappVnE9FYNQ1EcV6tVG/g2yOVz/tnnXz751ScdqzHGH1zuJJvGe4ZYHXJDK63ngdyrX/vWuQMHw9D3w7wJclGlmsXJ1BU6r3eMJkuK6vnrx5/4es+yZYXhYa+vp/S7P+LEsVO7nt74jR0da99zg42BTi0bVJEa7XxgyCf8Y9eP0t++WLqw7uz6NfHlK+UTJ69fuLTpO092rxp0UTz1qPlixQk3uiTtXNzf5tzo/p+PvvRSQqbo5fzuzpF9Pzs9eH/3lrUIC+ocmCdKWFJJU7/Yvn7zqUMvjvz0J13d3e7ClTOPfTGvjsqjbe/7YHFZr0smy2vF7W1GY26/N8SIVJwJg+JDH7h54nh7sdNlaSwucQjy/qWndo0+uC7PpA6Y5AMlcN66U7u+G5/89325XCYEkgX5nLV+TbTw0GYThlqNyJjbENPZub35O1avowXiRDs3bcn8fJYl49grhG2Q1eIjR4zotNZGQL7C/uVoIa05w6pS76GyNIu8XOd7txqRuiOUMOkSmp3buWnESCAEFQJTrqeTwyKcqILr+6oQjB8W7nRbvZGlMARAqgSokqiqZBoWCt2LlVmm+H7eEWOwqA2CS38+dnzbl8I0ETa4ra5VFblLHzmlPSQmUuO1p8lr2x4796e/2nxu+lqanzxGIICIsjhaMDjQsWlzqVJhCJoqjggEMj5ctVrrGH6wa8ViSbPpCUznIY9NEJQSMaGtv2fLnp092x8vpRm5SNkAJI1jr1A2xqU34vS+x7dvefr7hf4lqBdZCgI1l8eaQmwi8AmwxmOXUhqt+/LnBnbvLBXaKaoawwq4hjQiY62rlUcLxcHv7V67fRuyhDNHzNoMa7So8tDx4pBYyY3Vhj7xsfV7n62uXJmMlQyTzzPPJwxTVh7LVqxavfeHyz/1UanUSAGmKSw/76w4OXxSgNlYknK1a3jDpn3P4iOPJHHmpg6kiCZQpqlTjWoUuYc/vH7vM90bNmolMtbeOfaab1acfjwz+VYrUdDbPbxnt1m5wiURrGVjrCGrmUfqETwVYjLGGGskSbFyYP0Pvt2+uE+jCqy521GzRMzeI2LT/iLDnGbJ2LWsNGJrtSRORUU9lkI7SWpAifFtpWKyBGQ4y6g0hmqEorvL2Ko5xFrZQRORy5xXyL117LVyLB0ferh96RK7tC8YGOxavfrs/l9IJsOPPjpy+s3o/DvV81eiC+/cPPPfi0eOr/n0J101Y4sWSos7aDIcR0nv1vcv+vUvg65uL8gxIAqfcHFxX5KlC+8fCIcGLCEFXC2pXL8KGIkTmBZPB1qJWL3pJNGOvj4A6pyrRgqoiIT5NEpUxIlIpZYZQwSPuLNvEaAijjEXhrVUDDOcG+dcY0CkWQZmSpymKZhh+Fblri67hy55fg2byunjia7OK7UEiZuoxqZ/OTfjt7kXAbRcZkcO8yTNGOZm60kCAzUDk/NkopW7p8wyd6yos9GOmJM4XfX5zxKpxAk3/kR2q7iZvY6WoKzKpNLAPI8IBsoqBBCDiRp8+COgo7d/vA0zDVtF9ZkWGCIgamTeSIAqQ22JPWE19eHtTEoqgUnHyKslSRDFLoobN0zHXzQbf+ZSUhfH8RjbiDyQueOR9l0uM6kl+3+z+NeWXUCrKgAAAABJRU5ErkJggg==");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: inline-block;
  flex: 0 0 auto;
  height: 12px;
  line-height: 0;
  margin-right: 7px;
  vertical-align: -1px;
  width: 24px;
}

.canada-flag svg {
  display: none !important;
}


/* REAL Luxury logo: visually embed the existing gold artwork into the section */
#real-luxury .luxury-logo {
  background: transparent;
  box-shadow: none;
  mix-blend-mode: lighten;
}


/* Approved REAL TECHNOLOGY artwork */
.real-technology-logo-art {
  background: transparent !important;
  box-shadow: none !important;
  display: block;
  max-width: 500px;
  padding: 0 !important;
  width: min(100%, 500px);
}

.real-technology-logo-image {
  background: #050607;
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.real-technology-frame,
.real-technology-wordmark,
.real-technology-label,
.real-technology-spark {
  display: none !important;
}

/* Gold Luxury logo: transparent result is generated from the existing artwork */
#real-luxury .luxury-logo {
  background: transparent !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
}

@media (max-width: 700px) {
  .real-technology-logo-art {
    max-width: 340px;
    width: min(100%, 340px);
  }
}


/* FINAL Tech identity: resilient no-image mark */
.real-technology-logo-live {
  background:
    radial-gradient(circle at 92% 8%, rgba(5,195,249,.10), transparent 22%),
    linear-gradient(145deg,#16181c 0%,#0e1013 35%,#070809 72%,#15171a 100%);
  box-shadow: 0 22px 44px rgba(5,14,61,.16);
  display: inline-grid;
  gap: 12px;
  max-width: 360px;
  padding: 18px 18px 16px;
  width: min(100%, 340px);
}

.real-technology-box {
  align-items: center;
  border: 5px solid var(--legacy-blue);
  box-shadow: 0 0 12px rgba(5,195,249,.34), inset 0 0 10px rgba(5,195,249,.08);
  display: flex;
  justify-content: center;
  min-height: 128px;
  padding: 20px 26px;
  position: relative;
}

.real-technology-real {
  color: var(--legacy-blue);
  font-size: clamp(3.2rem, 6vw, 5.4rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: .9;
  text-transform: lowercase;
  transform: scaleX(.92);
  text-shadow: 0 0 8px rgba(5,195,249,.22);
}

.real-technology-title {
  color: var(--legacy-blue);
  display: block;
  font-size: clamp(1.1rem,2vw,1.5rem);
  font-weight: 950;
  letter-spacing: .08em;
  line-height: .95;
  text-align: center;
  text-shadow: 0 0 8px rgba(5,195,249,.22);
}

.real-technology-logo-live .real-technology-spark {
  display:block !important;
  height: 22px;
  position: absolute;
  right: -13px;
  top: -13px;
  width: 22px;
}

.real-technology-logo-live .real-technology-spark::before,
.real-technology-logo-live .real-technology-spark::after {
  background: #d9fbff;
  box-shadow: 0 0 12px rgba(5,195,249,.9);
  content:"";
  left:50%;
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
}
.real-technology-logo-live .real-technology-spark::before {height:22px;width:2px;}
.real-technology-logo-live .real-technology-spark::after {height:2px;width:22px;}

@media (max-width:700px){
  .real-technology-logo-live{max-width:300px;padding:14px;width:min(100%,300px);}
  .real-technology-box{border-width:4px;min-height:108px;padding:16px 20px;}
}

/* Academy Canada cue */
.academy-canada-heading,
.academy-benefits > a b {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}

.academy-canada-heading .canada-flag,
.academy-benefits > a b .canada-flag {
  margin-right: 0;
}

/* Closing CTA: make all three buttons share the same raised treatment */
.conversation-cta .conversation-premium-button {
  align-items: center;
  background: var(--legacy-blue) !important;
  border: 0 !important;
  border-radius: 16px;
  box-shadow:
    0 10px 0 rgba(1,77,119,.34),
    0 20px 34px rgba(0,0,0,.16);
  color: var(--cobalt) !important;
  display: inline-flex;
  font-size: clamp(1rem,1.6vw,1.18rem);
  font-weight: 900;
  justify-content: center;
  min-height: 64px;
  padding: 16px 28px;
  text-decoration: none;
  transition: transform 120ms ease, box-shadow 120ms ease, background 150ms ease;
}

.conversation-cta .conversation-premium-button:hover,
.conversation-cta .conversation-premium-button:focus-visible {
  background: #22cdf8 !important;
  box-shadow:
    0 6px 0 rgba(1,77,119,.34),
    0 16px 28px rgba(0,0,0,.18);
  outline: none;
  transform: translateY(4px);
}

.conversation-cta .conversation-premium-button:active {
  box-shadow:
    0 2px 0 rgba(1,77,119,.34),
    0 8px 16px rgba(0,0,0,.16);
  transform: translateY(8px);
}


/* Exact approved REAL TECHNOLOGY logo asset */
.real-technology-logo-approved {
  background: transparent !important;
  box-shadow: none !important;
  display: block;
  max-width: 500px;
  padding: 0 !important;
  width: min(100%, 500px);
}

.real-technology-winner-image {
  display: block;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}

.real-technology-logo-approved .real-technology-box,
.real-technology-logo-approved .real-technology-real,
.real-technology-logo-approved .real-technology-title,
.real-technology-logo-approved .real-technology-spark {
  display: none !important;
}

@media (max-width: 700px) {
  .real-technology-logo-approved {
    max-width: 340px;
    width: min(100%, 340px);
  }
}


/* Premium Apple-style app icon placement inside the REAL Technology deck. */
.real-app-icon-wrap {
  align-items: flex-start;
  display: flex;
  min-height: 84px;
  margin: 2px 0 20px;
}

.real-app-icon {
  display: block;
  height: 76px;
  object-fit: contain;
  width: 76px;
  filter: drop-shadow(0 12px 24px rgba(5, 14, 61, 0.16)) drop-shadow(0 0 18px rgba(5, 195, 249, 0.08));
  transform: translateZ(0);
  transition: transform 180ms ease, filter 180ms ease;
}

.real-app-icon-events {
  height: 84px;
  margin-top: -4px;
  width: 84px;
}

@media (hover: hover) and (pointer: fine) {
  .real-tech-merged-card:hover .real-app-icon {
    filter: drop-shadow(0 16px 28px rgba(5, 14, 61, 0.2)) drop-shadow(0 0 22px rgba(5, 195, 249, 0.12));
    transform: translateY(-3px) scale(1.015);
  }
}

@media (max-width: 560px) {
  .real-app-icon-wrap {
    min-height: 66px;
    margin-bottom: 14px;
  }

  .real-app-icon {
    height: 58px;
    width: 58px;
  }

  .real-app-icon-events {
    height: 64px;
    margin-top: -3px;
    width: 64px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .real-app-icon {
    transition: none;
  }

  .real-tech-merged-card:hover .real-app-icon {
    transform: none;
  }
}


/* Business-plan card editorial rhythm — tighter, balanced mobile spacing. */
.business-plan-card .pulse-category {
  margin: 0 0 16px;
}

.business-plan-card h3 {
  margin: 0;
}

.business-plan-card > p {
  margin: 18px 0 0;
}

.business-plan-card .pulse-why {
  margin-top: 20px;
}

.business-plan-card .pulse-why span {
  margin: 0 0 6px;
}

.business-plan-card .pulse-why p {
  margin: 0;
}

@media (max-width: 680px) {
  .business-plan-grid {
    gap: 20px;
  }

  .business-plan-grid .business-plan-card,
  .business-plan-grid .business-plan-card:last-child {
    min-height: 0;
    padding: 26px 22px 24px;
  }

  .business-plan-card .pulse-category {
    margin-bottom: 14px;
  }

  .business-plan-card h3 {
    font-size: clamp(1.7rem, 7vw, 2.05rem);
    line-height: 1.08;
  }

  .business-plan-card > p {
    font-size: 1rem;
    line-height: 1.52;
    margin-top: 18px;
  }

  .business-plan-card .pulse-why {
    margin-top: 18px;
    padding-left: 15px;
  }

  .business-plan-card .pulse-why p {
    font-size: .9rem;
    line-height: 1.48;
  }
}


/* Leadership Polaroid: preserve the approved artwork exactly and let it size naturally. */
.inside-story.leadership-story {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.inside-story.leadership-story .inside-media {
  aspect-ratio: auto;
  background: transparent;
  overflow: visible;
}
.inside-story.leadership-story .inside-media img {
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}
.inside-story.leadership-story .inside-copy {
  background: transparent;
}


/* Jasbir imagery: deterministic cross-browser rendering */
.jasbir-static-photo {
  display: block !important;
  max-width: 100%;
  opacity: 1 !important;
  visibility: visible !important;
}

.welcome-photo {
  aspect-ratio: 4 / 5;
  justify-self: center;
  width: min(100%, 560px);
}

.welcome-photo .jasbir-welcome-photo {
  aspect-ratio: 4 / 5;
  height: 100%;
  object-fit: cover;
  object-position: 52% 31%;
  position: relative;
  width: 100%;
}

.advisor-profile .coffee-portrait {
  aspect-ratio: 4 / 5;
  min-height: 0 !important;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.advisor-profile .coffee-portrait .jasbir-coffee-photo {
  aspect-ratio: 4 / 5;
  height: 100%;
  inset: auto;
  object-fit: cover;
  object-position: center top;
  position: relative;
  width: 100%;
}

.inside-story.leadership-story .jasbir-leadership-photo {
  display: block !important;
  height: auto !important;
  max-width: 100%;
  object-fit: contain !important;
  opacity: 1 !important;
  position: relative;
  visibility: visible !important;
  width: 100% !important;
}

/* About Us: full photographs above the existing portrait stories. */
.inside-media-grid.inside-photo-gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  row-gap: clamp(28px, 4vw, 48px);
}
.inside-photo-gallery .inside-visit-story .inside-media {
  aspect-ratio: 4 / 3;
  background: transparent;
}
.inside-photo-gallery .inside-visit-story .inside-media img {
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}
.inside-photo-gallery > .inside-story:not(.inside-visit-story) {
  justify-self: center;
  max-width: 320px;
  width: 100%;
}
.inside-photo-gallery .inside-visit-story .inside-copy {
  padding: clamp(20px, 2.5vw, 30px);
}
.inside-photo-gallery .inside-visit-story .section-kicker {
  display: block;
  margin-bottom: 12px;
}
.inside-photo-gallery .inside-visit-story h3 {
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  line-height: 1.12;
}
@media (max-width: 680px) {
  .inside-media-grid.inside-photo-gallery {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 28px;
  }
}

/* REAL Technology film: preserve the uploaded framing. */
.real-technology-logo-approved .real-technology-film {
  aspect-ratio: 910 / 512;
  background: #080f16;
  border-radius: 18px;
  box-shadow: 0 18px 36px rgba(5,14,61,.16);
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

/* Display the approved Leadership portrait without cropping. */
.welcome-photo:has(.ishaq-welcome-photo) { aspect-ratio: auto; }
.welcome-photo .ishaq-welcome-photo { aspect-ratio: auto; height: auto; object-fit: contain; width: 100%; }

/* Keep linked app artwork and the developer badge visually consistent. */
.real-app-icon-link { display: inline-flex; border-radius: 22px; text-decoration: none; }
a.app-store-chip { text-decoration: none; }
.real-app-icon-link:focus-visible, a.app-store-chip:focus-visible { outline: 3px solid #00bceb; outline-offset: 5px; }

/* Let the welcome film define its section height; avoid an empty navy band. */
.intro-film { min-height: 0; }
