:root{--aqua:#7fd1c0;--aqua2:#e6f7f2;--yellow:#ffd23f;--ink:#14453d;--soft:#fffdf5}
*{margin:0;padding:0;box-sizing:border-box}
body{background:#fff;color:var(--ink);font-family:'Nunito',sans-serif;line-height:1.65;overflow-x:hidden}
header{display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:#fff}
.logo{font-family:'Chewy',cursive;font-size:1.9rem;color:var(--ink)}.logo span{color:#2aa88f}
nav a{color:var(--ink);text-decoration:none;font-weight:800;margin-left:24px;font-size:.95rem}nav a:hover{color:#2aa88f}
.book{background:var(--yellow);padding:10px 20px;border-radius:99px;box-shadow:0 3px 0 #d9a900}
.hero{background:var(--aqua2);padding:56px 5vw 64px;position:relative;overflow:hidden;text-align:center}
.bubble{position:absolute;border-radius:50%;background:rgba(255,255,255,.75);border:3px solid rgba(127,209,192,.5)}
.b1{width:110px;height:110px;left:6%;top:24px}.b2{width:54px;height:54px;left:16%;bottom:30px}.b3{width:78px;height:78px;right:8%;top:38px}.b4{width:36px;height:36px;right:20%;bottom:44px}.b5{width:22px;height:22px;left:44%;top:18px}
.hero h1{font-family:'Chewy',cursive;font-weight:400;font-size:4rem;line-height:1;color:var(--ink);position:relative}
.hero h1 em{font-style:normal;color:#178a74;text-decoration:underline wavy var(--yellow) 5px;text-underline-offset:8px}
.hero p{max-width:560px;margin:18px auto 0;font-size:1.1rem;font-weight:600;position:relative}
.cta{margin-top:28px;position:relative}.cta a{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:900;padding:15px 32px;border-radius:99px;font-size:1.05rem;box-shadow:0 6px 0 #0b2e29;margin:4px}
.cta .alt{background:#fff;color:var(--ink);box-shadow:0 6px 0 var(--aqua)}
.note{margin:26px auto 0;max-width:560px;background:#fff;border:2px dashed var(--aqua);border-radius:18px;padding:12px 18px;font-weight:700;font-size:.94rem;position:relative}
.services{padding:64px 5vw;max-width:1080px;margin:0 auto}
.services h2,.story h2,.reviews h2{font-family:'Chewy',cursive;font-weight:400;text-align:center}
.services h2{font-size:2.6rem}.sub{text-align:center;font-weight:700;color:#4a6d67;margin:6px 0 32px}
table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:22px;border:2px solid #d8efe9;background:#fff}
th,td{padding:16px 18px;text-align:left}th{background:var(--ink);color:#fff;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}
td{border-top:1px solid #e6f2ef;font-weight:600}td.price{font-weight:900;white-space:nowrap}
tr td:first-child{font-weight:900}
.boards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.board{border-radius:24px;padding:26px}.board.a{background:var(--yellow)}.board.b{background:var(--aqua2);border:2px solid var(--aqua)}
.board h3{font-family:'Chewy',cursive;font-weight:400;font-size:1.6rem}.board .big{font-size:2rem;font-weight:900}.board ul{margin:10px 0 0 18px;font-weight:600;font-size:.95rem}
.addons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.addons span{background:#fff;border:2px solid var(--ink);border-radius:99px;padding:8px 16px;font-weight:800;font-size:.9rem}
.story{background:var(--ink);color:#eafff8;padding:64px 5vw;text-align:center}
.story .in{max-width:760px;margin:0 auto}.story h2{font-size:2.3rem;color:#fff}.story p{margin-top:12px;color:#cfeee6}
.reviews{padding:64px 5vw;background:var(--soft)}.reviews h2{font-size:2.4rem;margin-bottom:28px}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin:0 auto}
.rev{background:#fff;border-radius:24px;padding:26px;box-shadow:0 10px 24px rgba(20,69,61,.09)}.rev .stars{color:#e6a817;letter-spacing:.15em}.rev p{margin:10px 0;font-size:.97rem}.rev cite{font-style:normal;font-weight:900;font-size:.9rem}
.visit{padding:60px 5vw;max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}
.visit h3{font-family:'Chewy',cursive;font-weight:400;font-size:1.4rem;margin-bottom:6px}.visit p{font-weight:600;font-size:.95rem}
footer{background:var(--aqua2);text-align:center;padding:24px 5vw;font-weight:800;font-size:.9rem}
@media(max-width:820px){.boards,.rgrid,.visit{grid-template-columns:1fr}.hero h1{font-size:2.7rem}nav{display:none}th,td{padding:12px 10px;font-size:.9rem}}
