:root{--brown:#4a2118;--brown-dark:#2f1510;--cream:#f7f3e8;--pink:#f6b4d0;--lime:#c9db3b;--white:#fffdf8;--ink:#351711;--muted:#765f57;--line:rgba(74,33,24,.18);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}img,video{display:block;width:100%}a{color:inherit}.skip-link{position:fixed;top:-100px;left:1rem;background:#fff;padding:.75rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:82px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:var(--brown)}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:700;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-size:.9rem}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-size:.88rem;font-weight:600}.nav-cta{border:1px solid currentColor;border-radius:99px;padding:.65rem 1.1rem}.menu-toggle{display:none;background:none;border:1px solid currentColor;border-radius:99px;padding:.5rem 1rem;color:inherit}.hero{min-height:760px;padding:150px clamp(1.2rem,7vw,7rem) 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;background:linear-gradient(90deg,var(--cream) 0 57%,var(--pink) 57%)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.71rem;font-weight:700;margin:0 0 1.1rem}.hero h1,.section h2,.cta-section h2{font-family:var(--serif);font-size:clamp(3.5rem,7vw,7.2rem);line-height:.89;letter-spacing:-.055em;margin:0}.hero h1 em,.section h2 em,.cta-section h2 em{font-weight:600}.hero-intro{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.65rem);max-width:530px;margin:2rem 0;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:99px;padding:.9rem 1.4rem;text-decoration:none;font-weight:700;font:inherit;cursor:pointer}.button-primary{background:var(--brown);color:var(--white)}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:.2rem}.text-link span{margin-left:.5rem}.niche-marquee{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:3rem}.niche-marquee span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--line);padding:.42rem .8rem;border-radius:99px}.hero-collage{position:relative;min-height:540px;max-width:590px;margin:auto;width:100%}.arch-photo{width:62%;height:510px;margin-left:12%;border-radius:220px 220px 18px 18px;overflow:hidden;box-shadow:0 28px 50px rgba(74,33,24,.18)}.arch-photo img{height:100%;object-fit:cover}.polaroid{background:var(--white);padding:10px 10px 14px;box-shadow:0 13px 30px rgba(74,33,24,.23);transform:rotate(5deg)}.dogs-card{position:absolute;width:42%;right:0;bottom:6%}.dogs-card img{aspect-ratio:1/1;object-fit:cover}.dogs-card span{display:block;font-family:var(--serif);font-style:italic;text-align:center;padding-top:.55rem}.note-card{position:absolute;left:0;bottom:5%;background:var(--lime);padding:1.2rem 1.4rem;transform:rotate(-4deg);box-shadow:0 10px 24px rgba(74,33,24,.14)}.note-card span{display:block;font-family:var(--serif);font-size:1.05rem}.sparkle{position:absolute;right:3%;top:1%;font-size:4rem;color:var(--brown)}.section{padding:clamp(5rem,10vw,9rem) clamp(1.2rem,7vw,7rem);position:relative}.section-number{position:absolute;top:3rem;right:7vw;font-family:var(--serif);font-size:1.2rem}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--brown);color:var(--cream)}.about-heading h2,.section-heading h2,.pets-title h2,.services-intro h2,.cta-section h2{font-size:clamp(2.8rem,5vw,5.3rem);line-height:.98}.about-body{max-width:600px}.about-body .lead{font-family:var(--serif);font-size:1.45rem;line-height:1.35}.about-body>p:not(.lead){color:#d9c9bd}.about-facts{display:grid;gap:1rem;margin-top:2.2rem;border-top:1px solid rgba(255,255,255,.25);padding-top:1.5rem}.about-facts div{display:flex;justify-content:space-between;gap:2rem}.about-facts span{color:#d9c9bd;text-align:right}.portfolio{background:var(--white)}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:5vw;align-items:end;margin-bottom:4rem}.section-heading>p{max-width:420px;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,2.2rem);align-items:start}.video-card:nth-child(even){margin-top:4rem}.phone-frame{background:var(--brown-dark);border:8px solid var(--brown-dark);border-radius:26px;overflow:hidden;box-shadow:0 14px 32px rgba(53,23,17,.17)}.phone-frame video{aspect-ratio:9/16;object-fit:cover;background:#1b0b08}.video-meta{display:flex;gap:.8rem;margin-top:1rem}.video-meta>span{font-family:var(--serif);color:var(--muted)}.video-meta h3{font-family:var(--serif);font-size:1.1rem;margin:0}.video-meta p{font-size:.76rem;color:var(--muted);margin:.2rem 0}.pets{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:clamp(1.2rem,3vw,3rem);background:var(--lime);align-items:center}.pets-title{padding-right:1rem}.pets-title p:last-child{max-width:430px}.pet-profile{background:var(--cream);padding:12px;box-shadow:0 15px 34px rgba(53,23,17,.13)}.pet-profile.milo{transform:rotate(2deg);margin-top:4rem}.pet-profile.cali{transform:rotate(-2deg);margin-bottom:4rem}.pet-profile img{aspect-ratio:4/5;object-fit:cover}.pet-copy{padding:1.1rem}.pet-copy h3{font-family:var(--serif);font-size:2.5rem;line-height:1;margin:.25rem 0}.pet-copy>p{margin:.35rem 0;color:var(--muted)}.pet-copy>p:last-child{margin-top:1rem}.pet-age{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.services{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;background:var(--pink)}.service{display:grid;grid-template-columns:45px 1fr;column-gap:1rem;border-top:1px solid var(--brown);padding:1.5rem 0}.service span{font-family:var(--serif)}.service h3{font-family:var(--serif);font-size:1.65rem;margin:0}.service p{grid-column:2;color:var(--muted);margin:.35rem 0 0}.deliverables{grid-column:1/-1;display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:1rem}.deliverables span{background:var(--cream);padding:.55rem 1rem;border-radius:99px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.cta-section{padding:clamp(5rem,10vw,9rem) clamp(1.2rem,7vw,7rem);display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--cream)}.cta-copy>p:not(.eyebrow){max-width:530px;color:var(--muted)}.email-link{display:inline-block;font-family:var(--serif);font-weight:700;font-size:clamp(1rem,2vw,1.4rem);margin:1.6rem 0}.social-links{display:flex;gap:1.2rem;flex-wrap:wrap}.social-links a{font-size:.85rem;font-weight:700}.contact-form{background:var(--white);padding:clamp(1.5rem,4vw,3rem);box-shadow:0 20px 50px rgba(53,23,17,.1)}.contact-form label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:1.25rem}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--brown);background:transparent;padding:.7rem 0;font:inherit;border-radius:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--pink);outline-offset:3px}.button-dark{width:100%;background:var(--brown);color:var(--white);gap:.5rem}footer{background:var(--brown-dark);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:2rem clamp(1.2rem,7vw,7rem);font-size:.8rem}footer a{font-weight:700}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.hero{grid-template-columns:1fr;background:linear-gradient(180deg,var(--cream) 0 53%,var(--pink) 53%);padding-top:130px}.hero-collage{margin-top:5rem}.about,.cta-section{grid-template-columns:1fr}.video-grid{grid-template-columns:repeat(2,1fr)}.pets{grid-template-columns:1fr 1fr}.pets-title{grid-column:1/-1}.services{grid-template-columns:1fr}.deliverables{grid-column:auto}.section-heading{grid-template-columns:1fr}}
@media(max-width:700px){.site-header{height:68px}.menu-toggle{display:block}.site-header nav{position:absolute;top:68px;left:1rem;right:1rem;background:var(--cream);padding:1rem;display:none;flex-direction:column;align-items:stretch;gap:.4rem;box-shadow:0 15px 30px rgba(0,0,0,.12)}.site-header nav.open{display:flex}.site-header nav a{padding:.65rem}.hero{min-height:auto;padding-top:115px}.hero h1{font-size:clamp(3.1rem,16vw,5rem)}.hero-collage{min-height:410px}.arch-photo{height:390px}.dogs-card{width:46%}.note-card{padding:.7rem 1rem}.note-card span{font-size:.85rem}.about{gap:2.5rem}.about-facts div{display:block}.about-facts span{display:block;text-align:left}.video-grid{grid-template-columns:1fr 1fr;gap:1.2rem}.video-card:nth-child(even){margin-top:2rem}.video-meta>span{display:none}.video-meta h3{font-size:.95rem}.pets{grid-template-columns:1fr}.pets-title{grid-column:auto}.pet-profile.cali,.pet-profile.milo{margin:0;transform:none}.services{gap:3rem}.cta-section{gap:3rem}footer{align-items:flex-start;gap:1rem;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Cosy palette drawn only from the approved Canva cover concept. */
:root{
  --brown:#493229;
  --brown-dark:#2f211c;
  --cream:#f3eee6;
  --pink:#e7a1b7;
  --white:#fbf8f2;
  --ink:#392720;
  --muted:#77665d;
  --line:rgba(73,50,41,.18);
}
.hero{background:linear-gradient(90deg,var(--cream) 0 57%,#ded2c4 57%)}
.button-primary{background:var(--pink);color:var(--brown-dark)}
.note-card{background:#f1d4dc}
.about{background:#d8cabb;color:var(--ink)}
.about-body>p:not(.lead),.about-facts span{color:var(--muted)}
.about-facts{border-top-color:rgba(73,50,41,.22)}
.pets{background:#cbbbaa}
.services{background:#eee1e2}
@media(max-width:1000px){.hero{background:linear-gradient(180deg,var(--cream) 0 53%,#ded2c4 53%)}}

/* A slightly pinker, feminine finish while keeping the warm editorial mood. */
:root{--pink:#df8eac;--blush:#f3dce4;--rose:#b85f7c}
.brand-mark{background:var(--blush);border-color:var(--rose);color:var(--brown)}
.hero{background:linear-gradient(90deg,var(--cream) 0 56%,#ead4d9 56%)}
.hero-copy{position:relative}
.hero-copy:before{content:"♡";position:absolute;left:-3.2rem;top:-2.2rem;color:var(--pink);font-family:var(--serif);font-size:3.5rem;transform:rotate(-12deg);opacity:.72}
.hero h1 em,.section h2 em,.cta-section h2 em{color:var(--rose)}
.button-primary{background:var(--pink);box-shadow:0 9px 24px rgba(184,95,124,.22)}
.nav-cta{background:rgba(243,220,228,.72);border-color:var(--rose)}
.arch-photo{border:10px solid rgba(255,253,248,.75);outline:2px solid rgba(184,95,124,.3)}
.dogs-card{border-bottom:5px solid var(--pink)}
.note-card{background:#f4d6e0;border:1px solid rgba(184,95,124,.28)}
.niche-marquee span:nth-child(even){background:var(--blush);border-color:transparent}
.about{background:#eadde0}
.portfolio{background:#fffaf9}
.phone-frame{border-color:#563831;box-shadow:0 14px 32px rgba(184,95,124,.18)}
.video-card:nth-child(odd) .video-meta{border-left:3px solid var(--pink);padding-left:.7rem}
.video-card:nth-child(even) .video-meta{border-left:3px solid #d9b4c0;padding-left:.7rem}
.pets{background:#d9c5c7}
.pet-profile{border-radius:7px;border:1px solid rgba(184,95,124,.25)}
.pet-profile img{border-radius:3px}
.pet-age{display:inline-block;background:var(--blush);color:var(--rose);padding:.3rem .6rem;border-radius:99px}
.services{background:#f2d8e1}
.service{border-top-color:rgba(184,95,124,.42)}
.service>span{color:var(--rose)}
.deliverables span{border:1px solid rgba(184,95,124,.23)}
.contact-form{border-radius:14px;border:1px solid rgba(184,95,124,.25);box-shadow:0 20px 50px rgba(184,95,124,.12)}
.button-dark{background:var(--rose)}
.email-link{color:var(--rose)}
@media(max-width:1000px){.hero{background:linear-gradient(180deg,var(--cream) 0 53%,#ead4d9 53%)}}
@media(max-width:700px){.hero-copy:before{left:auto;right:0;top:-2.7rem}}
