/* Genesis Advisory questionnaire visual alignment.
   Brand reference: ChatGPTAstra-GenesisAdvisory-site/public
   This is intentionally an override. Keep questionnaire functionality and selectors intact. */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap');
:root {
  --navy:#2F6CB3; --navy2:#3A8FD6;
  --gold:#2F6CB3; --gold2:#3A8FD6;
  --text:#0E1C2F; --muted:#5A6A7E; --edge:#DCE4EE;
  --paper:#ffffff; --bg:#F4F7FB; --ring:#B8E2F0;
  --genesis-blue:#2F6CB3; --genesis-azure:#3A8FD6;
  --genesis-sky:#3CC3EE; --genesis-aqua:#7ACFDD; --genesis-mist:#B8E2F0;
  font-family:'Chiron Sung HK','Noto Sans TC',system-ui,sans-serif;
}
body { background:var(--bg); color:var(--text); }
body::before { height:7px; background:linear-gradient(90deg,#2F6CB3 0% 20%,#3A8FD6 20% 40%,#3CC3EE 40% 60%,#7ACFDD 60% 80%,#B8E2F0 80% 100%); }
.site-nav { min-height:98px;height:auto;padding-top:17px;padding-bottom:17px;background:#fff;border-bottom:1px solid #DCE4EE;gap:20px; }
.wordmark { display:inline-flex;align-items:center;gap:18px;flex-shrink:0; }
.company-symbol { width:72px;height:auto;flex:none;object-fit:contain; }
.brand-name { display:flex;flex-direction:column;gap:8px;width:200px; }
.brand-wordmark { display:block;width:100%;height:auto;object-fit:contain; }
.brand-name small {display:block;font-family:'Chiron Sung HK','Noto Sans TC',serif;font-size:15px;font-weight:700;color:#264F8C;letter-spacing:.025em;text-align:justify;text-align-last:justify;line-height:1.35;}
.nav-right { gap:28px; }
.nav-tag { font-size:12px;color:#5A6A7E;letter-spacing:.08em; }
.nav-link { font-size:13px;color:#2F6CB3;letter-spacing:.02em; }
.nav-link span {color:#3A8FD6;}
.landing {max-width:1420px;grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:22px;margin:38px auto 34px;padding:0 28px;}
.intro-panel {border:1px solid #DCE4EE;border-radius:18px; min-height:790px;background:#f5f9fd url('/brand/cityscape.svg') no-repeat right -150px bottom -200px;background-size:auto 64%;color:var(--text);box-shadow:0 9px 25px #0e1c2f09;}
.intro-panel:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f5f9fdfa 0%,#f5f9fde8 56%,#f5f9fd52 100%);z-index:0;pointer-events:none;}
.intro-panel .eyebrow {color:#2F6CB3;}
.tiny-dot {background:#3CC3EE;}
.intro-panel h1{color:#0E1C2F;letter-spacing:.01em;line-height:1.42;font-weight:500;margin-top:66px;}
.intro-panel h1 span{color:#2F6CB3;}
.hero-lead{color:#0E1C2F;line-height:1.8;font-weight:500;}
.hero-sub{color:#5A6A7E;line-height:1.95;}
.market-strip{margin-top:36px;}
.market-item{color:#527391;letter-spacing:.09em;}
.market-item strong{color:#0E1C2F;}
.market-rule{background:#bdd1e5;}
.hero-bottom{padding-top:34px;border-top:1px solid #DCE4EE;}
.hero-metric strong{color:#2F6CB3;font-family:Jost,system-ui,sans-serif;font-weight:500;}
.hero-metric>span{color:#5A6A7E;}
.curve{display:none;}
.form-panel{border-radius:18px;border:1px solid #DCE4EE;box-shadow:0 9px 25px #0e1c2f0c;}
.eyebrow.dark{color:#2F6CB3;}
.form-title-row h2,.form-step h3,.admin-header h1,.login-card h1{color:#0E1C2F;font-weight:600;}
.form-badge{background:#edf5fc;border-color:#c7dcf0;color:#2F6CB3;}
.stepper-fill{background:linear-gradient(90deg,#2F6CB3,#3CC3EE);}
.step-stats span:last-child,.section-marker,.qnum{color:#2F6CB3;}
.section-marker span{font-family:Jost,'Noto Sans TC',sans-serif;}
.choice{border-radius:10px;color:#35495f;transition:border-color .15s,background .15s,box-shadow .15s;}
.choice:hover{background:#f4f9fd;border-color:#92b8dc;}
.choice:has(input:checked){color:#0E1C2F;background:#ecf5fc;border-color:#2F6CB3;box-shadow:0 0 0 1px #2f6cb32e;}
.choice input:checked{border-color:#2F6CB3;}
.choice input:checked::after{background:#2F6CB3;}
.input-label input,.question>input{border-radius:9px;}
.input-label input:focus,.question>input:focus{border-color:#3A8FD6;box-shadow:0 0 0 3px #b8e2f060;}
.consent input{accent-color:#2F6CB3;}
.privacy-foot{border-left-color:#3A8FD6;background:#f1f7fc;}
.btn{border-radius:8px;}
.btn-primary{background:#2F6CB3;}
.btn-primary:hover{background:#22558f;}
.btn-outline{border-color:#cadbea;color:#2F6CB3;}
.btn-quiet{color:#5A6A7E;}
.result-note{border-color:#2F6CB3;background:#edf5fc;color:#335c85;}
.form-footer,.site-footer{letter-spacing:.025em;color:#73879a;}
.admin-card,.kpi{border-color:#DCE4EE;border-radius:14px;}
.admin-header h1{font-family:'Chiron Sung HK','Noto Sans TC',sans-serif;}
.admin-table th{background:#edf5fc;color:#496582;}
.admin-table td{border-color:#e1eaf1;}
.link-btn{color:#2F6CB3;}
a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#3A8FD6;}
@media(max-width:840px){
  .landing{gap:0;margin-top:0;padding:0;}
  .intro-panel,.form-panel{border-radius:0;border-left:0;border-right:0;}
  .intro-panel{min-height:450px;background-position:right -60px bottom -200px;background-size:auto 80%;}
}
@media(max-width:550px){
  .site-nav{min-height:75px;padding:12px 16px;}
  .wordmark{gap:9px;}
  .company-symbol{width:42px;}
  .brand-name{width:135px;gap:5px;}
  .brand-name small{font-size:11px;}
  .nav-right{gap:12px;}
  .nav-link{font-size:11px;}
  .intro-panel{min-height:440px;}
  .intro-panel h1{font-size:37px;}
  .hero-bottom{padding-top:17px;}
}
@media(prefers-reduced-motion:reduce){.choice,.btn{transition:none;}}

.admin-table .record-link,.detail .record-link{color:#2F6CB3;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.admin-table .record-link:hover,.detail .record-link:hover{color:#22558f}
.ai-panel{margin-top:26px;padding:20px;background:#f4f8fc;border:1px solid #dbe7f3;border-radius:12px}
.ai-panel h3{font-size:20px;margin:0 0 10px}
.ai-panel h4{font-size:15px;margin:20px 0 8px;color:#2F6CB3}
.ai-panel .ai-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}
.ai-panel pre{font:13px/1.8 'Chiron Sung HK','Noto Sans TC',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e2ebf3;padding:15px;border-radius:8px;max-height:430px;overflow:auto}
