
:root{
  --acc: #1F3A5F; --acc-deep: #142843; --acc-rgb: 31,58,95; --acc-tint: #EEF2F7;
  
  --red: var(--acc); --red-deep: var(--acc-deep); --red-rgb: var(--acc-rgb);
  --accent-rgb: var(--acc-rgb); --accent2-rgb: var(--acc-rgb); --sheen-rgb: var(--acc-rgb);
  --gold: var(--acc); --gold-dark: var(--acc-deep); --gold-muted: var(--acc); --gold-light: var(--acc-deep);
  --accent-text: var(--acc); --btn-bg: var(--acc); --btn-bg-hover: var(--acc-deep);
  --hair: rgba(11,14,20,.10); --hair-2: rgba(11,14,20,.16); --mute: #5B6170; --cool: #F5F6F8;
  --logo: #942525;
}
html[data-accent="b"]{ --acc: #44586E; --acc-deep: #33445A; --acc-rgb: 68,88,110; --acc-tint: #EFF2F5; }


.site-header .logo-img, .site-footer .logo-foot{ content: normal !important; display:block; border:0 !important; outline:0 !important; box-shadow:none !important; background:transparent !important; border-radius:0 !important; filter:none !important; mix-blend-mode: normal !important; transform:none !important; }
.site-header .logo-img{ width: 46px !important; height: 46px !important; }
@media (max-width: 700px){ .site-header .logo-img{ width: 40px !important; height: 40px !important; } }
.logo-area a{ gap: 14px !important; outline-offset: 6px; }
.logo-text{ border-left: 0 !important; padding-left: 0 !important; font-size: 15px !important; line-height: 1.22 !important; }
.site-header .logo-text span{ color: var(--logo) !important; } .logo-text span{ letter-spacing: .28em !important; font-size: 9.5px !important; margin-top: 5px !important; }


.site-header{ background:#fff !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border-bottom: 1px solid var(--hair) !important; }
.header-right{ gap: 6px !important; align-items: center; }
html .header-right .lang-btn{ border: 0 !important; background: transparent !important; color: var(--mute) !important; font-size: 12.5px !important; font-weight: 500 !important; padding: 5px 7px !important; border-radius: 6px !important; box-shadow:none !important; }
html .header-right .lang-btn img, html .header-right .lang-btn svg{ width: 16px !important; height: auto !important; opacity: .9; border-radius: 2px; }
html .header-right .lang-btn:hover{ color: var(--ink) !important; background: var(--cool) !important; }
html .header-right .lang-btn.active{ background: transparent !important; color: var(--ink) !important; box-shadow: inset 0 -1.5px 0 var(--ink) !important; border-radius: 0 !important; }
html .header-right .lang-btn.active span{ color: var(--ink) !important; }
.header-right .btn-nom{ font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; padding: 7px 13px !important; line-height: 1.2 !important; border-radius: 6px !important; box-shadow: none !important; min-height: 0 !important; height: auto !important; margin: 0 !important; transition: background .2s ease, color .2s ease, border-color .2s ease !important; }
.header-right .btn-nom[href*="lockbox"]{ background: transparent !important; border: 0 !important; color: var(--ink) !important; padding-left: 8px !important; padding-right: 8px !important; margin-left: 10px !important; }
.header-right .btn-nom[href*="lockbox"]::before{ content:''; display:inline-block; width: 9px; height: 10px; margin-right: 7px; vertical-align: -1px;
  background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M2 4V3a2.5 2.5 0 0 1 5 0v1h1v6H1V4h1zm1 0h3V3a1.5 1.5 0 0 0-3 0v1z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M2 4V3a2.5 2.5 0 0 1 5 0v1h1v6H1V4h1zm1 0h3V3a1.5 1.5 0 0 0-3 0v1z'/%3E%3C/svg%3E") center/contain no-repeat; opacity:.7; }
.header-right .btn-nom[href*="lockbox"]:hover{ background: var(--cool) !important; }
.header-right .btn-nom[href*="nomination"]{ background: var(--acc) !important; border: 1px solid var(--acc) !important; color:#fff !important; }
.header-right .btn-nom[href*="nomination"]:hover{ background: var(--acc-deep) !important; border-color: var(--acc-deep) !important; }
.nav-link.active{ border-bottom-color: var(--ink) !important; }


.fhero{ background:#fff; padding: 24px var(--sp-3) 0; }
.f-wrap{ max-width: 1200px !important; }
.f-h1{ font-size: clamp(32px, 2.9vw, 42px) !important; line-height: 1.04 !important; letter-spacing: -.035em !important; font-weight: 500 !important; max-width: 1100px; margin: 0 0 18px !important; }
html[lang="th"] .f-h1, html[lang="zh-Hans"] .f-h1{ letter-spacing: 0 !important; line-height: 1.2 !important; font-size: clamp(30px,3.2vw,46px) !important; }
.f-grid{ display:grid; grid-template-columns: minmax(0,1fr) 270px; gap: 48px; align-items: start; }
.f-aside{ border-top: 1px solid var(--ink); padding-top: 18px; }
.f-lede{ font-size: 19px; line-height: 1.5; color: #2A2F38; margin: 0 0 22px; letter-spacing: -.01em; text-wrap: pretty; }
html[lang="th"] .f-lede, html[lang="zh-Hans"] .f-lede{ letter-spacing: 0; line-height: 1.7; font-size: 17.5px; }
.f-about{ font-size: 14px; font-weight: 500; color: var(--ink) !important; text-decoration: none; border-bottom: 1px solid var(--hair-2); padding-bottom: 2px; }
.f-about:hover{ border-color: var(--ink); }


.f-panel{ border: 1px solid var(--hair-2); border-radius: 14px; background:#fff; overflow: hidden; }
.f-tabs{ display:flex; gap: 0; border-bottom: 1px solid var(--hair); padding: 0 24px; overflow-x: auto; scrollbar-width: none; }
.f-tabs::-webkit-scrollbar{ display:none; }
.f-tab{ appearance:none; background:none; border:0; font: inherit; font-size: 15.5px; font-weight: 500; letter-spacing: -.01em; color: #6A707D; padding: 11px 0 9px; margin-right: 30px; cursor:pointer; position:relative; white-space: nowrap; transition: color .2s ease; }
.f-tab::after{ content:''; position:absolute; left:0; right:0; bottom:-1px; height: 2px; background: var(--acc); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.f-tab:hover{ color: var(--ink); }
.f-tab.on{ color: var(--ink); }
.f-tab.on::after{ transform: scaleX(1); }
.f-tab:focus-visible{ outline: 2px solid var(--acc); outline-offset: 2px; border-radius: 3px; }

.f-clause{ display:block; }
.f-ctl{ padding: 7px 24px; display:flex; align-items:center; flex-wrap: wrap; gap: 8px 18px; border-bottom: 1px solid var(--hair); background:#fff; }
.f-ctl .f-eyebrow{ display:none; }
.f-ctl .f-sel:last-child{ margin-right: 0; }
.f-eyebrow{ font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mute) !important; text-decoration:none; }
html[lang="zh-Hans"] .f-eyebrow{ letter-spacing: .06em; }
a.f-eyebrow:hover{ color: var(--ink) !important; }
.f-sel{ display:flex; align-items:center; gap: 8px; position:relative; margin:0; }
.f-sel > span{ font-size: 12.5px; color: var(--mute); }
.f-sel select{ appearance:none; -webkit-appearance:none; max-width: 330px; font: inherit; font-size: 13.5px; font-weight: 500; color: var(--ink); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230B0E14' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 10px center; border: 1px solid var(--hair-2); border-radius: 7px; padding: 5px 28px 5px 10px; cursor:pointer; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; transition: border-color .2s ease; }
.f-sel select:hover{ border-color: rgba(11,14,20,.45); }
.f-sel select:focus-visible{ outline: 2px solid var(--acc); outline-offset: 1px; }
.f-sel.is-off select{ cursor: not-allowed; color: #9096A1; background-color: var(--cool); border-style: dashed; }
.f-sel.is-off > span{ color: #9096A1; }
.f-note{ display:none; }
.f-sel[hidden]{ display:none !important; }
.f-offnote{ font-size: 12.5px; color: #6B7280; padding: 5px 0; }
.f-offnote:empty{ display:none; }
.f-ctl{ min-height: 46px; }
.f-note:empty{ display:none; }

.f-doc{ margin:0; padding: 14px 24px 10px; background: #FAFBFC; display:flex; flex-direction:column; min-width:0; }
.f-doc figcaption{ display:flex; justify-content:space-between; align-items:baseline; gap: 14px; margin-bottom: 10px; }
.f-ctitle{ font-size: 13.5px; font-weight: 600; color: var(--ink); letter-spacing: -.005em; }
.f-clabel{ font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); white-space: nowrap; }
.f-ctext{ font-size: 14.5px; line-height: 1.6; color: #1F232B; max-height: calc(1.6em * 7.2); overflow: hidden; position: relative; transition: max-height .45s var(--ease);
  -webkit-mask-image: linear-gradient(#000 82%, transparent); mask-image: linear-gradient(#000 82%, transparent); }
.f-doc:not(.can-more) .f-ctext{ -webkit-mask-image:none; mask-image:none; }
.f-doc.open .f-ctext{ max-height: 900px; -webkit-mask-image:none; mask-image:none; }
.f-ctext p{ margin: 0 0 .45em; }
.f-ctext .f-pb{ display:block; height: .35em; }
.f-ctext em{ font-style: normal; color: inherit; }
.f-ctext .f-fill{ font-style: normal; color: var(--ink); font-weight: 600; box-shadow: inset 0 -1.5px 0 var(--acc); padding: 0 1px; transition: background .5s ease; }
.f-ctext .f-fill.flash{ animation: fflash .9s ease; }
@keyframes fflash{ 0%{ background: rgba(var(--acc-rgb),.16);} 100%{ background: transparent;} }
.f-ctext .f-blank{ font-style: normal; color: #6B7280; border-bottom: 1px dashed #A0A6B0; }
.f-dfoot{ display:flex; align-items:center; gap: 18px; margin-top: 8px; font-size: 12.5px; padding-top: 8px; border-top: 1px solid var(--hair); }
.f-cap{ margin-right:auto; display:flex; gap: 10px; align-items: baseline; min-width:0; }
.f-cap .f-ctitle{ font-size: 12.5px; }
.f-more{ appearance:none; background:none; border:0; padding:0; font: inherit; font-size: 12.5px; font-weight: 500; color: var(--ink); cursor:pointer; visibility: hidden; }
.f-doc.can-more .f-more{ visibility: visible; }
.f-more::after{ content:' +'; } .f-doc.open .f-more::after{ content:' −'; }
.f-src{ color: var(--mute) !important; text-decoration: none; }
.f-src:hover{ color: var(--ink) !important; }

.f-prog{ border-top: 1px solid var(--hair); padding: 0 24px 12px; }
.f-ptitle{ display:none; }
.f-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(var(--n,6), minmax(0,1fr)); gap: 10px; }
.f-step{ appearance:none; width:100%; text-align:left; background:none; border:0; border-top: 1px solid var(--hair-2); padding: 11px 6px 4px 0; font: inherit; cursor:pointer; display:flex; flex-direction:column; gap: 4px; position:relative; color: #4A505C; transition: color .2s ease; }
.f-step::before{ content:''; position:absolute; left:0; right:0; top:-1px; height: 2px; background: var(--acc); transform: scaleX(0); transform-origin:left; transition: transform .4s var(--ease); }
.f-step:hover{ color: var(--ink); }
.f-step.on{ color: var(--ink); }
.f-step.on::before{ transform: scaleX(1); }
.f-sn{ font-size: 11.5px; font-weight: 500; font-variant-numeric: tabular-nums; color: #6B7280; letter-spacing: .04em; }
.f-step.on .f-sn{ color: var(--acc); }
.f-st{ font-size: 14px; font-weight: 500; line-height: 1.3; letter-spacing: -.005em; }
.f-step:focus-visible{ outline: 2px solid var(--acc); outline-offset: 3px; }
.f-sx:empty{ display:none; }
.f-steps.in li{ animation: fin .5s var(--ease) both; } .f-steps.in li:nth-child(2){animation-delay:.03s} .f-steps.in li:nth-child(3){animation-delay:.06s} .f-steps.in li:nth-child(4){animation-delay:.09s} .f-steps.in li:nth-child(5){animation-delay:.12s} .f-steps.in li:nth-child(6){animation-delay:.15s}
@keyframes fin{ from{ opacity:0; transform: translateY(4px);} to{ opacity:1; transform:none;} }
.f-detail{ display:flex; align-items:baseline; justify-content:space-between; gap: 24px; margin-top: 6px; min-height: 0; }
.f-detail.in{ animation: fin .4s var(--ease) both; }
.f-detail p{ margin:0; font-size: 14px; line-height: 1.5; color: #2A2F38; max-width: 680px; }
.f-dl{ display:flex; gap: 16px; flex-shrink: 0; }
.f-dl a{ font-size: 13px; font-weight: 500; color: var(--ink) !important; text-decoration:none; white-space: nowrap; }
.f-dl a:hover{ color: var(--acc) !important; }


.f-routes{ margin: 20px 0 0; }
.f-routes ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(6, minmax(0,1fr)); border-top: 1.5px solid var(--acc); }
.f-routes li + li{ border-left: 1px solid var(--hair); }
.f-route{ display:flex; flex-direction:column; gap: 6px; height:100%; padding: 14px 16px 8px; text-decoration:none !important; color: var(--ink) !important; transition: background .25s ease; }
.f-routes li:first-child .f-route{ padding-left: 0; }
.f-rn{ display:none; }
.f-rt{ font-size: 18px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; display:flex; justify-content:space-between; gap: 8px; align-items: flex-start; }
html[lang="th"] .f-rt, html[lang="zh-Hans"] .f-rt{ letter-spacing: 0; font-size: 17px; line-height: 1.35; }
.f-rt i{ font-style: normal; font-weight: 400; font-size: 17px; color: #6B7280; transition: transform .3s var(--ease), color .2s ease; }
.f-rs{ font-size: 12.5px; line-height: 1.45; color: var(--mute); }
.f-route:hover{ background: var(--cool); }
.f-route:hover i{ transform: translateX(4px); color: var(--ink); }
.f-route:focus-visible{ outline: 2px solid var(--acc); outline-offset: -2px; }


.fhero + .section-light, .section-light{ background:#fff !important; }
.section-light .section-inner{ max-width: 1200px; }
.fhero + .section-light{ padding-top: 120px !important; padding-bottom: 120px !important; border-top: 0; }
.fhero + .section-light .section-sub{ color: var(--mute) !important; letter-spacing: .14em !important; font-size: 11px !important; }
.fhero + .section-light .section-title{ font-size: clamp(36px, 4.2vw, 64px) !important; letter-spacing: -.04em !important; line-height: 1.02 !important; max-width: 900px; margin-top: 14px; }
html[lang="th"] .fhero + .section-light .section-title, html[lang="zh-Hans"] .fhero + .section-light .section-title{ letter-spacing: 0 !important; line-height: 1.2 !important; }
.fhero + .section-light .gold-line{ display:none !important; }
.fhero + .section-light .section-intro{ font-size: 19px !important; line-height: 1.55; color: #2A2F38 !important; max-width: 760px !important; margin: 30px 0 72px auto !important; }
.fhero + .section-light .cards-grid{ display:grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 0 !important; border-top: 1px solid var(--ink); }
.fhero + .section-light .card{ border: 0 !important; border-radius: 0 !important; background: transparent !important; padding: 26px 28px 8px 0 !important; box-shadow:none !important; }
.fhero + .section-light .card + .card{ padding-left: 28px !important; border-left: 1px solid var(--hair) !important; }
.fhero + .section-light .card-icon{ display:none !important; }
.fhero + .section-light .card h3{ font-size: 20px !important; font-weight: 600 !important; letter-spacing: -.02em !important; margin: 0 0 12px !important; }
.fhero + .section-light .card p{ font-size: 14.5px; line-height: 1.6; color: var(--mute) !important; }
.fhero + .section-light .card-link{ color: var(--ink) !important; font-size: 14px !important; }


.stats-banner{ display:none !important; }


.site-footer{ border-top: 0 !important; background: #0B0E14 !important; }
.site-footer a[style*="--gold"]{ text-decoration-color: rgba(255,255,255,.4) !important; }
.access-section{ border-top: 0 !important; }


.hero-sm .hero-content::before{ background: var(--ink) !important; width: 24px !important; height: 1.5px !important; }
.section-sub{ color: var(--mute) !important; }


@media (max-width: 1100px){
  .f-wrap{ display:flex; flex-direction:column; }
  .f-grid{ display: contents; }
  .f-h1{ order:1; } .f-aside{ order:2; border-top: 0; padding-top: 0; margin-bottom: 26px; } .f-routes{ order:3; margin: 0 0 32px; } .f-panel{ order:4; }
  .f-about{ display:none; }
  .f-routes ul{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  .f-routes li:nth-child(4){ border-left: 0; }
  .f-routes li:nth-child(n+4){ border-top: 1px solid var(--hair); }
  .f-routes li:nth-child(4) .f-route{ padding-left: 0; }
  .fhero{ padding-bottom: 40px; }
  .fhero + .section-light .cards-grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .fhero + .section-light .card:nth-child(3){ border-left: 0 !important; padding-left: 0 !important; }
  .fhero + .section-light .card:nth-child(n+3){ border-top: 1px solid var(--hair) !important; margin-top: 18px; }
}
@media (max-width: 700px){
  .fhero{ padding-top: 28px; }
  .f-h1{ margin-bottom: 18px !important; }
  .f-routes ul{ grid-template-columns: 1fr 1fr; }
  .f-routes li:nth-child(n){ border-left: 0; border-top: 1px solid var(--hair); }
  .f-routes li:nth-child(1), .f-routes li:nth-child(2){ border-top: 0; }
  .f-routes li:nth-child(even){ border-left: 1px solid var(--hair); }
  .f-routes li .f-route, .f-routes li:first-child .f-route, .f-routes li:nth-child(4) .f-route{ padding: 14px 12px 15px 0; }
  .f-routes li:nth-child(even) .f-route{ padding-left: 14px; }
  .f-rt{ font-size: 16px; }
  .f-rs{ display:none; }
  .f-tabs{ padding: 0 16px; } .f-tab{ font-size: 14.5px; margin-right: 20px; }
  .f-clause{ grid-template-columns: 1fr; }
  .f-ctl{ border-right: 0; border-bottom: 1px solid var(--hair); padding: 16px; display:grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
  .f-ctl .f-eyebrow{ grid-column: 1 / -1; }
  .f-ctl .f-sel[data-row="rules"]{ grid-column: 1 / -1; order: 3; }
  .f-sel{ flex-direction: column; align-items: stretch; gap: 4px; } .f-sel select{ max-width: none; width: 100%; }
  .f-doc{ padding: 16px; }
  .f-dfoot{ flex-wrap: wrap; gap: 6px 16px; } .f-cap{ flex-basis: 100%; flex-wrap: wrap; gap: 2px 10px; } .f-more{ margin-right: auto; }
  .f-offnote{ grid-column: 1 / -1; }
  .f-ctl{ min-height: 0; }
  .f-ctext{ font-size: 14.5px; }
  .f-prog{ padding: 16px; }
  .f-steps{ grid-template-columns: 1fr; gap: 0; }
  .f-step{ padding: 12px 0; flex-direction: row; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
  .f-step::before{ height: 0; } .f-step.on{ box-shadow: inset 2px 0 0 var(--acc); padding-left: 12px; }
  .f-sx{ flex-basis: 100%; } .f-sx p{ margin: 6px 0 8px; font-size: 14px; line-height: 1.55; color:#2A2F38; } .f-sx .f-dl{ flex-wrap: wrap; gap: 6px 14px; }
  .f-detail{ display:none; }
  .fhero + .section-light{ padding-top: 72px !important; padding-bottom: 72px !important; }
  .fhero + .section-light .section-intro{ margin: 22px 0 40px !important; font-size: 17px !important; }
  .fhero + .section-light .cards-grid{ grid-template-columns: 1fr !important; }
  .fhero + .section-light .card, .fhero + .section-light .card + .card{ padding: 22px 0 6px !important; border-left: 0 !important; border-top: 1px solid var(--hair) !important; margin-top: 0 !important; }
  .fhero + .section-light .card:first-child{ border-top: 0 !important; }
  .header-right .btn-nom{ font-size: 12px !important; padding: 6px 10px !important; }
}
@media (prefers-reduced-motion: reduce){ .f-tab::after, .f-step::before, .f-ctext{ transition: none !important; } .f-steps.in li, .f-detail.in, .f-fill.flash{ animation: none !important; } }

@media (min-width: 1101px){
  .header-top{ padding-top: 13px !important; padding-bottom: 13px !important; }
  .site-header .logo-img{ width: 46px !important; height: 46px !important; }
  .nav-link{ padding-top: 10px !important; padding-bottom: 10px !important; line-height: 20px !important; }
}
