:root{--navy:#0D1B2A;--light:#E0E1DD;--white:#ffffff;--accent:#1B263B;}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:var(--white);color:var(--navy);line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
header{padding:2rem 0 1rem;border-bottom:1px solid #eee;background:var(--white);position:sticky;top:0;z-index:10}
header .brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}
.brandmark{font-size:1.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}
.brandmark span{display:block;font-size:.95rem;font-weight:500;letter-spacing:.18em;color:var(--accent)}
nav ul{display:flex;gap:1rem;list-style:none;justify-content:center;padding:0;margin:.5rem 0 0}
nav a{color:var(--navy);text-decoration:none;padding:.5rem .75rem;border-radius:.75rem}
nav a:hover{background:var(--light)}
.hero{display:grid;place-items:center;padding:4rem 1rem;background:linear-gradient(180deg,var(--light),#f7f7f7)}
.hero h1{font-size:clamp(28px,5vw,44px);margin:.25rem 0}
.hero p{max-width:55ch;margin:.25rem auto 1.25rem}
.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:.9rem;background:var(--navy);color:var(--white);text-decoration:none;font-weight:600}
.btn:hover{opacity:.9}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:2rem 0}
.card{background:#fff;border:1px solid #eee;border-radius:1rem;padding:1rem;box-shadow:0 4px 18px rgba(0,0,0,.04)}
.card h3{margin-top:0}
section{padding:2rem 0}
footer{padding:2rem 1rem;border-top:1px solid #eee;background:#fafafa;margin-top:2rem}
.footer-inner{display:flex;flex-direction:column;gap:.35rem;align-items:center;text-align:center}
.small{opacity:.8;font-size:.95rem}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.address{white-space:pre-line}
