/* OriCup - approved 13/14 November artwork. No decorative brand pattern on web. */
@font-face{font-family:'OriCup Oswald';src:url('./assets/Oswald-Medium-20261114.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:'OriCup Oswald';src:url('./assets/Oswald-Bold-20261114.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:'OriCup Archivo';src:url('./assets/Archivo-Regular-20261114.ttf') format('truetype');font-weight:100 500;font-display:swap}
@font-face{font-family:'OriCup Archivo';src:url('./assets/Archivo-Bold-20261114.ttf') format('truetype');font-weight:600 900;font-display:swap}
@font-face{font-family:'OriCup Alkaline';src:url('./assets/Alkaline-20261114.ttf') format('truetype');font-weight:700;font-display:swap}

:root{
  --navy:#031d37;--navy-2:#082b49;--navy-3:#123c59;--navy2:#082b49;--navy3:#123c59;
  --red:#ed3625;--oriori-red:#ed3625;--accent:#ed3625;--accent-ink:#b62a1c;
  --gold:#ed3625;--gold-2:#ff8e80;--blue:#b62a1c;
  --white:#fff;--paper:#fff;--cream:#f3f6f9;--ink:#031d37;--muted:#526679;
  --line:rgba(3,29,55,.14);--radius:8px;--shadow:0 18px 48px rgba(3,29,55,.10);
}
html,body{font-family:'OriCup Archivo',Arial,sans-serif}
body,button,input,select,textarea{font-family:'OriCup Archivo',Arial,sans-serif}
h1,h2,h3,h4,.display,.prize-total,.format-num,.hero-stat strong,.hero-metric strong,
.metric strong,.leader-number,.position-number,.ticket-date strong,.pilot-section-number,
.pilot-match-score,.pilot-stat strong,.pilot-facts strong,.pilot-fact strong,.registration-portrait strong{
  font-family:'OriCup Oswald','Arial Narrow',sans-serif;font-weight:700;letter-spacing:0;line-height:1.15;
}
html[lang='vi'] h1,html[lang='vi'] h2,html[lang='vi'] h3{font-weight:700}
html[lang='vi'] .section-head h2,html[lang='vi'] .register-copy h2,
html[lang='vi'] .feature h3,html[lang='vi'] .format-panel h3,
html[lang='vi'] .honour-copy h3,html[lang='vi'] .big-statement{letter-spacing:0;line-height:1.3}
html[lang='vi'] p{line-height:1.65}
::selection{color:#fff;background:var(--red)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--red);outline-offset:4px;
}
.noise,.orbit,.crest-halo,.crest-shine,.spark,.stadium-glow,.champion-orbit{display:none}
.hero-grid{display:none}
.scroll-progress{background:var(--red);box-shadow:none}

/* One shared crest + equal-width outlined wordmark in every navigation. */
.site-nav,.hub-nav{
  color:#fff;background:var(--navy);border-bottom:1px solid #ffffff1f;
  box-shadow:none;backdrop-filter:none;
}
.site-nav{height:88px}
.hub-nav{min-height:88px;height:88px}
.brand,.hub-brand,.rules-brand{gap:12px;flex-shrink:0}
.brand-logo-wrap{width:30px;height:44px}
.brand-logo,.hub-brand>img,.rules-brand>img{width:30px;height:44px;object-fit:contain;filter:none;aspect-ratio:auto}
.brand-name{display:flex;align-items:center}
.brand-wordmark{
  display:block;flex:none;width:91px;height:45px;color:inherit;background:currentColor;
  -webkit-mask:url('./assets/oricup-wordmark-20261114.svg') center/contain no-repeat;
  mask:url('./assets/oricup-wordmark-20261114.svg') center/contain no-repeat;
}
.brand-trademark,.hub-brand sup{display:none}
.nav-links,.hub-links{gap:clamp(10px,1.15vw,21px);font-size:15px;font-weight:700}
.hub-links a{color:inherit}
.hub-links a.active,.hub-links a:hover{color:#fff}
.nav-links a.active::after,.hub-links a.active::after{background:var(--red)}
.site-nav.scrolled,.hub-nav.scrolled{color:var(--navy);background:#fff;border-bottom-color:var(--line);backdrop-filter:none;box-shadow:0 4px 18px #031d370a}
.hub-nav.scrolled .hub-links a{color:var(--navy)}
.hub-nav.scrolled .hub-links a.active{color:var(--accent-ink)}
.language,.lang-switch{border-radius:5px}
.language button,.lang-switch button{border-radius:3px;font-size:13px}
.language button.active,.lang-switch button.active,.rules-nav .lang-switch button.active{color:#fff;background:var(--red)}
.nav-cta,.home-button{color:#fff;background:var(--red);border:1px solid var(--red);border-radius:5px;font-size:14px}
.nav-cta:hover,.home-button:hover{color:#fff;background:#bd291c;border-color:#bd291c;box-shadow:none}
.site-nav.scrolled .nav-cta,.hub-nav.scrolled .home-button{color:#fff}
.menu-toggle,.hub-menu-button{border-radius:5px}
.site-nav:not(.scrolled) .menu-toggle,.hub-nav:not(.scrolled) .hub-menu-button{color:#fff;border-color:#ffffff55}
.mobile-menu,.hub-mobile-menu{background:var(--navy);color:#fff}
.hub-mobile-menu{inset-block-start:88px}
.mobile-menu a,.hub-mobile-menu a{font-family:'OriCup Oswald',sans-serif;font-weight:500;letter-spacing:0}

/* Flat navy, original crest, clear type. No avatar circle or floating effects. */
.hero{background:var(--navy);min-height:min(100svh,760px)}
.hero::before{display:none}
.hero::after{display:none}
.hero-video{display:none}
.hero-inner{padding-top:145px;padding-bottom:58px}
.hero-frame{z-index:3}
.hero-inner{z-index:4}
.hero-emblem-stage{top:155px;right:3%;width:min(245px,22cqi);aspect-ratio:1014/1454;animation:none;translate:none!important}
.hero-crest{width:100%;height:100%;object-fit:contain;filter:none;animation:none;aspect-ratio:1014/1454}
.hero h1,html[lang='vi'] .hero h1{
  font-family:'OriCup Oswald',sans-serif;font-size:clamp(48px,5.2vw,92px);
  font-weight:700;letter-spacing:.005em;line-height:1.18;text-transform:uppercase;color:#fff;
}
.hero h1 span{font:inherit;letter-spacing:inherit}
.hero-slogan{font-family:'OriCup Alkaline','OriCup Oswald',cursive;font-weight:700;font-size:clamp(24px,2.6vw,38px);line-height:1.5;letter-spacing:0}
.hero-copy{font-size:20px;line-height:1.6;color:#cad6e1}
.annual-stamp{border-radius:4px;color:#d3dee7;background:#ffffff05}
.annual-stamp::before{box-shadow:none;background:var(--red)}
.presented{font-size:12px}
.presented i{background:var(--red)}
.hero-stat strong,.hero-metric strong{letter-spacing:0;color:#fff}
.hero-stat--prize strong{color:#fff;letter-spacing:0}
.hero-stat span,.hero-metric span{font-size:12px;color:#b9c8d5;line-height:1.45}
.hero-stats{border-top:2px solid var(--red)}
.hero-stat{padding-inline:16px}
.button,.pilot-button{font-size:16px;border-radius:5px;min-height:50px}
.button.gold,.pilot-button.gold,.rules-download,.registration-button,.register-form button{
  color:#fff;background:var(--red);border-color:var(--red);box-shadow:none;
}
.button.gold:hover,.pilot-button.gold:hover,.rules-download:hover,.registration-button:hover,.register-form button:hover{color:#fff;background:#bd291c;border-color:#bd291c}
.button.ghost{background:transparent;backdrop-filter:none}
.button::before{display:none}
.ticker{color:#fff;background:var(--red);transform:none}
.ticker span{font-family:'OriCup Oswald',sans-serif;font-size:18px;letter-spacing:.03em}
.intro::before,.intro::after,.qualifiers::before,.season::before,.prizes::before{display:none}
.big-statement{font-family:'OriCup Oswald',sans-serif;font-weight:500;letter-spacing:0;line-height:1.2}
.big-statement em{color:var(--accent-ink)}
.section-head h2,.register-copy h2{letter-spacing:0;line-height:1.2}
.kicker,.eyebrow,.feature .index{color:var(--accent-ink)}
.dark .eyebrow,.qualifiers .kicker,.prizes .kicker{color:#ff8e80}
.feature,.format-panel,.group-card,.panel,.hub-card,.hub-feature,.hub-nav-card,
.prize-card,.honour,.registration-club,.rules-content,.rules-summary,.pilot-ticket,
.pilot-prep-grid article,.pilot-public-group,.pilot-knockout-card{border-radius:8px}
.feature h3,.format-panel h3,.group-card h3,.honour-copy h3,.points-copy h3{letter-spacing:0;line-height:1.25}
.feature-icon,.knockout-icon,.award-symbol{color:#fff;background:var(--red);box-shadow:none;animation:none;border-radius:6px}
.feature-icon{transform:none}
.feature:hover .feature-icon{transform:none}
.format-panel.gold-panel,.awards-tier.season{color:#fff;background:var(--red);border-color:var(--red)}
.gold-panel p,.season .award-item em{color:#ffffffd9}
.gold-panel .format-list div{border-color:#ffffff42}
.gold-panel .format-list b,.season .award-symbol{color:#fff;background:var(--navy)}
.season .award-item b,.season .tier-head h4,.season .tier-head>span{color:#fff}
.season .award-item:hover{background:#ffffff12}
.awards-program,.awards-tier,.award-item{border-radius:8px}
.trophy-piece.season-trophy{color:#e3b247;border-color:#e3b24766;background:rgba(255,255,255,.035)}
.trophy-piece svg{animation:none}
.hero-rail{border-top-color:var(--red)}
.tab.active,.filter-button.active,.position-filter.active{color:#fff;background:var(--navy)}
.status-chip{color:var(--accent-ink);background:#fff0ed;border-radius:5px}
.status-chip::before{background:var(--red);box-shadow:none}
.registration-club{border-top-color:var(--red)}
.registration-quote{border-left-color:var(--red)}
.registration-button{font-size:16px}
.register-form input,.register-form select,.register-form textarea{border-radius:5px}

/* Public season pages and regulations share the same restrained visual language. */
.page-hero{background:var(--navy);padding-top:155px}
.page-hero::before{opacity:.16;filter:grayscale(.4)}
.page-hero::after{background:linear-gradient(90deg,#031d37f0,#031d37cc)}
.page-hero h1,.rules-hero h1{font-family:'OriCup Oswald',sans-serif;letter-spacing:0;line-height:1.2;text-transform:uppercase}
.page-kicker,.crumb b,.rules-kicker{color:#ff8e80}
.page-lead{font-size:20px;color:#cad6e1}
.hero-rail .hero-metric strong{color:#fff}
.rules-hero{background:var(--navy);padding-top:156px}
.rules-kicker{font-family:'OriCup Alkaline','OriCup Oswald',cursive;font-size:24px;letter-spacing:0}
.rules-toc h2{font-family:'OriCup Oswald',sans-serif;font-size:18px}
.rules-download{border-radius:5px;font-size:16px}
.rules-content h2,.rules-content h3,.rule-section h2,.rule-section h3{font-family:'OriCup Oswald',sans-serif;letter-spacing:0;line-height:1.3}
.rules-summary strong{font-family:'OriCup Oswald',sans-serif;color:#fff}
.rules-footer{background:var(--navy)}
.stream-panel{background:linear-gradient(135deg,#031d37e8,#082b49f2),url('./assets/oricup-matchday-bg.webp') center/cover}
.stream-panel::after{display:none}
.stream-tag i{box-shadow:none}
.site-footer,.hub-footer,.global-footer,.global-site-footer{background:var(--navy)}
.global-competition img,.footer-brand img{width:40px;height:58px;object-fit:contain;aspect-ratio:1014/1454}
.global-competition strong,.footer-brand strong{font-family:'OriCup Oswald',sans-serif;font-size:22px;letter-spacing:0}
.footer-sponsor h2,.global-sponsor h2,.global-sponsor-copy h2{letter-spacing:0;line-height:1.3}
.footer-sponsor h2 span,.global-sponsor h2 span{color:#fff}
.footer-sponsor small,.global-sponsor small{color:#b9c8d5}
.pilot-hero{background:var(--navy);padding-top:145px}
.pilot-hero::after{display:none}
.pilot-pitch-lines{display:none}
.pilot-hero h1{letter-spacing:0;line-height:1.08;font-family:'OriCup Oswald',sans-serif}
.pilot-hero h1 em{font-family:'OriCup Alkaline','OriCup Oswald',cursive;font-size:.9em;line-height:1.35;color:#fff}
.pilot-title-dot{color:var(--red)}
.pilot-kicker{color:#fff}
.pilot-kicker i{background:var(--red);box-shadow:none}
.pilot-ticket{background:var(--navy-2);transform:none;border-top:3px solid var(--red)}
.pilot-ticket>img{width:88px;height:auto;aspect-ratio:1014/1454}
.ticket-date strong{color:#fff}
.pilot-section h2,.pilot-section h3{letter-spacing:0;line-height:1.3}
.pilot-section-number{color:var(--red)}
.pilot-result-tabs button[aria-selected='true']{background:var(--navy);color:#fff;border-color:var(--navy)}
.pilot-footer{background:var(--navy)}
.brand-thanks{background:var(--navy);font-size:18px}
.brand-thanks main{border-radius:8px;background:var(--navy-2);box-shadow:none;backdrop-filter:none;border-top:3px solid var(--red)}
.brand-thanks .mark,.brand-thanks a{background:var(--red);color:#fff;border-radius:5px}
.brand-thanks small{color:#fff}
.brand-thanks h1{font-family:'OriCup Oswald',sans-serif;letter-spacing:0;line-height:1.2}

@media(min-width:981px) and (max-width:1399px){
  .site-nav,.hub-nav{gap:16px}.nav-links,.hub-links{font-size:14px;gap:13px}
  .nav-cta,.home-button{padding-inline:12px}.brand,.hub-brand{gap:9px}
  .brand-wordmark{width:82px;height:41px}
}
@media(min-width:981px) and (max-width:1199px){
  .nav-links,.hub-links{font-size:13px;gap:10px}.nav-actions,.hub-actions{gap:7px}
  .brand-wordmark{width:74px;height:37px}.brand-logo-wrap,.hub-brand>img{width:26px;height:38px}
}
@media(min-width:981px) and (max-height:760px){
  .hero-inner{padding-top:125px;padding-bottom:42px}
  .hero-meta{margin-bottom:20px}
  .hero-slogan{margin-top:12px;font-size:30px}
  .hero-copy{font-size:18px}
  .hero-bottom{margin-top:28px}
  .hero-emblem-stage{top:127px;width:185px}
  .hero-stat{padding-top:17px}
  .hero-actions{margin-top:20px}
}
@media(max-width:980px){
  .site-nav,.hub-nav{height:76px;min-height:76px}
  .hub-mobile-menu{inset-block-start:76px}
  .hero{min-height:790px}
  .hero-inner{padding-top:145px}
  .hero-emblem-stage{top:140px;width:155px;right:3%;opacity:.7}
  .hero h1,html[lang='vi'] .hero h1{font-size:clamp(44px,6.2vw,65px)}
  .hero-copy{font-size:19px;max-width:510px}
  .hero-bottom{margin-top:30px}
  .page-hero,.rules-hero{padding-top:130px}
}
@media(max-width:680px){
  .brand-logo-wrap,.hub-brand>img,.rules-brand>img{width:25px;height:36px}
  .brand-wordmark{width:75px;height:37px}
  .brand,.hub-brand{gap:8px}.site-nav,.hub-nav{height:72px;min-height:72px}
  .hub-mobile-menu{inset-block-start:72px}
  .hero{display:flex;flex-direction:column;min-height:auto;background:var(--navy)}
  .hero-frame{height:167px;margin-top:104px}
  .hero-emblem-stage{width:112px;height:auto;top:0;left:50%;right:auto;transform:translateX(-50%);opacity:1}
  .hero-inner{padding-top:25px;padding-bottom:40px}
  .hero-meta{justify-content:center;gap:12px;margin-bottom:22px}
  .annual-stamp{font-size:12px;padding:6px 8px}
  .hero h1,html[lang='vi'] .hero h1{width:100%;font-size:clamp(28px,7.8vw,50px);letter-spacing:0;line-height:1.3}
  .hero-slogan{font-size:clamp(24px,6.2vw,34px);line-height:1.5;margin-top:8px}
  .hero-slogan span{display:inline}
  .hero-copy{font-size:19px;line-height:1.6}
  .hero-bottom{gap:26px;margin-top:24px}
  .hero-stat strong,.hero-stat--prize strong{font-size:34px}
  .hero-stat span{font-size:12px}
  .hero-actions .button{font-size:16px;padding-inline:17px}
  .page-hero,.rules-hero{padding-top:122px}
  .page-hero h1,.rules-hero h1{font-size:clamp(42px,11vw,64px);line-height:1.22}
  .page-lead,.rules-lead{font-size:19px}
  .pilot-hero{padding-top:112px}
  .pilot-hero h1{font-size:90px;line-height:1.06}
  .pilot-hero h1 em{line-height:1.4}
  .global-competition strong,.footer-brand strong{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
