/* Layout: short pages, one job each, big type and big buttons for readers who want it simple. Same printed-menu look: peach ground, cream panels, coconut-shell umber ink, sage accents. Single light look by design. */
:root{
  color-scheme:light;
  --blush:#f6d2b5; --cream:#fbeee0; --paper:#fdf5ec; --ink:#4a2e21; --ink-hover:#6b4532; --soft:#5a4033; --line:#e2c3a9;
  --sage:#8fa68a; --sage-deep:#4f6a4b; --sage-wash:#dde6d4; --canvas:#f2d3a6;
  --head:"Josefin Sans","Futura","Century Gothic",system-ui,sans-serif;
  --item:"Montserrat","Avenir Next",system-ui,sans-serif;
  --body:"Open Sans","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:110px}
body{margin:0;background:var(--blush);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.6}
.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3,p{margin:0}
h1,h2,h3{text-wrap:balance;color:var(--ink)}
h1{font-family:var(--item);font-weight:600;font-size:clamp(2rem,5vw,3rem);line-height:1.12}
h1 span{display:block;font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:.8em;margin-top:6px}
h2{font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.6rem,3.6vw,2.2rem);line-height:1.1}
h3{font-family:var(--item);font-weight:600;font-size:1.2rem;line-height:1.3}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;font-family:var(--head);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-decoration:none;border:2px solid var(--ink);cursor:pointer;text-align:center;line-height:1.2}
.btn-book{background:var(--ink);color:var(--canvas)}
.btn-book:hover{background:var(--ink-hover)}
.btn-ghost{background:var(--paper);color:var(--ink)}
.btn-ghost:hover{background:var(--sage-wash)}
.btn-light{background:var(--canvas);color:var(--ink);border-color:var(--canvas)}
.btn-light:hover{background:var(--cream)}

.eyebrow{font-family:var(--head);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;color:var(--sage-deep)}
.lede{font-size:1.15rem;color:var(--soft);max-width:60ch}
.phone{white-space:nowrap}
.fine-print{font-size:.95rem;color:var(--soft)}
.more a{font-family:var(--item);font-weight:600;text-underline-offset:5px}

/* insured strip + header */
.insured{background:var(--sage-deep);color:var(--cream);font-size:.95rem}
.insured .wrap{display:flex;gap:10px;align-items:center;justify-content:center;padding-block:8px;text-align:center}
.insured b{font-family:var(--head);letter-spacing:.08em;text-transform:uppercase}
.shield{width:13px;height:15px;background:var(--canvas);clip-path:polygon(50% 0,100% 18%,100% 55%,50% 100%,0 55%,0 18%);flex:0 0 auto}
.site-head{background:var(--blush);border-bottom:2px solid var(--ink);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--blush);z-index:30}
.head-row{display:flex;align-items:center;gap:20px;padding-block:10px}
.logo img{height:52px;width:auto;border:2px solid var(--ink)}
.main-nav{display:flex;gap:26px;margin-left:auto}
.main-nav a,.sub-nav a{font-family:var(--head);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;font-size:1rem;white-space:nowrap}
.main-nav a:hover,.sub-nav a:hover,[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px;text-decoration-color:var(--sage)}
.head-book{min-height:50px;padding:0 20px}
.sub-nav{display:none}
@media (max-width:820px){
  .main-nav{display:none}
  .head-book{margin-left:auto}
  .logo img{height:42px}
  .sub-nav{display:flex;justify-content:space-between;gap:12px;padding-block:0 10px}
  .sub-nav a{font-size:.9rem}
  .hide-sm{display:none}
  html{scroll-padding-top:140px}
}

/* sections */
.block{padding-block:56px 8px;display:grid;gap:22px;justify-items:start}
.block > *{max-width:100%}
.page-top{padding-block:48px 0}
.page-title{font-family:var(--head);text-transform:uppercase;font-weight:700}

/* home hero */
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding-block:44px 16px}
.hero-copy{display:grid;gap:20px;min-width:0}
.ctas{display:flex;flex-wrap:wrap;gap:14px}
.callout{font-size:1.1rem}
.hero-photo{margin:0;border:2px solid var(--ink);background:var(--cream);padding:10px}
@media (max-width:820px){.hero{grid-template-columns:1fr}.hero-photo{max-width:460px}}

