/* Rebrand-only Keeper profile. The current /app profile keeps its existing styles. */
html.ke-rebrand-mode [data-ke-open-profile] { cursor: pointer; }
html.ke-rebrand-mode [data-ke-open-profile]:focus-visible { border-radius: 10px; outline: 2px solid #e9ba61; outline-offset: 4px; }

html.ke-rebrand-mode #profile-overlay.ke-profile-overlay {
  background: #f3eadc;
  color: #1a2830;
  font-family: 'DM Sans', sans-serif;
  z-index: 9700;
}

/* Shared 2026-08-31 Flame language: a regular point-top identity hex and the
   same living Kindled asset used during naming. */
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core,
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi.is-hexagon {
  aspect-ratio: .8660254 !important;
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%) !important;
}

html.ke-rebrand-mode .ke-profile-primary-flame :is(picture,img) {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-connected-settings {
  margin-top: 0 !important;
  padding-top: 8px !important;
}

html.ke-rebrand-mode .ke-profile-connected-settings .ke-profile-options-grid {
  margin-top: 0 !important;
}

/* The Flame Guide resolves into the Journal's next-step pills while its final peak
   remains tethered to the persistent Karamo portrait in the shell rail. */
html.ke-rebrand-mode .ke-profile-flame-guide-finale {
  align-items: center;
  box-sizing: border-box;
  display: grid;
  gap: clamp(54px,14vw,100px);
  grid-template-columns: repeat(2,minmax(0,1fr));
  justify-content: center;
  margin: clamp(42px,7vw,66px) auto 8px;
  max-width: 620px;
  padding-inline: clamp(4px,1.5vw,10px);
  position: relative;
  width: 100%;
  z-index: 4;
}

html.ke-rebrand-mode .ke-profile-flame-guide-action {
  align-items: center;
  background: rgba(9,25,31,.88);
  border: 1px solid rgba(215,181,109,.58);
  border-radius: 999px;
  box-shadow: none;
  color: var(--ke-jewel-gold-light,var(--ke-gold-highlight,#f1dca7));
  cursor: pointer;
  display: inline-flex;
  font: 700 clamp(9px,2.4vw,11px)/1.2 var(--ke-font-ui,"DM Sans",sans-serif);
  gap: 7px;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  letter-spacing: .07em;
  padding: 8px clamp(10px,2.6vw,15px);
  position: relative;
  text-align: center;
  text-transform: uppercase;
  transition: filter .18s ease,transform .18s ease;
  width: 100%;
  z-index: 3;
}

html.ke-rebrand-mode .ke-profile-flame-guide-action:hover { filter: brightness(1.16); transform: translateY(-3px); }
html.ke-rebrand-mode .ke-profile-flame-guide-action:active { transform: translateY(0) scale(.98); }
html.ke-rebrand-mode .ke-profile-flame-guide-action:focus-visible { outline: 3px solid #fff0b6; outline-offset: 4px; }
html.ke-rebrand-mode .ke-profile-flame-guide-action strong {
  color: inherit;
  font: inherit;
  text-wrap: balance;
}

html.ke-rebrand-mode .ke-profile-flame-guide-connectors {
  height: 100%;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 181;
}
html.ke-rebrand-mode .ke-profile-flame-guide-connectors line {
  fill: none;
  opacity: 0;
  stroke: var(--ke-jewel-gold,var(--ke-gold,#d7b56d));
  stroke-linecap: round;
  stroke-width: 2.5;
  transition: opacity .18s ease;
  vector-effect: non-scaling-stroke;
}
html.ke-rebrand-mode .ke-profile-flame-guide-connectors [data-ke-profile-guide-line="karamo"] {
  stroke: rgba(241,220,167,.88);
  stroke-width: 2;
}
html.ke-rebrand-mode .ke-profile-flame-guide-connectors[data-ke-profile-guide-ready="true"] line { opacity: 1; }

@media (max-width:560px) {
  html.ke-rebrand-mode .ke-profile-flame-guide-finale {
    gap: clamp(46px,13vw,90px);
    margin-top: 44px;
  }
}

@media (prefers-reduced-motion:reduce) {
  html.ke-rebrand-mode .ke-profile-flame-guide-action { transition: none; }
}

@media (forced-colors:active) {
  html.ke-rebrand-mode .ke-profile-flame-guide-action { border: 2px solid CanvasText; }
  html.ke-rebrand-mode .ke-profile-flame-guide-connectors line { stroke: CanvasText; }
}

/* Vertical Flame progression at the end of Profile. The approved 360px
   transparent loops load only as each hexagon approaches the viewport. */
html.ke-rebrand-mode .ke-profile-flame-guide {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #fffaf2;
  margin-inline: auto;
  max-width: 1120px;
  overflow: visible;
  padding: clamp(24px,4vw,42px) 0;
  position: relative;
}

html.ke-rebrand-mode .ke-profile-flame-guide::before {
  content: none;
}

html.ke-rebrand-mode .ke-profile-flame-guide-header {
  margin: 0 auto clamp(22px,3vw,30px);
  max-width: 620px;
  text-align: center;
}

html.ke-rebrand-mode .ke-profile-flame-guide-header .ke-profile-eyebrow { color: #d9b671; }
html.ke-rebrand-mode .ke-profile-flame-guide-header h2 {
  color: #fffaf2;
  font-family: 'Playfair Display',serif;
  font-size: clamp(30px,4vw,42px);
  letter-spacing: -.035em;
  line-height: 1;
  margin: 6px 0 10px;
}
html.ke-rebrand-mode .ke-profile-flame-guide-header p {
  color: rgba(255,250,242,.68);
  font-family: 'Cormorant Garamond',serif;
  font-size: clamp(16px,2vw,19px);
  font-style: italic;
  line-height: 1.4;
  margin: 0;
}

html.ke-rebrand-mode .ke-profile-flame-guide-grid {
  display: grid;
  gap: clamp(30px,4vw,46px);
  grid-template-columns: minmax(0,1fr);
  justify-items: center;
  margin-inline: auto;
  max-width: 430px;
  position: relative;
}

html.ke-rebrand-mode .ke-profile-flame-guide-grid::before {
  background: linear-gradient(180deg,rgba(217,182,113,.18),#d9b671 8%,#d9b671 92%,rgba(217,182,113,.18));
  bottom: 12px;
  box-shadow: 0 0 12px rgba(217,182,113,.32);
  content: '';
  left: 50%;
  position: absolute;
  top: 12px;
  transform: translateX(-50%);
  width: 2px;
  z-index: 0;
}

html.ke-rebrand-mode .ke-profile-flame-guide-item {
  align-items: center;
  aspect-ratio: .8660254;
  background: linear-gradient(145deg,#fff0aa 0%,#d9b671 24%,#7b4610 58%,#f2d88f 100%);
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  display: flex;
  flex-direction: column;
  filter: drop-shadow(0 13px 18px rgba(0,0,0,.3));
  isolation: isolate;
  justify-content: center;
  overflow: visible;
  padding: clamp(50px,7vw,68px) 46px 44px;
  position: relative;
  text-align: center;
  width: min(100%,360px);
  z-index: 1;
}

html.ke-rebrand-mode .ke-profile-flame-guide-item::before {
  background:
    radial-gradient(circle at 50% 37%,rgba(255,179,66,.11),transparent 42%),
    linear-gradient(155deg,#17313b 0%,#0b2029 58%,#071820 100%);
  clip-path: inherit;
  content: '';
  inset: 3px;
  position: absolute;
  z-index: -1;
}

html.ke-rebrand-mode .ke-profile-flame-guide-item.is-blue,
html.ke-rebrand-mode .ke-profile-flame-guide-item.is-beacon {
  background: linear-gradient(145deg,#fff2b8 0%,#d9b671 24%,#355ca1 60%,#f2d88f 100%);
}

html.ke-rebrand-mode .ke-profile-flame-guide-item.is-blue::before,
html.ke-rebrand-mode .ke-profile-flame-guide-item.is-beacon::before {
  background:
    radial-gradient(circle at 50% 37%,rgba(76,137,239,.2),transparent 46%),
    linear-gradient(155deg,#152f42 0%,#091b2d 58%,#061522 100%);
}

html.ke-rebrand-mode .ke-profile-flame-guide-item.is-karamo {
  background: linear-gradient(145deg,#fff7cf 0%,#e5bd65 19%,#8e391b 42%,#345ec0 68%,#f2d88f 100%);
}

html.ke-rebrand-mode .ke-profile-flame-guide-item.is-karamo::before {
  background:
    radial-gradient(circle at 38% 35%,rgba(255,116,39,.16),transparent 34%),
    radial-gradient(circle at 64% 42%,rgba(67,116,244,.2),transparent 42%),
    linear-gradient(155deg,#18313d 0%,#0b1c2b 58%,#07151f 100%);
}

html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item {
  background: conic-gradient(from 30deg,#ffe9a0 0 16.666%,#c28c35 16.666% 33.333%,#79501a 33.333% 50%,#9f7127 50% 66.666%,#f0ce78 66.666% 83.333%,#fff0ad 83.333% 100%);
}
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item::before {
  clip-path: polygon(50% 1.2%,98.8% 25.6%,98.8% 74.4%,50% 98.8%,1.2% 74.4%,1.2% 25.6%);
  inset: 0;
}
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(1)::before { background:var(--ke-profile-garnet-surface); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(2)::before { background:var(--ke-profile-ember-surface); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(3)::before { background:var(--ke-profile-azure-surface); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(4)::before { background:var(--ke-profile-peridot-surface); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(5)::before { background:var(--ke-profile-teal-surface); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(6)::before { background:var(--ke-profile-sapphire-surface); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(7)::before { background:var(--ke-profile-amethyst-surface); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-flame-guide-item:nth-child(8)::before { background:var(--ke-profile-blackberry-surface); }

html.ke-rebrand-mode .ke-profile-flame-guide-item > * {
  position: relative;
  z-index: 1;
}

html.ke-rebrand-mode .ke-profile-flame-guide-number {
  align-items: center;
  border: 1px solid rgba(217,182,113,.58);
  border-radius: 50%;
  color: #efd997;
  display: flex;
  font-size: 9px;
  font-weight: 900;
  height: 26px;
  justify-content: center;
  left: 50%;
  letter-spacing: .1em;
  position: absolute;
  top: 8.5%;
  transform: translateX(-50%);
  width: 26px;
}

html.ke-rebrand-mode .ke-profile-flame-guide-media {
  align-items: flex-end;
  display: flex;
  flex: 0 0 auto;
  height: 190px;
  justify-content: center;
  min-height: 190px;
  overflow: visible;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-flame-guide-media :is(img,video) {
  display: block;
  filter: drop-shadow(0 0 15px rgba(255,169,49,.24));
  height: 100%;
  mix-blend-mode: screen;
  object-fit: contain;
  pointer-events: none;
  transform: scale(var(--ke-profile-flame-guide-scale));
  transform-origin: 50% 100%;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-flame-guide-item.is-blue .ke-profile-flame-guide-media :is(img,video),
html.ke-rebrand-mode .ke-profile-flame-guide-item.is-beacon .ke-profile-flame-guide-media :is(img,video),
html.ke-rebrand-mode .ke-profile-flame-guide-item.is-karamo .ke-profile-flame-guide-media :is(img,video) {
  filter: drop-shadow(0 0 17px rgba(73,133,238,.34));
}

html.ke-rebrand-mode .ke-profile-flame-guide-item strong {
  color: #fff;
  font-family: 'Playfair Display',serif;
  font-size: clamp(24px,3vw,28px);
  line-height: 1.05;
  text-wrap: balance;
}

html.ke-rebrand-mode .ke-profile-flame-guide-item small {
  color: #fff;
  display: block;
  font-size: clamp(12px,1.6vw,14px);
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.35;
  margin-top: 6px;
}

@media (max-width: 560px) {
  html.ke-rebrand-mode .ke-profile-flame-guide { padding: 24px 0; }
  html.ke-rebrand-mode .ke-profile-flame-guide-grid { gap: 28px; grid-template-columns: minmax(0,1fr); max-width: 320px; }
  html.ke-rebrand-mode .ke-profile-flame-guide-item { padding: 42px 36px 36px; width: min(100%,300px); }
  html.ke-rebrand-mode .ke-profile-flame-guide-media { height: 150px; min-height: 150px; }
  html.ke-rebrand-mode .ke-profile-flame-guide-item strong { font-size: 23px; }
  html.ke-rebrand-mode .ke-profile-flame-guide-item small { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-profile-flame-guide-video { display: block; }
}

@media (forced-colors: active) {
  html.ke-rebrand-mode .ke-profile-flame-guide-item { border: 1px solid CanvasText; }
}

html.ke-rebrand-mode .ke-profile-subnav {
  align-items: center;
  background: transparent;
  color: #fffaf2;
  display: flex;
  flex: 0 0 auto;
  min-height: 52px;
  padding: 12px clamp(14px,4vw,38px) 0;
}

html.ke-rebrand-mode .ke-profile-back {
  align-items: center;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(217,182,113,.32);
  border-radius: 999px;
  color: #f5e4ba;
  cursor: pointer;
  display: flex;
  font-size: 11px;
  font-weight: 800;
  gap: 7px;
  height: 36px;
  justify-content: center;
  letter-spacing: .09em;
  padding: 0 14px;
  text-transform: uppercase;
}
html.ke-rebrand-mode .ke-profile-back span { font-size: 16px; line-height: 1; }
html.ke-rebrand-mode .ke-profile-back:hover { background: rgba(217,182,113,.11); border-color: rgba(217,182,113,.58); transform: translateY(-1px); }

html.ke-rebrand-mode .ke-profile-scroll {
  flex: 1;
  overflow-y: auto;
  padding: clamp(18px, 4vw, 42px) clamp(14px, 4vw, 38px) max(110px, calc(36px + env(safe-area-inset-bottom)));
}
html.ke-rebrand-mode .ke-profile-inner { margin: 0 auto; max-width: 1120px; }

html.ke-rebrand-mode .ke-profile-loading,
html.ke-rebrand-mode .ke-profile-error {
  align-items: center;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 14px;
  justify-content: center;
  min-height: 320px;
  padding: 30px;
  text-align: center;
}
html.ke-rebrand-mode .ke-profile-loader { animation: keProfileSpin .8s linear infinite; border: 3px solid rgba(109,51,70,.14); border-radius: 50%; border-top-color: #6d3346; height: 34px; width: 34px; }
@keyframes keProfileSpin { to { transform: rotate(360deg); } }

html.ke-rebrand-mode .ke-profile-hero {
  background: linear-gradient(135deg, #1a2830 0%, #223943 58%, #6d3346 145%);
  border: 1px solid rgba(233,186,97,.68);
  border-radius: 26px;
  box-shadow: 0 18px 46px rgba(26,40,48,.16);
  color: #fffaf2;
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  overflow: hidden;
  padding: clamp(24px, 5vw, 46px);
  position: relative;
}
html.ke-rebrand-mode .ke-profile-hero::after,
html.ke-rebrand-mode .ke-profile-kpi::after {
  animation: keProfileShimmer 5.5s ease-in-out infinite;
  background: linear-gradient(112deg, transparent 36%, rgba(255,255,255,.18) 49%, transparent 62%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-110%);
}
@keyframes keProfileShimmer { 0%, 25% { transform: translateX(-110%); } 70%, 100% { transform: translateX(110%); } }

html.ke-rebrand-mode .ke-profile-identity { align-items: center; display: flex; gap: 20px; min-width: 0; position: relative; z-index: 1; }
html.ke-rebrand-mode .ke-profile-avatar {
  align-items: center;
  background: #6d3346;
  border: 2px solid #e9ba61;
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(233,186,97,.12);
  color: #fffaf2;
  display: flex;
  flex: 0 0 88px;
  font-family: 'Playfair Display', serif;
  font-size: 29px;
  height: 88px;
  justify-content: center;
  padding: 0;
  position: relative;
}
html.ke-rebrand-mode .ke-profile-avatar-media {
  align-items: center;
  background-color: #6d3346;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: inherit;
  display: flex;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  width: 100%;
}
html.ke-rebrand-mode .ke-profile-avatar-edit {
  align-items: center;
  background: #d9b671;
  border: 2px solid #1a2830;
  border-radius: 50%;
  bottom: -3px;
  box-shadow: 0 5px 14px rgba(0,0,0,.25);
  display: flex;
  height: 29px;
  justify-content: center;
  position: absolute;
  right: -4px;
  width: 29px;
}
html.ke-rebrand-mode .ke-profile-avatar-edit svg { fill: none; height: 15px; stroke: #1a2830; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 15px; }
html.ke-rebrand-mode .ke-profile-photo-link { background: transparent; border: 0; color: #e4c57f; cursor: pointer; font-size: 9px; font-weight: 800; letter-spacing: .7px; margin: 10px 0 0; padding: 2px 0; text-transform: uppercase; }
html.ke-rebrand-mode :is([data-ke-profile-initials], [data-ke-profile-photo-surface]).has-photo {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: transparent !important;
}
html.ke-rebrand-mode .ke-profile-eyebrow { color: #e9ba61; display: block; font-size: 9px; font-weight: 900; letter-spacing: 1.2px; margin-bottom: 7px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-identity h1 { font-family: 'Playfair Display', serif; font-size: clamp(30px, 5vw, 48px); line-height: 1; margin: 0 0 9px; }
html.ke-rebrand-mode .ke-profile-identity p { color: rgba(255,250,242,.7); font-family: 'Cormorant Garamond', serif; font-size: 18px; font-style: italic; margin: 0; }
html.ke-rebrand-mode .ke-profile-membership { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
html.ke-rebrand-mode .ke-profile-membership span { background: rgba(255,255,255,.08); border: 1px solid rgba(233,186,97,.28); border-radius: 999px; color: #fffaf2; font-size: 9px; font-weight: 800; letter-spacing: .4px; padding: 7px 10px; text-transform: uppercase; }

html.ke-rebrand-mode .ke-profile-flame-card {
  align-items: center;
  align-self: stretch;
  background: rgba(109,51,70,.9);
  border: 1px solid rgba(233,186,97,.58);
  border-radius: 19px;
  display: flex;
  gap: 16px;
  padding: 22px;
  position: relative;
  z-index: 1;
}
html.ke-rebrand-mode .ke-profile-flame-card svg { fill: #e2bb68; flex: 0 0 45px; height: 56px; width: 45px; }
html.ke-rebrand-mode .ke-profile-flame-card span { color: #e9ba61; display: block; font-size: 8px; font-weight: 900; letter-spacing: 1px; margin-bottom: 5px; }
html.ke-rebrand-mode .ke-profile-flame-card strong { display: block; font-family: 'Playfair Display', serif; font-size: 23px; }
html.ke-rebrand-mode .ke-profile-flame-card small { color: rgba(255,250,242,.68); display: block; font-size: 10px; margin-top: 6px; }

html.ke-rebrand-mode .ke-profile-section { margin-top: 34px; }
html.ke-rebrand-mode .ke-profile-section-heading { align-items: end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 15px; }
html.ke-rebrand-mode .ke-profile-section-heading h2 { font-family: 'Playfair Display', serif; font-size: clamp(25px, 4vw, 34px); line-height: 1.05; margin: 0; }
html.ke-rebrand-mode .ke-profile-section-heading p { color: #6d777b; font-family: 'Cormorant Garamond', serif; font-size: 17px; font-style: italic; margin: 0; text-align: right; }

html.ke-rebrand-mode .ke-profile-kpi-grid { display: grid; gap: 13px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
html.ke-rebrand-mode .ke-profile-kpi {
  background: #fffdfa;
  border: 1px solid rgba(200,165,88,.48);
  border-radius: 17px;
  min-height: 130px;
  overflow: hidden;
  padding: 18px;
  position: relative;
}
html.ke-rebrand-mode .ke-profile-kpi.is-burgundy { background: #6d3346; color: #fffaf2; }
html.ke-rebrand-mode .ke-profile-kpi.is-navy { background: #1a2830; color: #fffaf2; }
html.ke-rebrand-mode .ke-profile-kpi.is-gold { background: #dfbb70; border-color: #cfaa5d; color: #1a2830; }
html.ke-rebrand-mode .ke-profile-kpi span { color: currentColor; display: block; font-size: 8px; font-weight: 900; letter-spacing: 1px; opacity: .7; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-kpi strong { display: block; font-family: 'Playfair Display', serif; font-size: clamp(29px, 4vw, 40px); line-height: 1; margin: 13px 0 7px; }
html.ke-rebrand-mode .ke-profile-kpi small { color: currentColor; display: block; font-size: 10px; line-height: 1.35; opacity: .7; }

html.ke-rebrand-mode .ke-profile-today-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0,1fr)); }
html.ke-rebrand-mode .ke-profile-status-card { align-items: center; background: #fffdfa; border: 1px solid rgba(200,165,88,.42); border-radius: 15px; display: flex; gap: 13px; min-height: 82px; padding: 15px; }
html.ke-rebrand-mode .ke-profile-status-icon { align-items: center; background: #f6ead3; border-radius: 50%; color: #6d3346; display: flex; flex: 0 0 38px; font-size: 16px; font-weight: 900; height: 38px; justify-content: center; }
html.ke-rebrand-mode .ke-profile-status-card span { color: #7a6066; display: block; font-size: 8px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-status-card strong { display: block; font-size: 13px; margin-top: 4px; }
html.ke-rebrand-mode .ke-profile-status-card small { color: #6d777b; display: block; font-size: 9px; margin-top: 3px; }

html.ke-rebrand-mode .ke-profile-options-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0,1fr)); }
html.ke-rebrand-mode .ke-profile-option {
  align-items: center;
  background: #fffdfa;
  border: 1px solid rgba(200,165,88,.44);
  border-radius: 15px;
  color: #1a2830;
  cursor: pointer;
  display: flex;
  gap: 13px;
  min-height: 76px;
  padding: 14px 16px;
  text-align: left;
  width: 100%;
}
html.ke-rebrand-mode .ke-profile-option:hover { border-color: #c8a558; box-shadow: 0 8px 20px rgba(26,40,48,.08); transform: translateY(-1px); }
html.ke-rebrand-mode .ke-profile-option-icon { align-items: center; background: #f6ead3; border-radius: 12px; color: #6d3346; display: flex; flex: 0 0 42px; font-size: 17px; font-weight: 900; height: 42px; justify-content: center; }
html.ke-rebrand-mode .ke-profile-option-copy { flex: 1; min-width: 0; }
html.ke-rebrand-mode .ke-profile-option-copy strong { display: block; font-family: 'Playfair Display', serif; font-size: 16px; }
html.ke-rebrand-mode .ke-profile-option-copy small { color: #687478; display: block; font-size: 9px; line-height: 1.35; margin-top: 4px; }
html.ke-rebrand-mode .ke-profile-option-status { color: #6d3346; font-size: 9px; font-weight: 900; text-align: right; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-option-arrow { color: #6d3346; font-size: 18px; }

html.ke-rebrand-mode .ke-profile-view-header { margin: 0 auto 24px; max-width: 760px; text-align: center; }
html.ke-rebrand-mode .ke-profile-view-header h1 { font-family: 'Playfair Display', serif; font-size: clamp(32px, 6vw, 48px); line-height: 1.03; margin: 5px 0 10px; }
html.ke-rebrand-mode .ke-profile-view-header p { color: #765f64; font-family: 'Cormorant Garamond', serif; font-size: 19px; font-style: italic; margin: 0; }
html.ke-rebrand-mode .ke-profile-panel { background: #fffdfa; border: 1px solid rgba(200,165,88,.48); border-radius: 20px; margin: 0 auto 18px; max-width: 820px; padding: clamp(18px, 4vw, 30px); }
html.ke-rebrand-mode .ke-profile-panel h2 { font-family: 'Playfair Display', serif; font-size: 24px; margin: 0 0 5px; }
html.ke-rebrand-mode .ke-profile-panel > p { color: #6c777a; font-size: 11px; line-height: 1.5; margin: 0 0 20px; }

html.ke-rebrand-mode .ke-profile-form-grid { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0,1fr)); }
html.ke-rebrand-mode .ke-profile-field { display: grid; gap: 6px; }
html.ke-rebrand-mode .ke-profile-field.is-wide { grid-column: 1 / -1; }
html.ke-rebrand-mode .ke-profile-field span { color: #6d3346; font-size: 9px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-field input,
html.ke-rebrand-mode .ke-profile-field select { background: #fff; border: 1px solid rgba(200,165,88,.52); border-radius: 12px; color: #1a2830; font: inherit; min-height: 48px; padding: 0 13px; }
html.ke-rebrand-mode .ke-profile-field input[readonly] { background: #f5f0e8; color: #687478; }
html.ke-rebrand-mode .ke-profile-primary { background: #dfb967; border: 1px solid #c89f4e; border-radius: 999px; color: #1a2830; cursor: pointer; font-size: 11px; font-weight: 900; min-height: 46px; padding: 0 22px; }
html.ke-rebrand-mode .ke-profile-primary:disabled { cursor: wait; opacity: .58; }
html.ke-rebrand-mode .ke-profile-form-status { color: #6d3346; font-size: 10px; margin-left: 10px; }

html.ke-rebrand-mode .ke-profile-setting { align-items: center; border-top: 1px solid rgba(200,165,88,.28); display: flex; gap: 18px; justify-content: space-between; padding: 16px 0; }
html.ke-rebrand-mode .ke-profile-setting:first-of-type { border-top: 0; }
html.ke-rebrand-mode .ke-profile-setting-copy { min-width: 0; }
html.ke-rebrand-mode .ke-profile-setting-copy strong { display: block; font-size: 13px; }
html.ke-rebrand-mode .ke-profile-setting-copy small { color: #6c777a; display: block; font-size: 9px; line-height: 1.4; margin-top: 4px; }
html.ke-rebrand-mode .ke-profile-switch { flex: 0 0 auto; position: relative; }
html.ke-rebrand-mode .ke-profile-switch input { height: 1px; opacity: 0; position: absolute; width: 1px; }
html.ke-rebrand-mode .ke-profile-switch span { background: #dfe2e3; border-radius: 999px; display: block; height: 27px; position: relative; transition: .2s; width: 48px; }
html.ke-rebrand-mode .ke-profile-switch span::after { background: #fff; border-radius: 50%; box-shadow: 0 2px 6px rgba(26,40,48,.2); content: ''; height: 21px; left: 3px; position: absolute; top: 3px; transition: .2s; width: 21px; }
html.ke-rebrand-mode .ke-profile-switch input:checked + span { background: #dcb568; }
html.ke-rebrand-mode .ke-profile-switch input:checked + span::after { transform: translateX(21px); }
html.ke-rebrand-mode .ke-profile-select { background: #fff; border: 1px solid rgba(200,165,88,.56); border-radius: 999px; color: #1a2830; font: inherit; font-size: 10px; min-height: 38px; padding: 0 12px; }
html.ke-rebrand-mode .ke-profile-data-actions { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0,1fr)); }
html.ke-rebrand-mode .ke-profile-data-button { background: #fff; border: 1px solid rgba(109,51,70,.3); border-radius: 999px; color: #6d3346; cursor: pointer; font-size: 9px; font-weight: 900; min-height: 42px; padding: 0 14px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-data-button.is-danger { background: #fbf2f0; border-color: rgba(162,57,69,.35); }
html.ke-rebrand-mode .ke-profile-danger-row { border-top: 1px solid rgba(162,57,69,.18); display: grid; gap: 10px; margin-top: 18px; padding-top: 18px; }
html.ke-rebrand-mode .ke-profile-text-button { background: transparent; border: 0; color: #6d3346; cursor: pointer; font-size: 10px; font-weight: 800; padding: 7px; text-decoration: underline; }

html.ke-rebrand-mode .ke-profile-photo-modal[hidden],
html.ke-rebrand-mode .ke-profile-photo-choose[hidden],
html.ke-rebrand-mode .ke-profile-photo-crop[hidden],
html.ke-rebrand-mode .ke-profile-photo-remove[hidden],
html.ke-rebrand-mode .ke-profile-photo-remove-confirm[hidden] { display: none !important; }
html.ke-rebrand-mode .ke-profile-photo-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));
  position: fixed;
  z-index: 2600;
}
html.ke-rebrand-mode .ke-profile-photo-backdrop { backdrop-filter: blur(14px); background: rgba(13,29,36,.68); inset: 0; position: absolute; }
html.ke-rebrand-mode .ke-profile-photo-card {
  background:
    radial-gradient(circle at 95% 0, rgba(217,182,113,.18), transparent 18rem),
    #fffdfa;
  border: 1px solid rgba(217,182,113,.65);
  border-radius: 28px;
  box-shadow: 0 32px 90px rgba(8,20,25,.38);
  color: #1a2830;
  max-height: calc(100dvh - 36px);
  max-width: 520px;
  overflow: auto;
  padding: clamp(27px,5vw,42px);
  position: relative;
  text-align: center;
  width: 100%;
}
html.ke-rebrand-mode .ke-profile-photo-card[aria-busy="true"] { cursor: wait; }
html.ke-rebrand-mode .ke-profile-photo-close {
  align-items: center;
  background: rgba(26,40,48,.04);
  border: 1px solid rgba(26,40,48,.12);
  border-radius: 50%;
  color: #536067;
  cursor: pointer;
  display: flex;
  font-size: 25px;
  height: 42px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 16px;
  top: 16px;
  width: 42px;
}
html.ke-rebrand-mode .ke-profile-photo-card .ke-profile-eyebrow { color: #6d3346; letter-spacing: 1.8px; }
html.ke-rebrand-mode .ke-profile-photo-card h2 { font-family: 'Playfair Display',serif; font-size: clamp(32px,7vw,45px); letter-spacing: -.035em; line-height: 1.02; margin: 8px 35px 10px; }
html.ke-rebrand-mode .ke-profile-photo-card :is(.ke-profile-photo-choose,.ke-profile-photo-crop) > p { color: #706c68; font-family: 'Cormorant Garamond',serif; font-size: 19px; font-style: italic; line-height: 1.4; margin: 0 auto; max-width: 390px; }
html.ke-rebrand-mode .ke-profile-photo-current {
  align-items: center;
  background: linear-gradient(145deg,#7a3852,#602537);
  border: 3px solid #d9b671;
  border-radius: 50%;
  box-shadow: 0 0 0 9px rgba(217,182,113,.14), 0 18px 36px rgba(26,40,48,.2);
  color: #fffaf2;
  display: flex;
  font-family: 'Playfair Display',serif;
  font-size: 34px;
  font-weight: 700;
  height: 132px;
  justify-content: center;
  margin: 30px auto;
  width: 132px;
}
html.ke-rebrand-mode .ke-profile-photo-actions { display: grid; gap: 10px; grid-template-columns: 1.25fr 1fr; margin-top: 24px; }
html.ke-rebrand-mode .ke-profile-photo-actions > button { min-height: 50px; width: 100%; }
html.ke-rebrand-mode .ke-profile-photo-remove { background: transparent; border: 0; color: #8f3040; cursor: pointer; font-size: 10px; font-weight: 800; margin-top: 19px; padding: 8px; text-decoration: underline; }
html.ke-rebrand-mode .ke-profile-photo-remove-confirm { background: #fbf2f0; border: 1px solid rgba(143,48,64,.22); border-radius: 16px; margin-top: 14px; padding: 15px; }
html.ke-rebrand-mode .ke-profile-photo-remove-confirm p { color: #6d3346; font-size: 11px; font-weight: 700; line-height: 1.45; margin: 0 0 10px; }
html.ke-rebrand-mode .ke-profile-photo-remove-confirm > div { align-items: center; display: flex; gap: 8px; justify-content: center; }
html.ke-rebrand-mode .ke-profile-photo-crop-frame {
  aspect-ratio: 1;
  background: #1a2830;
  border: 3px solid #d9b671;
  border-radius: 50%;
  box-shadow: 0 0 0 9px rgba(217,182,113,.13), 0 22px 45px rgba(26,40,48,.22);
  margin: 28px auto;
  max-width: 312px;
  overflow: hidden;
  position: relative;
  width: min(72vw,312px);
}
html.ke-rebrand-mode .ke-profile-photo-crop-frame canvas { display: block; height: 100%; touch-action: none; width: 100%; }
html.ke-rebrand-mode .ke-profile-photo-crop-frame > span { border: 1px solid rgba(255,255,255,.55); border-radius: inherit; box-shadow: inset 0 0 40px rgba(7,18,23,.24); inset: 5px; pointer-events: none; position: absolute; }
html.ke-rebrand-mode .ke-profile-photo-zoom { align-items: center; display: grid; gap: 14px; grid-template-columns: auto 1fr; margin: 0 auto; max-width: 340px; text-align: left; }
html.ke-rebrand-mode .ke-profile-photo-zoom > span { color: #6d3346; font-size: 10px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-photo-zoom input { accent-color: #6d3346; min-height: 44px; width: 100%; }
html.ke-rebrand-mode .ke-profile-photo-status { color: #45654f; font-size: 11px; font-weight: 800; line-height: 1.4; min-height: 16px; margin: 16px 0 0; }
html.ke-rebrand-mode .ke-profile-photo-status.is-error { color: #8f3040; }
html.ke-rebrand-mode .ke-profile-photo-private { align-items: center; border-top: 1px solid rgba(217,182,113,.32); color: #687478; display: flex; font-size: 9px; gap: 7px; justify-content: center; line-height: 1.45; margin: 16px 0 0; padding-top: 15px; }
html.ke-rebrand-mode .ke-profile-photo-private span { color: #d9b671; font-size: 8px; }
html.ke-rebrand-mode #ke-profile-photo-canvas:focus-visible { outline: 3px solid #6d3346; outline-offset: -8px; }

/* Password confirmation for removing the Journal's additional privacy gate. */
html.ke-rebrand-mode .ke-profile-lock-modal[hidden] { display: none !important; }
html.ke-rebrand-mode .ke-profile-lock-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 14px;
  position: fixed;
  z-index: 20;
}
html.ke-rebrand-mode .ke-profile-lock-backdrop {
  backdrop-filter: blur(10px);
  background: rgba(15,26,31,.78);
  inset: 0;
  position: absolute;
}
html.ke-rebrand-mode .ke-profile-lock-card {
  background:
    radial-gradient(circle at 9% 4%, rgba(233,186,97,.2), transparent 28%),
    linear-gradient(145deg,#fffdf8 0%,#fbf7ef 100%);
  border: 1px solid rgba(200,165,88,.72);
  border-radius: 25px;
  box-shadow: 0 30px 90px rgba(11,20,24,.46);
  color: #1a2830;
  max-height: calc(100dvh - 28px);
  max-width: 510px;
  overflow: hidden auto;
  padding: clamp(28px,5vw,42px);
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 1;
}
html.ke-rebrand-mode .ke-profile-lock-close {
  background: transparent;
  border: 0;
  color: #687478;
  cursor: pointer;
  font-size: 26px;
  position: absolute;
  right: 16px;
  top: 12px;
}
html.ke-rebrand-mode .ke-profile-lock-emblem {
  align-items: center;
  background: linear-gradient(145deg,#1a2830,#263c47);
  border: 1px solid rgba(233,186,97,.62);
  border-radius: 19px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 13px 30px rgba(26,40,48,.2);
  display: flex;
  height: 64px;
  justify-content: center;
  margin: 0 auto 18px;
  transform: rotate(-2deg);
  width: 64px;
}
html.ke-rebrand-mode .ke-profile-lock-emblem svg { fill: none; height: 34px; stroke: #e9ba61; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.3; width: 34px; }
html.ke-rebrand-mode .ke-profile-lock-card > .ke-profile-eyebrow { color: #6d3346; letter-spacing: 1.8px; text-align: center; }
html.ke-rebrand-mode .ke-profile-lock-card > h2 { font-family: 'Playfair Display',serif; font-size: clamp(31px,6vw,43px); line-height: 1.05; margin: 7px 28px 10px; }
html.ke-rebrand-mode .ke-profile-lock-card > #ke-profile-lock-copy { color: #6e6965; font-family: 'Cormorant Garamond',serif; font-size: 19px; font-style: italic; line-height: 1.38; margin: 0 auto; max-width: 410px; }
html.ke-rebrand-mode .ke-profile-lock-assurance {
  align-items: center;
  background: linear-gradient(135deg,rgba(239,222,187,.66),rgba(255,255,255,.78));
  border: 1px solid rgba(200,165,88,.34);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  grid-template-columns: 36px minmax(0,1fr);
  margin-top: 24px;
  padding: 14px 16px;
  text-align: left;
}
html.ke-rebrand-mode .ke-profile-lock-assurance > span { align-items: center; background: #6d3346; border-radius: 50%; color: #e9ba61; display: flex; height: 36px; justify-content: center; width: 36px; }
html.ke-rebrand-mode .ke-profile-lock-assurance strong { display: block; font-family: 'Playfair Display',serif; font-size: 16px; }
html.ke-rebrand-mode .ke-profile-lock-assurance small { color: #687478; display: block; font-size: 10px; line-height: 1.4; margin-top: 3px; }
html.ke-rebrand-mode .ke-profile-lock-password { margin-top: 20px; text-align: left; }
html.ke-rebrand-mode .ke-profile-lock-password > label { color: #6d3346; display: block; font-size: 10px; font-weight: 900; letter-spacing: 1px; margin: 0 0 7px 2px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-profile-lock-password > div { align-items: stretch; background: #fffefa; border: 1.5px solid rgba(96,37,55,.33); border-radius: 14px; box-shadow: inset 0 1px 2px rgba(26,40,48,.06),0 8px 22px rgba(26,40,48,.06); display: flex; min-height: 54px; overflow: hidden; }
html.ke-rebrand-mode .ke-profile-lock-password > div:focus-within { border-color: #6d3346; box-shadow: 0 0 0 4px rgba(96,37,55,.12),0 10px 24px rgba(26,40,48,.08); }
html.ke-rebrand-mode .ke-profile-lock-password input {
  -webkit-text-fill-color: #1a2830;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  caret-color: #6d3346;
  color: #1a2830 !important;
  flex: 1;
  font: 650 17px 'DM Sans',sans-serif;
  min-width: 0;
  outline: 0 !important;
  padding: 14px 4px 14px 16px;
}
html.ke-rebrand-mode .ke-profile-lock-password button { background: transparent; border: 0; color: #6d3346; cursor: pointer; font-size: 11px; font-weight: 900; min-width: 68px; padding: 0 15px; }
html.ke-rebrand-mode .ke-profile-lock-password > small { color: #687478; display: block; font-size: 9px; line-height: 1.4; margin: 7px 2px 0; }
html.ke-rebrand-mode .ke-profile-lock-error { background: #fff0ef; border: 1px solid rgba(143,48,64,.24); border-radius: 11px; color: #8f3040; font-size: 11px; font-weight: 700; line-height: 1.4; margin: 13px 0 0; padding: 10px 12px; text-align: left; }
html.ke-rebrand-mode .ke-profile-lock-error[hidden] { display: none; }
html.ke-rebrand-mode .ke-profile-lock-actions { display: grid; gap: 10px; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); margin-top: 20px; }
html.ke-rebrand-mode .ke-profile-lock-actions .ke-profile-primary,
html.ke-rebrand-mode .ke-profile-lock-actions .ke-profile-data-button { min-height: 50px; width: 100%; }
html.ke-rebrand-mode .ke-profile-lock-footnote { align-items: center; color: #687478; display: flex; font-size: 9px; gap: 7px; justify-content: center; line-height: 1.4; margin: 16px 0 0; }
html.ke-rebrand-mode .ke-profile-lock-footnote span { color: #dcb568; font-size: 8px; }
html.ke-rebrand-mode #ke-profile-lock-form[aria-busy="true"] { cursor: wait; }

@media (max-width: 430px) {
  html.ke-rebrand-mode .ke-profile-lock-modal { align-items: flex-end; padding: 0; }
  html.ke-rebrand-mode .ke-profile-lock-card { border-radius: 24px 24px 0 0; max-height: calc(100dvh - 18px); padding: 30px 19px max(22px,env(safe-area-inset-bottom)); }
  html.ke-rebrand-mode .ke-profile-lock-actions { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  html.ke-rebrand-mode .ke-profile-hero { grid-template-columns: 1fr; }
  html.ke-rebrand-mode .ke-profile-kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  html.ke-rebrand-mode .ke-profile-today-grid { grid-template-columns: 1fr; }
  html.ke-rebrand-mode .ke-profile-section-heading { align-items: start; flex-direction: column; gap: 5px; }
  html.ke-rebrand-mode .ke-profile-section-heading p { text-align: left; }
}

@media (max-width: 560px) {
  html.ke-rebrand-mode .ke-profile-subnav { min-height: 48px; padding: 9px 11px 0; }
  html.ke-rebrand-mode .ke-profile-scroll { padding: 14px 11px 100px; }
  html.ke-rebrand-mode .ke-profile-hero { border-radius: 20px; padding: 22px 18px; }
  html.ke-rebrand-mode .ke-profile-identity { align-items: flex-start; gap: 15px; }
  html.ke-rebrand-mode .ke-profile-avatar { flex-basis: 68px; font-size: 23px; height: 68px; }
  html.ke-rebrand-mode .ke-profile-flame-card { padding: 17px; }
  html.ke-rebrand-mode .ke-profile-kpi { min-height: 116px; padding: 15px; }
  html.ke-rebrand-mode .ke-profile-options-grid,
  html.ke-rebrand-mode .ke-profile-form-grid,
  html.ke-rebrand-mode .ke-profile-data-actions { grid-template-columns: 1fr; }
  html.ke-rebrand-mode .ke-profile-field.is-wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-profile-hero::after,
  html.ke-rebrand-mode .ke-profile-kpi::after,
  html.ke-rebrand-mode .ke-profile-loader { animation: none; }
  html.ke-rebrand-mode .ke-profile-option { transition: none; }
}

/* Dashboard-aligned Profile: medallion navigation opens into readable work surfaces. */
html.ke-rebrand-mode #profile-overlay.ke-profile-overlay {
  background:
    radial-gradient(circle at 50% 7%, rgba(217,182,113,.12), transparent 28rem),
    radial-gradient(circle at 12% 48%, rgba(96,37,55,.14), transparent 30rem),
    linear-gradient(180deg,#0d2029 0%,#0a1820 100%);
  color: #fffaf2;
}
html.ke-rebrand-mode .ke-profile-scroll {
  background: transparent;
  scrollbar-color: rgba(217,182,113,.44) transparent;
}
html.ke-rebrand-mode .ke-profile-section-heading h2,
html.ke-rebrand-mode .ke-profile-view-header h1 { color: #fffaf2; }
html.ke-rebrand-mode .ke-profile-section-heading p,
html.ke-rebrand-mode .ke-profile-view-header p { color: rgba(255,250,242,.62); }
html.ke-rebrand-mode .ke-profile-hero {
  background:
    radial-gradient(circle at 82% 5%, rgba(217,182,113,.17), transparent 42%),
    linear-gradient(140deg,#182d37 0%,#122630 63%,#602537 150%);
  border-color: rgba(217,182,113,.55);
  box-shadow: 0 28px 72px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.07);
}

html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi-grid {
  gap: clamp(12px,2vw,20px);
  grid-template-columns: repeat(4,minmax(0,168px));
  justify-content: center;
  margin-inline: auto;
  max-width: 760px;
}
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi {
  align-items: center;
  aspect-ratio: 1;
  background: radial-gradient(circle at 38% 24%,#27434e 0,#172e38 57%,#0d2029 100%);
  border: 2px solid rgba(217,182,113,.68);
  border-radius: 50%;
  box-shadow: inset 0 2px 3px rgba(255,255,255,.09),0 13px 34px rgba(0,0,0,.28),0 0 0 4px rgba(217,182,113,.08);
  color: #fffaf2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  padding: 20px;
  text-align: center;
}
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi:nth-child(4n+1),
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi.is-burgundy { background: radial-gradient(circle at 38% 24%,#8a4058 0,#602537 59%,#421927 100%); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi:nth-child(4n+2) { background: radial-gradient(circle at 38% 24%,#57406f 0,#38284d 62%,#22182e 100%); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi:nth-child(4n+3),
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi.is-gold { background: radial-gradient(circle at 38% 24%,#f0d493 0,#d2a64f 62%,#8f651e 100%); color:#172730; }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi.is-navy { background: radial-gradient(circle at 38% 24%,#31515e 0,#172e38 62%,#0d2029 100%); }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi strong { margin: 9px 0 5px; }
html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi small { max-width: 112px; }
html.ke-rebrand-mode .ke-profile-today-grid { gap: 14px; }
html.ke-rebrand-mode .ke-profile-status-card {
  background: linear-gradient(145deg,rgba(31,52,62,.96),rgba(16,35,44,.96));
  border-color: rgba(217,182,113,.32);
  box-shadow: 0 14px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);
  color: #fffaf2;
}
html.ke-rebrand-mode .ke-profile-status-icon { background: rgba(217,182,113,.13); border:1px solid rgba(217,182,113,.38); color:#e4c57f; }
html.ke-rebrand-mode .ke-profile-status-card span,
html.ke-rebrand-mode .ke-profile-status-card small { color: rgba(255,250,242,.62); }

html.ke-rebrand-mode .ke-profile-constellation-section { margin-inline: auto; max-width: 820px; }
html.ke-rebrand-mode .ke-profile-constellation {
  --ke-profile-option-size:clamp(164px,43vw,214px);
  background:
    linear-gradient(rgba(217,182,113,.46) 0 0) 25% 50% / 1.5px 66.666% no-repeat,
    linear-gradient(rgba(217,182,113,.46) 0 0) 75% 50% / 1.5px 66.666% no-repeat,
    linear-gradient(rgba(217,182,113,.46) 0 0) 50% 16.667% / 50% 1.5px no-repeat,
    linear-gradient(rgba(217,182,113,.46) 0 0) 50% 50% / 50% 1.5px no-repeat,
    linear-gradient(rgba(217,182,113,.46) 0 0) 50% 83.333% / 50% 1.5px no-repeat;
  display: grid;
  gap:clamp(30px,7vw,46px) clamp(14px,5vw,34px);
  grid-template-columns:repeat(2,var(--ke-profile-option-size));
  grid-template-rows:repeat(3,var(--ke-profile-option-size));
  justify-content: center;
  margin-inline: auto;
  padding: 10px 0;
  position: relative;
}
html.ke-rebrand-mode .ke-profile-constellation[data-ke-profile-constellation="profile-hubs"] {
  background:linear-gradient(rgba(217,182,113,.46) 0 0) 50% 50% / 50% 1.5px no-repeat;
  grid-template-rows:var(--ke-profile-option-size);
}
html.ke-rebrand-mode .ke-profile-constellation-hub {
  align-items: center;
  align-self: center;
  background: linear-gradient(125deg,#ffe6a7,#9f6517 37%,#fff0b8 52%,#a66c1a 76%,#e6bc61);
  clip-path: polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);
  color:#fffaf2;
  display:flex;
  flex-direction:column;
  grid-column:2;
  grid-row:2;
  height:172px;
  justify-content:center;
  justify-self:center;
  padding:20px;
  position:relative;
  text-align:center;
  width:172px;
  z-index:2;
}
html.ke-rebrand-mode .ke-profile-constellation-hub::before {
  background: radial-gradient(circle at 40% 25%,#28434e,#132a34 62%,#091a22);
  clip-path:inherit;
  content:'';
  inset:3px;
  position:absolute;
  z-index:-1;
}
html.ke-rebrand-mode .ke-profile-constellation-hub span { color:#d9b671; font-size:8px; font-weight:800; letter-spacing:1.25px; }
html.ke-rebrand-mode .ke-profile-constellation-hub strong { font-family:'Playfair Display',serif; font-size:23px; margin:4px 0; }
html.ke-rebrand-mode .ke-profile-constellation-hub small { color:rgba(255,250,242,.58); font-size:8px; line-height:1.3; max-width:100px; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option {
  --ke-profile-option-fill:radial-gradient(circle at 38% 24%,#87425a 0,#602537 60%,#411925 100%);
  --ke-profile-option-rim:conic-gradient(from 215deg,#82591f 0%,#d5aa50 18%,#fff0b4 31%,#b7802c 49%,#f0d488 69%,#916323 84%,#d7b56d 100%);
  align-items:center;
  align-self:center;
  aspect-ratio:1;
  background:var(--ke-profile-option-rim);
  border:0;
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(217,182,113,.075);
  color:#fffaf2;
  filter:drop-shadow(0 3px 0 rgba(105,72,24,.72)) drop-shadow(0 13px 25px rgba(0,0,0,.3)) drop-shadow(0 0 12px rgba(215,181,109,.24));
  flex-direction:column;
  gap:5px;
  height:var(--ke-profile-option-size);
  isolation:isolate;
  justify-content:center;
  justify-self:center;
  min-height:0;
  padding:clamp(20px,5vw,30px);
  text-align:center;
  width:var(--ke-profile-option-size);
  z-index:3;
}
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option::before {
  background:var(--ke-profile-option-fill);
  border-radius:inherit;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.11),inset -10px -12px 20px rgba(0,0,0,.18);
  content:'';
  inset:4px;
  position:absolute;
  z-index:0;
}
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option > * { position:relative;z-index:1; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(1) { --ke-profile-option-fill:var(--ke-profile-garnet-surface);grid-column:1;grid-row:1; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(2) { --ke-profile-option-fill:var(--ke-profile-sapphire-surface);grid-column:2;grid-row:1; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(3) { --ke-profile-option-fill:var(--ke-profile-azure-surface);grid-column:1;grid-row:2; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(4) { --ke-profile-option-fill:var(--ke-profile-ember-surface);grid-column:2;grid-row:2; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(5) { --ke-profile-option-fill:var(--ke-profile-peridot-surface);grid-column:1;grid-row:3; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(6) { --ke-profile-option-fill:var(--ke-profile-teal-surface);grid-column:2;grid-row:3; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(2),
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(3),
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(6) {
  --ke-profile-option-rim:conic-gradient(from 30deg,#ffe9a0 0 16.666%,#c28c35 16.666% 33.333%,#79501a 33.333% 50%,#9f7127 50% 66.666%,#f0ce78 66.666% 83.333%,#fff0ad 83.333% 100%);
  /* Share the circles' square footprint so every row reads as one aligned
     two-column grid, while the clip-path keeps the alternating jewel shape. */
  aspect-ratio:1 !important;
  border-radius:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(2)::before,
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(3)::before,
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(6)::before {
  border-radius:0;
  clip-path:polygon(50% 2.1%,98.1% 26.1%,98.1% 73.9%,50% 97.9%,1.9% 73.9%,1.9% 26.1%);
  inset:0;
}
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:hover { box-shadow:0 0 0 4px rgba(217,182,113,.1);filter:brightness(1.02) drop-shadow(0 4px 0 rgba(105,72,24,.78)) drop-shadow(0 16px 28px rgba(0,0,0,.34)) drop-shadow(0 0 17px rgba(215,181,109,.32));transform:translateY(-3px) scale(1.025); }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option-icon { background:rgba(255,255,255,.08); border:1px solid rgba(217,182,113,.28); border-radius:50%; color:#e8cb84; flex-basis:38px; font-size:15px; height:38px; width:38px; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option-copy { flex:0 0 auto; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option-copy strong { color:#fffaf2; font-size:17px; line-height:1.05; text-wrap:balance; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option-copy small { border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option-status { color:rgba(255,250,242,.68); font-size:9px; line-height:1.2; max-width:132px; text-align:center; }
html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option-arrow { color:#e8cb84; line-height:1; }

html.ke-rebrand-mode .ke-profile-expanded { max-width:900px; transition:opacity .3s ease,transform .3s ease; }
html.ke-rebrand-mode .ke-profile-expanded.is-saved { opacity:0; transform:scale(.92); }
html.ke-rebrand-mode .ke-profile-panel {
  background:linear-gradient(145deg,rgba(29,49,59,.98),rgba(14,31,39,.98));
  border-color:rgba(217,182,113,.38);
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
  color:#fffaf2;
}
html.ke-rebrand-mode .ke-profile-panel > p,
html.ke-rebrand-mode .ke-profile-setting-copy small,
html.ke-rebrand-mode .ke-profile-danger-row small { color:rgba(255,250,242,.6); }
html.ke-rebrand-mode .ke-profile-hub-panel-heading { align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px; }
html.ke-rebrand-mode .ke-profile-hub-panel-heading h2 { margin-bottom:7px; }
html.ke-rebrand-mode .ke-profile-hub-panel-heading p { color:rgba(255,250,242,.6);margin:0; }
html.ke-rebrand-mode .ke-profile-hub-panel-heading .ke-profile-option-status { background:rgba(217,182,113,.1);border:1px solid rgba(217,182,113,.3);border-radius:999px;color:#e8cb84;flex:0 0 auto;padding:6px 10px; }
html.ke-rebrand-mode .ke-profile-setting { border-top-color:rgba(217,182,113,.16); }
html.ke-rebrand-mode .ke-profile-setting-copy strong { color:#fffaf2; }
html.ke-rebrand-mode .ke-profile-field input,
html.ke-rebrand-mode .ke-profile-field select,
html.ke-rebrand-mode .ke-profile-select { background:#fffaf2; border-color:rgba(217,182,113,.55); color:#172730; color-scheme:light; }
html.ke-rebrand-mode .ke-profile-field input[readonly] { background:#e8e0d5; color:#5c686d; }
html.ke-rebrand-mode .ke-profile-field span { color:#e2c57f; }
html.ke-rebrand-mode .ke-profile-form-status { color:#e4c57f; }
html.ke-rebrand-mode .ke-profile-data-button { background:rgba(255,255,255,.055); border-color:rgba(217,182,113,.33); color:#f3d88f; }
html.ke-rebrand-mode .ke-profile-data-button.is-danger { background:rgba(143,48,64,.18); border-color:rgba(230,128,142,.4); color:#ffc3cb; }
html.ke-rebrand-mode .ke-profile-text-button { color:#e5c67d; }

html.ke-rebrand-mode .ke-profile-photo-modal :is(#ke-profile-photo-file,#ke-profile-photo-camera) { display:none !important; }
html.ke-rebrand-mode .ke-profile-photo-card,
html.ke-rebrand-mode .ke-profile-lock-card {
  background:
    radial-gradient(circle at 85% 0,rgba(217,182,113,.14),transparent 45%),
    linear-gradient(155deg,#1b303a,#0e2028);
  border-color:rgba(217,182,113,.58);
  box-shadow:0 32px 90px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06);
  color:#fffaf2;
}
html.ke-rebrand-mode .ke-profile-photo-card .ke-profile-eyebrow,
html.ke-rebrand-mode .ke-profile-lock-card .ke-profile-eyebrow { color:#e3c37a; }
html.ke-rebrand-mode .ke-profile-photo-card :is(.ke-profile-photo-choose,.ke-profile-photo-crop) > p,
html.ke-rebrand-mode .ke-profile-photo-private,
html.ke-rebrand-mode .ke-profile-lock-card > p,
html.ke-rebrand-mode .ke-profile-lock-assurance small,
html.ke-rebrand-mode .ke-profile-lock-password > small,
html.ke-rebrand-mode .ke-profile-lock-footnote { color:rgba(255,250,242,.62); }
html.ke-rebrand-mode .ke-profile-photo-current { background-color:#602537; border-color:#d9b671; }
html.ke-rebrand-mode .ke-profile-photo-remove-confirm,
html.ke-rebrand-mode .ke-profile-lock-assurance { background:rgba(217,182,113,.08); border-color:rgba(217,182,113,.25); }
html.ke-rebrand-mode .ke-profile-photo-remove-confirm p,
html.ke-rebrand-mode .ke-profile-lock-assurance strong,
html.ke-rebrand-mode .ke-profile-lock-password > label { color:#fffaf2; }

@media (max-width:780px) {
  html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi-grid { grid-template-columns:repeat(4,minmax(0,145px)); overflow-x:auto; justify-content:start; padding:4px 2px 18px; }
  html.ke-rebrand-mode .ke-profile-constellation-hub { height:150px;width:150px; }
}
@media (max-width:560px) {
  html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi-grid { gap:12px;grid-template-columns:repeat(2,minmax(0,142px));justify-content:center;overflow:visible; }
  html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi { padding:14px; }
  html.ke-rebrand-mode .ke-profile-overview .ke-profile-kpi small { display:none; }
  html.ke-rebrand-mode .ke-profile-constellation-section .ke-profile-section-heading { text-align:center; }
  html.ke-rebrand-mode .ke-profile-constellation-section .ke-profile-section-heading p { text-align:center; }
  html.ke-rebrand-mode .ke-profile-constellation {
    grid-template-columns:repeat(2,var(--ke-profile-option-size));
    grid-template-rows:repeat(3,var(--ke-profile-option-size));
  }
  html.ke-rebrand-mode .ke-profile-constellation[data-ke-profile-constellation="profile-hubs"] { grid-template-rows:var(--ke-profile-option-size); }
  html.ke-rebrand-mode .ke-profile-constellation-hub { grid-column:1/-1;grid-row:auto;height:146px;margin-bottom:5px;width:146px; }
  html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option,
  html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option:nth-of-type(n) { grid-column:auto;grid-row:auto;height:var(--ke-profile-option-size);width:var(--ke-profile-option-size); }
  html.ke-rebrand-mode .ke-profile-expanded .ke-profile-view-header { padding-inline:8px; }
}

@media (max-width:374px) {
  html.ke-rebrand-mode .ke-profile-constellation {
    --ke-profile-option-size:min(178px,72vw);
    background:linear-gradient(rgba(217,182,113,.46) 0 0) 50% 50% / 1.5px calc(100% - var(--ke-profile-option-size)) no-repeat;
    gap:34px;
    grid-template-columns:var(--ke-profile-option-size);
    grid-template-rows:repeat(6,var(--ke-profile-option-size));
  }
  html.ke-rebrand-mode .ke-profile-constellation[data-ke-profile-constellation="profile-hubs"] {
    background:linear-gradient(rgba(217,182,113,.46) 0 0) 50% 50% / 1.5px calc(100% - var(--ke-profile-option-size)) no-repeat;
    grid-template-rows:repeat(2,var(--ke-profile-option-size));
  }
}

@media (prefers-reduced-motion:reduce) {
  html.ke-rebrand-mode .ke-profile-expanded,
  html.ke-rebrand-mode .ke-profile-constellation .ke-profile-option { transition:none; }
}

/* 2026 premium polish: executive-grade KPI hierarchy with Keeper warmth. */
html.ke-rebrand-mode #profile-overlay.ke-profile-overlay {
  background:
    radial-gradient(circle at 90% 0, rgba(217,182,113,.1), transparent 30rem),
    #f8f4ed;
  color: #1f2c32;
}
html.ke-rebrand-mode .ke-profile-back { transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }

html.ke-rebrand-mode .ke-profile-scroll { padding-top: clamp(24px,4vw,46px); }
html.ke-rebrand-mode .ke-profile-hero {
  background:
    radial-gradient(circle at 86% 5%, rgba(217,182,113,.18), transparent 42%),
    linear-gradient(140deg,#1a2830 0%,#223640 64%,#602537 150%);
  border-color: rgba(217,182,113,.38);
  border-radius: 28px;
  box-shadow: 0 2px 4px rgba(15,26,31,.08), 0 28px 68px rgba(15,26,31,.19);
}
html.ke-rebrand-mode .ke-profile-hero::after,
html.ke-rebrand-mode .ke-profile-kpi::after { content: none; }
html.ke-rebrand-mode .ke-profile-avatar {
  background: linear-gradient(145deg,#6b2b40,#602537);
  border-color: #d9b671;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 12px 28px rgba(5,14,18,.26), 0 0 0 7px rgba(217,182,113,.1);
}
html.ke-rebrand-mode .ke-profile-eyebrow,
html.ke-rebrand-mode .ke-profile-membership span,
html.ke-rebrand-mode .ke-profile-flame-card span { font-weight: 500; }
html.ke-rebrand-mode .ke-profile-identity h1 { letter-spacing: -.035em; text-wrap: balance; }
html.ke-rebrand-mode .ke-profile-membership span { background: rgba(255,255,255,.055); border-color: rgba(217,182,113,.22); }
html.ke-rebrand-mode .ke-profile-flame-card {
  background:
    radial-gradient(circle at 90% 0, rgba(217,182,113,.19), transparent 55%),
    rgba(96,37,55,.9);
  border-color: rgba(217,182,113,.42);
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 32px rgba(7,14,18,.16);
}
html.ke-rebrand-mode .ke-profile-flame-card svg { fill: #d9b671; filter: drop-shadow(0 7px 11px rgba(0,0,0,.16)); }

html.ke-rebrand-mode .ke-profile-section { margin-top: clamp(34px,5vw,50px); }
html.ke-rebrand-mode .ke-profile-section-heading { margin-bottom: 18px; }
html.ke-rebrand-mode .ke-profile-section-heading h2,
html.ke-rebrand-mode .ke-profile-view-header h1,
html.ke-rebrand-mode .ke-profile-panel h2 { letter-spacing: -.025em; }
html.ke-rebrand-mode .ke-profile-section-heading p { color: #68757a; }
html.ke-rebrand-mode .ke-profile-kpi-grid { gap: 14px; }
html.ke-rebrand-mode .ke-profile-kpi {
  background: rgba(255,253,250,.98);
  border-color: rgba(26,40,48,.1);
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(26,40,48,.03), 0 12px 28px rgba(26,40,48,.05);
  min-height: 138px;
  padding: 20px;
  transition: box-shadow .22s ease, transform .22s ease;
}
html.ke-rebrand-mode .ke-profile-kpi:hover { box-shadow: 0 2px 4px rgba(26,40,48,.04), 0 18px 38px rgba(26,40,48,.085); transform: translateY(-2px); }
html.ke-rebrand-mode .ke-profile-kpi.is-burgundy {
  background:
    radial-gradient(circle at 90% 0, rgba(217,182,113,.2), transparent 60%),
    #602537;
  border-color: rgba(96,37,55,.4);
  box-shadow: 0 14px 34px rgba(96,37,55,.15);
}
html.ke-rebrand-mode .ke-profile-kpi.is-navy {
  background: linear-gradient(145deg,#1a2830,#223640);
  border-color: rgba(26,40,48,.34);
  box-shadow: 0 14px 34px rgba(26,40,48,.14);
}
html.ke-rebrand-mode .ke-profile-kpi.is-gold {
  background: linear-gradient(145deg,#f3e5c9,#ead1a1);
  border-color: rgba(217,182,113,.46);
  box-shadow: 0 12px 30px rgba(130,96,38,.1);
}
html.ke-rebrand-mode .ke-profile-kpi span,
html.ke-rebrand-mode .ke-profile-status-card span,
html.ke-rebrand-mode .ke-profile-option-status,
html.ke-rebrand-mode .ke-profile-field span { font-weight: 500; }
html.ke-rebrand-mode .ke-profile-kpi strong { letter-spacing: -.03em; }

html.ke-rebrand-mode .ke-profile-today-grid { gap: 13px; }
html.ke-rebrand-mode .ke-profile-status-card {
  background: rgba(255,253,250,.96);
  border-color: rgba(26,40,48,.09);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(26,40,48,.025), 0 9px 24px rgba(26,40,48,.04);
  min-height: 88px;
}
html.ke-rebrand-mode .ke-profile-status-icon {
  background: #f4ebe0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
  color: #602537;
  font-weight: 500;
}
html.ke-rebrand-mode .ke-profile-options-grid { gap: 13px; }
html.ke-rebrand-mode .ke-profile-option {
  background: rgba(255,253,250,.97);
  border-color: rgba(26,40,48,.09);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(26,40,48,.025), 0 9px 24px rgba(26,40,48,.04);
  min-height: 80px;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
html.ke-rebrand-mode .ke-profile-option:hover { border-color: rgba(96,37,55,.22); box-shadow: 0 2px 4px rgba(26,40,48,.035), 0 15px 32px rgba(26,40,48,.075); transform: translateY(-2px); }
html.ke-rebrand-mode .ke-profile-option-icon {
  background: #f4ebe0;
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
  color: #602537;
  font-weight: 500;
}
html.ke-rebrand-mode .ke-profile-option-copy strong { letter-spacing: -.012em; }
html.ke-rebrand-mode .ke-profile-option-status,
html.ke-rebrand-mode .ke-profile-option-arrow { color: #602537; }

html.ke-rebrand-mode .ke-profile-panel {
  background: rgba(255,253,250,.98);
  border-color: rgba(26,40,48,.1);
  border-radius: 20px;
  box-shadow: 0 1px 2px rgba(26,40,48,.03), 0 14px 34px rgba(26,40,48,.05);
}
html.ke-rebrand-mode .ke-profile-field input,
html.ke-rebrand-mode .ke-profile-field select,
html.ke-rebrand-mode .ke-profile-select { border-color: rgba(26,40,48,.14); }
html.ke-rebrand-mode .ke-profile-field input:focus,
html.ke-rebrand-mode .ke-profile-field select:focus,
html.ke-rebrand-mode .ke-profile-select:focus { border-color: #d9b671; box-shadow: 0 0 0 3px rgba(217,182,113,.14); outline: 0; }
html.ke-rebrand-mode .ke-profile-primary {
  background: #d9b671;
  border-color: #c9a45c;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 9px 20px rgba(26,40,48,.1);
  font-weight: 500;
  letter-spacing: .035em;
}
html.ke-rebrand-mode .ke-profile-setting { border-top-color: rgba(26,40,48,.08); }
html.ke-rebrand-mode .ke-profile-switch input:checked + span { background: #d9b671; }
html.ke-rebrand-mode .ke-profile-data-button { border-color: rgba(96,37,55,.24); font-weight: 500; letter-spacing: .035em; }

html.ke-rebrand-mode #profile-overlay :is(button,input,select):focus-visible,
html.ke-rebrand-mode [data-ke-open-profile]:focus-visible {
  outline: 2px solid #d9b671;
  outline-offset: 3px;
}

@media (max-width: 780px) {
  html.ke-rebrand-mode .ke-profile-hero { border-radius: 24px; }
  html.ke-rebrand-mode .ke-profile-kpi { min-height: 128px; }
}

@media (max-width: 560px) {
  html.ke-rebrand-mode .ke-profile-scroll { padding-top: 17px; }
  html.ke-rebrand-mode .ke-profile-hero { border-radius: 20px; box-shadow: 0 18px 46px rgba(15,26,31,.16); }
  html.ke-rebrand-mode .ke-profile-kpi { border-radius: 16px; min-height: 116px; }
  html.ke-rebrand-mode .ke-profile-option { border-radius: 15px; }
  html.ke-rebrand-mode .ke-profile-photo-modal { align-items: flex-end; padding: 0; }
  html.ke-rebrand-mode .ke-profile-photo-card { border-radius: 26px 26px 0 0; max-height: calc(100dvh - max(12px,env(safe-area-inset-top))); padding: 32px 19px max(22px,env(safe-area-inset-bottom)); }
  html.ke-rebrand-mode .ke-profile-photo-card h2 { font-size: 36px; }
  html.ke-rebrand-mode .ke-profile-photo-current { height: 116px; margin: 27px auto; width: 116px; }
  html.ke-rebrand-mode .ke-profile-photo-actions { grid-template-columns: 1fr; }
  html.ke-rebrand-mode .ke-profile-photo-crop-frame { width: min(68vw,286px); }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-profile-back,
  html.ke-rebrand-mode .ke-profile-kpi,
  html.ke-rebrand-mode .ke-profile-option,
  html.ke-rebrand-mode .ke-profile-photo-card { transition: none; }
}

/* Keep the dark system authoritative after the older premium-polish cascade. */
html.ke-rebrand-mode #profile-overlay.ke-profile-overlay {
  background:
    radial-gradient(circle at 50% 7%,rgba(217,182,113,.12),transparent 28rem),
    radial-gradient(circle at 12% 48%,rgba(96,37,55,.14),transparent 30rem),
    linear-gradient(180deg,#0d2029 0%,#0a1820 100%);
  color:#fffaf2;
}
html.ke-rebrand-mode .ke-profile-section-heading p { color:rgba(255,250,242,.62); }
html.ke-rebrand-mode .ke-profile-status-card {
  background:linear-gradient(145deg,rgba(31,52,62,.96),rgba(16,35,44,.96));
  border-color:rgba(217,182,113,.32);
  box-shadow:0 14px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);
  color:#fffaf2;
}
html.ke-rebrand-mode .ke-profile-status-icon { background:rgba(217,182,113,.13);border:1px solid rgba(217,182,113,.38);color:#e4c57f; }
html.ke-rebrand-mode .ke-profile-status-card span,
html.ke-rebrand-mode .ke-profile-status-card small { color:rgba(255,250,242,.62); }
html.ke-rebrand-mode .ke-profile-panel {
  background:linear-gradient(145deg,rgba(29,49,59,.98),rgba(14,31,39,.98));
  border-color:rgba(217,182,113,.38);
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
  color:#fffaf2;
}
html.ke-rebrand-mode .ke-profile-setting { border-top-color:rgba(217,182,113,.16); }
html.ke-rebrand-mode .ke-profile-data-button { border-color:rgba(217,182,113,.33); }

html.ke-rebrand-mode .ke-profile-delete-modal[hidden] { display:none !important; }
html.ke-rebrand-mode .ke-profile-delete-modal { align-items:center;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:6; }
html.ke-rebrand-mode .ke-profile-delete-backdrop { backdrop-filter:blur(14px);background:rgba(5,14,19,.82);inset:0;position:absolute; }
html.ke-rebrand-mode .ke-profile-delete-card {
  background:radial-gradient(circle at 85% 0,rgba(143,48,64,.22),transparent 45%),linear-gradient(155deg,#1b303a,#0e2028);
  border:1px solid rgba(232,137,149,.48);
  border-radius:26px;
  box-shadow:0 34px 100px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.06);
  color:#fffaf2;
  max-height:calc(100dvh - 36px);
  max-width:560px;
  overflow:auto;
  padding:clamp(28px,5vw,44px);
  position:relative;
  width:100%;
  z-index:1;
}
html.ke-rebrand-mode .ke-profile-delete-card h2 { font-family:'Playfair Display',serif;font-size:clamp(31px,6vw,44px);line-height:1.03;margin:8px 35px 12px 0; }
html.ke-rebrand-mode .ke-profile-delete-card > p { color:rgba(255,250,242,.68);font-size:12px;line-height:1.55; }
html.ke-rebrand-mode .ke-profile-delete-card ul { background:rgba(143,48,64,.13);border:1px solid rgba(232,137,149,.22);border-radius:16px;color:rgba(255,250,242,.74);font-size:11px;line-height:1.5;margin:18px 0;padding:15px 18px 15px 34px; }
html.ke-rebrand-mode .ke-profile-delete-emblem { align-items:center;background:#8f3040;border:2px solid #ef9aa6;border-radius:50%;box-shadow:0 0 0 7px rgba(143,48,64,.16);color:#fffaf2;display:flex;font-family:'Playfair Display',serif;font-size:24px;height:58px;justify-content:center;margin-bottom:22px;width:58px; }
html.ke-rebrand-mode .ke-profile-delete-confirm { display:grid;gap:7px; }
html.ke-rebrand-mode .ke-profile-delete-confirm span { color:#ffc4cc;font-size:9px;font-weight:900;letter-spacing:.85px;text-transform:uppercase; }
html.ke-rebrand-mode .ke-profile-delete-confirm input { background:#fffaf2;border:2px solid rgba(232,137,149,.62);border-radius:14px;color:#6f2030;font:800 17px 'DM Sans',sans-serif;min-height:52px;padding:0 14px;text-transform:uppercase; }
html.ke-rebrand-mode .ke-profile-delete-card[aria-busy="true"] { cursor:wait; }

@media (max-width:430px) {
  html.ke-rebrand-mode .ke-profile-delete-modal { align-items:flex-end;padding:0; }
  html.ke-rebrand-mode .ke-profile-delete-card { border-radius:25px 25px 0 0;max-height:calc(100dvh - 16px);padding:30px 19px max(22px,env(safe-area-inset-bottom)); }
}

/* Profile Bloom -----------------------------------------------------------
   The dashboard launcher resolves into one identity hexagon, then the live
   metrics emerge down measured connector paths with the same cadence as the
   Check-In cascade. All selectors stay under the rebrand Profile surface. */
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher .ke-dashboard-profile-initials {
  border-radius: 0 !important;
  clip-path: polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);
}

html.ke-rebrand-mode .ke-profile-overview {
  --ke-profile-garnet-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#740e1c 0 27%,#30060a 72%,#030102 100%);
  --ke-profile-ember-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#702e0e 0 27%,#301408 72%,#030101 100%);
  --ke-profile-azure-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#135f8a 0 27%,#06243a 72%,#010203 100%);
  --ke-profile-peridot-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#297b0d 0 27%,#113205 72%,#010301 100%);
  --ke-profile-teal-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#106e78 0 27%,#072e35 72%,#010303 100%);
  --ke-profile-sapphire-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#140d74 0 27%,#07052d 72%,#010103 100%);
  --ke-profile-amethyst-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#460f75 0 27%,#200530 72%,#020103 100%);
  --ke-profile-blackberry-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#720e71 0 27%,#2f0630 72%,#030103 100%);
}

html.ke-rebrand-mode .ke-profile-bloom {
  align-items: center;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  margin-inline: auto;
  max-width: 900px;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core {
  align-items: center;
  aspect-ratio: 1;
  background: linear-gradient(145deg,#f1dca7,#b98c3d 42%,#ead089 67%,#936b2c) !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: polygon(23% 3%,77% 3%,100% 50%,77% 97%,23% 97%,0 50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  grid-template-columns: none;
  justify-content: center;
  margin-inline: auto;
  overflow: hidden;
  padding: clamp(38px,7vw,54px) clamp(38px,8vw,62px) !important;
  position: relative;
  text-align: center;
  transform-origin: 50% 12%;
  width: clamp(270px,68vw,326px);
  z-index: 3;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core::before {
  background: var(--ke-profile-garnet-surface);
  clip-path: inherit;
  content: '';
  inset: 3px;
  position: absolute;
  z-index: 0;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core > * {
  min-width: 0;
  position: relative;
  z-index: 1;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity {
  align-items: center;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  text-align: center;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity > div {
  align-items: center;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-avatar {
  flex-basis: 70px;
  font-size: 22px;
  height: 70px;
  width: 70px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-avatar-edit {
  height: 27px;
  width: 27px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-eyebrow {
  font-size: 8px;
  margin-bottom: 4px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity h1 {
  font-size: clamp(27px,7vw,36px);
  margin-bottom: 4px;
  max-width: 210px;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity h1 :is(.ke-profile-meet-line,.ke-profile-flame-mark) { display: block; }

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity p {
  font-size: 15px;
  line-height: 1.12;
  max-width: 210px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-photo-link {
  margin-top: 6px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-membership {
  justify-content: center;
  margin-top: 7px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-membership span {
  font-size: 7px;
  padding: 5px 7px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-card {
  align-self: center;
  background: transparent !important;
  border: 0;
  border-radius: 0;
  border-top: 1px solid rgba(241,220,167,.32);
  box-shadow: none;
  gap: 8px;
  justify-content: center;
  max-width: 210px;
  padding: 8px 4px 0;
  text-align: left;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-card svg {
  flex-basis: 27px;
  height: 34px;
  width: 27px;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-card strong { font-size: 17px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-card small { font-size: 8px; margin-top: 2px; }

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-progress {
  margin-top: 34px;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-kpi-flow {
  margin-inline: auto;
  max-width: 620px;
  position: relative;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-bloom-connectors {
  inset: 0;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

html.ke-rebrand-mode .ke-profile-bloom-connectors line {
  filter: drop-shadow(0 0 5px rgba(241,220,167,.28));
  opacity: .72;
  stroke: #d7b56d;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  stroke-linecap: round;
  stroke-width: 2;
}

html.ke-rebrand-mode .ke-profile-bloom[data-ke-profile-bloom-state="running"] .ke-profile-bloom-connectors line {
  animation: keProfileLineBloom 720ms calc(560ms + var(--ke-profile-line-order,0) * 110ms) cubic-bezier(.45,0,.18,1) forwards;
}

html.ke-rebrand-mode .ke-profile-bloom[data-ke-profile-bloom-state="settled"] .ke-profile-bloom-connectors line { stroke-dashoffset: 0; }

@keyframes keProfileLineBloom {
  from { opacity: 0; stroke-dashoffset: 1; }
  to { opacity: .72; stroke-dashoffset: 0; }
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi-grid {
  --ke-profile-node-size: clamp(164px,43vw,214px);
  align-items: center;
  display: grid;
  gap: clamp(30px,7vw,46px) clamp(14px,5vw,34px);
  grid-template-columns: repeat(2,var(--ke-profile-node-size));
  justify-content: center;
  margin: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: relative;
  z-index: 1;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi {
  --ke-profile-node-fill: var(--ke-profile-azure-surface);
  --ke-profile-node-rim: conic-gradient(from 215deg,#82591f 0%,#d5aa50 18%,#fff0b4 31%,#b7802c 49%,#f0d488 69%,#916323 84%,#d7b56d 100%);
  align-items: center;
  aspect-ratio: 1;
  background: var(--ke-profile-node-rim) !important;
  border: 0;
  border-radius: 50% !important;
  box-shadow: 0 0 0 4px rgba(217,182,113,.07);
  color: #fffaf2 !important;
  display: flex;
  filter: drop-shadow(0 3px 0 rgba(105,72,24,.72)) drop-shadow(0 13px 25px rgba(0,0,0,.3)) drop-shadow(0 0 12px rgba(215,181,109,.24));
  flex-direction: column;
  height: var(--ke-profile-node-size);
  justify-content: center;
  min-height: 0;
  overflow: hidden;
  padding: clamp(20px,5vw,30px) !important;
  position: relative;
  text-align: center;
  transform-origin: 50% 10%;
  width: var(--ke-profile-node-size);
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(1) { --ke-profile-node-fill: var(--ke-profile-garnet-surface); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(2) { --ke-profile-node-fill: var(--ke-profile-amethyst-surface); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(3) { --ke-profile-node-fill: var(--ke-profile-azure-surface); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(4) { --ke-profile-node-fill: var(--ke-profile-blackberry-surface); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(5) { --ke-profile-node-fill: var(--ke-profile-ember-surface); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(6) { --ke-profile-node-fill: var(--ke-profile-peridot-surface); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(7) { --ke-profile-node-fill: var(--ke-profile-teal-surface); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi:nth-child(8) { --ke-profile-node-fill: var(--ke-profile-sapphire-surface); }

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi.is-hexagon {
  --ke-profile-node-rim: conic-gradient(from 30deg,#ffe9a0 0 16.666%,#c28c35 16.666% 33.333%,#79501a 33.333% 50%,#9f7127 50% 66.666%,#f0ce78 66.666% 83.333%,#fff0ad 83.333% 100%);
  border-radius: 0 !important;
  clip-path: polygon(23% 3%,77% 3%,100% 50%,77% 97%,23% 97%,0 50%);
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi::before {
  aspect-ratio: auto !important;
  background: var(--ke-profile-node-fill);
  border-radius: inherit;
  box-shadow: inset 0 2px 3px rgba(255,255,255,.1),inset -10px -12px 20px rgba(0,0,0,.18);
  clip-path: inherit;
  content: '';
  inset: 4px;
  position: absolute;
  z-index: 0;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi.is-hexagon::before {
  /* Offset every edge inside the outer point-top hex instead of scaling the
     same polygon. A scaled polygon hides the lower gold diagonals. */
  clip-path: polygon(50% 2.1%,98.1% 26.1%,98.1% 73.9%,50% 97.9%,1.9% 73.9%,1.9% 26.1%) !important;
  inset: 0;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi > * {
  max-width: 132px;
  position: relative;
  z-index: 1;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi span { font-size: 9px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi strong { font-size: clamp(32px,8vw,43px); margin: 10px 0 6px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi small { display: block; font-size: 9px; line-height: 1.28; max-width: 132px; }

html.ke-rebrand-mode .ke-profile-bloom[data-ke-profile-bloom-state="pending"] :is(.ke-profile-bloom-core,.ke-profile-kpi,.ke-profile-bloom-connectors) { opacity: 0; }

@media (max-width: 560px) {
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core {
    gap: 6px;
    padding: 32px 40px !important;
    width: min(326px,88vw);
  }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-avatar {
    flex-basis: 64px;
    font-size: 21px;
    height: 64px;
    width: 64px;
  }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity { gap: 6px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity h1 { font-size: 30px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity p { font-size: 14px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-photo-link { margin-top: 4px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-membership { margin-top: 5px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-card { padding-top: 6px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi { min-height: 0; }
}

@media (max-width: 374px) {
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core {
    gap: 5px;
    padding: 30px 36px !important;
    width: min(316px,94vw);
  }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-avatar {
    flex-basis: 60px;
    font-size: 20px;
    height: 60px;
    width: 60px;
  }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-avatar-edit { height: 25px; width: 25px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity { gap: 5px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity h1 { font-size: 27px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-identity p { font-size: 13px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-photo-link { margin-top: 3px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-membership { margin-top: 4px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-card { padding-top: 5px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi-grid {
    --ke-profile-node-size: min(178px,72vw);
    gap: 34px;
    grid-template-columns: var(--ke-profile-node-size);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-profile-bloom-connectors line { animation: none !important; stroke-dashoffset: 0; }
}

@media (forced-colors: active) {
  html.ke-rebrand-mode .ke-profile-bloom :is(.ke-profile-bloom-core,.ke-profile-kpi.is-hexagon),
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher .ke-dashboard-profile-initials {
    border: 2px solid CanvasText !important;
    border-radius: 24px !important;
    clip-path: none;
  }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi.is-hexagon::before { content: none; }
  html.ke-rebrand-mode .ke-profile-bloom-connectors line { stroke: CanvasText; }
}

/* Flame identity is primary; a Keeper photo remains an optional account detail. */
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-identity { gap: 5px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-primary-flame {
  align-items: center;
  background: radial-gradient(circle at 50% 58%,rgba(240,190,83,.18),transparent 67%);
  display: flex;
  height: 82px;
  justify-content: center;
  width: 82px;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-primary-flame svg {
  fill: #e5bd66;
  filter: drop-shadow(0 0 16px rgba(239,187,70,.62));
  height: 78px;
  width: 62px;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-identity h1 { max-width: 240px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-your-flame {
  color: #e6c674;
  font: 750 .52em/1.1 var(--ke-font-ui,"DM Sans",sans-serif);
  letter-spacing: .1em;
  margin-top: 2px;
  text-transform: uppercase;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-growth-copy strong {
  color: #fffaf0;
  font-weight: 900;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card {
  align-items: center;
  border-top-color: rgba(241,220,167,.24);
  gap: 10px;
  justify-content: center;
  max-width: 230px;
  text-align: left;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card .ke-profile-avatar {
  flex: 0 0 48px;
  font-size: 16px;
  height: 48px;
  width: 48px;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card .ke-profile-avatar-media {
  background-color: #740e1c;
  background-image: var(--ke-profile-garnet-surface);
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card .ke-profile-avatar-edit { height: 22px; width: 22px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card .ke-profile-avatar-edit svg {
  fill: none;
  filter: none;
  height: 12px;
  stroke: #1a2830;
  width: 12px;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card > div { min-width: 0; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card strong { font-size: 15px; overflow-wrap: anywhere; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-keeper-card .ke-profile-photo-link { display: block; margin-top: 4px; text-align: left; }

/* Profile lives inside the persistent shell. Keep it above the other screens
   but below the header/footer rails so Karamo's raised portrait is never
   painted over at the top edge. */
html.ke-rebrand-mode #screen-area > #profile-overlay.ke-profile-overlay {
  z-index: 180 !important;
}

/* Plan's fixed launchers sit above ordinary screens. They belong to the
   underlying plan and must not paint over the open Profile page. */
html.ke-rebrand-mode #screen-area:has(> #profile-overlay.show) #scr-plan :is(#mp-add-open,#mp-karamo-chat) {
  visibility: hidden !important;
  pointer-events: none !important;
}

html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core,
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi.is-hexagon {
  aspect-ratio: .8660254 !important;
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%) !important;
}

html.ke-rebrand-mode .ke-profile-primary-flame :is(picture,img) {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-connected-settings {
  margin-top: 0 !important;
  padding-top: 8px !important;
}

html.ke-rebrand-mode .ke-profile-connected-settings .ke-profile-options-grid {
  margin-top: 0 !important;
}
/* Keep identity copy inside the central safe area of the point-top hexagon. */
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core {
  padding: 48px 38px !important;
  width: min(326px,100%);
  flex-shrink: 0;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-identity { width: 100%; gap: 4px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-primary-flame { height: 72px; width: 72px; flex: 0 0 72px; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-mark { margin: 2px auto 0; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-identity h1 {
  font-size: 23px;
  line-height: 1.05;
  margin: 0 0 8px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
html.ke-rebrand-mode .ke-profile-flame-identity h1 > span { display: block; }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-identity p {
  font-size: 14px;
  line-height: 1.25;
  margin: 0;
  max-width: 220px;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi-grid {
  --ke-profile-node-size: clamp(128px,40vw,214px);
  gap: 34px 18px;
}
html.ke-rebrand-mode .ke-profile-expanded > .ke-profile-keeper-card {
  margin: 0 auto 24px;
  max-width: 500px;
}
@media (max-width:374px) {
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-kpi-grid { grid-template-columns: repeat(2,var(--ke-profile-node-size)); gap: 30px 12px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-bloom-core { padding: 45px 26px !important; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-identity h1 { font-size: 21px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-primary-flame { height: 62px; width: 62px; flex-basis: 62px; }
  html.ke-rebrand-mode .ke-profile-bloom .ke-profile-flame-identity p { font-size: 13px; }
}
@media (forced-colors:active) {
  html.ke-rebrand-mode .ke-profile-settings-hex { border: 2px solid CanvasText; clip-path: none; }
  html.ke-rebrand-mode .ke-profile-settings-hex::before { content: none; }
}

/* KE-05: the existing jewel Bloom now carries six destinations. */
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-destination {
  cursor: pointer;
  font-family: 'Playfair Display', serif;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-destination strong {
  font-size: clamp(20px,5.5vw,28px);
  font-weight: 700;
  line-height: 1.12;
  margin: 0;
  max-width: 100%;
  text-wrap: balance;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-destination:focus-visible {
  outline: 3px solid #fff0b6;
  outline-offset: 5px;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-destination:hover { filter: brightness(1.16); }
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-statistic {
  cursor: default;
  font-family: 'DM Sans', sans-serif;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-statistic strong {
  font-family: 'Playfair Display', serif;
  font-size: clamp(17px,4.7vw,24px);
  font-weight: 700;
  line-height: 1.08;
  margin: 0;
  max-width: 100%;
  text-wrap: balance;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-statistic .ke-profile-statistic-value {
  color: #fff8e7;
  display: block;
  font: 800 clamp(31px,8vw,43px)/1 'DM Sans', sans-serif;
  letter-spacing: -.04em;
  margin: 9px 0 5px;
  opacity: 1;
}
html.ke-rebrand-mode .ke-profile-bloom .ke-profile-statistic small {
  display: block;
  font-size: clamp(8px,2.1vw,10px);
  line-height: 1.25;
  max-width: 136px;
  opacity: .78;
  text-wrap: balance;
}
html.ke-rebrand-mode .ke-profile-settings-entry {
  display: flex;
  justify-content: center;
  margin: 34px auto;
}
html.ke-rebrand-mode .ke-profile-settings-hex {
  align-items: center;
  aspect-ratio: .8660254;
  background: conic-gradient(from 30deg,#ffe9a0,#79501a,#f0ce78,#fff0ad);
  border: 0;
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  color: #fffaf2;
  cursor: pointer;
  display: flex;
  font: 700 17px/1.2 'Playfair Display',serif;
  justify-content: center;
  padding: 26px 18px;
  position: relative;
  text-align: center;
  width: 128px;
}
html.ke-rebrand-mode .ke-profile-settings-hex::before {
  background: var(--ke-profile-sapphire-surface);
  clip-path: inherit;
  content: '';
  inset: 3px;
  position: absolute;
}
html.ke-rebrand-mode .ke-profile-settings-hex strong { position: relative; }
html.ke-rebrand-mode .ke-profile-settings-hex:hover,
html.ke-rebrand-mode .ke-profile-settings-hex:focus-visible { background: #fff0b6; filter: brightness(1.25); }

/* Profile and Privacy share the same jewel path as the overview Bloom and
   Flame Guide. Dense work surfaces stretch the point-top hex vertically so
   controls keep a readable line length without introducing a second shape
   language. The centered spine finishes at the persistent Karamo portrait. */
html.ke-rebrand-mode #profile-overlay.ke-profile-guided-surface {
  --ke-profile-garnet-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#740e1c 0 27%,#30060a 72%,#030102 100%);
  --ke-profile-azure-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#135f8a 0 27%,#06243a 72%,#010203 100%);
  --ke-profile-peridot-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#297b0d 0 27%,#113205 72%,#010301 100%);
  --ke-profile-sapphire-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#140d74 0 27%,#07052d 72%,#010103 100%);
  --ke-profile-amethyst-surface:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.035),transparent 29%),
    radial-gradient(circle at 50% 42%,#460f75 0 27%,#200530 72%,#020103 100%);
  isolation: isolate;
}

html.ke-rebrand-mode #profile-overlay.ke-profile-guided-surface::before {
  background: linear-gradient(180deg,rgba(217,182,113,.12),#d7b56d 9%,#d7b56d 91%,rgba(241,220,167,.95));
  bottom: -1px;
  box-shadow: 0 0 9px rgba(241,220,167,.3);
  content: '';
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 22px;
  transform: translateX(-50%);
  width: 2px;
  z-index: 0;
}

html.ke-rebrand-mode #profile-overlay.ke-profile-guided-surface > :is(.ke-profile-subnav,.ke-profile-scroll,.ke-profile-signout-dock) {
  position: relative;
  z-index: 1;
}

html.ke-rebrand-mode .ke-profile-guided-surface .ke-profile-subnav {
  min-height: 58px;
  padding-top: 11px;
}

html.ke-rebrand-mode .ke-profile-guided-surface .ke-profile-scroll {
  padding-top: 10px;
  padding-bottom: 32px;
}

html.ke-rebrand-mode .ke-profile-guided-page {
  display: flex;
  flex-direction: column;
  gap: clamp(22px,4vw,34px);
  width: min(100%,900px);
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex {
  --ke-profile-guided-fill: var(--ke-profile-azure-surface);
  --ke-profile-guided-rim: conic-gradient(from 30deg,#ffe9a0 0 16.666%,#c28c35 16.666% 33.333%,#79501a 33.333% 50%,#9f7127 50% 66.666%,#f0ce78 66.666% 83.333%,#fff0ad 83.333% 100%);
  background: var(--ke-profile-guided-rim) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  clip-path: polygon(50% 0,100% 7%,100% 93%,50% 100%,0 93%,0 7%);
  filter: drop-shadow(0 3px 0 rgba(105,72,24,.72)) drop-shadow(0 16px 28px rgba(0,0,0,.32)) drop-shadow(0 0 14px rgba(215,181,109,.2));
  margin: 0 auto !important;
  max-width: 820px;
  overflow: hidden;
  padding: clamp(46px,6vw,58px) clamp(24px,6vw,58px) !important;
  position: relative;
  width: 100%;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex::before {
  background: var(--ke-profile-guided-fill);
  box-shadow: inset 0 2px 3px rgba(255,255,255,.09),inset -12px -16px 24px rgba(0,0,0,.19);
  clip-path: polygon(50% 1%,99.1% 7.65%,99.1% 92.35%,50% 99%,.9% 92.35%,.9% 7.65%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex > * {
  position: relative;
  z-index: 1;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-garnet { --ke-profile-guided-fill: var(--ke-profile-garnet-surface); }
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-sapphire { --ke-profile-guided-fill: var(--ke-profile-sapphire-surface); }
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-amethyst { --ke-profile-guided-fill: var(--ke-profile-amethyst-surface); }
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-peridot { --ke-profile-guided-fill: var(--ke-profile-peridot-surface); }
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-navy {
  --ke-profile-guided-fill:
    radial-gradient(circle at 38% 25%,rgba(255,255,255,.04),transparent 29%),
    linear-gradient(155deg,#19343f 0%,#0d252e 62%,#071820 100%);
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-header {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: clamp(205px,28vw,250px);
  padding-top: clamp(46px,6vw,58px) !important;
  text-align: left;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-view-header h1 {
  font-size: clamp(31px,5vw,46px);
  max-width: 680px;
  text-wrap: balance;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-view-header p {
  max-width: 650px;
  text-align: left;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-compact { min-height: 190px; }
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-medium { min-height: 280px; }
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-extended { min-height: 390px; }

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-keeper-card {
  align-items: flex-start;
  justify-content: flex-start;
  max-width: 820px;
  text-align: left;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-panel h2,
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-hub-panel-heading {
  text-align: left;
}

html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-panel > p,
html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-hub-panel-heading p {
  max-width: 680px;
  text-align: left;
}

html.ke-rebrand-mode .ke-profile-signout-dock {
  align-items: center;
  background: linear-gradient(180deg,rgba(8,23,30,.82),rgba(8,23,30,.98));
  border-top: 1px solid rgba(217,182,113,.24);
  display: flex;
  flex: 0 0 auto;
  gap: 16px;
  justify-content: center;
  min-height: 62px;
  padding: 8px 16px 10px;
}

html.ke-rebrand-mode .ke-profile-signout-dock .ke-profile-text-button {
  color: rgba(241,220,167,.76);
  margin: 0;
}

html.ke-rebrand-mode .ke-profile-signout-dock .ke-profile-signout-button {
  background: rgba(96,37,55,.94);
  border-color: rgba(241,220,167,.58);
  color: #fffaf2;
  min-height: 42px;
  min-width: 132px;
}

@media (max-width:560px) {
  html.ke-rebrand-mode .ke-profile-guided-surface .ke-profile-scroll { padding-inline: 9px; }
  html.ke-rebrand-mode .ke-profile-guided-page { gap: 20px; }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex {
    clip-path: polygon(50% 0,100% 5%,100% 95%,50% 100%,0 95%,0 5%);
    padding: 40px 18px !important;
  }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex::before {
    clip-path: polygon(50% 1%,99% 5.55%,99% 94.45%,50% 99%,1% 94.45%,1% 5.55%);
  }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex.is-header { min-height: 220px; padding-top: 42px !important; }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-view-header h1 { font-size: clamp(29px,10vw,38px); }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-setting { align-items: flex-start; gap: 12px; }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-setting-copy small { font-size: 10px; }
  html.ke-rebrand-mode .ke-profile-signout-dock { justify-content: space-between; }
  html.ke-rebrand-mode .ke-profile-signout-dock:not(:has(.ke-profile-text-button)) { justify-content: center; }
}

@media (max-width:340px) {
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex { padding-inline: 14px !important; }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-hub-panel-heading { gap: 9px; }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-hub-panel-heading .ke-profile-option-status { padding-inline: 7px; }
  html.ke-rebrand-mode .ke-profile-signout-dock { gap: 8px; padding-inline: 10px; }
  html.ke-rebrand-mode .ke-profile-signout-dock .ke-profile-signout-button { min-width: 112px; }
}

@media (prefers-reduced-motion:reduce) {
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex { filter: drop-shadow(0 10px 22px rgba(0,0,0,.28)); }
}

@media (forced-colors:active) {
  html.ke-rebrand-mode #profile-overlay.ke-profile-guided-surface::before { background: CanvasText; box-shadow: none; }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex {
    border: 2px solid CanvasText !important;
    clip-path: none;
    filter: none;
  }
  html.ke-rebrand-mode .ke-profile-guided-page .ke-profile-guided-hex::before { content: none; }
}
