/* Genesis Advisory official visual baseline:
   https://github.com/remember20250224-coder/ChatGPTAstra-GenesisAdvisory-site
   Approved palette Genesis Blue + fonts Jost / Chiron Sung HK.
   Original SVG brand master and favicon are copied into /assets/. */
:root{
 --blue:#2F6CB3; --azure:#3A8FD6; --sky:#3CC3EE; --aqua:#7ACFDD; --mist:#B8E2F0;
 --ink:#0E1C2F; --slate:#5A6A7E; --line:#DCE4EE; --paper:#fff; --bg:#F4F7FB;
 --navy:#0E1C2F; --navy2:#173452; --gold:#2F6CB3; --gold2:#3A8FD6;
 --text:#0E1C2F; --muted:#5A6A7E; --edge:#DCE4EE; --ring:#3A8FD6;
 --font-en:'Jost',system-ui,sans-serif;--font-zh:'Chiron Sung HK','Noto Serif TC',serif;
 font-family:var(--font-zh),var(--font-en),sans-serif;
}
html[lang="en"]{font-family:var(--font-en),var(--font-zh),sans-serif}
body{background:#F4F7FB;color:var(--ink);font-family:var(--font-zh),var(--font-en),sans-serif;line-height:1.75}
button,input,select,textarea{font:inherit}
a:hover{color:var(--blue)}
body::before{height:7px;background:linear-gradient(90deg,var(--blue) 0 20%,var(--azure) 20% 40%,var(--sky) 40% 60%,var(--aqua) 60% 80%,var(--mist) 80%)}
.site-nav{height:auto;min-height:98px;padding:14px clamp(18px,5vw,75px);background:#fff;border-bottom:1px solid var(--line)}
.wordmark{display:flex;align-items:center;gap:18px;min-width:0}
.wordmark .brand-symbol{display:block;width:64px;height:64px;object-fit:contain;flex:none}
.wordmark .brand-text{display:flex;flex-direction:column;gap:1px;letter-spacing:0;color:#264F8C}
.wordmark .brand-text strong{font-family:var(--font-en);font-size:25px;font-weight:600;line-height:1.1;letter-spacing:.025em}
.wordmark .brand-text .brand-english{font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.25em}
.wordmark .brand-text small{font-family:var(--font-zh);font-size:13px;font-weight:700;letter-spacing:.06em;color:#264F8C}
.nav-tag{font-family:var(--font-en);color:var(--slate);font-size:11px;letter-spacing:.13em}
.nav-link{font-size:14px;font-weight:500;color:var(--blue)}
.landing{max-width:1420px;margin-top:36px;margin-bottom:28px;gap:16px}
.intro-panel{border-radius:140px 16px 16px 16px;background:linear-gradient(152deg,#e7f3fa 0%,#f4f9fd 58%,#dfeef8 100%);color:var(--ink);box-shadow:inset 0 0 0 1px #d6e7f1}
.intro-panel .eyebrow{color:var(--blue)}
.intro-panel h1{font-weight:500;letter-spacing:.015em;line-height:1.35;margin-top:80px;color:var(--ink)}
.intro-panel h1 span{color:var(--blue)}
.hero-lead{font-weight:500;color:var(--ink)}
.hero-sub,.market-item{color:var(--slate)}
.market-item strong{color:var(--blue)}
.market-rule{background:var(--line)}
.hero-bottom{border-color:var(--line)}
.hero-metric strong{color:var(--blue);font-family:var(--font-en),sans-serif;font-weight:500}
.hero-metric>span{color:var(--slate)}
.curve{border-color:rgba(47,108,179,.11)}.curve-two{border-color:rgba(58,143,214,.14)}
.form-panel{border-radius:16px;border:1px solid var(--line);box-shadow:0 8px 30px #0e1c2f0a}
.eyebrow.dark,.section-marker,.qnum{color:var(--blue)}
.tiny-dot{background:var(--azure)}
.form-badge{background:#e8f2f8;color:var(--blue);border-color:#d8e7f3}
.stepper-fill{background:var(--azure)}.step-stats span:last-child{color:var(--blue)}
.choice{border-color:var(--line);border-radius:10px}
.choice:hover,.choice:has(input:checked){border-color:var(--azure);background:#edf6fc}
.choice input:checked{border-color:var(--blue)}
.choice input:checked::after{background:var(--blue)}
.input-label input:focus,.question>input:focus{border-color:var(--azure);box-shadow:0 0 0 3px #3A8FD622}
.consent input{accent-color:var(--blue)}
.privacy-foot,.result-note{border-color:var(--blue);background:#eff6fb}
.btn{border-radius:8px}.btn-primary{background:var(--blue)}.btn-primary:hover{background:#22558f;color:white}
.section-marker span{font-family:var(--font-en),sans-serif}
.admin-card,.kpi{border-color:var(--line);border-radius:14px}
.admin-header h1,.company-cell{color:var(--ink)}.kpi strong{color:var(--blue);font-family:var(--font-en),sans-serif}
.link-btn,.admin-table a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.admin-table a:hover{color:#22558f}
.admin-table a[href^="mailto:"],.admin-table a[href^="https"]{overflow-wrap:anywhere}
.admin-table td{vertical-align:top}
.detail-grid a{color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}
.admin-tools .right{align-items:center}
.admin-extra{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.analysis-panel{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:12px;background:#f5f9fd}
.analysis-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
.analysis-report{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:13px;background:white;padding:16px;border-radius:8px;border:1px solid var(--line);margin-top:12px}
.analysis-title{font-size:17px;margin:14px 0 7px;color:var(--blue)}
.audit-table{min-width:880px;width:100%;border-collapse:collapse;font-size:12px}
.audit-table td,.audit-table th{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px;vertical-align:top}
.audit-table th{color:var(--slate);background:var(--bg)}
.admin-fineprint{font-size:12px;color:var(--slate)}
@media(max-width:840px){
 .landing{gap:0}.intro-panel{border-radius:0;min-height:410px}.form-panel{border-radius:0}
 .intro-panel h1{margin-top:35px}
}
@media(max-width:550px){
 .site-nav{min-height:74px}.wordmark{gap:10px}
 .wordmark .brand-symbol{width:42px;height:42px}
 .wordmark .brand-text strong{font-size:16px}
 .wordmark .brand-text .brand-english{font-size:7px}
 .wordmark .brand-text small{font-size:10px}
 .nav-link{font-size:12px}
 .intro-panel{padding-top:35px}
}
@media(prefers-reduced-motion:reduce){.btn,.choice{transition:none}}

/* Original corporate header lockup from the Genesis Advisory source site. */
.site-nav .wordmark{display:flex;align-items:center;gap:18px}
.site-nav .company-symbol{width:72px;height:auto;object-fit:contain;flex-shrink:0}
.site-nav .brand-name{display:flex;flex-direction:column;gap:10px;width:200px;flex:none}
.site-nav .brand-wordmark{width:100%;height:auto;display:block}
.site-nav .brand-name small{display:block;margin:0;font-family:var(--font-zh),serif;font-size:16px;font-weight:700;line-height:1.25;letter-spacing:.02em;color:#264F8C;text-align:justify;text-align-last:justify}
@media(max-width:680px){
 .site-nav .wordmark{gap:14px}
 .site-nav .company-symbol{width:48px}
 .site-nav .brand-name{width:134px;gap:8px}
 .site-nav .brand-name small{font-size:13px}
}
@media(max-width:380px){.site-nav .company-symbol{width:40px}.site-nav .brand-name{width:116px}.site-nav .brand-name small{font-size:11px}}
