.hero{min-height:650px;background:radial-gradient(circle at 50% 36%,#fffdf6 0%,#f4e7f2 65%,#e7d7e7 100%)}
.hero-content{min-height:650px;justify-content:center;text-align:center}
.hero-copy{max-width:760px;padding:56px 0 68px;color:#314a39}
.hero-copy .eyebrow{color:#68866e;margin-bottom:12px}
.hero-logo{width:clamp(220px,28vw,340px);height:auto;margin:0 auto 8px}
.hero h1{font-size:clamp(38px,4.4vw,65px);line-height:1.12;margin-bottom:12px}
.hero h1{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;text-align:center}
.hero h1 span,.hero h1 em{white-space:nowrap}
.hero-copy>p:not(.eyebrow){color:#526956;max-width:none;margin-bottom:30px;font-size:17px}
.book-here{display:inline-flex;align-items:center;justify-content:center;gap:15px;color:#252726;text-decoration:none;transition:transform .2s}
.book-here:hover{transform:translateY(-4px) rotate(-2deg)}
.book-here:focus-visible{outline:3px solid #365343;outline-offset:7px}
.book-label{display:block;min-width:225px;padding:11px 25px 13px;background:#d2ebcb;border:3px solid #88a786;border-radius:5px;box-shadow:-10px 8px 0 #88a786;font:700 28px/1.1 'Fraunces',serif;letter-spacing:.04em;transform:rotate(-2deg)}
.book-arrow{position:relative;display:block;width:76px;height:5px;background:#252726;border-radius:3px}
.book-arrow:after{content:'';position:absolute;right:-2px;top:50%;border-left:24px solid #252726;border-top:16px solid transparent;border-bottom:16px solid transparent;transform:translateY(-50%)}
.book-arrow:last-child{transform:rotate(180deg)}
@media(max-width:700px){.hero,.hero-content{min-height:620px}.hero-content{align-items:center}.hero-copy{padding:48px 0 58px}.hero-logo{width:clamp(210px,62vw,300px)}.hero h1{font-size:clamp(36px,8vw,52px)}.hero-copy>p:not(.eyebrow){font-size:15px}.book-arrow{width:42px}.book-label{min-width:170px;font-size:22px}}
@media(max-width:420px){.hero,.hero-content{min-height:570px}.book-here{gap:9px}.book-arrow{width:24px}.book-arrow:after{border-left-width:17px;border-top-width:12px;border-bottom-width:12px}.book-label{min-width:150px;padding:10px 14px;font-size:20px}}
@media(max-width:700px){.hero h1{font-size:clamp(29px,7.8vw,52px)}}

/* Header layout */
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
.header-paw{display:grid;place-items:center;width:52px;height:52px;color:#365343;text-decoration:none;transition:transform .2s}
.header-paw:hover{transform:rotate(-12deg) scale(1.08)}
.header-paw svg{width:45px;height:45px;fill:currentColor}
.nav{justify-self:center;gap:52px}
.header-phone{justify-self:end;display:inline-flex;align-items:center;gap:16px;background:#365343;color:#fff;padding:14px 21px;border-radius:30px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.header-phone:hover{background:#667f69;transform:translateY(-2px)}
.header-phone:focus-visible,.header-paw:focus-visible{outline:3px solid #88a786;outline-offset:4px}
@media(max-width:900px){.header-inner{gap:15px}.nav{gap:26px}.header-phone{padding:13px 16px}}
@media(max-width:700px){.header-inner{grid-template-columns:1fr auto auto;gap:10px}.header-paw{width:44px;height:44px}.header-paw svg{width:37px;height:37px}.header-phone{grid-column:2;grid-row:1;font-size:12px;padding:11px 14px;gap:8px}.menu-toggle{grid-column:3;grid-row:1}.nav{justify-self:stretch;gap:0}}
@media(max-width:380px){.header-phone{font-size:11px;padding:10px 11px}.header-phone span:last-child{display:none}}
