:root{--ink:#543d42;--dark:#34252a;--rose:#d88f9b;--blush:#f9e8e8;--pale:#fff8f4;--cream:#f6ddcf;--line:rgba(84,61,66,.19);--serif:Georgia,"Times New Roman",serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pale);color:var(--ink);font-family:var(--sans);line-height:1.5}a{color:inherit;text-underline-offset:.18em}a:focus-visible,button:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.shell{width:min(100% - 2.5rem,1120px);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;top:-4rem;left:1rem;background:var(--dark);color:#fff;padding:.7rem 1rem;border-radius:99px}.skip-link:focus{top:1rem}.site-header{position:relative;z-index:3;background:var(--pale);border-bottom:1px solid var(--line)}.header-inner{min-height:5.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none}.brand-paw{width:2rem;fill:var(--rose)}.brand strong,.footer-brand{display:block;font:400 1.55rem/.78 var(--serif);letter-spacing:-.07em}.brand small,.footer-brand span{display:block;margin-top:.35rem;font-size:.48rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.menu-toggle{display:grid;gap:.28rem;width:2.8rem;padding:.65rem;border:0;background:none;cursor:pointer}.menu-toggle span:not(.sr-only){height:2px;width:100%;background:var(--dark)}.site-nav{position:absolute;display:none;top:calc(100% + 1px);left:0;right:0;padding:1rem max(1.25rem,calc((100vw - 1120px)/2));background:var(--pale);border-bottom:1px solid var(--line)}.site-nav.is-open{display:grid;gap:.85rem}.site-nav a{font-weight:700;text-decoration:none}.nav-cta{color:var(--rose)}.hero{overflow:hidden;padding:4.2rem 0 3rem;background:var(--blush)}.hero-grid{display:grid;gap:1.4rem;align-items:center}.eyebrow{margin:0 0 .8rem;color:#a15d6a;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2{margin:0;font:400 clamp(3.15rem,11vw,6.3rem)/.88 var(--serif);letter-spacing:-.075em}h1 em,h2 em{color:var(--rose);font-style:italic}.hero-lead{max-width:29rem;margin:1.45rem 0 1.75rem;font-size:1.07rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.05rem;padding:.75rem 1.1rem;border:1px solid var(--ink);border-radius:99px;font-weight:750;text-decoration:none}.button-primary{background:var(--dark);color:#fff}.button-primary span{margin-left:.5rem;font-size:1.2em}.hero-visual{position:relative;width:min(100%,24rem);justify-self:center;padding:1rem}.hero-visual img{position:relative;display:block;width:100%;border:7px solid var(--pale);border-radius:48% 48% 44% 44%;box-shadow:0 16px 30px rgba(84,61,66,.18)}.hero-ring{position:absolute;inset:-6%;border:1px solid rgba(216,143,155,.65);border-radius:50%}.quick-facts{background:var(--dark);color:#fff7f4}.fact-grid{display:grid}.fact-grid>div{display:flex;gap:1rem;padding:1.45rem 0;border-bottom:1px solid rgba(255,255,255,.18)}.fact-grid>div:last-child{border:0}.fact-grid>div>span{color:var(--rose);font:2rem/1 var(--serif)}.fact-grid p{margin:0;color:#efe1de;font-size:.9rem}.fact-grid b{display:block;margin-bottom:.2rem;color:#fff}.fact-grid small{color:#d7c2c2}.section{padding:4.5rem 0}.section-heading{margin-bottom:2rem}.section h2{font-size:clamp(2.7rem,10vw,5.3rem)}.service-grid{display:grid;border-top:1px solid var(--line)}.service-grid article{display:grid;grid-template-columns:2rem 1fr;gap:.8rem;padding:1.12rem 0;border-bottom:1px solid var(--line)}.service-grid span{color:var(--rose);font:700 .7rem var(--sans)}.service-grid h3{margin:0;font:400 clamp(1.2rem,4.5vw,1.7rem)/1.1 var(--serif);letter-spacing:-.04em}.values{background:var(--cream)}.values-grid{display:grid;gap:2.1rem;align-items:center}.value-mark{width:min(100%,18rem);justify-self:center}.value-mark svg{width:100%;fill:#fff8f4;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round}.values p:not(.eyebrow){max-width:33rem;margin:1.4rem 0 0}.contact-section{padding:4.5rem 0}.contact-card{display:grid;gap:2.4rem;padding:2rem 1.4rem;border-radius:1.3rem;background:var(--blush)}.contact-card h2{font-size:clamp(2.8rem,10vw,5rem)}.contact-links{border-top:1px solid var(--line)}.contact-links a{display:grid;gap:.18rem;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none;overflow-wrap:anywhere}.contact-links a:hover{color:#a15d6a}.contact-links span{font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.contact-links strong{font-size:.95rem}.site-footer{background:var(--dark);color:#f9e9e7}.footer-top{display:grid;gap:2rem;padding:3rem 0 2.2rem}.footer-brand{font-size:2.3rem}.footer-brand span{color:#e8a2ac}.footer-details{display:grid;gap:1.3rem;color:#eadbd9;font-size:.93rem}.footer-details p{margin:0 0 .45rem}.footer-label{color:#e8a2ac!important;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.footer-details a:hover,.footer-bottom a:hover{color:#efaab4}.footer-bottom{padding:1.3rem 0 1.6rem;border-top:1px solid rgba(255,255,255,.18);color:#dfceca;font-size:.82rem}.footer-bottom p{margin:0}.footer-bottom a{color:#fff;font-weight:750}@media(min-width:700px){.shell{width:min(100% - 4.5rem,1120px)}.menu-toggle{display:none}.site-nav{position:static;display:flex;align-items:center;gap:1.5rem;padding:0;border:0;background:transparent}.site-nav .nav-cta{padding:.62rem .9rem;border:1px solid var(--ink);border-radius:99px}.hero{padding:5.8rem 0}.hero-grid{grid-template-columns:1fr .85fr;gap:3rem}.fact-grid{grid-template-columns:repeat(3,1fr);gap:2rem}.fact-grid>div{padding:1.8rem 0;border-bottom:0}.fact-grid>div+div{border-left:1px solid rgba(255,255,255,.18);padding-left:2rem}.service-grid{grid-template-columns:repeat(2,1fr);column-gap:3rem}.values-grid{grid-template-columns:.8fr 1.2fr;gap:5rem}.contact-card{grid-template-columns:.82fr 1.18fr;align-items:center;padding:3.4rem;gap:4rem}.footer-top{grid-template-columns:.8fr 1.2fr}.footer-details{grid-template-columns:1fr 1.15fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.hero-visual img{object-fit:contain;background:#e7aab2;border-radius:50%}.footer-brand img{width:13rem;filter:brightness(0) invert(1)}.value-mark{display:flex;align-items:end;gap:0}.value-mark img{width:54%;object-fit:contain}.value-mark img+img{margin-left:-14%}

.brand img{display:block;width:10.5rem;max-height:3.4rem;object-fit:contain}

.site-nav a,.nav-cta,.button,.contact-links a,.footer-details a,.footer-bottom a,.brand,.skip-link{text-decoration:none}
.site-nav a:hover,.contact-links a:hover,.footer-details a:hover,.footer-bottom a:hover,.button:hover{color:var(--rose)}
/* Visual correction pass: crop image compositions without altering their source assets. */
.hero-visual{overflow:hidden;border-radius:50% 50% 46% 46%;background:#e7aab2}
.hero-visual img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;background:transparent;border-radius:0;clip-path:inset(0 0 12% 0)}
.hero-visual::after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:12%;background:var(--blush);border-radius:0 0 46% 46%}
.value-mark{min-height:18rem;overflow:hidden;align-items:end;justify-content:center}
.value-mark img{align-self:end;width:64%;height:100%;max-height:23rem;object-fit:contain;object-position:center bottom}
.value-mark img+img{margin-left:-19%}
.brand img{width:13rem;max-height:none}
.footer-brand img{width:9.5rem;height:auto;max-height:none;object-fit:contain}
@media(min-width:700px){.header-inner{min-height:7.2rem}.brand img{width:16.8rem}.value-mark{min-height:26rem}.value-mark img{max-height:29rem}}
/* Keep the enlarged header logo at its intrinsic horizontal ratio despite HTML attributes. */
.brand img{width:13rem;height:auto;aspect-ratio:900 / 371;max-height:none}
@media(min-width:700px){.header-inner{min-height:7.2rem}.brand img{width:16.8rem;height:auto;aspect-ratio:900 / 371;max-height:none}}
/* Final hero crop: remove the legacy image frame and fill the organic composition with the cutout. */
.hero-visual img{border:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;clip-path:none;transform:scale(1.12) translateY(2%);transform-origin:center bottom}
.hero-visual::after{height:5%;background:var(--blush)}
/* Desktop editorial dogs: occupy the complete visual column and share its bottom baseline. */
@media(min-width:700px){
  .values-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .value-mark{width:100%;min-height:38rem;height:100%;max-width:none;overflow:hidden;align-self:stretch;align-items:end}
  .value-mark img{width:70%;height:100%;max-height:none;object-fit:contain;object-position:center bottom;flex:none}
  .value-mark img+img{margin-left:-23%}
}
/* Owner refinement: make the hero backing a complete oval and let the dog meet its base. */
.hero-visual{width:min(100%,27rem);aspect-ratio:13 / 20;padding:0;border-radius:50%;background:#e7aab2}
.hero-ring,.hero-visual::after{display:none}
.hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:scale(1.14) translateY(3%)}
.footer-brand img{width:19rem;max-width:100%;height:auto}
/* The image canvases are landscape; overlap two fully visible, centred cutouts instead of clipping one at the right edge. */
@media(min-width:700px){
  .values{padding-bottom:0;overflow:hidden}
  .values .shell{width:min(100% - 4.5rem,1360px)}
  .values-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:2rem;min-height:38rem;align-items:stretch}
  .value-mark{position:relative;width:100%;height:38rem;min-height:38rem;overflow:visible;align-self:end;justify-self:center}
  .value-mark img{position:absolute;bottom:0;height:auto;max-height:none;object-fit:contain;object-position:center bottom}
  .value-mark img:first-child{z-index:2;left:-14%;width:75%}
  .value-mark img+img{z-index:1;left:23%;margin-left:0;width:85%}
  .values-grid>div:last-child{align-self:center}
}
/* Reference refinement: a complete oval, with the cutout reaching its lower edge. */
.hero-visual{width:min(100%,25.5rem);padding:0;aspect-ratio:.64 / 1;border-radius:50%;background:#e7aab2}
.hero-ring{display:none}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center bottom;transform:scale(1.04) translateY(1.5%);clip-path:none}
.hero-visual::after{display:none}

