
:root{--bg:#f8f7f4;--card:#ffffff;--text:#1e2a36;--muted:#5d6b79;--brand:#0f2b4d;--accent:#caa552;--ring: rgba(12,75,219,.25)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;border-radius:6px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin-inline:auto}

/* Nav */
.nav{position:sticky;top:0;background:#fff;border-bottom:1px solid #ece9e1;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem;align-items:center}
.nav .links a{display:block;padding:.8rem;color:var(--text)}
.nav .links a:hover{color:var(--brand)}
.toggle{display:none}
#nav-toggle{display:none}
@media (max-width:820px){
  .toggle{display:block;position:absolute;right:1rem;top:.9rem;width:32px;height:28px;cursor:pointer}
  .toggle::before,.toggle::after{content:"";display:block;height:3px;background:var(--text);margin:7px 0}
  .links{position:absolute;inset:56px 0 auto 0;background:#fff;border-bottom:1px solid #ece9e1;display:none;flex-direction:column}
  #nav-toggle:checked ~ .links{display:flex}
}

/* Hero */
.hero{background:linear-gradient(180deg, rgba(15,43,77,.85), rgba(15,43,77,.65)), url('assets/hero.jpg') center/cover no-repeat;color:#fff}
.hero .container{padding:88px 0}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(32px,4vw,54px);line-height:1.15;margin:0 0 .6rem}
.hero p{max-width:720px;margin:0 0 1.2rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{background:var(--accent);color:#000;font-weight:700;border:none;border-radius:8px;padding:.8rem 1rem;cursor:pointer}
.btn.secondary{background:#fff;color:var(--brand)}
.btn:hover{filter:brightness(.95)}

/* Sections */
.section{padding:56px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}
.card{background:var(--card);padding:22px;border:1px solid #ece9e1;border-radius:12px;box-shadow:0 10px 20px rgba(20,25,40,.04)}
.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}
h2.section-title{font-family:"Playfair Display",serif;font-size:clamp(26px,3vw,36px);margin:.3rem 0 1rem}
.list{padding-left:1.1rem}
.badge{display:inline-block;background:#eef5ff;color:var(--brand);border:1px solid #d9e6ff;border-radius:999px;padding:.25rem .6rem;font-size:.83rem;margin:.2rem .2rem 0 0}

/* Footer */
.footer{background:var(--brand);color:#dbe7ff;margin-top:40px}
.footer a{color:#ffd770}
.footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.footer .copy{text-align:center;margin:12px 0 0 0;color:#a9c0d8}
@media (max-width:700px){.footer .grid{grid-template-columns:1fr}}

/* Forms */
form{display:grid;gap:10px}
input,textarea{padding:.8rem;border:1px solid #d7d2c6;border-radius:8px;font:inherit}
input:focus,textarea:focus{outline:3px solid var(--ring);border-color:#8db3ff}
label{font-weight:600;color:var(--muted)}

/* Utility */
.center{text-align:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:800px){.grid-2{grid-template-columns:1fr}}
.lead{font-size:1.1rem;color:var(--muted)}
