:root{--hp-navy:#103f70;--hp-royal:#155ba0;--hp-orange:#f79617;--hp-ink:#20394b;--hp-cream:#fffdf7;--hp-sky:#f0f8fc;--hp-border:#dce8ed;--hp-green:#5b8f40}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--hp-cream);color:var(--hp-ink);font:16px/1.65 'Trebuchet MS',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;overflow-wrap:break-word}
img{max-width:100%;height:auto}a{color:var(--hp-royal)}button,input,textarea,select{font:inherit}h1,h2,h3,h4{line-height:1.18;color:var(--hp-navy);letter-spacing:-.025em}h1{font-size:clamp(2.5rem,5vw,4.7rem)}h2{font-size:clamp(1.85rem,3vw,2.75rem)}h3{font-size:1.35rem}.hp-container{max-width:1160px;padding:0 25px;margin:0 auto}
.hp-skip{position:absolute;left:-9999px;top:6px;background:#fff;padding:10px;z-index:99}.hp-skip:focus{left:10px}
.hp-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.97);box-shadow:0 2px 20px rgba(18,64,100,.075);backdrop-filter:blur(16px)}body.admin-bar .hp-header{top:32px}.hp-header-inner{display:flex;align-items:center;gap:20px;min-height:88px}.hp-brand{display:flex;align-items:center;gap:9px;flex-shrink:0;text-decoration:none!important;color:var(--hp-navy)!important}.hp-brand-logo{width:64px;height:64px;object-fit:contain}.hp-brand-wordmark{font-weight:900;font-size:1.3rem;letter-spacing:-.04em}.hp-brand-wordmark em{font-style:normal;color:var(--hp-orange)}.hp-navigation{flex:1;margin-left:auto}.hp-nav-items{display:flex;align-items:center;justify-content:flex-end;gap:17px;list-style:none;margin:0;padding:0}.hp-nav-items li{position:relative}.hp-nav-items a{display:block;color:var(--hp-navy);font-size:14px;font-weight:800;text-decoration:none;padding:11px 2px;white-space:nowrap}.hp-nav-items a:hover,.hp-nav-items .current-menu-item>a{color:#ea800e}.hp-nav-items .sub-menu{display:none;position:absolute;z-index:10;left:0;top:100%;background:#fff;list-style:none;padding:11px 16px;min-width:220px;border-radius:14px;box-shadow:0 14px 38px #0d40612c}.hp-nav-items li:hover>.sub-menu,.hp-nav-items li:focus-within>.sub-menu{display:block}.hp-header-cta,.hp-button{display:inline-block;text-align:center;text-decoration:none!important;border-radius:999px;background:var(--hp-orange);color:#14304a!important;padding:12px 20px;font-weight:900;white-space:nowrap;box-shadow:0 5px 0 rgba(177,95,8,.14);transition:transform .2s}.hp-header-cta:hover,.hp-button:hover{transform:translateY(-2px)}.hp-outline{background:#fff;border:1px solid #d7e6f1;box-shadow:none}.hp-menu-button{display:none;border:0;background:transparent;padding:10px;margin-left:auto;cursor:pointer}.hp-menu-button span{display:block;background:var(--hp-navy);width:27px;height:3px;margin:5px 0;border-radius:3px}
.hp-eyebrow{font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--hp-royal);font-size:12px}.hp-page-hero{padding:70px 0 58px;background:linear-gradient(115deg,#e8f6fb,#fff0d5)}.hp-page-hero h1{margin:10px 0}.hp-page-hero p{font-size:19px;margin:0}.hp-page-content{padding-top:52px;padding-bottom:86px;min-height:320px}.hp-content-area{font-size:17px;max-width:100%;line-height:1.78}.hp-content-area img{border-radius:17px}.hp-content-area p,.hp-content-area ul{margin:0 0 20px}.hp-content-area h2,.hp-content-area h3{margin:28px 0 16px}.hp-content-area a:not(.wp-block-button__link){text-underline-offset:3px}.hp-content-area .wp-block-button__link,.hp-content-area input[type=submit],.hp-content-area button[type=submit]{border:0;background:var(--hp-orange);color:var(--hp-navy);border-radius:28px;padding:12px 24px;font-weight:800;text-decoration:none}.hp-content-area input:not([type=checkbox]):not([type=radio]):not([type=submit]),.hp-content-area textarea,.hp-content-area select{max-width:100%;border:1px solid #bdcfdb;background:#fff;border-radius:12px;padding:12px;color:#20394b}.hp-content-area label{font-weight:700}.hp-content-area .wpcf7 form,.hp-content-area .wpforms-container{max-width:830px}.hp-content-area :is(.alignwide,.alignfull){max-width:100%}
.hp-home-hero{padding:83px 0 85px;background:radial-gradient(circle at 85% 17%,#fff0c7,transparent 35%),linear-gradient(#f1faff,#fffdf7)}.hp-home-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px}.hp-home-hero h1{margin:17px 0}.hp-home-hero h1 em{font-style:normal;color:var(--hp-orange)}.hp-home-hero p{font-size:19px;max-width:610px}.hp-home-badges{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.hp-home-badges span{border:1px solid #dce8ed;border-radius:30px;background:#fff;padding:7px 14px;font-weight:700;font-size:13px}.hp-action-row{display:flex;gap:12px;flex-wrap:wrap}.hp-home-art{position:relative;text-align:center}.hp-home-blob{background:#dbedc6;border-radius:42% 58% 59% 41%;padding:55px;transform:rotate(-7deg)}.hp-home-blob img{max-width:300px;transform:rotate(7deg);filter:drop-shadow(0 10px 5px #1a442620)}.hp-home-note{background:white;border-radius:18px;padding:12px 18px;position:absolute;bottom:7px;right:-12px;box-shadow:0 7px 30px #1a442620;color:var(--hp-navy);font-weight:900;transform:rotate(4deg)}.hp-home-intro{background:#fff;padding:76px 0}.hp-reading{max-width:950px}.hp-home-services{padding:76px 0;background:#f1f8fc}.hp-home-services>div>h2{margin:8px 0 27px}.hp-home-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hp-home-service{text-decoration:none!important;background:#fff;border:1px solid var(--hp-border);border-radius:25px;padding:29px;color:var(--hp-ink);box-shadow:0 10px 23px #103f700b}.hp-home-service>span{font-size:38px}.hp-home-service h3{margin:13px 0 9px}.hp-home-service b{color:#b96b0a}.hp-home-cta{padding:75px 0;background:#ffefd0}.hp-cta-flex{display:flex;justify-content:space-between;align-items:center;gap:20px}.hp-cta-flex h2{margin:10px 0}.hp-cta-flex p{margin:0}.hp-not-found{text-align:center;padding:100px 25px}
.hp-footer{background:#103f70;color:#ebf2fb;padding:45px 0 15px}.hp-footer h2{color:#fff;font-size:18px}.hp-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr;gap:36px}.hp-footer a{color:#fff;display:block;margin:9px 0;text-decoration:none}.hp-footer small{color:#bdd5e9}.hp-footer-bottom{border-top:1px solid #ffffff24;margin-top:25px;padding-top:18px;text-align:center;color:#cde0ef;font-size:12px}
@media(max-width:1040px){.hp-nav-items{gap:10px}.hp-nav-items a{font-size:12px}.hp-header-inner{gap:12px}.hp-brand-wordmark{display:none}.hp-header-cta{padding:11px 14px;font-size:13px}}
@media(max-width:820px){body.admin-bar .hp-header{top:46px}.hp-header-inner{min-height:72px}.hp-brand-logo{width:55px;height:55px}.hp-menu-button{display:block}.hp-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #e5edf1;box-shadow:0 15px 26px #092d4b1a;padding:13px 20px}.hp-navigation.hp-is-open{display:block}.hp-nav-items{display:block}.hp-nav-items a{padding:11px;font-size:15px}.hp-nav-items .sub-menu{position:static;display:block;box-shadow:none;padding:0 0 0 22px}.hp-header-cta{display:none}.hp-home-hero-grid{grid-template-columns:1fr}.hp-home-art{display:none}.hp-home-service-grid{grid-template-columns:1fr}.hp-cta-flex{flex-direction:column;align-items:start}.hp-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.hp-container{padding:0 17px}.hp-page-hero{padding:44px 0}.hp-home-hero{padding:56px 0}.hp-home-intro,.hp-home-services,.hp-home-cta{padding:52px 0}.hp-footer-grid{grid-template-columns:1fr}.hp-page-content{padding-top:35px}.hp-home-hero p{font-size:16px}}

/* Version 1.2: editable social profiles and WhatsApp contact */
.hp-social-icons{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.hp-social-link{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;text-decoration:none!important;font-size:14px;font-weight:900;border-radius:999px;padding:10px 13px;border:1px solid rgba(255,255,255,.3);transition:transform .18s,background .18s}
.hp-social-link:hover,.hp-whatsapp-float:hover{transform:translateY(-3px)}
.hp-social-link svg,.hp-whatsapp-footer svg,.hp-whatsapp-float svg{width:21px;height:21px;flex-shrink:0}
.hp-footer-social{padding-top:13px}.hp-footer-social h2{font-size:16px;margin:12px 0}
.hp-footer .hp-social-link{display:inline-flex;margin:0;color:#fff;background:rgba(255,255,255,.12)}
.hp-footer .hp-social-link:hover{background:rgba(255,255,255,.22)}
.hp-whatsapp-footer{display:inline-flex!important;gap:8px;align-items:center;background:#eafff0!important;color:#175c35!important;padding:8px 14px;border-radius:999px;font-weight:900;width:max-content;max-width:100%}
.hp-home-social{padding:65px 0;background:linear-gradient(110deg,#e8f7ff,#fff1d9)}
.hp-home-social-inner{display:flex;align-items:center;justify-content:space-between;gap:26px}
.hp-home-social h2{margin:7px 0 9px}.hp-home-social p{margin:0}
.hp-home-social .hp-social-link{color:var(--hp-navy);background:#fff;border:1px solid #d8e7ef;box-shadow:0 5px 14px #103f7017}
.hp-home-social .hp-social-link:hover{background:#fffaf1}
.hp-whatsapp-float{position:fixed;right:22px;bottom:20px;z-index:95;display:flex;align-items:center;gap:8px;background:#20b15a;color:#fff!important;font-weight:900;text-decoration:none!important;border:2px solid #fff;padding:13px 16px;border-radius:999px;box-shadow:0 8px 30px #082b2580;transition:transform .18s}
.hp-whatsapp-float svg{width:25px;height:25px}
.hp-whatsapp-float:focus-visible,.hp-social-link:focus-visible{outline:3px solid #fc9b26;outline-offset:3px}
@media(max-width:820px){.hp-home-social-inner{align-items:start;flex-direction:column}.hp-whatsapp-float{right:13px;bottom:13px;padding:13px}.hp-whatsapp-float-label{display:none}}

/* Version 1.3 — official Happy Pups social badges with tiny paw illustrations */
.hp-social-icons{gap:12px;align-items:stretch}
.hp-social-link{position:relative;isolation:isolate;overflow:visible;gap:11px;min-height:58px;border-radius:18px!important;padding:10px 18px 10px 10px!important;box-shadow:0 6px 0 rgba(13,47,76,.09),0 11px 26px rgba(13,47,76,.1)!important}
.hp-social-link .hp-social-glyph{position:relative;display:inline-grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:14px;background:#fff;color:var(--hp-navy)}
.hp-social-link .hp-social-glyph>svg{width:23px;height:23px}
.hp-social-link .hp-social-paw{position:absolute;display:grid;place-items:center;right:-7px;bottom:-6px;width:20px;height:20px;border-radius:50%;color:#fff;background:#f79617;border:2px solid #fff;transform:rotate(-12deg)}
.hp-social-link .hp-social-paw svg{width:12px;height:12px}
.hp-social-link .hp-social-label{font-weight:900;letter-spacing:.01em}
.hp-home-social .hp-social-link--facebook,.hp-footer .hp-social-link--facebook{background:#e1edff!important;color:#1554a3!important;border:2px solid #8eb9f3!important}
.hp-home-social .hp-social-link--instagram,.hp-footer .hp-social-link--instagram{background:#ffe6f0!important;color:#a12b79!important;border:2px solid #f8a7c6!important}
.hp-home-social .hp-social-link--tiktok,.hp-footer .hp-social-link--tiktok{background:#e4fbf5!important;color:#124b4b!important;border:2px solid #86dfcc!important}
.hp-social-link--facebook .hp-social-glyph{color:#1667bd!important}
.hp-social-link--instagram .hp-social-glyph{color:#c13584!important}
.hp-social-link--tiktok .hp-social-glyph{color:#102f39!important}
.hp-footer .hp-social-link .hp-social-label{color:#143f70}
.hp-footer .hp-social-icons{gap:9px}
.hp-footer .hp-social-link{min-height:52px;padding:6px 11px 6px 7px!important;font-size:12px}
.hp-footer .hp-social-link .hp-social-glyph{width:34px;height:34px;flex-basis:34px}
.hp-footer .hp-social-link .hp-social-glyph>svg{width:20px;height:20px}
.hp-social-link:focus-visible{outline:3px solid #fa9518;outline-offset:4px}
@media(max-width:550px){.hp-social-icons--home{display:grid;grid-template-columns:1fr 1fr;width:100%}.hp-home-social .hp-social-link{width:100%}.hp-social-link{padding-right:12px!important}}


/* Version 1.4: dedicated About Us page */
.hp-about{overflow:hidden}
.hp-about-hero{background:radial-gradient(circle at 87% 20%,#fff0d0,transparent 47%),linear-gradient(120deg,#eaf7fe,#fff9ee);padding:74px 0 88px}
.hp-about-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:75px;align-items:center}
.hp-about h1{font-size:clamp(2.8rem,5.3vw,5rem);line-height:1.1;margin:18px 0 23px}
.hp-about h1 em,.hp-about-sticky-title h2 em{font-style:normal;color:#e98c16}
.hp-about-lead{font-size:clamp(1.1rem,1.7vw,1.36rem);line-height:1.58;color:#405a6a;margin:0 0 28px}
.hp-about-main-photo{position:relative;margin:0;isolation:isolate}
.hp-about-main-photo:before{position:absolute;z-index:-1;content:'';inset:18px -19px -22px 18px;background:#f8b94e;border-radius:38px;transform:rotate(5deg)}
.hp-about-main-photo img{display:block;width:100%;max-width:490px;aspect-ratio:1;object-fit:cover;border-radius:30px;box-shadow:0 18px 36px #0d34552d}
.hp-about-main-photo figcaption{font-weight:900;background:#fff;color:var(--hp-navy);box-shadow:0 6px 28px #133b6222;display:inline-block;padding:9px 18px;border-radius:40px;position:absolute;bottom:-17px;left:4%;transform:rotate(-3deg);font-size:.9rem}
.hp-about-main-photo figcaption span{color:#f38b18}
.hp-about-story{background:#fff;padding:95px 0}
.hp-about-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.hp-about-sticky-title h2{margin:12px 0 16px;font-size:clamp(2.2rem,3.6vw,3.5rem)}
.hp-about-doodle{display:block;margin-top:15px;font-size:2.8rem}
.hp-about-prose{font-size:1.07rem;line-height:1.9;color:#3d5262}
.hp-about-prose p{margin:0 0 20px}.hp-about-prose p:first-of-type:first-letter{font-size:2.2rem;font-weight:900;color:var(--hp-orange)}
.hp-about-values{padding:90px 0;background:#f0f8fb}
.hp-about-center{text-align:center;max-width:680px;margin:0 auto 34px}.hp-about-center h2{margin:8px 0 13px}.hp-about-center p{margin:0;color:#4d6775}
.hp-about-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hp-about-value-card{background:#fff;padding:32px 28px;border-radius:26px;border:1px solid #deedf1;box-shadow:0 10px 26px #0f426d0a}
.hp-about-value-card h3{margin:13px 0 10px}.hp-about-value-card p{margin:0;color:#526877}.hp-about-emoji{font-size:2.5rem}
.hp-about-photo-story{padding:92px 0;background:#fff}.hp-about-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.hp-about-photo-grid h2{margin:10px 0 18px}.hp-about-photo-grid p{color:#496071;font-size:1.08rem}.hp-about-photo-grid .hp-button{margin-top:14px}
.hp-about-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.hp-about-mosaic img{width:100%;height:320px;object-fit:cover;border-radius:25px}.hp-about-mosaic img+img{margin-top:42px}
.hp-about-ending{padding:65px 0;background:#fff1d4}.hp-about-ending-inner{display:flex;gap:30px;align-items:center;justify-content:space-between}.hp-about-ending h2{margin:8px 0}.hp-about-ending p{margin:0}
@media(max-width:900px){.hp-about-hero-grid,.hp-about-photo-grid{gap:34px}.hp-about-story-grid{gap:36px}}
@media(max-width:720px){.hp-about-hero-grid,.hp-about-story-grid,.hp-about-photo-grid,.hp-about-card-grid{grid-template-columns:1fr}.hp-about-hero{padding:44px 0 64px}.hp-about-main-photo{width:min(440px,95%);margin:8px auto}.hp-about-main-photo:before{inset:12px -12px -12px 12px}.hp-about-story,.hp-about-values,.hp-about-photo-story{padding:54px 0}.hp-about-ending-inner{flex-direction:column;align-items:start}.hp-about-mosaic img{height:230px}.hp-about-mosaic img+img{margin-top:22px}}

/* WhatsApp aligned with service locations in the footer (not mixed into social buttons) */
.hp-footer-contact-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:13px}
.hp-footer-contact-meta small{max-width:220px}
.hp-footer .hp-footer-contact-meta .hp-whatsapp-footer{margin:0;flex-shrink:0}
.hp-footer-contact-meta .hp-whatsapp-footer svg{width:20px;height:20px}
.hp-footer .hp-whatsapp-footer{background:#dcfce7!important;color:#185d35!important}
@media(max-width:740px){.hp-footer-contact-meta{flex-direction:column;align-items:flex-start}.hp-whatsapp-float{right:14px;bottom:14px}}

/* Version 1.4.1: readable independent white footer logo */
.hp-footer-logo{display:block;width:118px;height:118px;object-fit:contain;object-position:center;max-width:100%;margin:0 0 4px}
@media(max-width:580px){.hp-footer-logo{width:108px;height:108px}}
