@font-face{font-family:'Sora';src:url('/fonts/sora/sora-latin.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/fonts/inter/inter-latin.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --primary:hsl(193 34% 30%);--primary-fg:#fff;
  --fg:hsl(200 18% 16%);--muted:hsl(200 10% 58%);
  --bg:#ffffff;--border:hsl(200 12% 90%);
}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{font-family:'Inter',system-ui,sans-serif;color:var(--fg);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Sora',system-ui,sans-serif;letter-spacing:-0.025em;line-height:1.15}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:44rem;margin:0 auto;padding:0 1.5rem}

/* Nav */
nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(255,255,255,0.82);border-bottom:1px solid var(--border)}
nav .inner{display:flex;align-items:center;justify-content:space-between;height:3.5rem;max-width:44rem;margin:0 auto;padding:0 1.5rem}
.logo{display:flex;align-items:center;gap:.5rem;font-family:'Sora',sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-0.06em;color:var(--fg)}
.logo img{width:28px;height:28px;border-radius:6px}
.logo span{color:var(--primary)}
.nav-links{display:flex;gap:1.25rem}
.nav-links a{font-size:.8rem;color:var(--muted);transition:color .15s}
.nav-links a:hover{color:var(--fg);text-decoration:none}

/* Footer */
footer{border-top:1px solid var(--border);padding:2rem 0;text-align:center}
footer p{font-size:.75rem;color:var(--muted)}
footer a{color:var(--muted)}
footer a:hover{color:var(--fg)}
.footer-links{display:flex;gap:1.25rem;justify-content:center;margin-bottom:.5rem;font-size:.8rem}

/* Legal pages */
.legal{padding:3rem 0 2rem}
.legal h1{font-size:1.5rem;font-weight:700;margin-bottom:2rem}
.legal h2{font-size:1.1rem;font-weight:700;margin:2rem 0 .75rem}
.legal h3{font-size:.95rem;font-weight:600;margin:1.25rem 0 .4rem}
.legal p{color:var(--muted);font-size:.875rem;line-height:1.7;margin-bottom:.6rem}

/* Hero (landing only) */
.hero{padding:5rem 0 4rem;text-align:center}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;letter-spacing:-0.04em}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero p{font-size:1rem;color:var(--muted);max-width:32rem;margin:1rem auto 0;line-height:1.7}
.hero .contact{display:inline-block;margin-top:2rem;font-size:.875rem;font-weight:600;color:var(--primary-fg);background:var(--primary);padding:.6rem 1.4rem;border-radius:999px}
.hero .contact:hover{opacity:.88;text-decoration:none}

@media(max-width:480px){
  .hero{padding:3rem 0 2.5rem}
  .nav-links{gap:.75rem}
}
