:root{--purple:#4b3f9e;--purple-dark:#2f2770;--blue:#1e4fb5;--accent:#e8452c;--green:#4caf50;--ink:#1f2133;--muted:#5b5f73;--line:#e4e5ee;--bg-alt:#f5f6fb;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{color:var(--ink);background:#fff;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:var(--purple)}img{max-width:100%;height:auto;display:block}.wrap{width:min(1100px,100% - 2.5rem);margin-inline:auto}.narrow{width:min(760px,100% - 2.5rem)}.topbar{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#fffffff2;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--purple);align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand-mark{background:var(--purple);color:#fff;border-radius:9px;place-items:center;width:36px;height:36px;font-size:1.6rem;font-weight:800;line-height:1;display:grid}.brand strong{letter-spacing:.12em;font-size:1.05rem;display:block}.brand strong em{color:var(--accent);font-style:normal}.brand small{letter-spacing:.3em;color:var(--muted);margin-top:-2px;font-size:.62rem;display:block}nav{gap:1.25rem;display:flex}nav a{color:var(--ink);font-size:.95rem;text-decoration:none}nav a:hover{color:var(--purple)}.hero{background:linear-gradient(135deg,#f3f1ff 0%,#eef3ff 60%,#fff 100%);padding:3.5rem 0}.hero-grid{grid-template-columns:1.3fr 1fr;align-items:center;gap:2.5rem;display:grid}.eyebrow{color:var(--blue);margin:0 0 .5rem;font-size:.9rem;font-weight:600}h1{color:var(--purple-dark);margin:0 0 1rem;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.2}h2{color:var(--purple-dark);margin:0 0 1.25rem;font-size:clamp(1.4rem,2.6vw,1.9rem)}h3{margin:0 0 .35rem;font-size:1.08rem}.lead{color:var(--muted);max-width:58ch;font-size:1.08rem}.hero-photo{border-radius:var(--radius);justify-self:end;max-width:420px;margin:0;overflow:hidden;box-shadow:0 18px 40px #2f27702e}.cta{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.btn{border:2px solid var(--purple);border-radius:999px;padding:.75rem 1.25rem;font-weight:600;text-decoration:none;transition:transform .15s,background .15s;display:inline-block}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-dark)}.btn-outline{color:var(--purple);background:#fff}.section{padding:3.5rem 0}.section.alt{background:var(--bg-alt)}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);border-top:4px solid var(--purple);background:#fff;padding:1.25rem}.card:nth-child(3n+2){border-top-color:var(--accent)}.card:nth-child(3n){border-top-color:var(--blue)}.card p{color:var(--muted);margin:0}.note{border-left:4px solid var(--blue);background:#eef3ff;border-radius:8px;margin-top:1.5rem;padding:1rem 1.25rem}.two-col{grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}.hours{border-collapse:collapse;border-radius:var(--radius);background:#fff;width:100%;overflow:hidden}.hours th,.hours td{text-align:left;border-bottom:1px solid var(--line);padding:.85rem 1rem}.hours th{font-weight:600}.contact{font-style:normal}.contact p{margin:0 0 .5rem}.map{aspect-ratio:16/8;border-radius:var(--radius);border:1px solid var(--line);margin:1rem 0 1.25rem;position:relative;overflow:hidden}.map iframe{border:0;width:100%;height:100%;position:absolute;inset:0}details{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:.75rem;padding:.9rem 1.1rem}summary{cursor:pointer;font-weight:600}details p{color:var(--muted);margin:.6rem 0 0}.footer{background:var(--purple-dark);color:#dcdaf5;padding:2rem 0 5rem;font-size:.95rem}.footer p{margin:0 0 .4rem}.footer a{color:#fff;margin-right:1rem}.footer .small{opacity:.8;margin-top:1rem;font-size:.82rem}.wa-float{z-index:20;color:#fff;background:#25d366;border-radius:999px;padding:.8rem 1.2rem;font-weight:700;text-decoration:none;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 20px #0003}@media (max-width:860px){nav{display:none}.hero-grid,.two-col{grid-template-columns:1fr}.hero-photo{justify-self:stretch;max-width:none}.map{aspect-ratio:4/3}}
