:root {
  --chn-navy-1000: #030b12;
  --chn-navy-950: #06131f;
  --chn-navy-900: #0a1d2d;
  --chn-navy-850: #0d263a;
  --chn-navy-800: #12344c;
  --chn-ink: #14202a;
  --chn-ink-soft: #3f4e5a;
  --chn-muted: #6c7984;
  --chn-line: #dfe5e8;
  --chn-line-strong: #cfd7dc;
  --chn-paper: #ffffff;
  --chn-ivory: #fbfaf6;
  --chn-canvas: #071522;
  --chn-gold-1: #8a6226;
  --chn-gold-2: #bd9143;
  --chn-gold-3: #e2c676;
  --chn-gold-4: #f5e8bd;
  --chn-gold-5: #ad7d31;
  --chn-gold-gradient: linear-gradient(118deg, #8a6226 0%, #c49b50 30%, #f1dfa5 53%, #c29343 74%, #926928 100%);
  --chn-gold-soft-gradient: linear-gradient(135deg, rgba(138,98,38,.12), rgba(245,232,189,.48), rgba(173,125,49,.12));
  --chn-danger: #9c3c3c;
  --chn-warning: #8a651d;
  --chn-radius-xl: 30px;
  --chn-radius-lg: 20px;
  --chn-radius-md: 15px;
  --chn-shadow-xl: 0 30px 90px rgba(0,0,0,.28);
  --chn-shadow-card: 0 18px 50px rgba(4,20,32,.11);
}

.chn-root,
.chn-root * { box-sizing: border-box; }

.chn-root {
  width: 100%;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  color: var(--chn-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background:
    radial-gradient(circle at 10% 0%, rgba(211,174,91,.18), transparent 30%),
    radial-gradient(circle at 92% 16%, rgba(47,92,121,.28), transparent 34%),
    linear-gradient(145deg, var(--chn-navy-1000) 0%, var(--chn-navy-950) 38%, #0b2234 100%);
  isolation: isolate;
}

.chn-root::before,
.chn-root::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
  border-radius: 999px;
  filter: blur(2px);
}

.chn-root::before {
  width: 460px;
  height: 460px;
  right: -220px;
  top: -190px;
  border: 1px solid rgba(224,194,118,.2);
  box-shadow: 0 0 0 70px rgba(219,183,96,.025), 0 0 0 150px rgba(219,183,96,.018);
}

.chn-root::after {
  width: 280px;
  height: 280px;
  left: -160px;
  bottom: -160px;
  background: radial-gradient(circle, rgba(208,169,81,.11), transparent 68%);
}

.chn-root button,
.chn-root input,
.chn-root select { font: inherit; }

.chn-root button { cursor: pointer; }

.chn-app-shell {
  width: min(100%, 960px);
  margin: 0 auto;
  padding: clamp(14px, 2.4vw, 28px) clamp(12px, 2.4vw, 24px) 28px;
}

.chn-topbar {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 68px;
  margin: 0 4px 16px;
  color: white;
}

.chn-brand-logo,
.chn-hero-logo {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(239,217,158,.38);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 10px 30px rgba(0,0,0,.16);
}

.chn-brand-logo {
  width: 54px;
  height: 54px;
  border-radius: 16px;
}

.chn-hero-logo {
  width: 112px;
  height: 112px;
  border-radius: 28px;
}

.chn-brand-logo img,
.chn-hero-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 7px;
}

.chn-brand-logo.is-mask::before,
.chn-hero-logo.is-mask::before {
  content: "";
  position: absolute;
  inset: 11%;
  background: var(--chn-gold-gradient);
  -webkit-mask-image: var(--chn-logo-image);
  mask-image: var(--chn-logo-image);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.chn-logo-fallback {
  font-size: .93rem;
  font-weight: 900;
  letter-spacing: .08em;
  background: var(--chn-gold-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.chn-hero-logo .chn-logo-fallback {
  font-size: 1.55rem;
  letter-spacing: .11em;
}

.chn-brand-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  min-width: 0;
}

.chn-brand-copy strong {
  color: #fff;
  font-size: .96rem;
  font-weight: 760;
  letter-spacing: -.015em;
}

.chn-brand-copy span {
  color: rgba(231,238,244,.65);
  font-size: .72rem;
  margin-top: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chn-sync-pill {
  margin-left: auto;
  font-size: .72rem;
  color: #f6df9d;
  background: rgba(151,108,31,.18);
  border: 1px solid rgba(228,196,112,.24);
  padding: 8px 10px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
}

.chn-app-card {
  position: relative;
  min-height: 660px;
  overflow: hidden;
  background: rgba(255,255,255,.985);
  border: 1px solid rgba(236,214,153,.4);
  border-radius: var(--chn-radius-xl);
  box-shadow: var(--chn-shadow-xl);
}

.chn-app-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--chn-gold-gradient);
  z-index: 4;
}

.chn-card-body {
  position: relative;
  z-index: 1;
  padding: clamp(28px, 5vw, 52px);
}

.chn-screen {
  animation: chnScreenIn .46s cubic-bezier(.22,.9,.31,1) both;
}

.chn-screen.chn-screen-back {
  animation-name: chnScreenBack;
}

@keyframes chnScreenIn {
  from { opacity: 0; transform: translate3d(18px, 0, 0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@keyframes chnScreenBack {
  from { opacity: 0; transform: translate3d(-18px, 0, 0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

.chn-intro {
  min-height: 660px;
  display: grid;
  align-items: center;
}

.chn-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: clamp(30px, 6vw, 68px);
  align-items: center;
}

.chn-hero-art {
  min-height: 330px;
  position: relative;
  display: grid;
  place-items: center;
}

.chn-hero-orbit {
  width: 238px;
  height: 238px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
  border: 1px solid rgba(169,127,54,.23);
  background: radial-gradient(circle at 50% 45%, rgba(238,217,159,.28), rgba(248,248,245,.2) 35%, rgba(16,44,66,.025) 70%);
}

.chn-hero-orbit::before,
.chn-hero-orbit::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(178,136,62,.22);
}

.chn-hero-orbit::before { inset: 19px; }
.chn-hero-orbit::after { inset: 47px; border-color: rgba(178,136,62,.16); }

.chn-orbit-dot {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--chn-gold-gradient);
  top: 34px;
  right: 39px;
  box-shadow: 0 0 0 7px rgba(190,148,68,.09);
}

.chn-orbit-caption {
  position: absolute;
  bottom: 11px;
  right: -2px;
  font-size: .68rem;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #79633b;
  font-weight: 800;
}

.chn-eyebrow {
  margin: 0 0 14px;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #8b682c;
}

.chn-title,
.chn-heading {
  color: var(--chn-navy-950);
  letter-spacing: -.045em;
  text-wrap: balance;
}

.chn-title {
  margin: 0;
  font-size: clamp(2.35rem, 5.6vw, 4.55rem);
  line-height: .98;
  max-width: 650px;
  font-weight: 760;
}

.chn-heading {
  margin: 0;
  font-size: clamp(1.85rem, 4.2vw, 2.85rem);
  line-height: 1.06;
  font-weight: 730;
}

.chn-gold-text {
  background: var(--chn-gold-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.chn-lede {
  margin: 22px 0 0;
  max-width: 625px;
  color: var(--chn-ink-soft);
  font-size: clamp(1rem, 2.3vw, 1.13rem);
  line-height: 1.67;
}

.chn-intro-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 25px 0 31px;
}

.chn-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background: #f7f6f1;
  border: 1px solid #e9e2d1;
  color: #52606b;
  font-size: .76rem;
  font-weight: 650;
}

.chn-meta-chip::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--chn-gold-gradient);
}

.chn-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  align-items: center;
}

.chn-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  min-height: 54px;
  padding: 0 21px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 780;
  letter-spacing: -.01em;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
  -webkit-tap-highlight-color: transparent;
}

.chn-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transform: translateX(-55%);
  background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.3) 50%, transparent 80%);
  transition: opacity .2s ease, transform .6s cubic-bezier(.2,.75,.2,1);
}

