/* ============================================================
   Paw SPA u Algora — FINAL (uhlie & zlato — charcoal & gold)
   Layout of the "Prírodná" version · palette of "Uhlie & zlato".
   ============================================================ */
:root{
  --cream:#F4F1EA; --sand:#EAE3D3; --panel:#FBF8F2; --white:#fff;
  --forest:#241C12; --forest-2:#3A2E20; --ink:#2A2318; --muted:#6E6455;
  --sage:#9A7A28; --sage-lt:#C6A24A; --sage-soft:#E3D5AC;
  --terra:#C6A24A; --terra-d:#B08E3B; --terra-lt:#D4B45E;
  --gold-deep:#8F6F22;
  --line:#DFD8C6;
  --maxw:1240px; --r:26px; --r-lg:40px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --disp:'Fraunces', Georgia, serif;
  --body:'DM Sans', system-ui, sans-serif;
  --shadow:0 22px 46px rgba(58,46,32,.09);
  /* aliases used by shared markup */
  --orange:var(--terra); --espresso:var(--forest); --cream-2:var(--sand);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* skip link — keyboard users jump straight to content */
.skip-link{position:absolute; left:-9999px; top:0; z-index:200; background:var(--forest); color:#fff; font-weight:600; font-size:15px; padding:14px 22px; border-radius:0 0 14px 0}
.skip-link:focus{left:0; outline:3px solid var(--terra); outline-offset:2px}
:focus-visible{outline:3px solid var(--sage); outline-offset:3px; border-radius:4px}
body{font-family:var(--body); color:var(--ink); background:var(--cream); font-size:17px; line-height:1.72; -webkit-font-smoothing:antialiased; overflow-x:hidden}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{font-family:var(--disp); font-weight:600; line-height:1.1; color:var(--ink); letter-spacing:-.01em}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,44px)}
.section{padding:clamp(60px,8vw,106px) 0; position:relative; overflow:hidden}
.section--tight{padding:clamp(44px,6vw,72px) 0}
.center{text-align:center}