/* three tiles */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}
.tile{display:grid;gap:4px;text-decoration:none;background:var(--cream);border:2px solid var(--ink);padding:14px 14px 18px}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--ink);margin-bottom:8px}
.tile-name{font-family:var(--head);font-weight:700;text-transform:uppercase;font-size:1.3rem;letter-spacing:.04em}
.tile-price{font-family:var(--item);font-weight:600;font-size:1.15rem}
.tile-go{color:var(--sage-deep);font-weight:600;text-decoration:underline;text-underline-offset:5px}
.tile:hover{background:var(--paper)}
.tile:hover .tile-go{text-decoration-thickness:3px}
@media (max-width:720px){.trio{grid-template-columns:1fr}.tile{grid-template-columns:120px 1fr;column-gap:16px;align-items:center}.tile img{grid-row:span 3;margin:0;aspect-ratio:1}}

/* buddy band (home) */
.buddy-band{background:var(--sage-wash);border-block:2px solid var(--ink);margin-top:56px}
.buddy-row{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;padding-block:44px}
.buddy-row > div{display:grid;gap:12px;min-width:0}
.buddy-price{background:var(--paper);border:2px solid var(--ink);padding:22px;justify-items:start}
.buddy-price p b{font-family:var(--head);font-size:3rem;line-height:1}
.buddy-price .small{color:var(--soft)}
@media (max-width:720px){.buddy-row{grid-template-columns:1fr}}

/* reasons */
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%}
.reasons.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.reasons h3{padding-bottom:8px;margin-bottom:8px;border-bottom:3px solid var(--sage)}
.reasons p{color:var(--soft)}
@media (max-width:720px){.reasons,.reasons.four{grid-template-columns:1fr}}

/* services menu */
.jump{display:flex;flex-wrap:wrap;gap:10px}
.jump a{font-family:var(--item);font-weight:600;padding:10px 16px;border:2px solid var(--ink);background:var(--paper);text-decoration:none}
.jump a:hover{background:var(--sage-wash)}
.menu-block{border-top:2px solid var(--ink);margin-top:48px;padding-top:40px}
.menu{list-style:none;margin:0;padding:0;width:100%;max-width:760px;background:var(--cream);border:2px solid var(--ink)}
.menu li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:16px 20px;border-top:1.5px solid var(--line)}
.menu li:first-child{border-top:0}
.it-main{display:grid;gap:2px;min-width:0}
.it-name{font-family:var(--item);font-weight:600;font-size:1.12rem}
.it-desc{color:var(--soft);font-size:1rem}
.it-price{font-family:var(--item);font-weight:600;font-size:1.12rem;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:520px){.menu li{flex-direction:column;gap:4px}}
.menu-small .it-name{font-size:1rem}
.feature{width:100%;max-width:760px;background:var(--sage-wash);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:22px 24px}
.feature > div{display:grid;gap:10px}
.feature h3{font-size:1.35rem}
.included{max-width:760px;color:var(--soft)}
.sizes{font-family:var(--item);font-weight:600}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;max-width:760px}
.plan{background:var(--cream);border:2px solid var(--ink);padding:18px 20px;display:grid;gap:6px;align-content:start}
.plan-price{font-family:var(--item);font-weight:600;font-size:1.15rem;color:var(--sage-deep)}
.plan p:last-child{color:var(--soft)}
@media (max-width:620px){.plans{grid-template-columns:1fr}}

