:root{
 --ink:#27282b;--muted:#73737b;--accent:#695a8c;--accent-strong:#493a6a;
 --accent-soft:#efe9f8;--surface:#fff;--canvas:#faf8fb;--line:#e9e6eb;
 --warm:#fffdfb;--shadow:0 22px 65px rgba(39,31,55,.08)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--canvas);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}
body[data-product=boarding]{--accent:#a66748;--accent-strong:#794d36;--accent-soft:#f8eadd;--canvas:#fdf9f4;--line:#eee5db}
body[data-theme=forest]{--accent:#346752;--accent-strong:#174733;--accent-soft:#e4f0e8;--canvas:#f8fcf8;--line:#e0ebe4}
body[data-theme=ocean]{--accent:#356b84;--accent-strong:#194963;--accent-soft:#e4f0f5;--canvas:#f8fcff;--line:#e0e8ee}
body[data-theme=clay]{--accent:#a66748;--accent-strong:#794d36;--accent-soft:#f8eadd;--canvas:#fdf9f4;--line:#eee5db}
body[data-theme=lilac]{--accent:#695a8c;--accent-strong:#493a6a;--accent-soft:#efe9f8;--canvas:#faf8fb;--line:#e9e6eb}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.58}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{line-height:1.14;letter-spacing:-.035em;font-family:Manrope,'DM Sans',sans-serif}
h1{font-size:clamp(2.9rem,5.6vw,5.7rem);font-weight:800}
h2{font-size:clamp(2rem,3.2vw,3.4rem);font-weight:800}
h3{font-size:1.3rem;font-weight:800}
p{color:var(--muted)}
.site-width{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.skip{position:absolute;top:-70px;left:16px;z-index:200;background:#fff;padding:9px 16px}
.skip:focus{top:12px}
.pilot-ribbon{background:#2f2936;color:#fff;text-align:center;padding:9px 15px;font-size:11px;letter-spacing:.06em;line-height:1.4}
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.header-row{min-height:86px;display:flex;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:21px;line-height:1.12;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.06em;max-width:35%}
.brand-mark{display:grid;place-items:center;flex-shrink:0;width:41px;height:41px;border-radius:15px;background:var(--accent);color:#fff;font-size:20px;letter-spacing:0}
.brand-sub{display:block;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:6px}
.header-nav{display:flex;gap:26px;align-items:center;margin-left:auto}
.header-nav a{font-size:12px;font-weight:700;color:#6e6d73;white-space:nowrap}
.header-nav a:hover,.header-nav a[aria-current=page]{color:var(--accent-strong)}
.header-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.header-utilities{display:flex;align-items:center;gap:11px;margin-left:12px}
.lang-switch{display:flex;border:1px solid var(--line);padding:3px;border-radius:40px;gap:2px}
.lang-switch button{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;padding:6px 8px;border-radius:30px}
.lang-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}
.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:50px;font-weight:800;font-size:12px;letter-spacing:.01em;padding:15px 24px;min-height:48px;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 17%,transparent)}
.btn-primary:hover{background:var(--accent-strong)}
.btn-outline{border-color:var(--line);color:var(--accent-strong);background:#fff}
.btn-text{border-color:transparent;color:var(--accent-strong);padding-left:0}
.btn-sm{min-height:40px;padding:10px 16px;font-size:11px}
.mobile-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:12px;padding:7px 11px;margin-left:auto;color:var(--accent-strong);font-weight:800}
.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.hero{display:grid;grid-template-columns:1.03fr .97fr;gap:7%;align-items:center;min-height:585px;padding-block:85px 90px}
.hero h1{max-width:630px;margin-bottom:24px}
.hero p{font-size:16px;max-width:530px;line-height:1.9}
.hero-copy .eyebrow{display:flex;gap:12px;align-items:center}
.hero-copy .eyebrow::before{content:"";width:22px;height:1px;background:var(--accent)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.hero-caption{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;font-weight:700;color:var(--muted);margin-top:30px}
.hero-caption span::before{content:"•";color:var(--accent);padding-right:9px}
.visual-stage{position:relative;min-height:465px;border-radius:48% 48% 42% 42%;background:radial-gradient(circle at 42% 30%,#fff 0%,var(--accent-soft) 58%,color-mix(in srgb,var(--accent) 19%,white) 100%);display:flex;align-items:center;justify-content:center;isolation:isolate}
.visual-stage::before{content:"";position:absolute;inset:-25px 33px 36px 8px;border:1px solid color-mix(in srgb,var(--accent) 21%,transparent);border-radius:47% 53% 45% 55%;z-index:-1;transform:rotate(-18deg)}
.pet-portrait{position:relative;width:280px;height:304px;display:grid;place-items:center;transform:translateY(12px)}
.pet-head{position:absolute;width:228px;height:208px;border-radius:47% 47% 49% 49%;background:linear-gradient(135deg,#f4d7ad,#d5aa80);top:73px;box-shadow:inset -22px -15px 30px rgba(92,61,54,.09),0 20px 35px rgba(73,48,51,.08)}
.pet-head::before,.pet-head::after{content:"";position:absolute;width:90px;height:122px;border-radius:60% 40% 62% 38%;background:#bf9478;top:-29px;z-index:-1}
.pet-head::before{left:-23px;transform:rotate(-32deg)}
.pet-head::after{right:-23px;transform:rotate(32deg)}
.pet-eyes{position:absolute;top:95px;left:56px;width:17px;height:17px;border-radius:50%;background:#4f3e3b;box-shadow:99px 0 0 #4f3e3b}
.pet-muzzle{position:absolute;width:108px;height:75px;border-radius:48%;background:#ffe6c6;left:60px;top:118px}
.pet-nose{position:absolute;left:101px;top:129px;width:25px;height:16px;border-radius:49% 49% 58% 58%;background:#594c48;z-index:1}
.pet-smile{position:absolute;left:106px;top:143px;width:19px;height:21px;border-bottom:2px solid #a87b69;border-radius:50%;z-index:1}
body[data-product=boarding] .pet-head{background:linear-gradient(135deg,#f5dfb9,#eac999);width:214px;height:201px;border-radius:47%}
body[data-product=boarding] .pet-head::before,body[data-product=boarding] .pet-head::after{width:99px;height:109px;background:#eac999;top:-64px;clip-path:polygon(48% 0,100% 100%,0 100%);border-radius:10%}
body[data-product=boarding] .pet-head::before{left:-10px;transform:rotate(-12deg)}
body[data-product=boarding] .pet-head::after{right:-10px;transform:rotate(12deg)}
body[data-product=boarding] .pet-eyes{box-shadow:97px 0 0 #4f3e3b}
body[data-product=boarding] .pet-muzzle{width:78px;height:56px;left:70px;top:134px}
body[data-product=boarding] .pet-nose{left:99px;top:130px;width:18px;height:12px}
body[data-product=boarding] .pet-smile{top:144px;left:99px}
.float-card{position:absolute;background:#fff;padding:18px 22px;border-radius:19px;box-shadow:var(--shadow);z-index:2;max-width:215px}
.float-card strong{font-size:13px;display:block;line-height:1.3}
.float-card small{font-size:10px;color:var(--muted)}
.float-card.one{top:62px;right:-18px;transform:rotate(4deg)}
.float-card.two{bottom:35px;left:-34px;transform:rotate(-5deg)}
.float-icon{width:32px;height:32px;background:var(--accent-soft);color:var(--accent);border-radius:10px;display:grid;place-items:center;margin-bottom:8px;font-size:18px}
.section{padding:85px 0}
.section-alt{background:#fff;border-block:1px solid var(--line)}
.section-head{max-width:720px;margin:0 auto 42px;text-align:center}
.section-head h2{margin-bottom:16px}
.section-head p{margin:0 auto;max-width:590px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{border:1px solid var(--line);border-radius:24px;background:#fff;padding:29px;min-width:0;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-num{font-size:12px;font-weight:800;color:var(--accent);margin-bottom:45px;letter-spacing:.12em}
.card h3{margin-bottom:13px}
.card p{font-size:13px;line-height:1.85;min-height:60px}
.card-end{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;color:var(--accent);font-size:12px;font-weight:800}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.story-note{background:var(--accent-soft);border-radius:32px;padding:52px;min-height:345px;display:flex;flex-direction:column;justify-content:center}
.story-note b{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}
.story-note blockquote{margin:28px 0 0;font-family:Manrope,sans-serif;font-size:clamp(1.6rem,2.4vw,2.6rem);letter-spacing:-.05em;font-weight:800;line-height:1.3}
.story-copy p{font-size:15px;line-height:2.05}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.step{position:relative;border-top:2px solid var(--line);padding-top:20px}
.step b{color:var(--accent);font-size:12px}
.step h3{margin:16px 0 12px}
.step p{font-size:13px}
.cta{background:var(--accent-strong);color:#fff;padding:75px 0}
.cta-grid{display:flex;justify-content:space-between;gap:25px;align-items:center}
.cta h2{max-width:670px;margin-bottom:16px}
.cta p{color:#fff;opacity:.76;margin:0}
.cta .btn{background:#fff;color:var(--accent-strong)}
.page-hero{padding:75px 0 45px;max-width:850px}
.page-hero h1{font-size:clamp(2.5rem,4vw,4.6rem);margin-bottom:22px}
.page-hero p{font-size:15px;max-width:680px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:100px}
.service-card{padding:36px;background:#fff;border:1px solid var(--line);border-radius:25px}
.service-card .service-number{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.15em}
.service-card h3{font-size:24px;margin:36px 0 14px}
.service-card p{font-size:14px;min-height:65px}
.service-card .service-bottom{border-top:1px solid var(--line);padding-top:19px;margin-top:26px;font-weight:700;color:var(--accent);font-size:12px}
.panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:35px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:100px}
.contact-item{padding:18px 0;border-bottom:1px solid var(--line)}
.contact-item strong{display:block;font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px}
.contact-item a{overflow-wrap:anywhere}
.booking-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:45px;align-items:start;padding-bottom:105px}
.booking-sidebar{background:var(--accent-soft);border-radius:26px;padding:35px}
.booking-sidebar h3{margin-bottom:22px}
.booking-sidebar li{padding:11px 0;font-size:13px}
.booking-sidebar ul{padding-left:20px;margin:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.form-grid .full{grid-column:1/-1}
.field>span{display:block;font-size:11px;letter-spacing:.03em;font-weight:800;margin-bottom:7px}
.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #ddd7df;background:#fff;border-radius:12px;padding:13px 14px;min-height:47px;color:var(--ink)}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.field-hint{font-size:10px;color:var(--muted);margin-top:5px}
.agreement{display:flex;align-items:flex-start;gap:11px;background:#f7f5f8;padding:15px;border-radius:12px;font-size:12px}
.agreement input{margin-top:4px;flex-shrink:0}
.form-message{font-size:13px;border:1px solid var(--line);padding:17px;border-radius:13px;margin-top:15px}
.form-message.ok{border-color:#b9ddcc;background:#eaf7f0;color:#20583b}
.form-message.error{border-color:#eac3c3;background:#fff1f1;color:#943e3e}
.faq-stack{max-width:840px;margin:0 auto;padding-bottom:105px}
.faq-stack details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin-bottom:12px}
.faq-stack summary{font-weight:800;font-size:14px;cursor:pointer}
.faq-stack p{margin:14px 0 0;font-size:13px;line-height:1.9}
.site-footer{background:#26232b;color:#f5f1ed;padding:55px 0 25px}
.footer-main{display:flex;gap:30px;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:36px}
.footer-main strong{font-family:Manrope,sans-serif;font-size:23px}
.footer-main p{color:#bdb6bd;font-size:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.footer-links a{font-size:12px;color:#ede4ea}
.footer-bottom{padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#aca1aa;font-size:10px}
.footer-bottom a{text-decoration:underline}
.loading{padding:90px 0;text-align:center}
.error-screen{max-width:680px;margin:120px auto;text-align:center}
.mini-list{display:grid;gap:15px}
.mini-list .mini-item{border-left:3px solid var(--accent);padding-left:20px}
.mini-list strong{display:block;font-weight:800;font-size:14px}
.mini-list p{font-size:12px;margin-bottom:0}
.notice{border-radius:17px;padding:18px 20px;background:var(--accent-soft);font-size:12px;color:var(--accent-strong);margin-top:20px}
@media(max-width:1080px){
 .header-nav{gap:15px}.header-nav a{font-size:11px}.brand{font-size:18px}
 .site-width{width:min(1100px,calc(100% - 38px))}
 .hero{gap:3%}.visual-stage{min-height:425px}.float-card.one{right:0}.float-card.two{left:0}
}
@media(max-width:850px){
 .site-width{width:calc(100% - 36px)}.mobile-toggle{display:block}
 .header-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:15px 24px 25px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;box-shadow:0 15px 25px rgba(40,30,40,.08)}
 .header-nav.open{display:flex}.header-nav a{padding:10px 0;font-size:14px}
 .header-utilities{margin-left:0}.header-utilities .desktop-cta{display:none}
 .brand{max-width:60%}.header-row{min-height:74px}
 .hero{grid-template-columns:1fr;min-height:0;padding:68px 0 50px}.hero h1{max-width:670px}
 .visual-stage{max-width:530px;width:100%;margin:55px auto 0;min-height:400px}
 .cards,.steps{grid-template-columns:repeat(2,1fr)}
 .story-grid{grid-template-columns:1fr;gap:32px}
 .booking-layout{grid-template-columns:1fr;gap:20px}
}
@media(max-width:600px){
 .pilot-ribbon{font-size:9px}.site-width{width:calc(100% - 30px)}
 .brand{font-size:16px}.brand-mark{width:34px;height:34px;border-radius:12px}
 .header-row{gap:8px}.header-utilities{gap:4px}.lang-switch button{font-size:10px;padding:5px}
 h1{font-size:clamp(2.6rem,12vw,4rem)}
 .hero{padding-top:53px}.hero p{font-size:14px}.hero-actions .btn{width:100%}
 .visual-stage{min-height:350px;border-radius:43%}.pet-portrait{transform:scale(.83) translateY(8px)}.float-card{padding:12px 13px;max-width:155px;border-radius:13px}
 .float-card strong{font-size:11px}.float-card small{font-size:9px}.float-card.one{right:-5px;top:30px}.float-card.two{left:-5px;bottom:7px}
 .section{padding:58px 0}.section-head{margin-bottom:28px}.cards,.steps,.service-grid,.contact-layout{grid-template-columns:1fr}
 .card{padding:25px}.card-num{margin-bottom:28px}.card p{min-height:0}
 .story-note{padding:32px;min-height:260px}.cta-grid{align-items:stretch;flex-direction:column}
 .cta{padding:52px 0}.cta-grid .btn{width:100%}
 .page-hero{padding:55px 0 30px}.service-grid,.contact-layout,.booking-layout,.faq-stack{padding-bottom:65px}
 .service-card{padding:27px}.service-card h3{margin-top:20px}
 .panel,.booking-sidebar{padding:25px}.form-grid{grid-template-columns:1fr}
 .footer-main,.footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cta .eyebrow{color:rgba(255,255,255,.72)}

/* Paw Hub: independent original-brand treatment. Other merchants are unaffected. */
body[data-product="grooming"]{
 --ink:#382511;--muted:#6f604f;--accent:#7f991f;--accent-strong:#536b16;
 --accent-soft:#f2f1dc;--canvas:#fffdf7;--line:#e6ddcf;--warm:#fbf5e9;
 --shadow:0 20px 52px rgba(62,43,24,.09);
 font-family:Arial,Helvetica,sans-serif
}
body[data-product="grooming"] h1,body[data-product="grooming"] h2,body[data-product="grooming"] h3{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.045em}
body[data-product="grooming"] .pilot-ribbon{background:#51351d;color:#fff8e8}
body[data-product="grooming"] .site-header{background:rgba(255,253,247,.97);border-bottom-color:#e5d6c6}
body[data-product="grooming"] .header-row{min-height:104px;gap:18px}
body[data-product="grooming"] .brand{max-width:165px;flex-shrink:0;display:flex}
.pawhub-brand-logo{display:block;width:118px;height:auto;max-height:88px;object-fit:contain}
body[data-product="grooming"] .header-nav{gap:17px}
body[data-product="grooming"] .header-nav a{color:#5a4935;font-size:12px}
body[data-product="grooming"] .header-nav a:hover,body[data-product="grooming"] .header-nav a[aria-current="page"]{color:#718c20}
body[data-product="grooming"] .btn-primary{background:#7b9823;color:#fff;box-shadow:0 10px 25px rgba(93,115,24,.14)}
body[data-product="grooming"] .btn-primary:hover{background:#586e18}
body[data-product="grooming"] .btn-outline{border-color:#bbad91;color:#51351d;background:#fffdf7}
body[data-product="grooming"] .eyebrow{color:#718c20}
body[data-product="grooming"] .hero{display:grid;grid-template-columns:1fr 1.05fr;gap:5%;padding-block:90px 105px;min-height:610px}
body[data-product="grooming"] .hero h1{font-weight:900;font-size:clamp(3rem,5vw,5.4rem);line-height:1.08;color:#493017}
body[data-product="grooming"] .hero-copy p{font-size:16px;line-height:1.85;color:#655444}
body[data-product="grooming"] .hero-caption span:before{color:#7f991f}
.pawhub-photo-stage{position:relative;min-width:0;min-height:430px;border-radius:20px;overflow:hidden;background:#e9decb;box-shadow:0 22px 50px rgba(61,42,20,.14)}
.pawhub-photo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:51% center}
.pawhub-photo-caption{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,253,245,.94);backdrop-filter:blur(8px);border-radius:14px;padding:18px 23px;display:flex;flex-direction:column;gap:5px}
.pawhub-photo-caption span{font-size:10px;letter-spacing:.17em;font-weight:800;color:#72901b}
.pawhub-photo-caption strong{font-size:20px;line-height:1.35;color:#4a311a}
body[data-product="grooming"] .section-alt{background:#f9f5eb}
body[data-product="grooming"] .card,body[data-product="grooming"] .service-card{border-color:#e8dcc9;background:#fffefa;border-radius:15px}
body[data-product="grooming"] .card:hover,body[data-product="grooming"] .service-card:hover{box-shadow:0 17px 38px rgba(80,56,31,.08)}
body[data-product="grooming"] .story-note{background:#edeccf;border-radius:20px}
body[data-product="grooming"] .story-note b{color:#60791a}
body[data-product="grooming"] .cta{background:#4f351e}
body[data-product="grooming"] .cta .btn{color:#4f351e}
body[data-product="grooming"] .site-footer{background:#342313}
body[data-product="grooming"] .booking-sidebar{background:#f0edda}
body[data-product="grooming"] .form-message.ok{background:#eff5e6;border-color:#b7c98c;color:#4e6714}
body[data-product="grooming"] .field input:focus,body[data-product="grooming"] .field select:focus,body[data-product="grooming"] .field textarea:focus{outline-color:#829b28;border-color:#829b28}
@media(max-width:1050px){body[data-product="grooming"] .header-nav{gap:10px}body[data-product="grooming"] .header-nav a{font-size:11px}body[data-product="grooming"] .header-row{gap:10px}}
@media(max-width:850px){body[data-product="grooming"] .header-row{min-height:76px}body[data-product="grooming"] .brand{max-width:135px}.pawhub-brand-logo{width:94px;max-height:70px}body[data-product="grooming"] .hero{grid-template-columns:1fr;min-height:0;padding:65px 0 55px}.pawhub-photo-stage{min-height:420px;margin-top:35px}}
@media(max-width:600px){body[data-product="grooming"] .hero{padding-top:45px}body[data-product="grooming"] .hero h1{font-size:clamp(2.6rem,11vw,4.1rem)}.pawhub-photo-stage{min-height:325px;margin-top:18px}.pawhub-photo-caption{left:13px;right:13px;bottom:13px;padding:14px 16px}.pawhub-photo-caption strong{font-size:16px}.pawhub-brand-logo{width:82px}}
