*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fffaf1;color:#382012;font-family:Nunito,Arial,sans-serif;font-size:18px;line-height:1.55}a{color:inherit}img{display:block;max-width:100%;height:auto}svg{width:24px;height:24px}h1,h2,h3,.brand,.footer-brand{font-family:Fredoka,'Arial Rounded MT Bold',sans-serif;font-weight:700;line-height:1.06;letter-spacing:-.025em}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(64px,7.4vw,108px);margin-bottom:26px}h2{font-size:clamp(36px,4.3vw,58px);margin-bottom:40px}h3{font-size:30px;margin-bottom:12px}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.symbols{position:absolute;width:0;height:0;overflow:hidden}.skip{position:absolute;top:-100px;left:16px;z-index:20;padding:12px;background:white}.skip:focus{top:10px}a:focus-visible{outline:3px solid #382012;outline-offset:6px}.top-sun{background:#ffe68a;background:radial-gradient(ellipse at 65% 15%,#fff0ae,#ffe68a 75%)}.header{display:flex;align-items:center;gap:35px;padding-top:32px;padding-bottom:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:36px;line-height:.89;letter-spacing:-.04em}.brand svg{width:57px;height:57px;fill:#ed584c;transform:rotate(12deg)}nav{margin-left:auto;display:flex;gap:32px}nav a{text-decoration:none;font-size:17px;font-weight:800}nav a:hover,.email-address:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;text-decoration:none;background:#e65043;color:white;border-radius:99px;padding:18px 32px;font-size:21px;font-weight:800;line-height:1.25;transition:transform .2s,background .2s}.button:hover{background:#cf4136;transform:translateY(-2px)}.button svg{width:28px;height:28px}.header-button{font-size:17px;padding:14px 25px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:600px;gap:8px;padding-top:40px;padding-bottom:45px}.hero-copy{z-index:2}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.15em;font-weight:800;margin-bottom:17px}.hero-description{font-size:27px;line-height:1.35;margin-bottom:30px}.hero-note{display:block;font-size:14px;font-weight:700;margin-top:18px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}.coral-circle{position:absolute;width:94%;aspect-ratio:1;border-radius:50%;background:#f6695b;top:10px;z-index:-1}.hero-art>img{width:100%;max-height:540px;object-fit:contain;object-position:bottom}.doodle{position:absolute;fill:none;stroke:#382012;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.sparkle{right:-12px;top:70px;width:50px;height:75px;transform:rotate(10deg)}.hero-leash{width:116px;height:116px;left:-45px;bottom:5px;transform:rotate(-15deg)}.ball{width:77px;height:77px;right:-12px;bottom:14px;transform:rotate(12deg)}.section{padding:76px 0}.centered{text-align:center}.services{position:relative;background:#fffaf1}.wave-top:before{content:'';position:absolute;top:-23px;left:0;right:0;height:36px;background:#fffaf1;clip-path:polygon(0 45%,10% 0,25% 50%,40% 80%,60% 30%,80% 65%,100% 0,100% 100%,0 100%)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{padding:30px;display:grid;grid-template-columns:44% 1fr;gap:26px;align-items:center;border-radius:32px}.walk-card{background:#fcece3}.home-card{background:#edf0e2}.service-card>img{width:100%;aspect-ratio:.86;object-fit:cover;border-radius:47% 43% 38% 42%}.service-icon{width:58px;height:58px;margin-bottom:14px;color:#e65043}.line-icon{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.service-card p{font-size:17px;line-height:1.45;margin-bottom:22px}.text-link{display:inline-flex;align-items:center;gap:10px;text-underline-offset:5px;font-size:15px;font-weight:800}.text-link:hover{color:#ae3029}.text-link svg{width:21px}.about{background:#ffe68a;border-radius:50% 9% 28% 5% / 5% 3% 4% 3%}.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:center}.about-photo{position:relative}.about-photo img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:48% 42% 32% 30%}.heart{position:absolute;right:-15px;top:4px;font-size:70px;color:#e65043;transform:rotate(15deg)}.about-copy{position:relative}.about-copy h2{margin-bottom:25px}.about-copy>p:not(.eyebrow){font-size:23px;line-height:1.5;max-width:570px}.about-paw{position:absolute;right:0;top:-40px;width:65px;height:65px;fill:#e65043;transform:rotate(20deg)}.steps{padding-bottom:84px}.step-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:center}.step-grid li+li{position:relative}.step-grid li+li:before{content:'';position:absolute;left:-24px;top:70px;width:1px;height:100px;background:#e9d8c8}.step-art{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:24px}.step-art span{display:grid;place-items:center;border-radius:50%;background:#e65043;color:white;width:52px;height:52px;font-weight:800;font-size:26px}.step-art svg{width:52px;height:52px}.filled-icon{fill:currentColor}.step-grid h3{font-size:27px}.step-grid p{font-size:18px;max-width:260px;margin:0 auto}.contact{background:#f56556;padding:45px 0 0;border-radius:50% 30% 0 0 / 6% 4% 0 0}.contact-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:55px;align-items:center}.contact-dog{height:350px;align-self:end;overflow:hidden}.contact-dog img{width:100%;height:420px;object-fit:contain;object-position:top}.contact-copy{padding:16px 0 55px}.contact h2{font-size:clamp(35px,4vw,54px);margin-bottom:18px}.contact-copy p{font-size:20px;margin-bottom:24px}.cream-button{background:#fffaf1;color:#a62d25}.cream-button:hover{background:#ffe68a}.email-address{display:block;width:fit-content;margin-top:17px;font-size:18px;font-weight:800;text-decoration:none;overflow-wrap:anywhere}.footer{position:relative;text-align:center;padding:30px 0}.footer-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:22px}.footer-brand svg{fill:#e65043;width:24px;height:24px}.footer p{font-size:13px;margin:6px 0 0}.back-top{position:absolute;right:0;top:38px;font-size:13px;text-underline-offset:4px}.mobile-break{display:none}
@media(min-width:1450px){.hero{min-height:650px}.hero-art>img{max-height:570px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.header{gap:22px}.brand{font-size:29px}.brand svg{width:43px}nav{gap:22px}.hero{min-height:500px}.hero h1{font-size:76px}.hero-description{font-size:23px}.hero-art>img{max-height:440px}.service-card{padding:24px;gap:18px;grid-template-columns:40% 1fr}.service-card h3{font-size:25px}.service-card p{font-size:16px}.about-grid{gap:45px}.about-copy>p:not(.eyebrow){font-size:21px}.contact-grid{gap:32px}.contact-dog{height:300px}.contact-dog img{height:360px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{padding-top:24px;flex-wrap:wrap;gap:20px}.brand{font-size:29px}.header-button{margin-left:auto;font-size:14px;padding:12px 18px}.header nav{order:3;width:100%;justify-content:center;margin:0;gap:40px;padding-top:10px}nav a{font-size:15px}.hero{grid-template-columns:1fr;text-align:center;padding-top:34px;padding-bottom:20px;gap:30px}.hero h1{font-size:clamp(56px,13.7vw,82px);margin-bottom:22px}.hero-description{font-size:23px}.hero .eyebrow{font-size:10px}.hero-art{width:min(440px,95%);height:375px;margin:auto}.hero-art>img{height:100%;width:100%;object-fit:contain}.coral-circle{width:87%;top:4px}.hero-leash{left:-6px;bottom:0;width:90px;height:90px}.sparkle{right:2px;top:44px;width:35px;height:52px}.ball{width:57px;height:57px;right:3px;bottom:16px}.hero-note{font-size:12px}.section{padding:55px 0}h2{font-size:36px;margin-bottom:30px}.services .eyebrow,.steps .eyebrow{font-size:10px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:22px;grid-template-columns:41% 1fr;gap:22px;border-radius:26px}.service-card h3{font-size:28px}.service-icon{width:47px;height:47px;margin-bottom:10px}.service-card p{font-size:16px;margin-bottom:17px}.text-link{font-size:13px}.about-grid{grid-template-columns:1fr;gap:32px}.about-photo{max-width:340px;width:90%;margin:auto}.about-copy{text-align:center}.about-copy>p:not(.eyebrow){font-size:20px;max-width:440px;margin:0 auto 24px}.about-paw{width:40px;height:40px;right:5px;top:-10px}.about .eyebrow{font-size:10px}.step-grid{grid-template-columns:1fr;gap:34px}.step-art{margin-bottom:17px}.step-grid li+li:before{display:none}.step-grid p{max-width:300px}.step-grid h3{font-size:27px}.contact{padding-bottom:0}.contact-grid{grid-template-columns:1fr;gap:0}.contact-copy{order:-1;text-align:center;padding:0 0 30px}.contact h2{font-size:35px}.contact-copy p{font-size:18px}.email-address{margin:20px auto 0;font-size:17px}.contact-dog{width:240px;height:230px;margin:auto}.contact-dog img{height:290px}.footer{padding-bottom:56px}.back-top{top:auto;bottom:20px;left:0;right:0}.mobile-break{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.about-photo .parker-photo{aspect-ratio:3/4;object-position:center;border-radius:35% 35% 25% 25% / 20% 20% 15% 15%}

.reviews{background:#fcece3}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.review-intro h2{margin-bottom:24px}.review-intro>p:not(.eyebrow){font-size:21px}.review-intro .review-explanation{font-size:16px;line-height:1.6}.review-form{background:#fffaf1;border-radius:28px;padding:30px}.review-form label{display:block;font-size:16px;font-weight:800;margin-bottom:8px}.review-form label span{font-weight:400}.review-form input,.review-form select,.review-form textarea{display:block;width:100%;border:1px solid #bbaa94;border-radius:12px;padding:13px 14px;margin-bottom:20px;font:inherit;font-size:16px;color:#382012;background:white}.review-form textarea{resize:vertical;min-height:120px}.review-form input:focus-visible,.review-form select:focus-visible,.review-form textarea:focus-visible{outline:3px solid #382012;outline-offset:3px}.review-form .button{border:0;cursor:pointer;font-family:inherit;font-size:18px;width:100%;padding:16px}.review-status{font-size:14px;margin:16px 0 0}.review-status a{text-underline-offset:3px}@media(max-width:700px){.header nav{gap:24px}nav a{font-size:14px}.review-grid{grid-template-columns:1fr;gap:25px}.review-intro{text-align:center}.review-intro>p:not(.eyebrow){font-size:19px}.review-intro .review-explanation{font-size:15px}.review-form{padding:24px}}

.schedule-note{display:flex;align-items:center;gap:20px;margin:30px auto 0;padding:23px 28px;max-width:780px;border:1px solid #e5d7b6;border-radius:22px;background:#fff4cf}.schedule-note>svg{width:42px;height:42px;flex-shrink:0;color:#ad372e}.schedule-note strong{font-size:19px}.schedule-note p{font-size:16px;margin:5px 0 0;line-height:1.5}@media(max-width:700px){.schedule-note{align-items:flex-start;padding:20px;gap:14px}.schedule-note strong{font-size:17px}.schedule-note p{font-size:15px}.schedule-note>svg{width:32px;height:32px}}

.tips-announcement{display:flex;align-items:center;justify-content:center;gap:24px;padding:15px 20px;background:#e65043;color:white;text-align:center}.tips-announcement strong{font-family:Fredoka,sans-serif;font-size:27px;font-weight:600;line-height:1.2}.tips-announcement span{color:#382012;background:#fff0ae;border-radius:99px;padding:5px 14px;font-size:13px;font-weight:800}.services-tips{text-align:center;margin:-15px auto 34px;font-size:21px}.services-tips strong{display:inline-block;padding:12px 24px;background:#ffe68a;border-radius:18px}.contact-copy .contact-tips{display:inline-block;font-family:Fredoka,sans-serif;font-weight:600;font-size:26px;line-height:1.25;padding:10px 20px;margin:0 0 24px;border-radius:16px;background:#ffe68a;color:#382012}.contact-copy .contact-tips+.button{display:flex;width:fit-content}@media(max-width:700px){.tips-announcement{flex-direction:column;gap:7px;padding:15px 18px}.tips-announcement strong{font-size:25px}.tips-announcement span{font-size:12px}.services-tips{font-size:18px;margin-top:-10px}.services-tips strong{padding:12px 18px}.contact-copy .contact-tips{font-size:24px}.contact-copy .contact-tips+.button{margin-left:auto;margin-right:auto}}

.fit-note{margin-top:25px;padding:18px 22px;border-radius:20px;background:#fff4df;max-width:580px}.fit-note h3{font-size:22px;margin-bottom:9px}.contact-copy .fit-note p{font-size:16px;line-height:1.55;margin:0}@media(max-width:700px){.fit-note{text-align:left;padding:18px 20px;margin-top:25px}.fit-note h3{font-size:21px}.contact-copy .fit-note p{font-size:15px}}
.review-board{margin-top:45px}.review-board-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.review-board-heading h3{margin:0;font-size:30px}.refresh-reviews{border:1px solid #bbaa94;background:#fffaf1;padding:10px 15px;border-radius:99px;font-family:inherit;font-weight:800;color:#382012;cursor:pointer}.refresh-reviews:focus-visible{outline:3px solid #382012;outline-offset:3px}.review-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.neighbor-review{background:#fffaf1;padding:25px;border-radius:24px;border:1px solid #edd9c9;overflow-wrap:anywhere}.review-stars{color:#ab372d;font-size:24px;margin:0 0 12px;letter-spacing:3px}.neighbor-review h4{font-size:18px;margin:0 0 12px}.neighbor-review .review-message{white-space:pre-wrap;font-size:17px;line-height:1.6;margin-bottom:18px}.neighbor-review time{font-size:13px;color:#725f4e}.review-form button:disabled,.refresh-reviews:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.review-list{grid-template-columns:1fr}.review-board-heading{align-items:flex-start}.review-board-heading h3{font-size:26px}.refresh-reviews{font-size:12px;white-space:nowrap}.neighbor-review{padding:22px}}

.hero h1.homeschool-headline{font-size:clamp(44px,6.2vw,82px);line-height:1.04;margin-bottom:18px}.homeschool-subtitle{font-size:clamp(22px,2.5vw,30px);font-weight:800;line-height:1.3;margin-bottom:18px;color:#a62d25}@media(max-width:700px){.hero h1.homeschool-headline{font-size:clamp(34px,8.6vw,56px)}.homeschool-subtitle{font-size:22px}}

.schedule-note{max-width:1000px;padding:36px 42px;gap:28px;border:2px solid #dfbd62;background:#fff4cf;color:#916407}.schedule-note>svg{width:64px;height:64px;color:#916407}.schedule-note strong{display:block;font-size:clamp(27px,3vw,36px);line-height:1.2}.schedule-note p{font-size:22px;margin-top:12px}@media(max-width:700px){.schedule-note{padding:26px 22px;gap:16px}.schedule-note strong{font-size:26px}.schedule-note p{font-size:19px}.schedule-note>svg{width:42px;height:42px}}

.schedule-note p{font-size:clamp(25px,2.8vw,34px);font-weight:800;line-height:1.3;color:#fff12b;text-shadow:0 1px 1px #765000,0 0 9px rgba(255,215,0,.6);background:linear-gradient(105deg,#ffe600 0%,#ffe600 35%,#fffbc2 46%,#ffffff 50%,#fffbc2 54%,#ffe600 65%,#ffe600 100%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:homeschool-glow-ripple 4s linear infinite}
@keyframes homeschool-glow-ripple{0%{background-position:150% 0;filter:drop-shadow(0 0 2px rgba(255,215,0,.3))}50%{filter:drop-shadow(0 0 7px rgba(255,215,0,.7))}100%{background-position:-150% 0;filter:drop-shadow(0 0 2px rgba(255,215,0,.3))}}
@media(max-width:700px){.schedule-note p{font-size:24px}}
@media(prefers-reduced-motion:reduce){.schedule-note p{animation:none;background-position:0 0}}

.schedule-note strong,.schedule-note p{color:#ffe600;text-shadow:none;filter:none;background-image:repeating-radial-gradient(ellipse at 0% 50%,#ffe600 0px,#ffe600 28px,#fff06a 38px,#fffbc2 45px,#ffe600 58px,#ffe600 94px);background-size:220% 220%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:homeschool-letter-ripples 5s linear infinite}
.schedule-note{color:#ffe600}.schedule-note>svg{color:#ffe600}
@keyframes homeschool-letter-ripples{0%{background-position:0% 40%}100%{background-position:100% 60%}}
@media(prefers-reduced-motion:reduce){.schedule-note strong,.schedule-note p{animation:none}}

.schedule-note{background:#b94338;border-color:#e97565}

.schedule-note{background:#f3685d;border-color:#f3685d}

.schedule-note p{margin-top:0}

.schedule-note{background:#382012;border-color:#382012}

.schedule-note{background:transparent;border:0}

.schedule-note{max-width:1180px;padding:28px 0;gap:28px}.schedule-note>div{flex:1;min-width:0}.schedule-note p{font-family:Fredoka,'Arial Rounded MT Bold',sans-serif;font-size:clamp(40px,5.2vw,68px);line-height:1.12;font-weight:700}.schedule-note>svg{width:72px;height:72px}@media(max-width:700px){.schedule-note{padding:20px 0;gap:14px}.schedule-note p{font-size:clamp(32px,8vw,48px)}.schedule-note>svg{width:38px;height:38px}}

.hero-tips{background:#fffaf1;border:3px solid #382012;border-radius:28px;text-align:center;padding:22px 28px;margin-top:12px}.hero-tips-title{font-family:Fredoka,'Arial Rounded MT Bold',sans-serif;font-weight:700;font-size:clamp(44px,5vw,66px);line-height:1.05;color:#ad372e;margin-bottom:10px}.hero-tips-detail{font-size:clamp(18px,2vw,25px);font-weight:800;line-height:1.3;margin-bottom:8px}.hero-tips-after{font-family:Fredoka,'Arial Rounded MT Bold',sans-serif;font-size:clamp(24px,2.8vw,36px);font-weight:700;line-height:1.2;margin-bottom:0}@media(max-width:700px){.hero-tips{padding:20px 16px;border-radius:22px}}

.hero-tips{display:block;color:#382012}.hero-tips p{color:#382012;-webkit-text-fill-color:#382012}.hero-tips .hero-tips-title{color:#ad372e;-webkit-text-fill-color:#ad372e}

.hero h1.animated-homeschool{font-size:clamp(40px,5.2vw,68px);line-height:1.12;color:#ffe600;text-shadow:none;background-image:repeating-radial-gradient(ellipse at 0% 50%,#ffe600 0px,#ffe600 28px,#fff06a 38px,#fffbc2 45px,#ffe600 58px,#ffe600 94px);background-size:220% 220%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:homeschool-letter-ripples 5s linear infinite;margin-bottom:26px}@media(max-width:700px){.hero h1.animated-homeschool{font-size:clamp(32px,8vw,48px)}}@media(prefers-reduced-motion:reduce){.hero h1.animated-homeschool{animation:none}}

.hero h1.animated-homeschool{color:#f3685d;-webkit-text-fill-color:transparent;background-image:repeating-radial-gradient(ellipse at 0% 50%,#f3685d 0px,#f3685d 28px,#ff978a 38px,#ffd0c6 45px,#f3685d 58px,#f3685d 94px)}