.chn-button:hover::before { opacity: 1; transform: translateX(55%); }
.chn-button:hover { transform: translateY(-2px); }
.chn-button:active { transform: translateY(0) scale(.985); }
.chn-button:focus-visible { outline: 3px solid rgba(202,159,74,.28); outline-offset: 3px; }

.chn-button-primary {
  background: var(--chn-gold-gradient);
  color: #101821;
  box-shadow: 0 13px 28px rgba(146,101,35,.2), inset 0 1px 0 rgba(255,255,255,.48);
}

.chn-button-primary:hover { box-shadow: 0 17px 34px rgba(146,101,35,.28), inset 0 1px 0 rgba(255,255,255,.52); }

.chn-button-secondary {
  background: #f2f5f6;
  color: var(--chn-navy-900);
  border: 1px solid #dfe5e8;
  box-shadow: 0 8px 18px rgba(9,31,46,.04);
}

.chn-button-secondary:hover { border-color: #cbd5da; box-shadow: 0 10px 24px rgba(9,31,46,.08); }
.chn-button[disabled] { cursor: not-allowed; opacity: .45; transform: none; box-shadow: none; }

.chn-button-arrow {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(7,20,31,.09);
  transition: transform .18s ease;
}

.chn-button:hover .chn-button-arrow { transform: translateX(2px); }

.chn-ripple {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(255,255,255,.48);
  transform: translate(-50%,-50%) scale(0);
  animation: chnRipple .58s ease-out forwards;
  z-index: 3;
}

@keyframes chnRipple {
  to { transform: translate(-50%,-50%) scale(18); opacity: 0; }
}

.chn-small-note {
  margin: 19px 0 0;
  color: var(--chn-muted);
  font-size: .76rem;
  line-height: 1.6;
  max-width: 690px;
}

.chn-progress-wrap {
  position: relative;
  z-index: 2;
  padding: 23px clamp(28px, 5vw, 52px) 0;
}

.chn-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
  color: #7b858e;
  font-size: .72rem;
  font-weight: 650;
}

