:root{
  --ink:#0f1a2b; --muted:#5a6780; --paper:#fff; --line:#e6ecfa;
  --brand:#2b5fb8; --brand-ink:#0f3d99; --soft:#eaf1ff;
  --radius:16px; --shadow:0 10px 28px rgba(15,26,43,.08)
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.7
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block;border-radius:var(--radius)}

.app{display:grid;grid-template-columns:300px 1fr;min-height:100svh}
.sidebar{
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,#f6f9ff,#fff);
  position:sticky;top:0;height:100svh;
  display:flex;flex-direction:column;padding:1rem
}
.brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.brand img{width:160px;height:auto}
.badge{display:inline-flex;gap:.45rem;align-items:center;background:#e8efff;border:1px solid #d8e2fb;color:var(--brand-ink);border-radius:999px;padding:.28rem .6rem;font-size:.88rem;font-weight:700}
.nav{display:grid;gap:.35rem;margin:.6rem 0 1rem}
.nav a{padding:.55rem .7rem;border-radius:12px}
.nav a.active,.nav a:hover{background:var(--soft);text-decoration:none}
.sidebar .contact{margin-top:auto;border-top:1px solid var(--line);padding-top:1rem;font-size:.95rem;color:var(--muted)}

main{display:flex;flex-direction:column;min-height:100svh}
main > .container{padding:1.25rem 1.5rem}
.container{width:min(980px,95%);margin-inline:auto}
.section{padding:1.25rem 0}
.split{display:grid;grid-template-columns:1fr;gap:1.2rem;align-items:start}
.grid-3{display:grid;grid-template-columns:1fr;gap:1rem}

.hero{
  background:linear-gradient(180deg,#f6f9ff,#fff);
  border:1px solid var(--line);border-radius:20px;padding:1.2rem
}
h1{font-size:2rem;margin:.2rem 0 .2rem 0}
h2{font-size:1.45rem;margin:.2rem 0 .6rem}
.lead{max-width:75ch}

.card{background:#fff;border:1px solid #e8eefb;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card-body{padding:1rem}

dl.facts{display:grid;grid-template-columns:1fr;gap:.6rem}
dl.facts dt{font-weight:700}
dl.facts dd{margin:0;color:var(--muted)}

.form{display:grid;grid-template-columns:1fr;gap:.9rem}
label{display:grid;gap:.35rem;font-weight:600}
input,textarea{
  width:100%;padding:.75rem .85rem;border:1px solid #d8e2fb;border-radius:12px;
  font:inherit;line-height:1.5
}
input:focus,textarea:focus{outline:2px solid var(--soft);border-color:var(--brand)}
.btn{display:inline-block;padding:.75rem 1rem;border:1px solid #d8e2fb;border-radius:12px;background:#fff}
.btn:hover{box-shadow:var(--shadow);text-decoration:none}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}

.map-embed iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:20px;box-shadow:var(--shadow)}
.small{font-size:.92rem;color:var(--muted)}
.upper-strong{font-weight:800;text-transform:uppercase;letter-spacing:.02em}

.footer{border-top:1px solid var(--line);background:#f8faff;margin-top:auto}
.footer .grid{display:grid;grid-template-columns:1fr;gap:.8rem;padding:1.2rem 0}

@media(min-width:760px){
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .split{grid-template-columns:1.15fr 1fr}
  .footer .grid{grid-template-columns:1.2fr 1fr 1fr}
}
@media(max-width:920px){
  .app{grid-template-columns:1fr}
  .sidebar{display:none}
}
