:root { --cream:#ffffff; --cream-dark:#f3f6fa; --paper:#ffffff; }
.trophy-proposal { margin:32px 0; padding:24px 0; border-top:3px solid var(--blue); border-bottom:1px solid #d9dfe7; }
.trophy-proposal h3 { font-size:24px; margin-bottom:16px; }
.trophy-proposal p { font-size:15px; line-height:1.8; margin-bottom:12px; max-width:900px; }
.joint-support { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin:20px 0 36px; }
.support-brand { height:180px; display:flex; align-items:center; justify-content:center; padding:20px; }
.support-brand--foundation { background:#000; }
.support-brand img { height:auto; max-height:100%; width:100%; max-width:340px; object-fit:contain; }
.support-brand--penyes { background:#000000; }
.support-brand--penyes strong { font-size:28px; }
.support-organization h3 { font-family:inherit; font-size:20px; line-height:1.4; margin:16px 0 8px; overflow-wrap:anywhere; }
.support-organization p { font-size:15px; color:var(--ink-light); line-height:1.8; }
@media(max-width:640px) { .joint-support {grid-template-columns:1fr;gap:24px;} .support-brand {height:160px;} }
.dinner-program { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:32px 0; }
.dinner-program h3 { font-size:22px; margin-bottom:10px; }
.dinner-program p,.dinner-date { font-size:15px; line-height:1.8; }
.dinner-date { margin:24px 0 32px; color:var(--ink-light); }
.invitation-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:20px; }
.invitation-gallery a { text-decoration:none; font-weight:700; }
.invitation-gallery img { width:100%; aspect-ratio:9/16; object-fit:contain; background:#080b12; display:block; margin-bottom:8px; }
@media(max-width:640px) { .dinner-program{grid-template-columns:1fr;gap:20px;} .invitation-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;} }
html { scroll-padding-top:130px; }
.topbar { box-shadow:0 4px 20px rgba(0,0,0,.04); }
.lang-switch { border-radius:6px; background:#f3f6fa; }
.lang-button { border-radius:4px; min-height:40px; }
.label-caps { letter-spacing:0; border-radius:4px; background:#fff4d6; }
.hero { max-width:1320px; margin:auto; gap:48px; }
.hero::after { display:none; }
.hero h1 { text-wrap:balance; }
.hero p { line-height:1.8; }
.hero .date-note { font-size:13px; margin-top:18px; color:var(--ink-light); }
.ticket-title { font-size:48px; line-height:1.05; }
.ticket-kicker { font-family:inherit; font-size:22px; font-weight:800; }
.floating-note { display:none; }
.cta-button { border-radius:6px; box-shadow:none; }
.section { padding:72px 0; }
.section-title { font-size:36px; line-height:1.3; }
.section-lead { font-size:16px; max-width:780px; }
.card-title { font-size:23px; line-height:1.4; min-height:66px; }
.card-desc { font-size:15px; line-height:1.8; }
.number-card .card-number { font-size:64px; top:12px; right:16px; }
.penya-logo-wrap { border-radius:8px; width:88px; height:88px; }
.mechanism-panel { border-radius:0; box-shadow:none; background:transparent; }
.map-panel { border-radius:0; box-shadow:none; }
.asia-map { border-radius:8px; }
.schedule-item { border-radius:6px; }
.cta-section { padding:64px 24px; }
.registration-languages button { min-height:44px; }
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible { outline:3px solid #2b7fd8; outline-offset:3px; }
@media(max-width:980px) {
  .hero { grid-template-columns:1fr; padding-top:128px; gap:32px; min-height:auto; }
  .hero h1 { font-size:44px; }
  .hero-visual { display:block; }
  .ticket { width:100%; padding:28px; }
  .ticket::before { display:none; }
  .ticket-title br { display:none; }
  .ticket-title { font-size:32px; }
  .ticket-meta { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; margin-top:18px; }
}
@media(max-width:640px) {
  html { scroll-padding-top:132px; }
  .topbar { top:8px; width:calc(100% - 24px); border-radius:8px; padding:8px 10px; gap:8px; }
  .header-logo { width:32px; height:32px; }
  .brand-text { font-size:13px; }
  .hero { padding:140px 20px 40px; gap:24px; }
  .anniversary-logo { width:220px; max-width:65%; margin-bottom:20px; }
  .label-caps { font-size:11px; padding:6px 8px; }
  .hero h1 { font-size:34px; line-height:1.25; }
  .hero p { font-size:15px; margin-top:16px; }
  .hero-actions { gap:10px; margin-top:24px; }
  .ticket { padding:20px; }
  .ticket-title { font-size:28px; }
  .meta-row { font-size:13px; gap:8px; }
  .section { padding:44px 0; }
  .section-title { font-size:27px; }
  .section-number { font-size:28px; }
  .card-title { min-height:0; font-size:22px; }
  .number-card { padding:22px; }
  .features-grid { gap:16px; }
  .cta-section { padding:44px 20px; }
  .cta-section p { font-size:14px; }
  .charity-brands { gap:24px; }
  #registration-dialog { max-height:92dvh; }
  .registration-languages { gap:4px; }
}
