@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Allura&display=swap');
:root{--purple:#4C3C62;--sage:#8F9779;--cream:#E4DEC9;--blue:#607D8B;--ink:#2C3539;--paper:#F8F5ED;--white:#fff;--line:#dcd7ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.02em}h1{font-size:clamp(3.2rem,6.8vw,6.8rem);margin:.2em 0}h2{font-size:clamp(2.35rem,4.4vw,4.2rem);margin:.25em 0 .45em}h3{font-size:1.75rem;margin:.2em 0}p{margin:0 0 1.1rem}.shell{max-width:1240px;margin:auto;padding:0 26px}.announce{background:var(--purple);color:var(--cream);text-align:center;padding:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.header{position:sticky;top:0;z-index:20;background:rgba(248,245,237,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:83px;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:var(--purple)}.brand-symbol{border:1px solid var(--purple);border-radius:50%;font-family:'DM Serif Display',serif;font-size:1.3rem;width:45px;height:45px;display:grid;place-items:center}.brand-word{font:1.58rem 'DM Serif Display',serif;white-space:nowrap}.brand-word i{font:1.4rem 'Allura',cursive}.navlinks{display:flex;gap:21px;align-items:center}.navlinks a{font-size:13px;font-weight:600}.navlinks a:hover,.navlinks a[aria-current]{color:var(--purple);text-decoration:underline;text-underline-offset:6px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--purple);color:white;padding:13px 20px;border:1px solid var(--purple);border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;min-height:46px}.btn:hover{background:#372b48}.btn.secondary{background:transparent;color:var(--purple)}.btn.secondary:hover{background:#eee8e1}.btn.sage{background:var(--sage);border-color:var(--sage);color:#192224}.menu{display:none;background:none;border:0;font-size:25px;color:var(--purple)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--purple);font-size:12px;font-weight:700}.script{font:clamp(2.4rem,4vw,4.6rem) 'Allura',cursive;color:var(--purple);line-height:1}.hero{background:var(--cream)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:95px 6vw 85px max(32px,calc((100vw - 1190px)/2));align-self:center}.hero-copy p{max-width:515px;font-size:1.12rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.hero-art{position:relative;min-height:520px;background:linear-gradient(155deg,#b6baa9,#768674 55%,#4C3C62);overflow:hidden;display:grid;place-items:center}.hero-art:before{content:'';position:absolute;width:490px;height:490px;border-radius:50%;border:1px solid rgba(255,255,255,.4);box-shadow:0 0 0 68px rgba(255,255,255,.065),0 0 0 140px rgba(255,255,255,.045)}.hero-art .photo-word{position:relative;color:#fff8e7;text-align:center;max-width:380px}.photo-word .big{font:7rem 'DM Serif Display',serif;line-height:1}.hero-art .photo-word p{font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.photo-cue{position:absolute;bottom:25px;right:27px;background:rgba(255,255,255,.85);padding:10px 15px;font-size:12px;color:#2C3539;border-radius:3px}.section{padding:88px 0}.section.soft{background:#f0ede4}.section.cream{background:var(--cream)}.section.purple{background:var(--purple);color:var(--cream)}.section.purple .eyebrow{color:#e3d9d0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.lead{font-size:1.16rem;max-width:670px}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.artbox{background:linear-gradient(140deg,#e1dcd1,#aaa794);min-height:440px;position:relative;display:grid;place-items:center;color:var(--purple);overflow:hidden}.artbox .placeholder{position:relative;padding:25px;text-align:center;background:rgba(255,255,255,.52);font-size:13px;font-weight:600;max-width:230px}.artbox:before{content:'✳';position:absolute;top:10%;left:14%;font-size:100px;opacity:.17}.artbox:after{content:'✳';position:absolute;bottom:2%;right:13%;font-size:135px;opacity:.12}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:8px}.card .num{font-family:'DM Serif Display';font-size:2.2rem;color:var(--sage)}.card p{flex:1}.price{color:var(--purple);font-weight:700;font-size:1.05rem}.text-link{color:var(--purple);font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:5px}.story-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tile{min-height:255px;background:linear-gradient(135deg,#8f9779,#607d8b);position:relative;color:white;display:flex;align-items:end;padding:18px}.tile:nth-child(2n){background:linear-gradient(130deg,#907c8e,#4c3c62)}.tile:nth-child(3n){background:linear-gradient(135deg,#b6b09b,#748b85)}.tile span{font-size:12px;letter-spacing:.07em;background:#2c3539d1;padding:6px 9px}.banner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer{background:var(--ink);color:#f6f2e8;padding:56px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a:hover{text-decoration:underline}.footer .brand{color:var(--cream)}.footer .brand-symbol{border-color:var(--cream)}.footer h3{font-size:1.3rem}.footer small{color:#c6c9c5}.footline{border-top:1px solid #586064;margin-top:36px;padding-top:17px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#c6c9c5}.pagehero{padding:75px 0;background:var(--cream)}.pagehero h1{font-size:clamp(3.2rem,6vw,5.3rem)}.pagehero p{max-width:720px;font-size:1.18rem}.pricing{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{background:white;border:1px solid var(--line);padding:30px;display:flex;justify-content:space-between;gap:22px}.service-card .price{white-space:nowrap}.note{font-size:13px;color:#555b58}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:700;cursor:pointer}.faq details p{padding:12px 0 0}.pill{display:inline-block;background:var(--cream);border-radius:40px;padding:7px 12px;margin:3px;font-size:13px}.profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.profile{border:1px solid var(--line);background:white}.profile .portrait{height:250px;background:linear-gradient(145deg,#b8b6a6,#637783);display:grid;place-items:center;color:#fff;font:1.5rem 'DM Serif Display',serif;text-align:center;padding:25px}.profile:nth-child(2) .portrait{background:linear-gradient(140deg,#8f9779,#4c3c62)}.profile:nth-child(3) .portrait{background:linear-gradient(140deg,#c5b7aa,#738775)}.profile .copy{padding:24px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step{border-top:2px solid var(--sage);padding-top:15px}.step strong{color:var(--purple)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery .tile{min-height:340px}.gallery .tile:nth-child(2),.gallery .tile:nth-child(5){min-height:410px}.form{background:white;border:1px solid var(--line);padding:35px}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}label{font-weight:700;font-size:13px}input,select,textarea{font:inherit;background:#fbfaf7;color:var(--ink);padding:12px;border:1px solid #c8c7c0;border-radius:3px;width:100%}textarea{min-height:125px;resize:vertical}.muted{color:#646b67}.callout{border-left:4px solid var(--sage);background:#f0eee7;padding:17px 20px;margin-top:20px}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review-blank{background:#f0ede4;padding:25px;min-height:180px}.check{margin:0;padding-left:20px}.hidden-hp{position:absolute;left:-9999px}.privacy{max-width:780px}.privacy h2{font-size:2rem}.instagram{display:inline-flex;gap:7px;align-items:center}.mobile-cta{display:none}
@media(max-width:1050px){.navlinks{gap:11px}.navlinks a{font-size:12px}.nav-wrap>.btn{display:none}}
@media(max-width:800px){.menu{display:block}.navlinks{display:none;position:absolute;top:83px;left:0;right:0;background:var(--paper);padding:18px 26px;flex-direction:column;align-items:stretch;box-shadow:0 10px 15px #0002}.navlinks.open{display:flex}.navlinks a{font-size:16px;padding:7px}.hero-grid,.split{grid-template-columns:1fr}.hero-copy{padding:55px 26px 48px}.hero-art{min-height:360px}.hero-art .photo-word .big{font-size:5rem}.cards,.profiles,.steps,.mini-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.story-strip{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.section{padding:60px 0}}
@media(max-width:550px){.shell{padding:0 19px}.brand-word{font-size:1.38rem}.cards,.profiles,.steps,.pricing,.mini-grid,.fields{grid-template-columns:1fr}.service-card{flex-direction:column;gap:0}.gallery .tile{min-height:245px!important}.banner,.section-top{display:block}.banner .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footline{display:block}.form{padding:19px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);padding:8px 15px;gap:8px;z-index:12;box-shadow:0 -3px 13px #0002}.mobile-cta .btn{flex:1;font-size:12px;padding:10px 6px}body{padding-bottom:61px}}

/* Real pet photography, October 2026 */
.site-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.artbox:has(.site-photo){background:none}.artbox:has(.site-photo)::before,.artbox:has(.site-photo)::after{display:none}
.artbox .site-photo{position:absolute;inset:0}
.tile:has(.site-photo){padding:0;overflow:hidden;background:none}.tile .site-photo{position:absolute;inset:0;transition:transform .35s ease}.tile:hover .site-photo{transform:scale(1.035)}.tile span{position:absolute;bottom:12px;left:12px;right:12px;z-index:1;width:fit-content;max-width:calc(100% - 24px)}
.gallery .tile{min-height:345px}.gallery .tile:nth-child(3n+2){min-height:410px}.gallery .tile img{object-position:center}
@media(max-width:550px){.hero-art{min-height:440px;background-position:center 28%!important}}
