@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&display=swap');
:root{--charcoal:#21252B;--ink:#16191D;--orange:#E4572E;--cream:#F7F3EA;--sand:#CBBE9E;--line:rgba(247,243,234,.18);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--charcoal);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:sticky;top:0;z-index:10;background:rgba(22,25,29,.96);border-bottom:1px solid rgba(247,243,234,.13);backdrop-filter:blur(12px)}.nav-wrap{max-width:var(--max);margin:auto;min-height:82px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{display:flex;align-items:center;gap:12px;color:var(--cream);font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.wordmark .mark{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--orange)}.wordmark small{display:block;color:var(--orange);font:11px 'DM Mono',monospace;letter-spacing:.16em;margin-top:3px}.nav-links{display:flex;gap:25px;color:var(--cream);font:12px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.nav-links a{opacity:.78;transition:color .2s,opacity .2s}.nav-links a:hover,.nav-links a.active{color:var(--orange);opacity:1}.menu{display:none;color:var(--cream);background:none;border:0;font:22px 'DM Mono',monospace}.container{max-width:var(--max);margin:auto;padding:0 28px}.eyebrow{color:var(--orange);font:12px 'DM Mono',monospace;letter-spacing:.18em;text-transform:uppercase}.display{font-size:clamp(3.5rem,9vw,8.6rem);line-height:.91;letter-spacing:-.03em;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;margin:22px 0}.headline{font:clamp(2.5rem,6vw,5.8rem)/.95 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:18px 0}.section{padding:104px 0}.dark{background:var(--charcoal);color:var(--cream)}.ink{background:var(--ink);color:var(--cream)}.orange{background:var(--orange);color:var(--cream)}.rule{width:72px;height:5px;background:var(--orange);margin:25px 0}.btn{display:inline-flex;align-items:center;gap:14px;padding:15px 21px;background:var(--orange);color:var(--cream);font:12px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--orange);transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px);background:#f06b45}.btn.alt{background:transparent;color:var(--cream);border-color:var(--sand)}.hero{min-height:720px;display:grid;place-items:end;position:relative;overflow:hidden;background:var(--ink)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,25,29,.94) 0%,rgba(22,25,29,.55) 43%,rgba(22,25,29,.05) 100%),linear-gradient(0deg,rgba(22,25,29,.75),transparent 45%)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.14)}.hero-content{position:relative;z-index:1;width:100%;padding:120px 28px 75px;max-width:var(--max);margin:auto;color:var(--cream)}.hero-copy{max-width:730px}.hero-copy p{max-width:590px;font-size:clamp(1rem,1.7vw,1.28rem);color:#eee6d9}.accent{color:var(--orange)}.split{display:grid;grid-template-columns:1fr 1.18fr;gap:80px;align-items:center}.badge{width:min(330px,75%);margin:auto;border-radius:50%;border:10px solid var(--charcoal);box-shadow:0 0 0 1px var(--sand)}.copy{max-width:650px}.copy p{font-size:1.1rem}.service-frame{background:var(--ink);position:relative;overflow:hidden}.service-frame img{width:100%;height:310px;object-fit:cover;opacity:.55}.service-frame .image-label{position:absolute;left:25px;top:23px;color:var(--cream);font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.13em}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sand)}.card{background:var(--charcoal);color:var(--cream);padding:28px;min-height:230px;transition:background .2s,transform .2s}.card:hover{background:#2c3239;transform:translateY(-4px)}.card h3{font:28px 'Oswald',sans-serif;text-transform:uppercase;margin:16px 0 8px}.card p{color:#d8d0c2;margin:0}.arrow{color:var(--orange);font:20px 'DM Mono',monospace}.philosophy{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.philosophy .big-quote{font:clamp(1.65rem,3.7vw,3.4rem)/1.08 'Oswald',sans-serif;text-transform:uppercase;max-width:950px;margin:25px 0}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font:clamp(2rem,5vw,4.8rem)/.95 'Oswald',sans-serif;text-transform:uppercase;margin:0}.page-hero{padding:95px 0 80px;background:var(--charcoal);color:var(--cream);border-bottom:7px solid var(--orange)}.page-hero p{max-width:720px;color:#ded5c7;font-size:1.15rem}.service-list{display:grid;grid-template-columns:190px 1fr auto;gap:40px;padding:54px 0;border-bottom:1px solid #d5cab8;align-items:start}.service-list:last-child{border-bottom:0}.service-number{font:44px 'Oswald',sans-serif;color:var(--orange)}.service-list h2{font:clamp(2rem,4vw,3.4rem)/1 'Oswald',sans-serif;text-transform:uppercase;margin:0 0 14px}.service-list p{max-width:650px;margin:0 0 24px;font-size:1.05rem}.text-link{font:12px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);border-bottom:1px solid currentColor;padding-bottom:5px}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.portrait{height:560px;background:var(--ink);position:relative;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.82)}.portrait:after{content:'MY STORY / 01';position:absolute;bottom:20px;left:22px;color:var(--cream);font:12px 'DM Mono',monospace;letter-spacing:.12em}.story p{font-size:1.17rem}.all-breeds{margin-top:55px;padding:28px;background:var(--charcoal);color:var(--cream);display:flex;justify-content:space-between;gap:20px;align-items:center}.all-breeds strong{font:clamp(1.7rem,4vw,3.5rem)/.9 'Oswald',sans-serif;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:25px}.gallery-item{background:var(--charcoal);color:var(--cream);margin:0}.gallery-item img{width:100%;height:480px;object-fit:cover}.gallery-item:nth-child(2) img{height:480px;object-position:center}.gallery-item figcaption{padding:20px 23px;font:14px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.gallery-note{border-left:5px solid var(--orange);padding:18px 22px;background:#eee7da;margin-top:35px;font-size:.95rem}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-intro{font-size:1.18rem}.form{display:grid;gap:19px}.field{display:grid;gap:8px}.field label{font:11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.field input,.field textarea{font:16px 'DM Sans',sans-serif;background:transparent;border:0;border-bottom:2px solid #afa38f;padding:13px 0;color:var(--charcoal);outline:none}.field input:focus,.field textarea:focus{border-color:var(--orange)}.field textarea{min-height:125px;resize:vertical}.success{display:none;padding:18px;background:var(--charcoal);color:var(--cream);border-left:5px solid var(--orange)}.success.show{display:block}.site-footer{background:var(--ink);color:var(--cream);padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px;padding-bottom:45px;border-bottom:1px solid var(--line)}.footer-logo{width:100px;border-radius:50%;margin-bottom:15px}.footer-title{font:30px 'Oswald',sans-serif;text-transform:uppercase;margin:0 0 8px}.footer-nav{display:grid;gap:10px;font:12px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em}.footer-nav a:hover{color:var(--orange)}.tagline{font:30px/1 'Oswald',sans-serif;text-transform:uppercase}.footer-bottom{padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#b9b0a2;font:11px 'DM Mono',monospace}.footer-bottom a{color:var(--orange)}
@media(max-width:800px){.nav-wrap{min-height:70px}.menu{display:block}.nav-links{position:absolute;left:0;right:0;top:70px;padding:20px 28px;background:var(--ink);display:none;flex-direction:column;gap:16px}.nav-links.open{display:flex}.hero{min-height:660px}.display{font-size:clamp(3.3rem,17vw,6rem)}.section{padding:75px 0}.split,.about-grid,.contact-layout{grid-template-columns:1fr;gap:38px}.cards{grid-template-columns:1fr 1fr}.service-list{grid-template-columns:60px 1fr;gap:18px}.service-list .text-link{grid-column:2}.gallery-grid{grid-template-columns:1fr}.gallery-item img,.gallery-item:nth-child(2) img{height:360px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.cta{align-items:flex-start;flex-direction:column}.all-breeds{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.container,.nav-wrap,.hero-content{padding-left:19px;padding-right:19px}.wordmark span{display:none}.cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.portrait{height:430px}}

/* Supplied horizontal brand lockup */
.header-lockup{width:282px;max-width:42vw;height:auto;max-height:62px;object-fit:contain;object-position:left center}.wordmark{line-height:0}.wordmark:focus-visible{outline:2px solid var(--orange);outline-offset:5px}@media(max-width:800px){.header-lockup{width:224px;max-width:64vw;max-height:49px}}@media(max-width:480px){.header-lockup{width:184px;max-width:61vw;max-height:41px}}

/* Fix round: preserve the brindle dog's full head and face in the Home hero. */
.hero-image{object-position:72% 38%;transform:none}
@media(max-width:600px){
  .hero{display:block;min-height:0;background:var(--ink)}
  .hero:after{display:none}
  .hero-image{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;object-position:center;transform:none}
  .hero-content{padding:38px 19px 48px;background:var(--ink)}
  .hero-copy{max-width:none}
}