.eyebrow{display:inline-flex; align-items:center; gap:9px; font-family:var(--body); font-weight:600; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--sage)}
.eyebrow::before{content:""; width:22px; height:2px; border-radius:2px; background:var(--sage)}
.eyebrow.c::after{content:""; width:22px; height:2px; border-radius:2px; background:var(--sage)}
.eyebrow.nb::before{display:none}
.h-display{font-family:var(--disp); font-weight:600; font-size:clamp(2.6rem,6.2vw,4.8rem); line-height:1.04; letter-spacing:-.02em}
.h-xl{font-weight:600; font-size:clamp(2rem,4.4vw,3.2rem); letter-spacing:-.015em}
.h-lg{font-weight:600; font-size:clamp(1.7rem,3.2vw,2.4rem)}
.or{color:var(--gold-deep); font-style:italic}
.lead{font-size:clamp(1.05rem,1.6vw,1.24rem); color:var(--muted)}
.muted{color:var(--muted)}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:.6em; font-family:var(--body); font-weight:600; font-size:15px; padding:15px 30px; border-radius:60px; cursor:pointer; transition:.35s var(--ease); border:2px solid transparent}
.btn--orange{background:var(--terra); color:var(--forest)}
.btn--orange:hover{background:var(--terra-d); transform:translateY(-2px); box-shadow:0 12px 26px rgba(198,162,74,.35)}
.btn--dark{background:var(--forest); color:#fff}
.btn--dark:hover{background:#100C07; transform:translateY(-2px)}
.btn--outline{background:transparent; color:var(--ink); border-color:var(--line)}
.btn--outline:hover{border-color:var(--sage); color:var(--sage)}
.btn--ghost-w{background:transparent; color:var(--ink); border-color:var(--sage)}
.btn--ghost-w:hover{background:var(--sage); color:#fff; border-color:var(--sage)}
.btn svg{width:17px;height:17px}
.tlink{font-family:var(--body); font-weight:600; color:var(--gold-deep); display:inline-flex; align-items:center; gap:7px}
.tlink svg{width:16px;height:16px; transition:.3s}.tlink:hover svg{transform:translateX(4px)}
.doodle{position:absolute; z-index:0; pointer-events:none; opacity:.5}

/* ============ HEADER ============ */
.header{position:fixed; top:0; left:0; right:0; z-index:100; transition:.4s var(--ease)}
.header__in{display:flex; align-items:center; justify-content:space-between; gap:22px; max-width:1360px; margin:0 auto; padding:18px clamp(18px,4vw,40px); transition:.4s var(--ease)}
.header.scrolled{background:rgba(244,241,234,.92); backdrop-filter:blur(12px); box-shadow:0 6px 22px rgba(58,46,32,.07)}
.header.scrolled .header__in{padding-top:12px; padding-bottom:12px}
.brand img{height:46px; width:auto}
.nav{display:flex; align-items:center; gap:28px}
.nav a{font-family:var(--body); font-weight:500; font-size:15px; color:var(--ink); position:relative; padding:5px 0}
.nav a::after{content:""; position:absolute; left:0; bottom:0; height:2px; width:100%; border-radius:2px; background:var(--sage); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease)}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a.active{color:var(--sage)}
.header__cta{display:flex; align-items:center; gap:16px}
.callus{display:flex; align-items:center; gap:11px}
.callus .ic{width:42px;height:42px;border-radius:50%; background:var(--sage); color:#fff; display:grid;place-items:center; flex:none}
.callus .ic svg{width:18px;height:18px}
.callus b{font-family:var(--disp); font-weight:600; font-size:15px; display:block; line-height:1.2}
.callus span{font-size:12px; color:var(--muted)}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px}
.burger span{width:25px; height:2.5px; border-radius:3px; background:var(--forest)}
.mobile-menu{position:fixed; inset:0; z-index:99; background:var(--cream); transform:translateX(100%); transition:transform .45s var(--ease); display:flex; flex-direction:column; padding:108px 32px 40px}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{font-family:var(--disp); font-weight:600; font-size:1.9rem; color:var(--ink); padding:13px 0; border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:24px; justify-content:center}
.mm-contact{margin-top:auto; color:var(--muted); font-size:15px}

/* ============ HERO (editorial panel — z Prémiovej verzie) ============ */
.hero{position:relative; padding-top:150px; padding-bottom:clamp(16px,3vw,36px); overflow:hidden}
.hero__grid{display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center}
.hero__eyebrow{color:var(--sage); margin-bottom:24px}
.hero h1{color:var(--forest); margin-bottom:22px}
.hero .or{font-weight:600}
.hero__lead{color:var(--muted); max-width:44ch; margin-bottom:34px; font-size:1.14rem}
.hero__actions{display:flex; gap:14px 18px; flex-wrap:wrap; align-items:center}
.hero__trust{display:flex; gap:16px 24px; margin-top:44px; flex-wrap:wrap}
.hero__trust .t{display:flex; flex-direction:column}
.hero__trust .t b{font-family:var(--disp); font-weight:600; font-size:1.9rem; color:var(--forest); line-height:1}
.hero__trust .t span{font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:6px}
.hero__meta{display:flex; align-items:center; gap:10px; margin-top:26px; font-size:14.5px; color:var(--muted)}
.hero__meta svg{width:18px; height:18px; flex:none; color:var(--sage)}
.hero__meta b{color:var(--ink); font-weight:600}
.hero__media{position:relative}
.hero__panel{position:absolute; inset:5% 2% 2% 6%; z-index:0;
  background:linear-gradient(160deg,var(--sand),var(--panel));
  border-radius:clamp(150px,22vw,260px) clamp(150px,22vw,260px) 16px 16px}
.hero__panel::after{content:""; position:absolute; inset:0; border:1px solid var(--sage-lt); border-radius:inherit; opacity:.55}
.hero__photo{position:relative; z-index:2}
.hero__photo img{width:100%; height:auto; filter:drop-shadow(0 30px 50px rgba(58,46,32,.16))}

/* ============ HONEST CREDENTIALS ROW ============ */
.creds{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.cred{display:flex; flex-direction:column; align-items:flex-start; gap:4px; background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:24px 22px; box-shadow:var(--shadow)}
.cred__ic{width:48px;height:48px;border-radius:16px 16px 16px 5px; background:var(--sand); color:var(--sage); display:grid;place-items:center; margin-bottom:10px}
.cred__ic svg{width:24px;height:24px}
.cred b{font-family:var(--disp); font-weight:600; font-size:1.2rem; color:var(--forest); line-height:1.2}
.cred span{font-size:13.5px; color:var(--muted)}

/* ============ FEATURES ============ */
.frow{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.fcard{background:var(--white); border-radius:var(--r); padding:28px 24px; box-shadow:var(--shadow); transition:.4s var(--ease); border:1px solid rgba(0,0,0,.02)}
.fcard:hover{transform:translateY(-6px)}
.fcard .ic{width:60px;height:60px;border-radius:20px 20px 20px 6px; background:var(--sand); display:grid; place-items:center; margin-bottom:16px; color:var(--forest-2); transition:.4s}
.fcard:hover .ic{background:var(--sage); color:#fff}
.fcard .ic svg{width:28px;height:28px; stroke-width:2.1}
.fcard h3{font-size:1.3rem; margin-bottom:6px}
.fcard p{color:var(--muted); font-size:14.5px}

/* ============ SPLIT / story ============ */
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,70px); align-items:center; position:relative; z-index:2}
.split__media{position:relative}
.split__media img{width:100%; aspect-ratio:1/1; max-height:520px; object-fit:cover; object-position:50% 32%; border-radius:var(--r-lg) var(--r-lg) 60px var(--r-lg)}
.split__media.cut img{border-radius:0}
.chips{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}
.chip{display:flex; align-items:center; gap:9px; background:var(--white); border-radius:40px; padding:10px 16px; box-shadow:var(--shadow); font-family:var(--body); font-weight:500; font-size:14px}
.chip .d{width:30px;height:30px;border-radius:50%; background:var(--sand); color:var(--sage); display:grid;place-items:center}
.chip .d svg{width:16px;height:16px}
.split ul{list-style:none; display:grid; gap:14px; margin-top:22px}
.split li{display:flex; gap:13px; align-items:flex-start; font-size:16px}
.split li .t{width:26px;height:26px;border-radius:50%; background:var(--sage); color:#fff; flex:none; display:grid;place-items:center; margin-top:2px}
.split li .t svg{width:14px;height:14px}
.split li b{font-family:var(--disp); font-weight:600}

/* ============ SERVICES ============ */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.svc{background:var(--white); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); transition:.4s var(--ease); position:relative}
.svc:hover{transform:translateY(-8px)}
.svc__ph{position:relative}
.svc__frame{display:block; aspect-ratio:16/11; overflow:hidden}
.svc__ph img{width:100%;height:100%;object-fit:cover; transition:.6s var(--ease)}
.svc__ph img.img-top{object-position:50% 30%}
.svc:hover .svc__ph img{transform:scale(1.06)}
.svc__ic{position:absolute; left:22px; bottom:-24px; width:54px;height:54px;border-radius:18px 18px 18px 5px; background:var(--sage); color:#fff; display:grid;place-items:center; box-shadow:0 10px 22px rgba(154,122,40,.3); z-index:2}
.svc__ic svg{width:26px;height:26px}
.svc__bd{padding:36px 24px 26px}
.svc__bd h3{font-size:1.45rem; margin-bottom:8px}
.svc__bd p{color:var(--muted); font-size:14.5px; margin-bottom:16px}
.svc__foot{display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding-top:16px}
.svc__price{font-family:var(--disp); font-weight:600; color:var(--gold-deep); font-size:1.15rem}
.svc__price small{display:block; font-family:var(--body); font-weight:500; font-size:11px; color:var(--muted); letter-spacing:.02em; margin-top:1px}
.svc__arrow{width:40px;height:40px;border-radius:50%; background:var(--sand); display:grid;place-items:center; color:var(--ink); transition:.3s}
.svc:hover .svc__arrow{background:var(--sage); color:#fff}
.svc__arrow svg{width:16px;height:16px}

/* ============ DARK (forest) band ============ */
.dark{background:linear-gradient(150deg,var(--forest),var(--forest-2)); color:#fff; border-radius:var(--r-lg); position:relative; overflow:hidden}
.dark .eyebrow{color:var(--sage-soft)}.dark .eyebrow::before{background:var(--sage-soft)}
.dark h2{color:#fff}.dark .muted{color:#D7CFBC}
.dark .split li{color:#EAE3D1}.dark .split li b{color:#fff}
.dark .split li .t{background:var(--terra); color:var(--forest)}

/* ============ PROCESS ============ */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.step{background:var(--white); border-radius:var(--r); padding:34px 26px; box-shadow:var(--shadow); text-align:center}
.step .n{width:64px;height:64px;border-radius:50%; background:var(--sand); color:var(--sage); font-family:var(--disp); font-weight:600; font-size:1.6rem; display:grid;place-items:center; margin:0 auto 18px}
.step:hover .n{background:var(--sage); color:#fff}
.step h3{font-size:1.3rem; margin-bottom:8px}
.step p{color:var(--muted); font-size:15px}

/* ============ GALLERY ============ */
.gal{display:grid; grid-template-columns:repeat(12,1fr); gap:16px; grid-auto-rows:clamp(150px,17vw,210px)}
.gal a{overflow:hidden; border-radius:var(--r); position:relative; cursor:pointer; display:block}
.gal a::after{content:""; position:absolute; inset:0; background:linear-gradient(transparent 55%,rgba(58,46,32,.5)); opacity:0; transition:.4s}
.gal a:hover::after{opacity:1}
.gal a .plus{position:absolute; inset:0; margin:auto; width:48px;height:48px;border-radius:50%; background:var(--terra); color:var(--forest); display:grid;place-items:center; opacity:0; transform:scale(.7); transition:.4s; z-index:2}
.gal a:hover .plus{opacity:1; transform:scale(1)}.gal a .plus svg{width:22px;height:22px}
.gal img{width:100%;height:100%;object-fit:cover; transition:.6s var(--ease)}
.gal a:hover img{transform:scale(1.06)}
.gal .g-tall{grid-column:span 4; grid-row:span 2}.gal .g-wide{grid-column:span 8}.gal .g-sq{grid-column:span 4}
.lb{position:fixed; inset:0; background:rgba(30,24,15,.93); z-index:200; display:none; align-items:center; justify-content:center; padding:40px}
.lb.open{display:flex}
.lb img{max-width:90vw;max-height:86vh;border-radius:var(--r)}
.lb__close{position:absolute; top:24px; right:28px; color:#fff; background:none; border:0; cursor:pointer; font-size:36px}
.lb__nav{position:absolute; top:50%; transform:translateY(-50%); color:var(--ink); background:#fff; border:0; width:52px;height:52px;border-radius:50%; cursor:pointer; font-size:22px; display:grid; place-items:center}
.lb__nav.prev{left:22px}.lb__nav.next{right:22px}

/* ============ QUOTE ============ */
.quote{max-width:880px; margin:0 auto; text-align:center; position:relative; z-index:2}
.quote .mk{font-family:var(--disp); font-weight:700; font-size:4rem; color:var(--terra); line-height:.6}
.quote p{font-family:var(--disp); font-weight:500; font-style:italic; font-size:clamp(1.4rem,3vw,2.1rem); line-height:1.4; margin-top:8px; color:var(--forest)}
.quote .by{margin-top:20px; color:var(--muted); font-weight:600}

/* ============ GROOMER ============ */
.groomer{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,6vw,60px); align-items:stretch}
.groomer__media{display:flex}
.groomer__media img{width:100%; height:100%; object-fit:cover; object-position:50% 38%; min-height:340px; border-radius:var(--r-lg) 60px var(--r-lg) var(--r-lg)}
.groomer .chips{margin-top:20px}

/* ============ PRICING ============ */
.ptiers{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch}
.ptier{background:var(--white); border-radius:var(--r-lg); padding:34px 28px; box-shadow:var(--shadow); display:flex; flex-direction:column; border:2px solid transparent}
.ptier.feat{background:var(--forest); color:#fff; border-color:var(--terra)}
.ptier .tag{font-family:var(--body); font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--sage)}
.ptier.feat .tag{color:var(--sage-soft)}
.ptier h3{font-size:1.5rem; margin:6px 0 4px}.ptier.feat h3{color:#fff}
.ptier .amt{font-family:var(--disp); font-weight:600; font-size:2.6rem; color:var(--forest); line-height:1; margin:10px 0}
.ptier.feat .amt{color:#fff}
.ptier .amt small{font-size:1rem; font-weight:600; color:var(--muted)}.ptier.feat .amt small{color:#CFC6AE}
.ptier ul{list-style:none; display:grid; gap:11px; margin:18px 0 24px}
.ptier li{display:flex; gap:10px; align-items:flex-start; font-size:15px; color:var(--ink)}.ptier.feat li{color:#EAE3D1}
.ptier li svg{width:18px;height:18px;color:var(--gold-deep); flex:none; margin-top:3px}
.ptier .btn{margin-top:auto; justify-content:center}

/* pricing teaser (4 cards) */
.pgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:stretch}
.pcard{position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:32px 26px; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:.4s var(--ease)}
.pcard:hover{transform:translateY(-6px)}
.pcard .tag{font-family:var(--body); font-weight:600; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--sage)}
.pcard .amt{font-family:var(--disp); font-weight:600; font-size:2.5rem; color:var(--forest); line-height:1; margin:12px 0 12px}
.pcard p{color:var(--muted); font-size:14.5px; margin-top:auto}
.pcard.feat{background:linear-gradient(155deg,var(--forest),var(--forest-2)); border-color:var(--terra); box-shadow:0 12px 26px rgba(58,46,32,.12)}
.pcard.feat .tag{color:var(--sage-soft)}
.pcard.feat .amt{color:#fff}.pcard.feat p{color:#D7CFBC}

.ptable{width:100%; border-collapse:collapse; background:var(--white); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow)}
.ptable caption{font-family:var(--disp); font-weight:600; font-size:1.4rem; text-align:left; padding:24px 26px 6px; color:var(--ink)}
.ptable th{font-family:var(--body); font-weight:600; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); text-align:left; padding:10px 26px; border-bottom:2px solid var(--line)}
.ptable th:last-child,.ptable td:last-child{text-align:right}
.ptable td{padding:15px 26px; border-bottom:1px solid var(--line); font-size:15.5px}
.ptable tr:last-child td{border-bottom:0}
.ptable td.amt{font-family:var(--disp); font-weight:600; color:var(--gold-deep); white-space:nowrap}
.pnote{background:var(--sand); border-radius:var(--r); padding:22px 24px; color:var(--muted); font-size:15px; margin-top:22px}
.pnote b{color:var(--ink); font-family:var(--disp)}

/* ============ FAQ ============ */
.faq{max-width:820px; margin:0 auto; display:grid; gap:14px}
.qa{background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); overflow:hidden}
.qa button{width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--disp); font-weight:600; font-size:1.15rem; color:var(--ink)}
.qa .ico{width:32px;height:32px;border-radius:50%; background:var(--sand); color:var(--sage); display:grid;place-items:center; flex:none; transition:.3s}
.qa .ico svg{width:16px;height:16px; transition:.3s}
.qa.open .ico{background:var(--sage); color:#fff}.qa.open .ico svg{transform:rotate(45deg)}
.qa .ans{max-height:0; overflow:hidden; transition:max-height .4s var(--ease)}
.qa .ans p{padding:0 24px 22px; color:var(--muted); font-size:15.5px}

/* ============ CTA / contact ============ */
.cta{background:linear-gradient(150deg,var(--forest),var(--forest-2)); color:#fff; border-radius:var(--r-lg); text-align:center; position:relative; overflow:hidden}
.cta h2{color:#fff}.cta p{color:#E8E1CF; max-width:52ch; margin:14px auto 28px}
.cta .actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap}
.cta .btn--dark{background:var(--terra); color:var(--forest)}.cta .btn--dark:hover{background:var(--terra-lt); color:var(--forest)}
.cta .btn--ghost-w{border-color:rgba(255,255,255,.55); color:#fff}.cta .btn--ghost-w:hover{background:#fff; color:var(--forest); border-color:#fff}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,50px)}
.cinfo{display:grid; gap:14px}
.cinfo .row{display:flex; gap:15px; padding:20px; background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); align-items:flex-start}
.cinfo .row .ic{width:46px;height:46px;border-radius:16px 16px 16px 5px; background:var(--sand); color:var(--sage); display:grid;place-items:center; flex:none}
.cinfo .row .ic svg{width:20px;height:20px}
.cinfo .row b{font-family:var(--disp); font-weight:600; display:block}
.cinfo .row span,.cinfo .row a{color:var(--muted); font-size:15px}.cinfo .row a:hover{color:var(--sage)}
.hours{list-style:none; margin-top:4px}
.hours li{display:flex; justify-content:space-between; gap:14px; padding:6px 0; font-size:15px; color:var(--muted); border-bottom:1px dashed var(--line); max-width:320px}
.hours li b{color:var(--ink); font-family:var(--disp); font-weight:600}
.map-embed{border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); margin-top:14px}
.map-embed iframe{width:100%; height:290px; border:0; display:block}
.form{background:var(--white); border-radius:var(--r-lg); padding:clamp(26px,4vw,38px); box-shadow:var(--shadow)}
.field{margin-bottom:16px}
.field label{display:block; font-family:var(--body); font-weight:500; font-size:14px; margin-bottom:7px}
.field input,.field select,.field textarea{width:100%; font-family:var(--body); font-size:16px; color:var(--ink); background:var(--cream); border:2px solid var(--line); border-radius:14px; padding:13px 15px; transition:.25s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--sage); background:#fff}
.field textarea{resize:vertical; min-height:110px}
.form .note{font-size:12.5px; color:var(--muted); margin-top:8px}
.hp-field{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-status{display:none; margin-top:16px; padding:14px 16px; border-radius:14px; font-size:15px; line-height:1.6}
.form-status.show{display:block}
.form-status.ok{background:var(--sage-soft); color:var(--forest); border:2px solid var(--sage-lt)}
.form-status.err{background:#FBEAE5; color:#8C2F16; border:2px solid #E4A491}
.btn[disabled]{opacity:.6; cursor:progress}

/* typographic wordmark (footer — replaces low-res white logo) */
.wordmark{font-family:var(--disp); font-weight:600; font-size:1.75rem; line-height:1.1; letter-spacing:.01em; white-space:nowrap}
.wordmark span{font-style:italic; font-weight:500; color:var(--terra)}
.wordmark--footer{display:block; color:#fff; margin-bottom:18px}

/* ============ FOOTER ============ */
.footer{background:var(--forest); color:#CDC4B0; padding:clamp(56px,7vw,84px) 0 30px; position:relative; overflow:hidden; margin-top:clamp(40px,6vw,70px); border-radius:var(--r-lg) var(--r-lg) 0 0}
.footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:34px; position:relative; z-index:2}
.footer img.logo{height:52px; margin-bottom:18px}
.footer p{font-size:15px; color:#B5AB95; max-width:34ch}
.footer h4{font-family:var(--disp); font-size:16px; color:var(--sage-soft); font-weight:600; margin-bottom:16px}
.footer a{color:#CDC4B0; font-size:15px; display:block; padding:5px 0; transition:.25s}
.footer a:hover{color:#fff; padding-left:4px}.footer .fcontact a{padding:5px 0}
.footer__bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:48px; padding-top:24px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13.5px; color:#B5AB95; position:relative; z-index:2}
.footer__bottom a{display:inline; color:var(--sage-soft)}
.socials{display:flex; gap:11px; margin-top:16px}
.socials a{width:42px;height:42px;border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); display:grid;place-items:center; padding:0}
.socials a:hover{background:var(--terra); border-color:var(--terra); color:var(--forest); padding:0}
.socials svg{width:18px;height:18px}

.phero{padding-top:150px; text-align:center; position:relative}
.phero .eyebrow{margin-bottom:14px}.phero h1{margin-bottom:14px}.phero p{max-width:60ch; margin:0 auto}
.crumbs{margin-top:20px; font-family:var(--body); font-weight:500; font-size:14px; color:var(--muted)}
.crumbs a{color:var(--sage)}

[data-reveal]{opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease)}
[data-reveal].in{opacity:1; transform:none}
[data-reveal].d1{transition-delay:.09s}[data-reveal].d2{transition-delay:.18s}[data-reveal].d3{transition-delay:.27s}

@media (max-width:960px){
  .nav,.callus{display:none}.burger{display:flex}
  .split,.groomer,.contact-grid{grid-template-columns:1fr}
  .frow,.svc-grid,.steps,.ptiers,.pgrid,.creds{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr 1fr}.groomer__media{max-width:440px}
  .hero{padding-top:124px}
  .hero__grid{grid-template-columns:1fr; gap:34px}
  .hero__media{order:-1; max-width:440px; margin:0 auto}
}
@media (max-width:640px){
  body{font-size:16px}
  .frow,.svc-grid,.steps,.ptiers,.pgrid,.creds,.footer__grid{grid-template-columns:1fr}
  .hero{padding-top:112px}
  .hero__trust{gap:14px 22px}
  .hero__trust .t b{font-size:1.6rem}
  .gal{grid-auto-rows:auto}
  .gal .g-tall,.gal .g-wide,.gal .g-sq{grid-column:span 12; grid-row:auto; aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.hero__badge .spin{animation:none}}