/* Keep the paired dogs large, centred and visibly seated on the section baseline. */
.footer-brand img{width:min(19rem,100%);height:auto;max-width:100%;object-fit:contain}
@media(min-width:700px){
  .values .shell{width:min(100% - 4.5rem,1280px)}
  .values-grid{grid-template-columns:minmax(0,1.2fr) minmax(23rem,.8fr);gap:2.75rem}
  .value-mark{width:100%;min-height:38rem;height:38rem;overflow:visible;justify-content:center;align-items:end}
  .value-mark img{width:65%;height:auto;max-height:none;align-self:end;object-fit:contain;object-position:center bottom}
  .value-mark img+img{margin-left:-30%}
}

/* Desktop pair: the Australian shepherd is roughly twice the Chihuahua's
   linear size. A 3% canvas intersection is under 10% of the smaller dog's width. */
@media(min-width:700px){
  .value-mark{position:relative;justify-content:initial}
  .value-mark img{position:absolute;bottom:0;height:auto;margin:0;max-height:none;object-fit:contain;object-position:center bottom}
  .value-mark img:first-child{left:0;width:34%;z-index:2}
  .value-mark img+img{left:31%;width:60%;margin:0;z-index:1}
}
/* Latest owner direction: both cutouts are doubled and intentionally gathered as one close pair. */
@media(min-width:700px){
  .values .shell{width:min(100% - 4.5rem,1600px)}
  .values-grid{grid-template-columns:minmax(0,1.55fr) minmax(23rem,.75fr);gap:2rem;min-height:46rem}
  .value-mark{height:46rem;min-height:46rem}
  .value-mark img:first-child{left:42%;width:56%;z-index:2}
  .value-mark img+img{left:0;width:79.2%;z-index:1}
}