.chn-progress {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef1f2;
}

.chn-progress > div {
  height: 100%;
  position: relative;
  border-radius: inherit;
  background: var(--chn-gold-gradient);
  transition: width .42s cubic-bezier(.22,.9,.31,1);
}

.chn-progress > div::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
  transform: translateX(-100%);
  animation: chnProgressSheen 1.8s ease-in-out infinite;
}

@keyframes chnProgressSheen { 60%,100% { transform: translateX(100%); } }

.chn-question-card { padding-top: 34px; }

.chn-question-number {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #8a682c;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 11px;
}

.chn-question-number::before {
  content: "";
  width: 25px;
  height: 1px;
  background: var(--chn-gold-gradient);
}

.chn-question-help {
  color: var(--chn-muted);
  line-height: 1.58;
  margin: 13px 0 0;
}

.chn-options {
  display: grid;
  gap: 11px;
  margin: 29px 0 31px;
}

.chn-option {
  position: relative;
  opacity: 0;
  transform: translateY(8px);
  animation: chnOptionIn .38s cubic-bezier(.22,.9,.31,1) forwards;
  animation-delay: calc(var(--i, 0) * 38ms + 70ms);
}

@keyframes chnOptionIn { to { opacity: 1; transform: translateY(0); } }

.chn-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.chn-option label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 62px;
  padding: 13px 16px;
  border: 1px solid var(--chn-line);
  border-radius: 16px;
  background: #fff;
  color: #2a3944;
  font-weight: 630;
  line-height: 1.36;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.chn-option label:hover {
  transform: translateY(-1px);
  border-color: #c9b98e;
  box-shadow: 0 10px 24px rgba(12,38,55,.07);
}

