
:root{--blue:#1c50a2;--sky:#a8e0f8;--pale:#eaf8ff;--ink:#16334f;--green:#c7e9ad;--cream:#fffdf7}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:ui-rounded,'Avenir Next',Avenir,'Trebuchet MS',sans-serif;line-height:1.6}a{color:var(--blue)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffb54b;outline-offset:4px}header{background:white;box-shadow:0 2px 18px #16447610;position:relative;z-index:2}.nav{max-width:1160px;margin:auto;padding:12px 26px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{width:175px;max-height:96px;object-fit:contain}.links{display:flex;align-items:center;gap:24px;font-weight:800;font-size:15px}.links a{text-decoration:none}.links a:hover,.links a[aria-current=page]{color:#1378bc}.dropdown{position:relative}.dropdown summary{cursor:pointer;list-style:none;color:var(--blue)}.dropdown summary::-webkit-details-marker{display:none}.dropdown summary:after{content:'⌄';margin-left:7px}.submenu{position:absolute;right:0;top:30px;min-width:185px;background:white;padding:10px;border-radius:15px;box-shadow:0 12px 32px #1239752b;display:grid;gap:4px}.submenu a{padding:9px 12px;border-radius:8px}.submenu a:hover{background:var(--pale)}.pill{display:inline-block;background:var(--blue);color:white!important;padding:12px 22px;border-radius:99px;text-decoration:none;font-weight:800;box-shadow:0 5px 0 #123975}.pill:hover{transform:translateY(2px);box-shadow:0 3px 0 #123975}.hero{background:linear-gradient(135deg,#a4def9,#e5f8ff);overflow:hidden}.hero-inner{max-width:1160px;margin:auto;padding:66px 26px 82px;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.eyebrow,.kicker{font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:var(--blue)}.eyebrow{border:2px solid var(--blue);border-radius:99px;padding:6px 14px;background:#ffffffbb;display:inline-block}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,5.5vw,72px);letter-spacing:-.05em;line-height:1.08;color:var(--blue);margin:22px 0}h2{font-size:clamp(30px,4vw,47px);letter-spacing:-.04em;line-height:1.15;color:var(--blue);margin:12px 0 20px}h3{font-size:23px;color:var(--blue)}.hero p,.lead{font-size:19px}.hero-photo{transform:rotate(2deg);position:relative}.photo-frame{background:white;border:10px solid white;border-radius:30px;box-shadow:0 18px 38px #1c50a225;overflow:hidden}.hero-photo img{display:block;width:100%;height:470px;object-fit:contain;background:#e8f4f5}.sticker{position:absolute;bottom:-22px;left:-16px;background:var(--green);padding:13px 17px;border:3px solid white;border-radius:20px;transform:rotate(-8deg);font-weight:900;color:#194c80}.wrap{max-width:1080px;margin:auto}.section{padding:76px 25px}.center{text-align:center}.intro{max-width:690px;margin:0 auto 32px;font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:34px 0}.card{padding:29px 26px;border-radius:26px;border:2px solid #1c50a218;box-shadow:0 7px 0 #164b7a12}.card:nth-child(3n+1){background:#e4f6ff}.card:nth-child(3n+2){background:#eaf4dc}.card:nth-child(3n){background:#fff1c9}.card .emoji{font-size:35px}.card p{margin:0}.story{background:var(--pale)}.split{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:58px}.split img{display:block;width:100%;height:auto;max-height:580px;object-fit:contain;background:#e8f4f5;border-radius:23px}.split .photo-frame{max-width:470px}.quote{font-size:22px;color:var(--blue);font-weight:900}.pagehead{background:linear-gradient(120deg,#b3e7fc,#effaff);padding:62px 25px 56px}.pagehead .wrap{max-width:1080px}.pagehead h1{margin:14px 0}.pagehead p{max-width:730px;font-size:19px;margin:0}.bodycopy{max-width:770px}.bodycopy p{font-size:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.gallery figure{margin:0;background:white;border:8px solid white;border-radius:24px;box-shadow:0 10px 28px #1c50a21c}.gallery img{width:100%;height:330px;object-fit:contain;display:block;background:#eaf8ff;border-radius:16px}.gallery figcaption{font-size:13px;padding:12px 6px;color:#456078}.rate{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border-bottom:1px solid #c9dbe9;padding:18px 0}.rate h3{margin:0 0 4px}.rate p{margin:0}.pending{background:#e8f4dc;padding:6px 13px;border-radius:99px;font-weight:800;color:#245e3d;white-space:nowrap}.note{font-size:14px;color:#50667c}.contactbox{background:var(--pale);border-radius:28px;padding:35px;max-width:740px}.bottom{background:var(--blue);color:white;text-align:center;padding:52px 25px}.bottom h2{color:white}.bottom .pill{background:white;color:var(--blue)!important}footer{background:#123c7d;color:white;text-align:center;padding:22px;font-size:13px}footer a{color:white}.smalllink{font-weight:800} @media(max-width:800px){.nav{flex-wrap:wrap;justify-content:center}.links{flex-wrap:wrap;justify-content:center;gap:14px}.brand img{width:145px}.hero-inner,.split{grid-template-columns:1fr;gap:30px}.hero-inner{padding-top:45px}.hero-photo{max-width:490px;margin:auto}.hero-photo img{height:auto;max-height:520px}.cards,.gallery{grid-template-columns:1fr}.gallery img{height:auto;max-height:480px}.section{padding:56px 22px}.submenu{right:auto;left:0}}
/* Version 3: official Landapixel branding, larger logo, and intentional portrait framing. */
body{font-family:'Ranade','Avenir Next',Avenir,'Trebuchet MS',sans-serif}
h1,h2,h3,.links,.eyebrow,.kicker,.pill{font-family:'Excon','Avenir Next',Avenir,sans-serif}
.nav{max-width:1250px;min-height:152px;padding:12px 25px;gap:20px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{width:clamp(255px,29vw,385px);max-height:142px;object-fit:contain}
.links{gap:19px}
/* Portrait photo: shift framing toward Christy on the right; retain Gus beside her. */
.christy-portrait{height:460px;max-height:none!important;object-fit:cover!important;object-position:76% 54%;background:#eaf8ff}
.hero-photo img{object-fit:cover;object-position:center 45%}
.gallery img{object-fit:cover;object-position:center 40%}
.footer-brand{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto 14px}
.footer-brand img{width:190px;max-width:55vw;height:auto;filter:brightness(0) invert(1)}
@media(max-width:1000px){.nav{flex-wrap:wrap;justify-content:center}.links{justify-content:center;flex-wrap:wrap}}
@media(max-width:800px){.nav{min-height:0}.brand img{width:min(76vw,345px);max-height:150px}.christy-portrait{height:430px;object-position:76% 50%}}

/* Version 4: larger header logo and subject-safe photo framing */
.nav{max-width:1420px;min-height:186px}
.brand img{width:clamp(360px,37vw,525px);max-height:178px}
.hero-inner{grid-template-columns:1fr 1fr;gap:38px}
.hero-photo img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;background:#e8f4f5}
.christy-portrait{height:auto!important;max-height:none!important;aspect-ratio: 996/1440;object-fit:contain!important;object-position:center!important}
@media(max-width:1000px){.nav{min-height:0}.brand img{width:min(80vw,490px);max-height:180px}}
@media(max-width:800px){.hero-photo img{height:auto;max-height:none}.christy-portrait{height:auto!important}}
/* V5: give the primary logo a genuinely prominent masthead presence. */
.nav{max-width:1540px;min-height:230px;padding:14px 30px;gap:16px}
.brand img{width:clamp(480px,53vw,760px);max-height:220px;height:auto}
@media(max-width:1100px){.nav{flex-wrap:wrap;justify-content:center;min-height:0}.brand img{width:min(88vw,700px);max-height:none}.links{justify-content:center;flex-wrap:wrap}}
@media(max-width:600px){.nav{padding:14px 12px}.brand img{width:min(94vw,520px)}.links{gap:12px}}

/* V6: oversized masthead, with only a slim white surround. */
header{background:#fff}
.nav{max-width:none;width:100%;min-height:0;padding:7px 9px 12px;display:flex;flex-direction:column;align-items:center;gap:4px}
.brand{width:100%;display:flex;justify-content:center;min-width:0}
.brand img{display:block;width:min(98vw,1370px);max-width:none;max-height:none;height:auto;object-fit:contain}
.links{width:100%;justify-content:center;flex-wrap:wrap;gap:clamp(12px,3vw,38px);padding:0 8px 8px}
@media(max-width:800px){.nav{padding:5px 5px 10px}.brand img{width:98vw;max-height:none}.links{gap:12px}}
/* V7: balance the masthead between V5 and V6. */
.brand img{width:min(85vw,1165px);max-width:none;max-height:none;height:auto}
@media(max-width:800px){.brand img{width:85vw;max-height:none}}
/* V8: screenshot-guided, compact centered masthead. */
.nav{padding:10px 16px 14px;gap:8px}
.brand img{width:min(68vw,620px);max-width:100%;height:auto}
.links{padding:0 8px 4px;gap:clamp(14px,2.5vw,32px)}
@media(max-width:800px){.brand img{width:min(82vw,540px)}.nav{padding:8px 10px 12px}}
/* V9: preserve the approved logo size, but trim the tall white masthead. */
.nav{padding-top:0;padding-bottom:8px;gap:0}
.brand img{margin-top:-24px;margin-bottom:-12px}
.links{padding-bottom:2px}
@media(max-width:800px){.nav{padding-top:0;padding-bottom:8px;gap:2px}.brand img{margin-top:-12px;margin-bottom:-6px}}

.contact-paw{width:20px;height:20px;vertical-align:-4px;margin-left:3px;display:inline-block}

/* V13: Square homepage portrait, full Guster visible without cropping. */
.hero-photo .photo-frame{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#e8f4f5}
.hero-photo .photo-frame img{display:block;width:100%;height:100%;aspect-ratio:1 / 1;max-height:none;object-fit:contain;object-position:center center;background:#e8f4f5}

/* V14: client-dog gallery on homepage. */
.dog-gallery-section{background:var(--pale)}
.dog-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.dog-gallery-card{margin:0;background:white;padding:9px 9px 13px;border-radius:25px;box-shadow:0 12px 28px #1c50a21b;overflow:hidden}
.dog-gallery-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 40%;border-radius:18px;background:#eaf8ff}
.dog-gallery-card figcaption{font-family:'Excon','Avenir Next',sans-serif;font-size:23px;font-weight:800;color:var(--blue);padding-top:11px}
@media(max-width:700px){.dog-gallery{grid-template-columns:1fr;max-width:460px;margin:30px auto 0}}

/* V16: Testimonial submission invitation, no public submissions until approved. */
.testimonials-section{background:var(--cream)}
.testimonials-section .intro{max-width:720px;margin-bottom:26px}

/* V17: Four dog portraits in a balanced responsive gallery. */
@media(min-width:701px){.dog-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dog-gallery-card figcaption{font-size:21px}}

/* V18: square portrait frame on Meet Christy. */
.christy-square-frame{aspect-ratio:1/1;width:100%;max-width:470px;display:flex;align-items:center;justify-content:center;background:#e8f4f5}
.christy-square-frame .christy-portrait{display:block;width:100%;height:100%!important;aspect-ratio:1/1;object-fit:contain!important;object-position:center!important;max-height:none!important}
.footer-instagram{margin:0 0 14px;font-weight:700}
.footer-instagram a{color:white;text-decoration:underline;text-underline-offset:3px}
