:root{
  --cream:#fff9ef;--cream-2:#fff3e4;--rose:#c9635d;--rose-soft:#efc5ba;--rose-pale:#f8ddd4;
  --brown:#342117;--brown-2:#5a3a2b;--sage:#7b835f;--white:#fff;--shadow:0 24px 70px rgba(79,45,27,.12);
  --radius:28px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--brown);background:var(--cream);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font:inherit}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 12%,rgba(239,197,186,.35),transparent 28%),radial-gradient(circle at 88% 34%,rgba(255,255,255,.85),transparent 25%);z-index:-2}
.site-header{position:sticky;top:0;z-index:30;height:82px;display:flex;align-items:center;justify-content:space-between;padding:10px max(22px,calc((100% - var(--max))/2));background:rgba(255,249,239,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(90,58,43,.08)}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.05rem}.brand img{width:58px;height:58px;object-fit:contain}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-weight:700}.nav-links a:hover{color:var(--rose)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.7rem;color:var(--brown)}
.hero{min-height:calc(100vh - 82px);max-width:var(--max);margin:auto;padding:70px 24px 50px;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:var(--rose)}h1,h2,h3{line-height:1.08;margin:0}.hero h1{font-size:clamp(3.2rem,7vw,6.2rem);margin:16px 0 20px;letter-spacing:-.045em}.hero h1 em{font-weight:400;color:var(--rose)}.hero-copy>p{font-size:1.25rem;max-width:610px;color:var(--brown-2)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;font-weight:800;transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--brown);color:#fff;box-shadow:0 12px 28px rgba(52,33,23,.2)}.btn-soft{background:var(--rose-pale);color:var(--brown)}.trust-row{display:flex;gap:22px;flex-wrap:wrap;color:var(--sage);font-weight:800}.hero-art{position:relative}.hero-art img{position:relative;width:min(100%,560px);margin:auto;filter:drop-shadow(0 28px 28px rgba(75,46,29,.18))}.logo-halo{position:absolute;inset:10%;background:var(--rose-pale);border-radius:50%;filter:blur(2px)}.paw{position:absolute;font-size:3rem;opacity:.3}.paw-one{right:-8px;top:10%}.paw-two{left:0;bottom:9%;transform:rotate(-16deg)}
.section{max-width:var(--max);margin:auto;padding:100px 24px}.section-heading{max-width:760px;margin:0 auto 46px;text-align:center}.section-heading h2,.about-card h2,.contact-card h2{font-size:clamp(2.4rem,5vw,4.3rem);margin:12px 0 16px}.section-heading p{font-size:1.08rem;color:var(--brown-2)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:rgba(255,255,255,.66);padding:30px;border:1px solid rgba(90,58,43,.08);border-radius:var(--radius);box-shadow:0 16px 45px rgba(73,44,28,.07)}.service-card h3{font-size:1.6rem;margin:18px 0 10px}.service-card p{margin:0;color:var(--brown-2)}.icon-bubble{width:60px;height:60px;border-radius:20px;background:var(--rose-pale);display:grid;place-items:center;font-size:1.7rem}
.gallery-section{position:relative}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{position:relative;aspect-ratio:1/1.05;border:0;padding:0;border-radius:24px;overflow:hidden;background:#eee;cursor:zoom-in;box-shadow:0 14px 34px rgba(69,39,24,.1)}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-card:hover img{transform:scale(1.04)}.gallery-card span{position:absolute;left:14px;right:14px;bottom:14px;padding:10px 12px;border-radius:14px;background:rgba(52,33,23,.78);color:white;text-align:left;font-weight:700;backdrop-filter:blur(8px)}.empty-gallery{text-align:center;border:2px dashed var(--rose-soft);border-radius:var(--radius);padding:62px 20px;background:rgba(255,255,255,.5)}.empty-paws{font-size:3rem}.empty-gallery h3{font-size:1.7rem}
.about-wrap{padding-top:45px}.about-card{background:linear-gradient(135deg,var(--rose-pale),#fff2e8);padding:54px;border-radius:40px;display:grid;grid-template-columns:1.2fr .8fr;gap:42px;box-shadow:var(--shadow)}.about-card p{font-size:1.12rem}.about-list{display:grid;gap:15px;align-content:center}.about-list span{background:rgba(255,255,255,.75);padding:17px 20px;border-radius:18px;font-weight:700}
.contact-section{padding:70px 24px 110px}.contact-card{max-width:920px;margin:auto;text-align:center;background:var(--brown);color:var(--cream);padding:64px 30px;border-radius:42px;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(52,33,23,.24)}.contact-card:before{content:"🐾";position:absolute;font-size:11rem;opacity:.04;right:-25px;top:-30px;transform:rotate(18deg)}.contact-card .eyebrow{color:var(--rose-soft)}.contact-card p{font-size:1.1rem}.phone-big{display:block;margin:28px auto 8px;font-size:clamp(1.9rem,5vw,3.5rem);font-weight:900;color:#fff}.website-link{color:var(--rose-soft);font-size:1.25rem;font-weight:800}.socials{display:flex;justify-content:center;gap:14px;margin:28px 0 14px}.socials a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--brown);font-size:1.45rem;font-weight:900;transition:.2s}.socials a:hover{transform:translateY(-3px);background:var(--rose-pale)}.contact-card small{opacity:.75}
footer{border-top:1px solid rgba(90,58,43,.1);padding:34px 24px;text-align:center;display:grid;place-items:center;gap:7px}footer img{width:76px}footer p{margin:0}footer a{text-decoration:underline;color:var(--rose)}
.lightbox{position:fixed;inset:0;background:rgba(35,24,18,.92);z-index:100;display:none;place-items:center;padding:24px}.lightbox.open{display:grid}.lightbox img{max-height:80vh;max-width:min(96vw,1100px);border-radius:22px}.lightbox p{color:#fff;text-align:center;margin:12px}.lightbox-close{position:absolute;right:20px;top:12px;border:0;background:transparent;color:#fff;font-size:3rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}
/* Admin */
.admin-body{min-height:100vh;background:linear-gradient(150deg,var(--cream),var(--rose-pale))}.admin-shell{max-width:980px;margin:auto;padding:28px 20px 70px}.admin-brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;margin-bottom:22px}.admin-brand img{width:70px}.admin-card{background:rgba(255,255,255,.82);backdrop-filter:blur(15px);padding:34px;border-radius:30px;box-shadow:var(--shadow)}.login-card{max-width:520px;margin:35px auto}.admin-card h1{font-size:2.5rem;margin:8px 0 12px}.admin-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-form,.upload-panel{display:grid;gap:18px}.admin-form label,.upload-panel>label:not(.dropzone){display:grid;gap:8px;font-weight:700}.admin-form input,.upload-panel input[type=text]{width:100%;padding:14px 16px;border-radius:14px;border:1px solid #dfc8bd;background:#fff}.alert{padding:13px 15px;border-radius:14px;margin:14px 0}.alert.error{background:#fee2e2;color:#8f1f1f}.alert.success{background:#e2f5e7;color:#275f37}.alert.warning{background:#fff1c9;color:#6f5211}.upload-panel{margin:28px 0 34px}.dropzone{min-height:180px;border:2px dashed var(--rose-soft);border-radius:22px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;padding:24px;cursor:pointer;background:#fffaf4}.dropzone input{position:absolute;opacity:0;pointer-events:none}.drop-icon{width:48px;height:48px;border-radius:50%;background:var(--rose-pale);display:grid;place-items:center;font-size:2rem}.dropzone small{color:#7d6a5f}.admin-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-gallery article{background:#fff;padding:10px;border-radius:18px;box-shadow:0 8px 22px rgba(60,35,23,.07)}.admin-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.admin-gallery article>div{padding:9px 3px}.delete-btn{width:100%;border:0;background:#ffe2df;color:#8a312d;padding:10px;border-radius:12px;cursor:pointer;font-weight:800}.muted{color:#7b6b62}
@media(max-width:820px){.site-header{height:70px;padding:8px 18px}.brand span{display:none}.brand img{width:50px;height:50px}.menu-toggle{display:block}.nav-links{position:absolute;top:70px;left:14px;right:14px;background:var(--cream);box-shadow:var(--shadow);border-radius:20px;padding:14px;display:none;flex-direction:column;gap:2px}.nav-links.open{display:flex}.nav-links a{width:100%;padding:12px 14px}.hero{grid-template-columns:1fr;padding-top:42px;text-align:center;gap:22px}.hero-copy{order:2}.hero-art{order:1;max-width:390px;margin:auto}.hero-actions,.trust-row{justify-content:center}.section{padding:76px 18px}.cards,.gallery-grid{grid-template-columns:1fr}.about-card{grid-template-columns:1fr;padding:34px 24px}.contact-section{padding:45px 18px 80px}.contact-card{padding:46px 20px;border-radius:30px}.admin-gallery{grid-template-columns:repeat(2,1fr)}.admin-title-row{flex-direction:column}.admin-title-row form{align-self:flex-end}}
@media(max-width:480px){.hero h1{font-size:3.25rem}.hero-copy>p{font-size:1.05rem}.btn{width:100%}.trust-row{gap:10px;font-size:.9rem}.section-heading h2,.about-card h2,.contact-card h2{font-size:2.55rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-card{border-radius:16px}.gallery-card span{font-size:.8rem;left:8px;right:8px;bottom:8px}.admin-gallery{grid-template-columns:1fr}.admin-card{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* ---- Refined public-site layout ---- */
section[id]{scroll-margin-top:92px}
.section{padding:88px 24px}
.section-heading{margin-bottom:38px}
.section-heading p{max-width:700px;margin-left:auto;margin-right:auto}

.seo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.seo-service-card{position:relative;padding:30px;background:rgba(255,255,255,.76);border:1px solid rgba(90,58,43,.08);border-radius:var(--radius);box-shadow:0 16px 45px rgba(73,44,28,.07);overflow:hidden}
.seo-service-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-36px;bottom:-42px;background:var(--rose-pale);opacity:.4}
.seo-service-card h3{font-size:1.55rem;margin:16px 0 10px}
.seo-service-card p{margin:0 0 18px;color:var(--brown-2)}
.seo-service-card>a{display:inline-flex;font-weight:800;color:var(--rose);text-decoration:underline;text-underline-offset:3px}
.seo-icon{width:52px;height:52px;border-radius:17px;background:var(--rose-pale);display:grid;place-items:center;font-size:1.45rem}

.area-copy-wide,.local-copy{margin-top:22px;background:rgba(255,255,255,.68);border:1px solid rgba(90,58,43,.08);border-radius:var(--radius);box-shadow:0 16px 45px rgba(73,44,28,.06);padding:30px}
.area-copy-wide h3,.local-copy h3{font-size:clamp(1.8rem,3vw,2.35rem);margin:10px 0 12px}
.area-copy-wide p,.local-copy p{color:var(--brown-2)}
.local-copy p:last-child{margin-bottom:0}
.area-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.area-chips span{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:var(--rose-pale);border:1px solid rgba(201,99,93,.08);font-weight:700;font-size:.95rem}

.faq-section{padding-top:76px}
.faq-list{max-width:900px;margin:0 auto;display:grid;gap:12px}
.faq-list details{background:rgba(255,255,255,.72);border:1px solid rgba(90,58,43,.08);border-radius:18px;padding:0 20px;box-shadow:0 10px 26px rgba(73,44,28,.045)}
.faq-list summary{cursor:pointer;font-weight:800;font-size:1.05rem;padding:18px 28px 18px 0;list-style:none;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--rose)}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{margin:0;padding:0 0 18px;color:var(--brown-2)}

.contact-card address{font-style:normal}
.socials a{width:50px;height:50px}
.socials a svg{width:23px;height:23px;fill:currentColor;display:block}

footer a[rel="nofollow"]{font-size:.86rem;opacity:.7}

@media(max-width:900px){
  .seo-service-grid{grid-template-columns:1fr}
  .area-copy-wide,.local-copy{padding:24px}
}
@media(max-width:820px){
  .section{padding:64px 18px}
  .seo-service-card{padding:24px}
  .area-chips{gap:8px}
  .area-chips span{font-size:.9rem;padding:8px 12px}
}
@media(max-width:480px){
  .section{padding:54px 16px}
  .section-heading{margin-bottom:28px}
  .seo-service-card,.area-copy-wide,.local-copy{border-radius:22px;padding:21px}
  .area-chips span{font-size:.84rem;padding:7px 10px}
  .faq-list details{padding:0 16px}
}

/* ---- Contact form ---- */
.contact-section{
  padding:76px 24px 110px;
}

.contact-card{
  max-width:1100px;
  margin:auto;
  padding:clamp(32px,5vw,58px);
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);
  gap:clamp(60px,7vw,90px);
  align-items:start;
  text-align:left;
  background:
    radial-gradient(circle at 100% 0,rgba(239,197,186,.11),transparent 30%),
    var(--brown);
  color:var(--cream);
  border-radius:38px;
  overflow:hidden;
  box-shadow:0 30px 70px rgba(52,33,23,.22);
}

.contact-card:before{
  content:"🐾";
  position:absolute;
  right:-30px;
  top:-36px;
  font-size:12rem;
  opacity:.035;
  transform:rotate(18deg);
  pointer-events:none;
}

.contact-intro{
  position:relative;
  z-index:1;
  min-width:0;
}

.contact-intro .eyebrow{
  display:block;
  margin-bottom:14px;
  color:var(--rose-soft);
}

.contact-intro h2{
  margin:0 0 18px;
  max-width:520px;
  font-size:clamp(2.7rem,5vw,4.4rem);
  line-height:.98;
}

.contact-intro>p{
  max-width:520px;
  margin:0;
  color:#f8eee6;
  font-size:1.05rem;
}

.contact-links{
  display:grid;
  gap:12px;
  margin:30px 0 0;
  font-style:normal;
}

.contact-card .phone-big{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0;
  color:#fff;
  font-size:clamp(1.8rem,3.4vw,2.75rem);
  line-height:1.05;
  font-weight:900;
}

.email-link,
.website-link{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  color:var(--rose-soft);
  font-weight:800;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color .2s ease,transform .2s ease;
}

.email-link:hover,
.website-link:hover{
  color:#fff;
  transform:translateX(2px);
}

.email-link,
.website-link{
  font-size:1.05rem;
}

/* Form panel */
.contact-form{
  position:relative;
  z-index:1;
  display:grid;
  gap:18px;
  min-width:0;
  padding:28px;
  background:rgba(255,249,239,.98);
  color:var(--brown);
  border:1px solid rgba(255,255,255,.35);
  border-radius:26px;
  box-shadow:0 18px 45px rgba(18,9,5,.18);
}

.contact-form label{
  display:grid;
  gap:7px;
  min-width:0;
  color:var(--brown);
  font-weight:800;
}

.contact-form label>span{
  font-size:.9rem;
  line-height:1.2;
}

.form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.contact-form input,
.contact-form textarea{
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  border:1px solid #dcc9be;
  border-radius:13px;
  background:#fff;
  color:var(--brown);
  padding:13px 14px;
  outline:none;
  font:inherit;
  line-height:1.35;
  box-shadow:0 2px 0 rgba(52,33,23,.025);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.contact-form input{
  min-height:49px;
}

.contact-form textarea{
  min-height:145px;
  resize:vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:#9b887e;
  opacity:1;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:var(--rose);
  background:#fffdf9;
  box-shadow:0 0 0 4px rgba(201,99,93,.12);
}

.btn-contact{
  width:100%;
  min-height:52px;
  justify-self:stretch;
  margin-top:2px;
  background:var(--rose);
  color:#fff;
  box-shadow:0 10px 24px rgba(201,99,93,.24);
}

.btn-contact:hover{
  box-shadow:0 14px 30px rgba(201,99,93,.3);
}

.form-note{
  margin:-4px 0 0 !important;
  color:#78665b;
  font-size:.82rem !important;
  text-align:center;
}

/* Spam honeypot - never visible */
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.form-status{
  margin:20px 0 0;
  padding:13px 15px;
  border-radius:14px;
  font-weight:700;
}

.form-status.success{
  background:#dff2e5;
  color:#214f30;
}

.form-status.error{
  background:#fee2e2;
  color:#7f2222;
}

.contact-social-block{
  grid-column:1/-1;
  position:relative;
  z-index:1;
  padding-top:4px;
  text-align:center;
}

.contact-social-title{
  display:block;
  margin-bottom:11px;
  color:var(--rose-soft);
  font-weight:800;
}

.contact-social-block .socials{
  margin:0;
}

.socials a{
  width:50px;
  height:50px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--cream);
  color:var(--brown);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  transition:transform .2s ease,background .2s ease,color .2s ease;
}

.socials a:hover{
  transform:translateY(-3px);
  background:var(--rose-pale);
  color:var(--rose);
}

.socials a svg{
  width:23px;
  height:23px;
  display:block;
  fill:currentColor;
}

@media(max-width:900px){
  .contact-card{
    grid-template-columns:1fr;
    max-width:760px;
  }

  .contact-intro{
    text-align:center;
  }

  .contact-intro h2,
  .contact-intro>p{
    margin-left:auto;
    margin-right:auto;
  }

  .contact-links{
    justify-items:center;
  }

  .contact-social-block{
    grid-column:auto;
  }
}

@media(max-width:620px){
  .contact-section{
    padding:48px 15px 78px;
  }

  .contact-card{
    gap:26px;
    padding:28px 18px;
    border-radius:28px;
  }

  .contact-intro h2{
    font-size:clamp(2.35rem,12vw,3.25rem);
  }

  .contact-form{
    gap:15px;
    padding:20px 16px;
    border-radius:22px;
  }

  .form-row{
    grid-template-columns:1fr;
    gap:15px;
  }

  .contact-card .phone-big{
    font-size:clamp(1.65rem,9vw,2.2rem);
  }
}
.whatsapp-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  font-weight:800;
  margin-top:10px;
}