:root{--red:#d6361f;--yellow:#ffc933;--navy:#14213d;--paper:#fff7e6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font:17px/1.6 Nunito,system-ui,sans-serif;font-weight:500}
a{color:inherit}
.demo{background:#d00000;color:#fff;text-align:center;padding:.55rem 1rem;font-weight:800;font-size:.9rem}
.demo a{color:#fff}
.demo a{display:inline-flex;align-items:center;gap:.4rem;vertical-align:middle}
.demo img{border-radius:6px}
.top{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,5vw,4rem);background:var(--navy);color:#fff;position:sticky;top:0;z-index:5}
.brand{font:400 1.5rem "Bowlby One",sans-serif;text-decoration:none;color:var(--yellow)}
.brand span{color:var(--red)}
nav{display:flex;gap:1.2rem;align-items:center}
nav a{text-decoration:none;font-weight:700}
.pill{background:var(--yellow);color:var(--navy);padding:.45rem 1rem;border-radius:8px}
.hero{background:repeating-linear-gradient(45deg,var(--red) 0 24px,#c22f1a 24px 48px);padding:clamp(3rem,8vw,6rem) 1.2rem;text-align:center;border-bottom:8px solid var(--navy)}
.hero-in{max-width:44rem;margin:0 auto;background:var(--paper);border:5px solid var(--navy);border-radius:24px;padding:2.2rem 1.5rem;box-shadow:10px 10px 0 var(--navy)}
.tag{display:inline-block;background:var(--yellow);padding:.25rem .9rem;border-radius:999px;font-weight:800;font-size:.85rem;margin:0}
h1{font:400 clamp(2.4rem,8vw,4.6rem)/1.05 "Bowlby One",sans-serif;color:var(--red);margin:.5em 0}
.lead{font-size:1.15rem;max-width:32rem;margin:0 auto 1.5rem}
.cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--red);color:#fff;padding:.8rem 1.4rem;border-radius:10px;border:3px solid var(--navy);box-shadow:4px 4px 0 var(--navy);text-decoration:none;font-weight:800}
.btn.alt{background:var(--yellow);color:var(--navy)}
.marquee{display:flex;gap:2.5rem;background:var(--yellow);padding:.9rem 1rem;font:400 1.05rem "Bowlby One",sans-serif;justify-content:center;flex-wrap:wrap;text-align:center}
.marquee span::before{content:"\2605\00a0";color:var(--red)}
.wrap{max-width:1050px;margin:0 auto;padding:0 1.2rem}
section.wrap,.why,.visit{padding-top:4rem;padding-bottom:4rem}
h2{font:400 clamp(1.8rem,4.5vw,2.8rem)/1.1 "Bowlby One",sans-serif;margin:0 0 1.5rem;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.cards article{position:relative;background:#fff;border:3px solid var(--navy);border-radius:18px;padding:1.5rem;box-shadow:6px 6px 0 var(--red)}
.n{position:absolute;top:-.9rem;right:1rem;background:var(--navy);color:var(--yellow);font:400 .9rem "Bowlby One",sans-serif;padding:.2rem .6rem;border-radius:8px}
.cards h3{font:800 1.2rem Nunito;margin:0 0 .4rem;color:var(--red)}
.cards p{margin:0}
.note{font-size:.85rem;opacity:.7;margin-top:1.4rem}
.why{background:var(--navy);color:#fff}
.why h2{color:var(--yellow)}
.why ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.why li{border-left:6px solid var(--yellow);padding-left:1rem}
.why b{color:var(--yellow)}
blockquote{margin:0;background:var(--yellow);border:3px solid var(--navy);border-radius:18px;padding:1.5rem;font-weight:800;font-size:1.15rem;line-height:1.4}
blockquote cite{display:block;margin-top:.8rem;font-weight:700;font-size:.85rem;font-style:normal;opacity:.8}
.visit{background:#ffe9b8}
.two{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.hours{background:#fff;border:3px solid var(--navy);border-radius:18px;padding:1.4rem}
.hours p{margin:.3rem 0}
footer{text-align:center;padding:2rem 1rem;background:var(--navy);color:#f1e8d2}
footer p{margin:.2rem 0}.small{font-size:.8rem;opacity:.75}
@media(max-width:720px){.two{grid-template-columns:1fr}nav a:not(.pill){display:none}}
