
*{box-sizing:border-box}html,body{margin:0}
/* Gradient with lavender fallback */
body{font-family:"Aleo",serif;color:#2b1248;
background:
  radial-gradient(1200px 800px at 20% 18%, rgba(0, 255, 221, .22), transparent 40%),
  radial-gradient(1000px 700px at 78% 26%, rgba(0, 200, 255, .24), transparent 50%),
  radial-gradient(900px 700px at 50% 82%, rgba(150, 0, 255, .22), transparent 52%),
  linear-gradient(180deg,#eadcf7 0,#e6d6f3 55%,#eadcf7 100%);
background-attachment: fixed,fixed,fixed,scroll;
background-size: cover,cover,cover,auto}
.topbar .notice{background:#4b1471;color:#fff;text-align:center;padding:.5rem .75rem}
.topbar .notice a{color:#7fe7f3}
.topbar .navwrap{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:rgba(255,255,255,.45);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.06)}
.brand{text-decoration:none;font-weight:800;color:#2b1248}
.topbar nav a{margin:0 .5rem;text-decoration:none;color:#2b1248}
.topbar nav .cta{padding:.45rem .85rem;border-radius:999px;background:linear-gradient(135deg,#00a9c6,#007a96);color:#fff}

.hero{display:grid;place-items:center;text-align:center;min-height:44vh;padding:24px 12px}
.hero-logo{width:min(740px,82vw);filter:drop-shadow(0 20px 40px rgba(0,0,0,.12))}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.btn{display:inline-block;padding:.6rem .95rem;border-radius:12px;border:2px solid #4b1471;color:#4b1471;text-decoration:none;font-weight:800}
.btn.primary{background:linear-gradient(135deg,#00a9c6,#007a96);border:none;color:#fff;box-shadow:0 10px 20px rgba(0,169,198,.25)}

.wrap{max-width:1080px;margin:0 auto;padding:22px}
.card{background:rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:22px;margin:20px 0;box-shadow:0 12px 30px rgba(75,20,113,.08)}
.card.accent{border-color:rgba(0,169,198,.35)}
h2{margin:0 0 12px;font-size:clamp(1.6rem,2.5vw,2.2rem);color:#2b1248}

.about-flex{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
.headshot img{width:100%;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.2)}
.headshot figcaption{text-align:center;margin-top:6px;opacity:.85}

.chips-accordion .chip{border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff;margin:10px 0;overflow:hidden}
.chips-accordion summary{list-style:none;padding:1rem 1rem;cursor:pointer;font-weight:800;color:#2b1248;background:linear-gradient(135deg,rgba(0,169,198,.12),rgba(75,20,113,.12))}
.chips-accordion summary::-webkit-details-marker{display:none}
.chip-body{padding:1rem;color:#2e2152;line-height:1.6}

.tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}
.tags li{padding:.55rem .9rem;border-radius:999px;border:1px solid rgba(75,20,113,.2);background:linear-gradient(135deg,rgba(0,169,198,.15),rgba(75,20,113,.12));font-weight:700}

.legal .chip{margin:10px 0}

.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.map iframe{width:100%;height:320px;border:0;border-radius:14px;box-shadow:0 12px 26px rgba(0,0,0,.12);background:#fff}
form{display:grid;gap:12px}
label{display:grid;gap:6px}
input,textarea{padding:.7rem .8rem;border:1px solid rgba(0,0,0,.15);border-radius:10px;font-family:inherit}
.status{font-weight:800}

.footer{display:grid;place-items:center;text-align:center;padding:24px;color:#2b1248}
.footer .badge{width:58px;opacity:.95;filter:drop-shadow(0 6px 14px rgba(75,20,113,.25))}

@media (max-width:960px){
  .about-flex,.contact-grid{grid-template-columns:1fr}
  .hero{min-height:38vh}
  .hero-logo{width:min(88vw,700px)}
}


img, iframe { max-width: 100%; height: auto; }

@media (max-width: 480px){
  .btnrow { gap: 8px; }
  .map iframe { height: 260px; }
  .card { margin: 14px 10px; padding: 16px; }
  .topbar nav { overflow-x: auto; white-space: nowrap; }
}