.chn-option-indicator {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1.5px solid #abb6bd;
  background: white;
  box-shadow: inset 0 0 0 4px white;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.chn-option input[type="checkbox"] + label .chn-option-indicator { border-radius: 7px; }

.chn-option-indicator::after {
  content: "";
  width: 7px;
  height: 4px;
  border-left: 2px solid #13202a;
  border-bottom: 2px solid #13202a;
  transform: rotate(-45deg) scale(.2);
  opacity: 0;
  margin-top: -2px;
  transition: transform .16s ease, opacity .16s ease;
}

.chn-option input:checked + label {
  border-color: transparent;
  background:
    linear-gradient(#fffdf8, #fffdf8) padding-box,
    var(--chn-gold-gradient) border-box;
  box-shadow: 0 12px 30px rgba(152,109,37,.11);
}

.chn-option input:checked + label .chn-option-indicator {
  border-color: transparent;
  background: var(--chn-gold-gradient);
  box-shadow: none;
  transform: scale(1.04);
}

.chn-option input:checked + label .chn-option-indicator::after { opacity: 1; transform: rotate(-45deg) scale(1); }
.chn-option input:focus-visible + label { outline: 3px solid rgba(198,151,65,.24); outline-offset: 2px; }

.chn-dual-grid,
.chn-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
  margin: 28px 0 31px;
}

.chn-field-group { display: grid; gap: 8px; }
.chn-field-group > label { font-size: .78rem; font-weight: 760; color: #3d4c57; }

.chn-field-control {
  position: relative;
}

.chn-field-group select,
.chn-field-group input {
  width: 100%;
  min-height: 55px;
  border: 1px solid var(--chn-line);
  background: #fff;
  border-radius: 14px;
  padding: 0 14px;
  color: var(--chn-ink);
  outline: none;
  box-shadow: 0 5px 14px rgba(10,33,48,.025);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.chn-field-group select:hover,
.chn-field-group input:hover { border-color: #cbd4d9; }
.chn-field-group select:focus,
.chn-field-group input:focus {
  border-color: #b88a3c;
  box-shadow: 0 0 0 4px rgba(192,145,64,.11), 0 8px 20px rgba(11,36,52,.04);
}

.chn-field-span-2 { grid-column: span 2; }

.chn-consent-box {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  background: linear-gradient(135deg, #f8f9f8, #fbfaf6);
  border: 1px solid #e1e5e5;
  border-radius: 15px;
  padding: 15px;
  margin: 8px 0 28px;
}

.chn-consent-box input {
  margin-top: 2px;
  width: 19px;
  height: 19px;
  accent-color: #af8137;
}

.chn-consent-box label {
  color: #52606b;
  font-size: .76rem;
  line-height: 1.58;
}

.chn-validation {
  color: var(--chn-danger);
  font-size: .78rem;
  margin: -15px 0 20px;
  animation: chnValidation .25s ease both;
}

@keyframes chnValidation {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}

.chn-submit-status {
  min-height: 20px;
  margin-top: 14px;
  color: var(--chn-muted);
  font-size: .78rem;
}

.chn-result {
  min-height: 660px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.chn-result-mark {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  margin-bottom: 21px;
  background: var(--chn-gold-soft-gradient);
  border: 1px solid rgba(186,141,62,.22);
  box-shadow: 0 14px 32px rgba(151,107,35,.08);
}

.chn-result-mark svg { width: 34px; height: 34px; stroke: #8d6729; }

.chn-result-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: 8px;
  padding: 8px 11px;
  border-radius: 999px;
  margin-bottom: 16px;
  color: #785924;
  background: #faf4e5;
  border: 1px solid #ead9ad;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.chn-result .chn-title { font-size: clamp(2.35rem, 6.7vw, 4.45rem); }

.chn-result-text {
  max-width: 650px;
  margin: 19px 0 0;
  color: var(--chn-ink-soft);
  font-size: 1.04rem;
  line-height: 1.7;
}

/* v1.2 personalized result explanation */
.chn-reasons-section {
  max-width: 760px;
  margin: 34px 0 0;
}

.chn-section-heading {
  margin-bottom: 16px;
}

.chn-section-heading > span,
.chn-timing-kicker,
.chn-availability-box > span,
.chn-cta-copy > span {
  display: block;
  margin-bottom: 7px;
  color: #916b2d;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.chn-section-heading h2 {
  margin: 0;
  color: var(--chn-navy-950);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  letter-spacing: -.035em;
  line-height: 1.15;
}

.chn-reason-list {
  display: grid;
  gap: 12px;
}

.chn-reason-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  padding: 20px;
  border: 1px solid #e6e2d8;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff 0%, #fdfcf8 100%);
  box-shadow: 0 12px 34px rgba(8,31,48,.055);
  opacity: 0;
  transform: translateY(8px);
  animation: chnReasonIn .5s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: calc(.08s * var(--i));
}

.chn-reason-index {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #74511e;
  background: var(--chn-gold-soft-gradient);
  border: 1px solid rgba(178,132,53,.2);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.chn-reason-content h3 {
  margin: 0;
  color: var(--chn-navy-950);
  font-size: 1.02rem;
  line-height: 1.32;
  letter-spacing: -.018em;
}

.chn-reason-answer {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  align-items: baseline;
  margin: 9px 0 8px;
  color: #68747d;
  font-size: .76rem;
}

.chn-reason-answer span {
  color: #9a773d;
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.chn-reason-answer strong {
  color: #44525d;
  font-size: .78rem;
}

.chn-reason-content p {
  margin: 0;
  color: #56636e;
  font-size: .89rem;
  line-height: 1.62;
}

.chn-timing-box {
  max-width: 760px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 15px;
  margin: 20px 0 0;
  padding: 20px;
  border-radius: 18px;
  color: #edf3f7;
  background:
    radial-gradient(circle at 95% 0%, rgba(220,184,101,.14), transparent 34%),
    linear-gradient(135deg, #071727, #0d263a);
  box-shadow: 0 16px 38px rgba(5,22,35,.14);
}

.chn-timing-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #e9d196;
  border: 1px solid rgba(232,204,135,.24);
  background: rgba(255,255,255,.045);
  font-size: 1rem;
}

.chn-timing-box .chn-timing-kicker { color: #d5b56c; }
.chn-timing-box strong { display: block; color: #fff; font-size: 1rem; line-height: 1.38; }
.chn-timing-box p { margin: 7px 0 0; color: rgba(230,238,243,.76); font-size: .86rem; line-height: 1.62; }

.chn-availability-box {
  max-width: 760px;
  margin: 12px 0 0;
  padding: 16px 18px;
  border: 1px solid #ead8ac;
  border-radius: 16px;
  background: linear-gradient(135deg, #fffaf0, #fbf3df);
}

.chn-availability-box > span { margin-bottom: 4px; }
.chn-availability-box p { margin: 0; color: #5f5138; font-size: .86rem; line-height: 1.55; }

.chn-cta-panel {
  max-width: 760px;
  margin: 26px 0 0;
  padding: 22px;
  border: 1px solid #e2dccd;
  border-radius: 20px;
  background: #fbfaf6;
}

.chn-cta-copy > span { margin-bottom: 6px; }
.chn-cta-copy > strong { display: block; max-width: 620px; color: var(--chn-navy-950); font-size: 1.08rem; line-height: 1.38; }
.chn-cta-copy > p { max-width: 650px; margin: 8px 0 0; color: #64717b; font-size: .84rem; line-height: 1.58; }
.chn-result-buttons { margin-top: 18px; }

@keyframes chnReasonIn {
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 620px) {
  .chn-reason-card,
  .chn-timing-box { grid-template-columns: 1fr; }
  .chn-reason-index,
  .chn-timing-icon { width: 38px; height: 38px; }
  .chn-reason-card { padding: 17px; }
  .chn-cta-panel { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .chn-reason-card { opacity: 1; transform: none; animation: none; }
}



.chn-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 15px 7px 0;
  color: rgba(221,230,237,.54);
  font-size: .69rem;
}

.chn-text-button {
  border: 0;
  background: transparent;
  color: rgba(239,220,166,.82);
  padding: 4px 0;
  text-decoration: none;
  border-bottom: 1px solid rgba(239,220,166,.34);
}

.chn-text-button:hover { color: #f2d995; }

.chn-privacy-dialog {
  border: 0;
  border-radius: 22px;
  width: min(92vw, 575px);
  max-height: 82vh;
  box-shadow: var(--chn-shadow-xl);
  padding: 0;
  color: var(--chn-ink);
}

.chn-privacy-dialog::backdrop { background: rgba(2,10,16,.72); backdrop-filter: blur(4px); }
.chn-dialog-inner { padding: 31px; position: relative; }
.chn-dialog-inner h2 { color: var(--chn-navy-950); font-size: 1.85rem; margin: 0; letter-spacing: -.04em; }
.chn-dialog-inner p:not(.chn-eyebrow) { color: #52616e; line-height: 1.63; }
.chn-dialog-close { position: absolute; right: 16px; top: 12px; border: 0; background: transparent; font-size: 1.8rem; color: #6f7c87; }

.chn-admin-hint {
  display: none;
  color: rgba(255,255,255,.55);
  font-size: .68rem;
  margin-left: auto;
}

@media (max-width: 760px) {
  .chn-hero-grid { grid-template-columns: 1fr; }
  .chn-hero-art { min-height: auto; order: -1; justify-items: start; }
  .chn-hero-orbit { width: 142px; height: 142px; }
  .chn-hero-orbit::before { inset: 14px; }
  .chn-hero-orbit::after { inset: 32px; }
  .chn-hero-logo { width: 76px; height: 76px; border-radius: 20px; }
  .chn-orbit-dot { top: 18px; right: 23px; }
  .chn-orbit-caption { display: none; }
  .chn-intro { align-items: start; }
}

@media (max-width: 620px) {
  .chn-app-shell { padding: 10px 10px 22px; }
  .chn-topbar { min-height: 58px; margin: 0 3px 10px; }
  .chn-brand-logo { width: 46px; height: 46px; border-radius: 13px; }
  .chn-brand-copy span { max-width: 245px; }
  .chn-app-card { min-height: calc(100vh - 112px); border-radius: 22px; }
  .chn-card-body { padding: 27px 22px 30px; }
  .chn-intro, .chn-result { min-height: calc(100vh - 112px); }
  .chn-title { font-size: clamp(2.25rem, 11vw, 3.35rem); }
  .chn-heading { font-size: clamp(1.75rem, 8vw, 2.35rem); }
  .chn-progress-wrap { padding: 20px 22px 0; }
  .chn-dual-grid, .chn-contact-grid { grid-template-columns: 1fr; gap: 14px; }
  .chn-field-span-2 { grid-column: span 1; }
  .chn-button-row { display: grid; grid-template-columns: 1fr; }
  .chn-button { width: 100%; }
  .chn-question-card .chn-button-secondary { order: 2; }
  .chn-footer { align-items: flex-start; }
  .chn-brand-copy strong { font-size: .88rem; }
  .chn-option label { min-height: 59px; padding: 12px 13px; }
}

@media (max-width: 390px) {
  .chn-brand-copy span { max-width: 190px; }
  .chn-sync-pill { display: none; }
}

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