/* about */
.people{display:grid;gap:36px;width:100%}
.person{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.person img{border:2px solid var(--ink);width:100%;aspect-ratio:4/5;object-fit:cover}
.person > div{display:grid;gap:10px;min-width:0}
.role{font-family:var(--item);font-weight:600;color:var(--sage-deep)}
@media (max-width:640px){.person{grid-template-columns:1fr}.person img{max-width:320px}}
.report-band{background:var(--sage-wash);border-block:2px solid var(--ink);margin-top:56px}
.report-row{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding-block:48px}
.report-row > div{display:grid;gap:14px;min-width:0}
@media (max-width:760px){.report-row{grid-template-columns:1fr}}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{padding-left:30px;position:relative}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--sage-deep);font-weight:700}
.mock{max-width:320px;width:100%;background:var(--paper);border:2px solid var(--ink);border-radius:26px;box-shadow:8px 8px 0 var(--ink);padding:14px;display:grid;gap:10px;justify-self:center}
.ph-top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px solid var(--line);padding-bottom:8px}
.ph-top b{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.ph-top small{color:var(--soft);font-size:.8rem}
.ph-title{font-family:var(--item);font-weight:600}
.ph-map{width:100%;height:auto;border:1.5px solid var(--ink);border-radius:10px}
.ph-stats{display:flex;justify-content:space-around;font-size:.85rem;color:var(--soft)}
.ph-stats b{color:var(--ink)}
.ph-note{font-size:.9rem;color:var(--soft)}
.caption{text-align:center;font-size:.85rem;color:var(--soft)}
.pet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.pet-grid img{width:100%;aspect-ratio:1;object-fit:cover;border:2px solid var(--ink)}
@media (max-width:520px){.pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* faq */
.faq-group{gap:0;padding-top:44px}
.faq-group h2{margin-bottom:14px}
details{width:100%;max-width:780px;border-top:2px solid var(--ink);background:var(--paper)}
.faq-group details:last-child{border-bottom:2px solid var(--ink)}
summary{list-style:none;cursor:pointer;padding:18px 48px 18px 18px;font-family:var(--item);font-weight:600;font-size:1.1rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.6rem;line-height:1}
details[open] summary::after{content:"–"}
details p{padding:0 18px 20px;color:var(--soft);max-width:65ch}

/* book */
.ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:100%}
.way{background:var(--cream);border:2px solid var(--ink);padding:24px;display:grid;gap:14px;align-content:start;justify-items:start}
.big-phone{font-family:var(--item);font-weight:600;font-size:clamp(1.8rem,5vw,2.4rem);font-variant-numeric:tabular-nums}
@media (max-width:720px){.ways{grid-template-columns:1fr}}

/* closing band + footer */
.cta-band{background:var(--ink);color:var(--cream);margin-top:64px}
.cta-band h2{color:var(--canvas)}
.cta-row{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-block:40px}
.cta-row > div{display:grid;gap:8px;min-width:0}
.site-foot{background:var(--cream);border-top:2px solid var(--ink);font-size:.95rem;color:var(--soft)}
.foot-row{display:flex;gap:20px;align-items:flex-start;padding-block:28px 110px}
.foot-row > div{display:grid;gap:6px;min-width:0}
.foot-emblem{width:60px;flex:0 0 auto}
.foot-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:6px}
.foot-links a{color:var(--ink);font-weight:600}
@media (min-width:821px){.foot-row{padding-bottom:28px}}

/* phone bottom bar */
.mob-bar{display:none}
@media (max-width:820px){
  .mob-bar{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--blush);border-top:2px solid var(--ink);padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
  .mob-bar .btn{min-height:52px;padding:0 10px}
}
@media (prefers-reduced-motion:no-preference){.btn,.tile,.jump a{transition:background .15s}}

/* tokens the booking popup also uses */
:root{--muted:#8c7062;--canvas-hover:#f7dfb9}

/* services dropdown */
.dd{position:relative;width:auto;max-width:none;border:0;background:none}
.dd > summary{padding:0 22px 0 0;font-family:var(--head);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:1rem;white-space:nowrap;position:relative}
.dd > summary::after{content:"";position:absolute;right:2px;top:42%;width:8px;height:8px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:translateY(-50%) rotate(45deg)}
.dd[open] > summary::after{content:"";transform:translateY(-10%) rotate(225deg)}
.dd > summary:hover,.dd > summary.is-current{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px;text-decoration-color:var(--sage)}
.dd-menu{position:absolute;top:calc(100% + 14px);left:-14px;z-index:40;min-width:250px;background:var(--paper);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);display:grid;padding:6px 0}
.dd-menu a{padding:12px 18px;text-decoration:none;font-family:var(--item);font-weight:600;font-size:1.05rem;text-transform:none;letter-spacing:0}
.dd-menu a:hover{background:var(--sage-wash);text-decoration:none}
.dd-menu a:last-child{border-top:1.5px solid var(--line);color:var(--sage-deep)}
.sub-nav .dd > summary{font-size:.9rem}
.sub-nav .dd-menu{left:0}

/* premium section (home) */
.premium{gap:24px}
.prem-row{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:start;width:100%}
.prem-mock{background:var(--paper);border:2px solid var(--ink);border-radius:26px;box-shadow:8px 8px 0 var(--ink);padding:14px;display:grid;gap:10px}
.ph-chips{display:flex;flex-wrap:wrap;gap:6px}
.ph-chips span{font-size:.78rem;padding:3px 9px;border:1.5px solid var(--sage-deep);border-radius:999px;color:var(--sage-deep);background:var(--sage-wash)}
.prem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.prem-grid h3{padding-bottom:8px;margin-bottom:6px;border-bottom:3px solid var(--sage)}
.prem-grid p{color:var(--soft)}
@media (max-width:860px){.prem-row{grid-template-columns:1fr}.prem-mock{max-width:320px}}
@media (max-width:560px){.prem-grid{grid-template-columns:1fr}}

/* founding offer */
.founding{background:var(--canvas);border-bottom:2px solid var(--ink)}
.founding-row{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;padding-block:18px}
.founding-row p{font-size:1.1rem;max-width:62ch;min-width:0}
.founding-note{background:var(--canvas);border:2px solid var(--ink);padding:12px 16px;max-width:760px}
