:root{--navy:#1b2a4a;--navy2:#24365c;--red:#9b2d2a;--cream:#f5ebd7;--cream2:#efe2c6;--pink:#e83e8c;--ink:#2a2420;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 Georgia,"Times New Roman",serif;color:var(--ink);background:var(--cream)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}h2,h3{font-family:"Rockwell","Roboto Slab",Georgia,serif;line-height:1.2}
h2{font-size:clamp(1.8rem,5vw,2.6rem);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.06em}
h2::after{content:"";display:block;width:70px;height:4px;background:var(--red);margin-top:.5rem;border-radius:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem}
.topbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:var(--navy);border-bottom:4px solid var(--red)}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--cream);text-decoration:none;font-weight:bold;letter-spacing:.04em}
.brand img{width:44px;height:44px}
nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center}nav a{color:var(--cream);text-decoration:none;font-size:.95rem}nav a:hover{color:var(--pink)}
.btn{display:inline-block;background:var(--red);color:#fff!important;text-decoration:none;padding:.7rem 1.2rem;border-radius:999px;font-weight:bold;border:2px solid var(--red)}
.btn:hover,.btn:focus{background:var(--pink);border-color:var(--pink)}
.btn-ghost{background:transparent;border-color:var(--cream)}.btn-sm{padding:.35rem .9rem}
.hero{position:relative;min-height:88vh;display:grid;place-items:center;overflow:hidden;color:var(--cream);text-align:center}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,42,74,.55),rgba(27,42,74,.75))}
.hero-inner{position:relative;z-index:1;padding:2rem 1rem;max-width:760px}
.hero-seal{width:clamp(130px,30vw,210px);margin:0 auto 1rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}
.wordmark{width:min(520px,90%);margin:.2rem auto}.wordmark.small{width:min(380px,70%)}
.lede{font-size:clamp(1.1rem,3vw,1.4rem);margin:1rem 0 .2rem}.tag{font-style:italic;color:#ffd3e6;margin:0 0 1.4rem}
.cta{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.cta.left{justify-content:flex-start}
.band{padding:4rem 1rem}.wrap{max-width:1100px;margin:auto}
.cream{background:var(--cream)}.navy{background:var(--navy);color:var(--cream)}.navy a:not(.btn){color:#ffc2dc}.navy h2::after{background:var(--pink)}
.band:not(.cream):not(.navy){background:var(--cream2)}
.prices{display:grid;gap:1rem}
.price{background:#fff;border:3px solid var(--navy);border-radius:var(--r);padding:1.5rem;box-shadow:6px 6px 0 var(--red)}
.price h3{margin:0;color:var(--navy)}.amt{font-size:2.8rem;font-weight:bold;color:var(--red);margin:.3rem 0}.amt span{font-size:1.1rem;color:var(--ink)}
.sub{margin-top:2rem;color:var(--navy)}
.checks{list-style:none;padding:0;display:grid;gap:.4rem}.checks li::before{content:"★ ";color:var(--red)}
.note{color:#5a4d42}.navy .note{color:var(--cream)}
.cards{display:grid;gap:1.2rem}
.card{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card figcaption{padding:1rem 1.2rem}.card h3{margin:0 0 .2rem;color:var(--navy)}.card p{margin:0}
.split{display:grid;gap:2rem;align-items:center}.split img{border-radius:var(--r)}
.mini-seal{width:90px;margin-bottom:.5rem}
.gallery{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.gallery img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:8px;transition:transform .2s}
.gallery a:hover img{transform:scale(1.03)}
address{font-style:normal}.brandmark img{width:min(300px,70%);margin:auto;opacity:.95}
.foot{background:var(--navy);color:var(--cream);text-align:center;padding:2rem 1rem;border-top:4px solid var(--red);font-size:.9rem}
.foot img{width:220px;margin:0 auto .5rem}
@media(min-width:700px){.prices{grid-template-columns:1fr 1fr}.checks{grid-template-columns:1fr 1fr}.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.cards{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:repeat(4,1fr)}.split{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}
.navy .amt{color:#ffc2dc}.navy .amt span{color:var(--cream)}
.lesson-strip{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}.lesson-strip img{aspect-ratio:1;object-fit:cover;width:100%}
.split > div > img:not(.mini-seal){max-height:560px;width:100%;object-fit:cover}.discount{font-weight:bold}
.mini-seal{width:90px!important;height:auto}
.kicker{font-family:"Rockwell",Georgia,serif;text-transform:uppercase;letter-spacing:.05em;color:#ffc2dc;font-weight:bold}
.lesson-points{display:grid;gap:1rem;margin:1rem 0}.lesson-points h3{margin:0;color:#ffc2dc}.lesson-points p{margin:.2rem 0 0}
@media(min-width:700px){.lesson-points{grid-template-columns:1fr 1fr}}
.brandmark{overflow:visible}
.split > .brandmark > img,.brandmark img{width:auto!important;max-width:min(240px,70%);max-height:240px;height:auto;object-fit:contain;margin:auto;display:block}
.foot,.foot img{overflow:visible}.foot img{width:auto;max-width:min(300px,80%);max-height:120px;height:auto;object-fit:contain}
/* Included-with-board / checklist: single column, hanging star icon on every item */

.checks{display:flex!important;flex-direction:column;gap:.45rem;grid-template-columns:none!important;max-width:640px;margin:.5rem 0 1rem}
.checks li{display:flex;align-items:flex-start;gap:.55rem;line-height:1.45;min-height:1.45em}
.checks li::before{content:"★";flex:0 0 1.1em;color:var(--red);line-height:1.45}
.navy .checks li::before{color:#ffc2dc}
/* Family photo beside the contact block */
.contact-row{display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start;margin-bottom:1rem}
.family{margin:0;width:min(300px,80vw);align-self:center}
.split .family img,.family img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/4;object-fit:contain;border-radius:18px;border:4px solid var(--cream);box-shadow:0 0 0 3px var(--red),0 8px 20px rgba(0,0,0,.35);display:block}
@media(min-width:600px){.contact-row{flex-direction:row;align-items:center}.family{width:240px;flex:0 0 240px;align-self:auto}}
