@font-face{font-family:Manrope;src:url("fonts/manrope.woff2") format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk.woff2") format("woff2");font-weight:400 700;font-display:swap}

:root{
  color-scheme:light dark;
  --bg:light-dark(#f7f7f2,#10121c);
  --surface:light-dark(#fdfdf9,#151826);
  --soft:light-dark(#eeeef8,#1a1e32);
  --text:light-dark(#151828,#f2f3fc);
  --muted:light-dark(#4e5367,#b3bad2);
  --line:light-dark(#d4d6e0,#353b53);
  --accent:light-dark(#263fde,#a9b8ff);
  --button-ink:light-dark(#fff,#121830);
  --on-hover:light-dark(#1c30b9,#c1cbff);
  --headline:"Space Grotesk",system-ui,sans-serif;
  --body:Manrope,system-ui,sans-serif;
  --mono:ui-monospace,"Cascadia Code",Consolas,monospace;
  --gutter:clamp(20px,5vw,76px);
  --section:clamp(68px,9vw,130px);
}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scrollbar-gutter:stable}
body{margin:0;background:var(--bg);color:var(--text);font:500 1rem/1.65 var(--body)}
a{color:inherit}
button{font:inherit;color:inherit}
svg{width:1.25rem;height:1.25rem;flex:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-family:var(--headline);font-weight:700;line-height:1.02;letter-spacing:-.04em}
h1{font-size:clamp(3.15rem,6.85vw,6.35rem);line-height:.96}
h2{font-size:clamp(2.4rem,5.15vw,4.65rem)}
h3{font-size:clamp(1.63rem,2.75vw,2.22rem);letter-spacing:-.04em}
::selection{background:var(--accent);color:var(--button-ink)}
.on-blue ::selection{background:#e2e7ff;color:#10162d}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
main:focus,[tabindex="-1"]:focus{outline:none}
.frame{width:min(100% - var(--gutter) * 2,1296px);margin-inline:auto}
.skip{position:fixed;left:1rem;top:1rem;z-index:9;transform:translateY(-180%);background:var(--accent);color:var(--button-ink);padding:.7rem 1rem;font-weight:800}
.skip:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);position:relative;z-index:2}
.header-inner{min-height:79px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(14px,3.8vw,54px)}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;width:max-content}
.brand-mark{display:grid;place-items:center;width:41px;height:41px;border-radius:5px;background:var(--accent);color:var(--button-ink)}
.brand-mark svg{width:24px;height:24px}
.brand-type{display:grid;line-height:1}
.brand-type span{font:700 .72rem/1.25 var(--mono);letter-spacing:.13em}
.brand-type strong{font:700 1.55rem/.94 var(--headline);letter-spacing:-.05em}
.nav{display:flex;align-items:center;gap:clamp(16px,2.8vw,42px)}
.nav a{display:flex;align-items:center;min-height:48px;position:relative;font-size:.88rem;font-weight:800;color:var(--muted);text-decoration:none}
.nav a:hover,.nav a[aria-current]{color:var(--accent)}
.nav a[aria-current]::after{content:"";position:absolute;bottom:5px;height:2px;width:100%;background:currentColor}
.header-tools{display:flex;justify-content:flex-end;gap:8px}
.theme-toggle,.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.theme-toggle{border-radius:50px;padding:3px;gap:3px}
.theme-toggle span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--muted)}
.theme-toggle .theme-sun,.theme-toggle[aria-pressed="true"] .theme-moon{color:var(--button-ink);background:var(--accent)}
.theme-toggle[aria-pressed="true"] .theme-sun{color:var(--muted);background:none}
.theme-toggle svg{width:17px;height:17px}
.menu-toggle{display:none;width:44px;border-radius:5px}
.theme-toggle:hover,.menu-toggle:hover{border-color:var(--accent)}
.eyebrow{display:flex;align-items:center;gap:.65rem;font:700 .75rem/1.4 var(--mono);letter-spacing:.09em;color:var(--muted)}
.signal{width:8px;height:8px;background:var(--accent);box-shadow:0 0 0 4px var(--soft);flex:none}
.on-blue{
  --plate-blue:#263fde;
  --plate-navy:#0b102b;
  --plate-ink:#f2f3fc;
  --plate-text:#e2e7ff;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:14px;
  background:linear-gradient(128deg,var(--plate-blue) -24%,#192053 44%,var(--plate-navy) 102%);
  color:var(--plate-ink)
}
.on-blue :focus-visible{outline-color:#c0ccff}
.hero{
  display:grid;
  grid-template-rows:1fr auto;
  align-items:center;
  min-height:clamp(510px,44vw,620px);
  margin-block:clamp(19px,3.1vw,44px) 0;
  text-align:center;
}
.hero-map{
  position:absolute;
  z-index:-1;
  width:min(91%,1050px);
  max-width:none;
  inset:46% auto auto 50%;
  translate:-50% -50%;
  opacity:.64;
  mask-image:radial-gradient(ellipse 48% 50% at 50% 47%,#000 72%,transparent 100%);
}
.hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(ellipse 38% 39% at 50% 47%,#0b102b9c,transparent 100%);
  pointer-events:none;
}
.hero-copy{padding:clamp(44px,6.5vw,94px) clamp(17px,5vw,70px) clamp(32px,4.8vw,68px)}
.hero-brand{display:inline-flex;align-items:center;gap:11px;font:500 clamp(1.17rem,2.1vw,1.63rem)/1 var(--headline);letter-spacing:-.035em}
.hero-brand svg{width:35px;height:35px}
.hero h1{max-width:18ch;margin:21px auto 14px;font-size:clamp(2.8rem,6.15vw,5.6rem);text-wrap:balance}
.hero-intro{max-width:38rem;margin-inline:auto;color:var(--plate-text);font-size:clamp(1rem,1.65vw,1.2rem);text-wrap:pretty}
.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}
.hero-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:5px 12px;
  margin-inline:clamp(17px,4.3vw,57px);
  padding-block:15px;
  border-top:1px solid #a9b8ff57;
  color:var(--plate-text);
  font-size:.82rem;
  font-weight:750;
}
.hero-meta span{display:inline-flex;align-items:center;gap:6px}
.hero-meta svg{width:16px;height:16px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:11px 16px;border:1px solid transparent;border-radius:4px;text-align:center;text-decoration:none;font-weight:800;font-size:.86rem;line-height:1.35;cursor:pointer;transition:background .16s,color .16s,border-color .16s}
.button svg,.footer-link svg,.back-link svg{width:16px;height:16px}
.primary{background:var(--accent);color:var(--button-ink)}
.primary:hover{background:var(--on-hover)}
.back-link,.footer-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font-size:.87rem;font-weight:800;text-decoration:none}
.back-link:hover,.footer-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}
.section{padding-block:var(--section)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:16px 8%;margin-bottom:clamp(20px,3.2vw,42px)}
.section-heading h2{max-width:13ch}
.section-heading>p{max-width:27rem;color:var(--muted);padding-bottom:.25em}
.areas{border-top:1px solid var(--line)}
.area{display:grid;grid-template-columns:auto minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:12px clamp(14px,3.3vw,44px);padding-block:clamp(20px,2.8vw,37px);border-bottom:1px solid var(--line)}
.area-icon{display:grid;place-items:center;background:var(--soft);width:44px;height:44px;border-radius:4px;color:var(--accent)}
.area-icon svg{width:23px;height:23px}
.area p{max-width:37rem;color:var(--muted);font-size:.96rem}
.about{background:var(--soft);border-block:1px solid var(--line)}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 9%;padding-block:clamp(51px,6.8vw,89px)}
.about-title h2{max-width:11ch}
.about-copy p{max-width:39rem;color:var(--muted)}
.about-copy p+p{margin-top:13px}
.registration{display:grid;gap:6px;margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}
.registration span{font-size:.75rem;font-weight:750;letter-spacing:.04em;color:var(--muted)}
.registration strong{font:700 1.28rem/1.3 var(--headline)}
.invitation{
  display:grid;
  justify-items:start;
  gap:18px;
  margin-block:clamp(36px,6vw,76px);
  padding:clamp(25px,6vw,75px);
}
.invitation>div{max-width:min(100%,35rem)}
.invitation p{margin-top:10px;color:var(--plate-text)}
.invitation::before,.contact-panel::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 0 auto;
  width:48%;
  background:url("curvas.svg") center right / auto 120% no-repeat;
  opacity:.86;
  pointer-events:none;
  mask-image:linear-gradient(90deg,transparent 0%,#000 29%);
}
.invitation::before{width:45%;background-size:auto 180%;background-position:right 47%;opacity:.57}
.site-footer{border-top:1px solid var(--line)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;padding-block:22px}
.footer-inner p{font-size:.79rem;color:var(--muted)}
.footer-inner p span{margin-inline:4px}
.contact-layout{padding-block:clamp(13px,2.7vw,37px) clamp(34px,5.2vw,71px)}
.back-link{margin-bottom:12px;color:var(--muted)}
.back-link svg{rotate:180deg}
.contact-panel-content{max-width:min(72%,780px);padding:clamp(26px,5.8vw,81px)}
.contact-panel h1{max-width:12ch;font-size:clamp(2.9rem,6.9vw,6rem);text-wrap:balance}
.contact-panel-content>p:not(.copy-status){max-width:30rem;margin-top:18px;color:var(--plate-text);font-size:clamp(1rem,1.65vw,1.17rem)}
.contact-channel{display:flex;align-items:center;gap:12px;margin-top:clamp(23px,3.3vw,44px)}
.panel-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #a9b8ff82;border-radius:4px;color:#e2e7ff}
.contact-panel address{display:grid;gap:1px;min-width:0;font-size:clamp(1rem,2.1vw,1.45rem);font-style:normal;font-weight:800;overflow-wrap:anywhere}
.contact-panel address span{font-size:.77rem;font-weight:750;color:var(--plate-text)}
.contact-panel address a{color:var(--plate-ink);text-underline-offset:.21em}
.contact-panel address a:hover{color:#a9b8ff}
.contact-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:21px}
.panel-primary{background:#e2e7ff;color:#10162d}
.panel-primary:hover{background:#fff}
.panel-secondary{background:#0b102b;color:#f1f3ff;border-color:#a9b8ff82}
.panel-secondary:hover{background:#252f63;border-color:#a9b8ff}
.copy-status{color:var(--plate-text);font-size:.82rem;min-height:1.65em;margin-top:10px}
.contact-record{border-top:1px solid var(--line);padding-block:24px clamp(42px,6vw,79px)}
.contact-record h2{font-size:clamp(1.6rem,2.7vw,2.15rem)}
.contact-record dl{display:flex;flex-wrap:wrap;gap:14px clamp(32px,8vw,114px);margin-top:15px}
.contact-record dt{font-size:.79rem;color:var(--muted)}
.contact-record dd{font-weight:800;overflow-wrap:anywhere}
.not-found{min-height:80vh;display:grid;align-content:center;justify-items:start;gap:20px;padding-block:36px}
.not-found h1{max-width:12ch}
@media(max-width:720px){
  .header-inner{min-height:66px;grid-template-columns:1fr auto;gap:0 10px}
  .header-tools{grid-row:1;grid-column:2}
  .nav{grid-column:1/-1;gap:4px 22px;flex-wrap:wrap;border-top:1px solid var(--line)}
  .enhanced .nav{display:none}
  .enhanced .header-inner:has(.menu-toggle[aria-expanded="true"]) .nav{display:flex}
  .enhanced .menu-toggle{display:inline-flex}
  .hero{min-height:0}
  .hero-map{width:max(116%,570px);opacity:.53}
  .hero h1{margin-block:17px 12px}
  .section-heading,.about-layout{grid-template-columns:1fr}
  .section-heading>p{padding:0}
  .area{grid-template-columns:auto 1fr}
  .area p{grid-column:2}
  .about-title h2{max-width:16ch}
  .contact-panel-content{max-width:100%}
  .contact-panel::before{width:46%;opacity:.28;background-position:right center}
  .invitation::before{width:43%;opacity:.32}
}
@media(max-width:420px){
  .hero-meta{justify-content:center}
  .hero-actions{margin-top:20px}
  .footer-inner{flex-wrap:wrap}
  .footer-inner p{order:3;width:100%}
  .contact-record dl{display:grid}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
