:root{
  --cream:#FFF8EE; --cream2:#FCEFDC; --teal:#12464A; --teal2:#0C3437; --butter:#F6D776; --blush:#F4C7B8; --mint:#CDE8DC; --ink:#1E2A2B; --mu:#5E6A69; --line:#EADFCC;
  --serif:'Young Serif',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(1220px,100% - 32px);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.015em}
h2{font-size:clamp(34px,4.4vw,56px)}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--butter);color:var(--teal2);font-weight:700;font-size:14px;padding:7px 14px;border-radius:999px;margin-bottom:18px}
.mu{color:var(--mu)}
.lead{font-size:19px;color:var(--mu);max-width:600px}
.c{text-align:center}.c .lead{margin-inline:auto}
.btn{display:inline-flex;align-items:center;gap:10px;font:700 16px var(--sans);padding:15px 26px;border-radius:999px;border:2px solid var(--teal);background:transparent;color:var(--teal);cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-t{background:var(--teal);color:var(--cream)}
.btn-b{background:var(--butter);border-color:var(--butter);color:var(--teal2)}
section{padding:110px 0}
.teal{background:var(--teal);color:var(--cream)}
.teal .lead,.teal .mu{color:#B9D3CF}
.teal .pill{background:var(--blush)}
.c2{background:var(--cream2)}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:46px}
.wave{height:60px;background:var(--cream);-webkit-mask:radial-gradient(30px 30px at 50% 0,transparent 98%,#000) -30px 0/60px 60px repeat-x;mask:radial-gradient(30px 30px at 50% 0,transparent 98%,#000) -30px 0/60px 60px repeat-x}

header{position:sticky;top:12px;z-index:60;margin:12px auto 0;width:min(1220px,100% - 24px);background:#fff;border-radius:999px;box-shadow:0 10px 30px rgba(18,70,74,.08);border:1px solid var(--line)}
header .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 10px 0 24px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:23px;color:var(--teal)}
.logo svg{width:32px;height:32px}
nav.mn{display:flex;gap:24px;font-weight:600;font-size:15px}
nav.mn a:hover,nav.mn a.on{color:var(--teal);text-decoration:underline;text-decoration-color:var(--butter);text-decoration-thickness:4px;text-underline-offset:6px}
.hr{display:flex;gap:8px;align-items:center}
.burger{display:none;background:none;border:0;font-size:26px;cursor:pointer;color:var(--teal);padding:0 10px}

/* hero */
.hero{padding:60px 0 90px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center}
.hero h1{font-size:clamp(46px,6vw,84px);color:var(--teal)}
.hero h1 u{text-decoration:none;background:linear-gradient(transparent 62%,var(--butter) 62%)}
.hero p{font-size:19px;color:var(--mu);margin:20px 0 28px;max-width:500px}
.finder{background:#fff;border:2px solid var(--teal);border-radius:24px;padding:20px;max-width:520px;box-shadow:6px 6px 0 var(--teal)}
.finder label{font-weight:700;font-size:14px;color:var(--teal)}
.finder .row{display:flex;gap:10px;margin-top:8px}
.finder select{flex:1;min-width:0;font:600 16px var(--sans);padding:13px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--cream);color:var(--ink)}
.fres{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fres div{background:var(--cream2);border-radius:14px;padding:10px 12px;font-size:13px;color:var(--mu)}
.fres b{display:block;font:400 24px var(--serif);color:var(--teal)}
.hpic{position:relative;aspect-ratio:1/1.05}
.hpic .blob{position:absolute;inset:0;border-radius:58% 42% 50% 50% / 48% 52% 48% 52%;overflow:hidden;background:var(--blush)}
.hpic .blob img{width:100%;height:100%;object-fit:cover}
.stk{position:absolute;background:#fff;border-radius:18px;padding:12px 16px;box-shadow:0 12px 30px rgba(18,70,74,.14);font-weight:700;font-size:14px;line-height:1.3;display:flex;gap:10px;align-items:center}
.stk i{font-style:normal;font-size:24px}
.stk small{display:block;font-weight:500;color:var(--mu);font-size:12.5px}
.stk.a{left:-14px;top:14%}.stk.b{right:-6px;bottom:16%}
.round{position:absolute;right:6%;top:-10px;width:120px;height:120px;border-radius:50%;background:var(--butter);display:grid;place-items:center;text-align:center;font:400 18px/1.15 var(--serif);color:var(--teal2);transform:rotate(10deg);padding:10px}

/* services */
.svcs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.svc{background:#fff;border-radius:28px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s}
.svc:hover{transform:translateY(-4px) rotate(-.5deg)}
.svc img{width:100%;aspect-ratio:1;object-fit:cover}
.svc .b{padding:22px;display:flex;flex-direction:column;gap:6px;flex:1}
.svc h3{font-size:24px;color:var(--teal)}
.svc p{font-size:15px;color:var(--mu);flex:1}
.svc b{font-size:15px}
.svc:nth-child(1) img{background:var(--blush)}.svc:nth-child(2){background:var(--mint)}.svc:nth-child(3){background:var(--cream2)}

/* price table */
.ptab{width:100%;border-collapse:separate;border-spacing:0 8px}
.ptab th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--mu);padding:0 18px 4px}
.ptab td{background:#fff;padding:16px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ptab td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px;font-weight:700}
.ptab td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}
.ptab td small{display:block;color:var(--mu);font-weight:500;font-size:13.5px}
.ptab tr.hl td{background:var(--butter)}
.ptab .p{font:400 20px var(--serif);color:var(--teal)}

/* daycare */
.dc{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.dcalc{background:var(--cream);color:var(--ink);border-radius:28px;padding:34px}
.dcalc h3{font-size:28px;color:var(--teal)}
.dpick{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}
.dpick button{font:700 15px var(--sans);padding:14px 0;border-radius:14px;border:2px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.dpick button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.dout{display:flex;justify-content:space-between;align-items:flex-end;border-top:2px dashed var(--line);padding-top:18px;margin-top:6px;gap:10px;flex-wrap:wrap}
.dout b{font:400 54px var(--serif);color:var(--teal);line-height:1}
.dout small{color:var(--mu)}
.day{list-style:none;display:grid;gap:0;margin-top:26px}
.day li{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:14px 0;border-bottom:1px dashed rgba(255,248,238,.25)}
.day b{font:400 20px var(--serif);color:var(--butter)}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tm{text-align:center}
.tm img{width:220px;height:220px;border-radius:50%;object-fit:cover;margin:0 auto 18px;border:6px solid #fff;box-shadow:0 0 0 2px var(--teal)}
.tm h3{font-size:26px;color:var(--teal)}
.tm small{font-weight:700;color:var(--mu)}
.tm p{color:var(--mu);font-size:15.5px;max-width:300px;margin:8px auto 0}
.tm .dog{display:inline-block;margin-top:10px;background:var(--mint);padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700;color:var(--teal2)}

/* gallery */
.pups{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pup{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:1}
.pup:nth-child(3n+1){border-radius:24px 24px 120px 24px}
.pup img{width:100%;height:100%;object-fit:cover}
.pup span{position:absolute;left:10px;bottom:10px;background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;color:var(--teal)}

/* reviews */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rv{background:#fff;border-radius:24px;padding:28px;border:1px solid var(--line);position:relative}
.rv::before{content:"“";position:absolute;right:22px;top:4px;font:400 90px var(--serif);color:var(--butter);line-height:1}
.rv .s{color:#E5A53A;letter-spacing:2px}
.rv p{margin:12px 0;font-size:16.5px}
.rv small{color:var(--mu)}

/* steps & form */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.st{background:#fff;border-radius:24px;padding:28px;border:1px solid var(--line)}
.st b{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--butter);font:400 22px var(--serif);color:var(--teal2);margin-bottom:12px}
.st h3{font-size:22px;color:var(--teal);margin-bottom:6px}
.st p{color:var(--mu);font-size:15.5px}
.nc{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.form{display:grid;gap:12px;background:#fff;border-radius:28px;padding:32px;border:2px solid var(--teal);box-shadow:8px 8px 0 var(--teal)}
.form .r{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form input,.form select,.form textarea{font:inherit;font-size:16px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--cream);color:var(--ink);width:100%}
.form textarea{min-height:90px}
.form label.ck{display:flex;gap:10px;font-size:15px;align-items:flex-start}
.form label.ck input{width:auto;margin-top:5px}

.faq details{background:#fff;border-radius:18px;margin-bottom:10px;padding:18px 22px;border:1px solid var(--line)}
.faq summary{font:400 20px var(--serif);color:var(--teal);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";font-family:var(--sans);font-weight:700}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--mu);margin-top:8px}

/* inner */
.ph{padding:70px 0 80px}
.ph .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.crumbs{font-size:14px;color:var(--mu);margin-bottom:14px}
.crumbs a{text-decoration:underline}
.ph h1{font-size:clamp(44px,5.4vw,76px);color:var(--teal)}
.ph p{font-size:19px;color:var(--mu);margin-top:16px;max-width:520px}
.ph .im{border-radius:50% 50% 28px 28px;overflow:hidden;aspect-ratio:1/1;background:var(--blush)}
.ph .im img{width:100%;height:100%;object-fit:cover}

footer{background:var(--teal2);color:#B9D3CF;padding:30px 0 30px;font-size:15px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-top:50px}
footer .logo{color:var(--cream)}
footer h4{color:var(--butter);font:400 19px var(--serif);margin-bottom:12px}
footer ul{list-style:none;display:grid;gap:8px}
footer a:hover{color:#fff}
footer .legal{border-top:1px solid #1E5257;margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.note{font-size:12px;margin-top:14px;color:#7FA19D}
.fwave{height:50px;background:var(--teal2);-webkit-mask:radial-gradient(26px 26px at 50% 100%,transparent 98%,#000) -26px 0/52px 50px repeat-x;mask:radial-gradient(26px 26px at 50% 100%,transparent 98%,#000) -26px 0/52px 50px repeat-x;transform:scaleY(-1)}

@media (max-width:1100px){
  nav.mn{display:none}.burger{display:block}
  header.open{border-radius:28px}
  header.open nav.mn{display:flex;flex-direction:column;gap:12px;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 24px;border-radius:24px;border:1px solid var(--line)}
  .hero .wrap,.dc,.nc,.ph .wrap{grid-template-columns:1fr}
  .hpic{max-width:520px;margin:0 auto;width:100%}
  .svcs,.pups{grid-template-columns:1fr 1fr}
  .revs,.steps,.team{grid-template-columns:1fr 1fr}
  .ph .im{max-width:440px}
  footer .cols{grid-template-columns:1fr 1fr}
  section{padding:80px 0}
}
@media (max-width:640px){
  .hr .btn-t{display:none}
  header .wrap{padding:0 6px 0 16px}
  .svcs,.revs,.steps,.team{grid-template-columns:1fr}
  .fres{grid-template-columns:1fr 1fr 1fr}
  .finder .row{flex-direction:column}
  .stk.a{left:0}.stk.b{right:0}.round{width:96px;height:96px;font-size:15px;right:0}
  .dpick{grid-template-columns:repeat(5,1fr);gap:5px}
  .form{padding:22px}.form .r{grid-template-columns:1fr}
  .ptab th:nth-child(3),.ptab td:nth-child(3){display:none}
  footer .cols{grid-template-columns:1fr}
}
[hidden]{display:none!important}
.wrap > *,.hero .wrap > *{min-width:0}
.dcalc .mu{color:var(--mu)}.nc .steps{grid-template-columns:1fr}
