/* Self-hosted fonts (SIL Open Font License; Latin subset covers Spanish and English). Regenerate with tools/fetch_fonts.py */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/hanken-grotesk.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Noto Serif Display";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/noto-serif-display.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Noto Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/noto-serif-display-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Shared hero for round 3 (CQL and MEJ use the same markup). Accent: --hero-acc */
.hero{position:relative;height:100vh;min-height:680px;max-height:980px;color:#fff;overflow:hidden;background:#141A18;font-family:"Hanken Grotesk",system-ui,sans-serif}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,14,12,.45),rgba(10,14,12,.06) 30%,rgba(10,14,12,.12) 60%,rgba(10,14,12,.6))}
.hero .hbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;padding:26px 40px}
.hero .lock{color:#fff;text-decoration:none;display:inline-block;line-height:1}
.hero .lock b{font-family:"Noto Serif Display",Georgia,serif;font-weight:300;font-size:34px;letter-spacing:-.01em;display:block}
.hero .lock span{display:block;text-align:right;font-size:12px;margin-top:2px;opacity:.85}
.hero .r{display:flex;gap:10px;align-items:center}
.hero .lang{display:flex;gap:2px;margin-right:6px}
.hero .lang a{text-decoration:none;color:#fff;font:500 13px "Hanken Grotesk",system-ui,sans-serif;opacity:.6;cursor:pointer;padding:6px}
.hero .lang a:hover{opacity:1}
.hero .lang a[aria-current]{opacity:1}
.hero .word{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-58%);text-align:center;font-family:"Noto Serif Display",Georgia,serif;font-weight:300;line-height:.8;letter-spacing:-.02em;white-space:nowrap;color:#fff;margin:0}
.hero .hfoot{position:absolute;z-index:2;left:40px;right:40px;bottom:34px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.hero .hfoot p{max-width:420px;font-size:19px;line-height:1.45;margin:0}
.hpill{display:inline-flex;align-items:center;gap:4px;text-decoration:none;font:500 14px "Hanken Grotesk",system-ui,sans-serif;color:#22261F}
.hpill .t{background:var(--hero-acc,#A6DED6);border-radius:999px;padding:9px 18px}
.hpill .c{width:38px;height:38px;border-radius:50%;background:var(--hero-acc,#A6DED6);display:grid;place-items:center;transition:transform .35s}
.hpill:hover .c{transform:translateX(5px)}
.hpill.white .t,.hpill.white .c{background:#fff}
@media (max-width:760px){
  .hero{height:100vh;height:100svh;min-height:520px;max-height:none}
  .hero .hbar{padding:calc(14px + env(safe-area-inset-top,0px)) 16px 0;align-items:center;gap:10px}
  .hero .lock b{font-size:24px}
  .hero .lock span{font-size:11px}
  .hero .hbar .hpill{display:none}
  .hero .word{transform:translateY(-80%)}
  .hero .hfoot{left:18px;right:18px;flex-direction:column;align-items:flex-start;gap:20px;bottom:calc(24px + env(safe-area-inset-bottom,0px))}
  .hero .hfoot p{font-size:17px}
  .hero .lang{margin:0;padding:3px;border-radius:999px;background:rgba(18,28,22,.38);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .hero .lang a{padding:6px 11px;border-radius:999px;font-size:12.5px;letter-spacing:.04em;opacity:.8;min-width:36px;text-align:center}
  .hero .lang a[aria-current]{background:#fff;color:#22261F;opacity:1}
}
@media (max-width:760px){.hero .lock b{white-space:nowrap}.hero .lock span{white-space:nowrap}}
@media (max-width:360px){
  .hero .hbar{gap:6px;padding-left:12px;padding-right:12px}
  .hero .lock b{font-size:21px}
  .hero .lock.bird svg{display:none}
  .hero .lang a{padding:6px 9px;min-width:32px}
  .hero .hbar .hpill .t{padding:8px 13px}
}

/* short landscape phones: keep the full-screen hero, tuck the text into a row */
@media (max-height:520px) and (orientation:landscape){
  .hero{height:100vh;height:100svh;min-height:340px;max-height:none}
  .hero .hbar{padding:calc(10px + env(safe-area-inset-top,0px)) max(22px,env(safe-area-inset-right,0px)) 0 max(22px,env(safe-area-inset-left,0px))}
  .hero .lock b{font-size:24px}
  .hero .word{top:50%;transform:translateY(-46%);font-size:25vh!important}
  .hero .hfoot{left:max(22px,env(safe-area-inset-left,0px));right:max(22px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-direction:row;align-items:flex-end;gap:24px}
  .hero .hfoot p{font-size:14.5px;max-width:420px;line-height:1.35}
  .hero .hfoot .hpill .t{white-space:nowrap}
}
