/* Gold Card Taiwan — visual refresh, global layer (fonts, tokens, header, footer, buttons)
   Namespaced with gc- / --gc- so it can be introduced alongside the legacy inline styles
   during the phased rollout without colliding with not-yet-restyled sections. */

:root{
  --gc-ink:#14161A;
  --gc-ink-raised:#1A1C20;
  --gc-ink-rule:#2B2D31;
  --gc-ink-border:#33363B;
  --gc-body:#2C2E33;
  --gc-text2:#5D5A54;
  --gc-muted:#8B877F;
  --gc-faint:#B3AD9F;
  --gc-paper:#FFFFFF;
  --gc-warm:#FAF8F4;
  --gc-cream:#FBF3E4;
  --gc-rule:#ECE8E0;
  --gc-rule-light:#F0ECE4;
  --gc-rule-warm-a:#E8E3D9;
  --gc-rule-warm-b:#EEE9DF;
  --gc-gold-text:#9A7526;
  --gc-gold-text-ink:#C8A45E;
  --gc-gold-grad-light:linear-gradient(145deg,#D9B269,#A8802E);
  --gc-gold-grad-ink:linear-gradient(145deg,#E6C079,#B08C3E);
  --gc-gold-letter:#FFFDF8;
  --gc-success-text:#3F7A4C;
  --gc-success-bg:#F4F8F4;
  --gc-success-border:#DFE8E0;
}

.gc-h1{font-family:'Marcellus',Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.01em;margin:0}
.gc-h2{font-family:'Marcellus',Georgia,serif;font-weight:400;line-height:1.08;margin:0}
.gc-mono{font-family:'IBM Plex Mono',monospace}

/* ---------- Header ---------- */
.gc-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--gc-rule)}
.gc-header-inner{max-width:1280px;margin:0 auto;padding:16px 48px;display:flex;align-items:center;gap:32px;flex-wrap:wrap;row-gap:14px}
.gc-nav-logo{display:flex;align-items:center;gap:12px;flex:none;text-decoration:none}
.gc-nav-mark{width:46px;height:35px;border-radius:4px;background:var(--gc-gold-grad-light);padding:4px;box-sizing:border-box;flex:none}
.gc-nav-mark-inner{width:100%;height:100%;border-radius:2px;border:1px solid rgba(255,253,248,.6);box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.gc-nav-mark svg{display:block;width:100%;height:100%}
.gc-nav-wordmark{display:flex;flex-direction:column;gap:3px}
.gc-nav-wordmark .gc-w1{font-family:'Marcellus',Georgia,serif;font-size:19px;letter-spacing:.06em;line-height:1;white-space:nowrap;color:var(--gc-ink)}
.gc-nav-wordmark .gc-w2{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.3em;color:var(--gc-gold-text);line-height:1}
.gc-nav-links{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:14px 22px;font-size:14px;color:var(--gc-text2);list-style:none;margin:0;padding:0}
.gc-nav-links a{color:var(--gc-text2);text-decoration:none;transition:color .15s}
.gc-nav-links a:hover{color:var(--gc-ink)}
.gc-nav-cta{flex:none;margin-left:auto;background:var(--gc-ink);color:var(--gc-warm);padding:13px 22px;font-size:14px;font-weight:500;white-space:nowrap;text-decoration:none;transition:background .15s}
.gc-nav-cta:hover{background:#232529;color:var(--gc-warm)}
.gc-burger{display:none;width:38px;height:38px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--gc-rule);flex-shrink:0;padding:0;margin-left:6px;cursor:pointer}
.gc-burger span{display:block;position:relative;width:16px;height:1.5px;background:var(--gc-ink);transition:background .15s ease}
.gc-burger span::before,.gc-burger span::after{content:'';position:absolute;left:0;width:16px;height:1.5px;background:var(--gc-ink);transition:transform .2s ease}
.gc-burger span::before{top:-5px}
.gc-burger span::after{top:5px}
.gc-burger[aria-expanded="true"] span{background:transparent}
.gc-burger[aria-expanded="true"] span::before{transform:translateY(5px) rotate(45deg)}
.gc-burger[aria-expanded="true"] span::after{transform:translateY(-5px) rotate(-45deg)}

@media(max-width:960px){
  .gc-burger{display:flex}
  .gc-nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 10px;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);border-bottom:1px solid var(--gc-rule);max-height:calc(100vh - 60px);overflow-y:auto}
  .gc-nav-links.open{display:flex}
  .gc-nav-links a{display:block;padding:14px 28px;font-size:15px;border-bottom:1px solid var(--gc-rule)}
}
@media(max-width:600px){
  .gc-header-inner{padding:12px 16px;gap:10px}
  .gc-nav-cta{display:none}
}

/* ---------- Buttons (global system, used site-wide) ---------- */
.gc-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:'Archivo',Helvetica,sans-serif;font-size:15px;font-weight:500;padding:17px 28px;border:none;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.gc-btn-ink{background:var(--gc-ink);color:var(--gc-warm)}
.gc-btn-ink:hover{background:#232529}
.gc-btn-gold{background:var(--gc-gold-grad-ink);color:var(--gc-ink);font-weight:600}
.gc-btn-gold:hover{filter:brightness(.96)}
.gc-btn-outline{background:transparent;color:var(--gc-ink);border:1px solid #D8D3C9}
.gc-btn-outline:hover{border-color:var(--gc-ink)}
.gc-btn-outline-ink{background:transparent;color:#E4E0D8;border:1px solid var(--gc-ink-border)}
.gc-btn-outline-ink:hover{color:var(--gc-warm);border-color:#4A4E55}
.gc-btn-sm{padding:13px 22px;font-size:14px}

/* ---------- Footer ---------- */
.gc-footer{background:var(--gc-paper);border-top:1px solid var(--gc-rule)}
.gc-footer-grid{max-width:1280px;margin:0 auto;padding:72px 48px 40px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
.gc-footer-brand{display:flex;flex-direction:column;gap:18px}
.gc-footer-desc{font-size:14px;line-height:1.7;color:var(--gc-muted);max-width:290px}
.gc-footer-col{display:flex;flex-direction:column;gap:12px}
.gc-footer-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--gc-muted);margin-bottom:4px}
.gc-footer-col a{font-size:14px;color:var(--gc-ink);text-decoration:none}
.gc-footer-col a:hover{color:var(--gc-gold-text)}
.gc-footer-bottom-wrap{max-width:1280px;margin:0 auto;padding:0 48px 48px}
.gc-footer-bottom{border-top:1px solid var(--gc-rule);padding-top:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--gc-faint)}

@media(max-width:960px){
  .gc-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:600px){
  .gc-footer-grid{grid-template-columns:1fr;padding:56px 24px 32px}
  .gc-footer-bottom-wrap{padding:0 24px 32px}
  .gc-footer-bottom{flex-direction:column;gap:6px}
}
