 :root{--black:#0b0c0e;--panel:#121418;--hover:#181b20;--text:#e8e7e2;--muted:#aaa9a3;--quiet:#74746f;--line:#34363a;--accent:#a49a7d}*{box-sizing:border-box}html{background:var(--black)}body{margin:0;background:radial-gradient(circle at 50% -20%,#292c31 0,#15171a 31rem,var(--black) 62rem);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}.hero{min-height:36vh;display:grid;place-items:center;padding:3.8rem 1.5rem 3.2rem;border-bottom:1px solid var(--line)}.hero-inner{width:min(100%,72rem);text-align:center}.eyebrow{margin-bottom:1.35rem;color:var(--quiet);font-size:.7rem;letter-spacing:.3em}h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,8vw,6.8rem);font-weight:400;line-height:.93;letter-spacing:.055em}.rule{width:5rem;height:1px;margin:1.8rem auto 0;background:var(--accent)}main{width:min(calc(100% - 3rem),72rem);margin:0 auto;padding:2.5rem 0 2.5rem}.primary-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.destination{min-height:14.6rem;display:flex;flex-direction:column;padding:1.8rem 2rem;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--panel);text-decoration:none;transition:.15s}.destination:hover,.destination:focus-visible{transform:translateY(-2px);border-color:#686961;background:var(--hover);outline:none}.section-label{color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.24em}.destination-name{margin-top:.8rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1}.destination-copy{margin-top:.8rem;color:var(--muted);font-size:.95rem}.arrow{margin-top:auto;padding-top:1.5rem;color:var(--quiet);font-size:.72rem;letter-spacing:.16em}.communications,.about{margin-top:1rem;padding:1.45rem 2rem;border:1px solid var(--line);background:rgba(18,20,24,.72)}.communications{display:flex;align-items:center;justify-content:space-between;gap:2rem}.comm-links{display:flex;align-items:center;gap:1rem}.comm-links a{text-decoration:none}.comm-links a:hover,.comm-links a:focus-visible{text-decoration:underline;text-underline-offset:.3em}.separator{color:var(--quiet)}.about{margin-top:3rem;background:transparent;padding:1.1rem 2rem 1.2rem}.about p{max-width:52rem;margin:1rem 0 0;color:var(--muted);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.1rem,2vw,1.35rem)}footer{width:min(calc(100% - 3rem),72rem);margin:0 auto;padding:1.35rem 0 3rem;border-top:1px solid var(--line);color:var(--quiet);font-size:.72rem}footer p{margin:.45rem 0}@media(max-width:700px){.hero{min-height:31vh;padding:3rem 1rem 2.5rem}.primary-links{grid-template-columns:1fr}.destination{min-height:12.3rem}.communications{align-items:flex-start;flex-direction:column;gap:1rem}.comm-links{flex-wrap:wrap}main,footer{width:min(calc(100% - 2rem),72rem)}main{padding-top:1rem}}
/* Candidate banner artwork */
.hero{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(rgba(7,8,10,.30),rgba(7,8,10,.42)),
    url("rio-banner.png") center 54% / cover no-repeat;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(5,6,8,.12),transparent 25%,transparent 75%,rgba(5,6,8,.12));
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1}
@media(max-width:700px){.hero{background-position:center 52%}}

/* Locked Records and Archives artwork */
.destination{position:relative;isolation:isolate;overflow:hidden;background:var(--panel)}
.destination::before{content:"";position:absolute;inset:0;z-index:-2;background-position:center right;background-size:cover;background-repeat:no-repeat;opacity:.72;transition:opacity .15s ease,transform .2s ease}
.destination::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,20,24,.99) 0%,rgba(18,20,24,.97) 38%,rgba(18,20,24,.72) 59%,rgba(18,20,24,.20) 100%)}
.destination:first-child::before{background-image:url("records.png")}
.destination:nth-child(2)::before{background-image:url("archives.png")}
.destination:hover::before,.destination:focus-visible::before{opacity:.82;transform:scale(1.01)}
.destination:hover,.destination:focus-visible{background:var(--panel)}
.destination>span{position:relative;z-index:1}
@media(max-width:700px){
 .destination::before{background-position:center right}
 .destination::after{background:linear-gradient(90deg,rgba(18,20,24,.99) 0%,rgba(18,20,24,.96) 48%,rgba(18,20,24,.58) 72%,rgba(18,20,24,.18) 100%)}
}

footer p:first-child{color:#8f908a}
