@font-face { font-family:"Jost"; src:url("/jost-400.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
:root { color-scheme: light; --ink:#000000; --muted:#000000; --sand:#D1B389; --paper:#FFFFFF; }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--paper); }
body { min-height:100vh; margin:0; color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; display:flex; flex-direction:column; }
main { flex:1; display:grid; place-items:center; padding:64px 24px 48px; }
.hero { width:min(760px,100%); text-align:center; }
.logo { width:min(540px,90vw); height:auto; margin-bottom:0; }
.intro { max-width:590px; margin:32px auto 0; color:var(--muted); font-size:clamp(1rem,2.2vw,1.2rem); line-height:1.7; }
.status { display:inline-flex; align-items:center; gap:10px; margin-top:48px; color:var(--muted); font-size:.92rem; }
.status span { width:8px; height:8px; border-radius:50%; background:var(--sand); }
.contact { display:block; width:max-content; margin:34px auto 0; padding:14px 22px; border:1px solid var(--ink); color:var(--ink); text-decoration:none; font-weight:650; transition:.2s ease; }
.contact:hover,.contact:focus-visible { color:white; background:var(--ink); }
footer { display:flex; justify-content:space-between; gap:18px; width:100%; padding:24px 32px; border-top:1px solid var(--sand); color:var(--muted); font-size:.78rem; letter-spacing:.04em; }
footer nav { display:flex; gap:20px; }
footer a { color:inherit; }
footer a:focus-visible,.back:focus-visible { outline:2px solid var(--sand); outline-offset:4px; }
.legal { width:min(760px,100%); margin:auto; }
.legal .logo { width:190px; margin-bottom:44px; }
.legal h1 { font-size:clamp(2.5rem,7vw,4.6rem); margin-bottom:36px; white-space:normal; }
.legal h2 { margin-top:32px; font-size:1.1rem; }
.legal p { color:var(--muted); line-height:1.7; }
.legal a { color:var(--ink); }
.back { display:inline-block; margin-top:32px; color:var(--ink); }
@media (max-width:600px) {
  main { padding:40px 18px 36px; }
  .logo { width:min(460px,92vw); margin-bottom:0; }
  .intro { margin-top:24px; line-height:1.55; }
  .status { margin-top:38px; }
  .contact { margin-top:26px; }
  footer { flex-direction:column; align-items:center; padding:20px; }
}
@media (max-height:540px) and (orientation:landscape) {
  main { display:block; padding:28px 24px 32px; }
  .hero { margin:0 auto; }
  .logo { width:min(300px,55vw); margin-bottom:0; }
  .intro { margin-top:18px; }
  .status { margin-top:26px; }
  .contact { margin-top:20px; }
}
@media (prefers-reduced-motion:reduce) { .contact { transition:none; } }
