:root{color-scheme:dark;--background:#141412;--accent:#ebdd00;--text:#f5f4ec;--muted:#a3a398;font-family:'Inter',Arial,sans-serif;background:var(--background);color:var(--text)}
*{box-sizing:border-box}
body{margin:0}
.page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 2.5rem}
.announcement{width:min(100%,64rem);text-align:center;margin-block:auto;padding-block:2rem 4rem}
.brand{margin:0 auto 1.5rem}
.brand img{display:block;width:clamp(12rem,25vw,19rem);max-width:100%;height:auto;margin:auto;object-fit:contain}
h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1.12;letter-spacing:-.055em;font-weight:500;margin:0;text-wrap:balance}
h1 span{color:var(--accent)}
.description{font-size:1rem;line-height:1.6;color:var(--muted);margin:1.25rem 0 0}
.contact{text-align:center}
.contact p{color:var(--muted);font-size:.875rem;margin:0 0 .6rem}
.contact a{color:var(--text);font-size:1rem;text-decoration:none;text-underline-offset:.3em;line-height:1.6;overflow-wrap:anywhere}
.contact a:hover{color:var(--accent);text-decoration:underline}
.contact a:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}
@media(max-width:480px){.page{padding:1.5rem 1.25rem 2rem}.announcement{padding-block:1rem 3rem}h1{max-width:20rem;margin-inline:auto}}
@media(prefers-reduced-motion:no-preference){.announcement{animation:appear 850ms ease-out both}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}

/* Social links inherit the original brand palette. */
.social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}
.contact .social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:var(--text);border-radius:6px}
.contact .social-links a:hover{color:var(--accent);text-decoration:none}
.contact .social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.social-links svg{display:block;width:20px;height:20px}
@media(prefers-reduced-motion:no-preference){.social-links a{transition:color 160ms ease}}

/* Keep contact links comfortable on narrow and short mobile screens. */
.contact{max-width:100%;flex-shrink:0}
@media(max-width:600px){
 .page{padding: max(1.5rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left))}
 .announcement{padding-block:1rem 2rem}
 .contact .social-links a{width:48px;height:48px;flex-basis:48px}
 .social-links{gap:.75rem}
 .contact>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%}
}
@media(max-height:500px) and (orientation:landscape){
 .page{padding-block:1rem}
 .announcement{padding-block:0 1rem}
 .brand{margin-bottom:.75rem}
 .brand img{width:7rem}
 h1{font-size:2.25rem}
 .description{margin-top:.75rem}
 .social-links{margin-top:.5rem}
}
