/* Refined neighborhood editorial system: warm paper, deep navy, and restrained gold. */
:root{
  --ink:#15364e;
  --paper:#fffaf2;
  --muted:#536775;
  --line:#d8dedf;
  --accent:#f5c45c;
  --wash:#f3efe6;
  --sea:#e4ecee;
  --sea-dark:#466d7c;
  --sun:#f5c45c;
  --night:#15364e;
  --chalk:#fffaf2;
}
html{scroll-padding-top:24px}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.wrap{width:min(1180px,calc(100% - 72px))}

/* Header and navigation */
body:has(.hero-shell) header{background:rgba(255,250,242,.98);border:0;box-shadow:0 1px 0 rgba(21,54,78,.11);backdrop-filter:blur(10px)}
body:has(.hero-shell) .header-inner{min-height:82px}
.brand{font-size:19px;letter-spacing:.035em;font-weight:750;text-transform:none;line-height:1.03}
.brand span{font-size:12px;letter-spacing:.22em;font-weight:650;text-transform:none;margin-top:6px}
body:has(.hero-shell) .nav{gap:4px;background:transparent;border-radius:0;padding:0;box-shadow:none}
body:has(.hero-shell) .nav>a:not(.button){padding:10px 10px;border-radius:5px;font-size:14px}
body:has(.hero-shell) .nav>a:not(.button):hover{background:#f0ece4;color:var(--ink)}
body:has(.hero-shell) .nav .button{margin-left:8px}
.button,button:not(.menu-toggle):not([data-close-inquiry]):not(#acknowledge-policy){border-radius:6px;padding-inline:22px;font-weight:700}
.button:focus-visible,button:focus-visible{outline-color:#b57917}

/* First impression */
.hero-shell{background:var(--paper);padding:12px 14px 14px}
.hero-shell .new-hero{min-height:610px;height:min(700px,calc(100svh - 108px));border-radius:10px;overflow:hidden;background:#344f4b}
.hero-shell .new-hero picture img{object-position:center 53%}
.hero-shell .new-hero-shade{background:linear-gradient(90deg,rgba(8,31,46,.88) 0%,rgba(8,31,46,.68) 31%,rgba(8,31,46,.25) 56%,rgba(8,31,46,.03) 82%),linear-gradient(0deg,rgba(8,31,46,.2),transparent 38%)}
.hero-shell .new-hero-content{padding:28px 0 44px}
.hero-shell .new-hero .eyebrow{color:#f7cf7b;font-size:13px!important;letter-spacing:.075em;text-transform:uppercase;margin-bottom:18px!important}
.hero-shell .new-hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(44px,5.1vw,68px);font-weight:700;letter-spacing:-.045em;line-height:1.06;max-width:670px;margin-bottom:19px}
.hero-shell .new-hero-content>p:not(.eyebrow){font-size:clamp(17px,1.45vw,20px);max-width:510px;line-height:1.55}
.hero-shell .new-hero-actions{margin-top:28px}
.hero-shell .new-hero .button{min-height:51px;padding:13px 24px}
.hero-shell .button-ghost{background:var(--night)!important;border-color:rgba(255,255,255,.78)!important;color:#fff!important;box-shadow:0 5px 16px rgba(0,0,0,.16)}
.hero-shell .button-ghost:hover{background:#234f69!important;border-color:#fff!important;color:#fff!important}

/* Shared rhythm and typography */
.section{padding-block:92px}
.new-section-heading{max-width:800px;margin-bottom:46px}
.new-section-heading h2,.story-band h2,.new-final h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(35px,3.8vw,52px);font-weight:700;letter-spacing:-.043em;line-height:1.11}
.new-section-heading>p:not(.eyebrow){font-size:18px;line-height:1.6;color:var(--muted);max-width:700px}
.eyebrow{font-size:12px;letter-spacing:.12em}

/* Services */
.services-intro{background:var(--paper)}
.service-tiles{gap:26px}
.service-tile{border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 14px 34px rgba(21,54,78,.06)}
.service-tile-photo{height:340px}
.service-tile-body{padding:31px 32px 33px}
.service-tile h3{font-size:clamp(29px,2.7vw,38px);margin:0 0 14px;font-weight:700;letter-spacing:-.035em}
.service-tile p{font-size:17px;line-height:1.58;max-width:540px}
.service-tile-body>div{border-top:1px solid var(--line);padding-top:20px;gap:18px}
.service-tile-body .button{min-height:46px;padding:10px 18px;font-size:14px}

/* Process and pricing use one quiet neutral family. */
.how-section{background:#fff;color:var(--night);border-block:1px solid var(--line)}
.how-section .new-section-heading>p:not(.eyebrow){color:var(--muted)}
.new-step-grid{gap:0;border-top:1px solid var(--line)}
.new-step-grid article{padding:27px 28px 8px 0;border-top:0;border-right:1px solid var(--line)}
.new-step-grid article+article{padding-left:28px}
.new-step-grid article:last-child{border-right:0}
.new-step-grid article>span{color:var(--sea-dark);font-size:27px;font-weight:700;letter-spacing:-.035em;line-height:1;margin-bottom:21px}
.new-step-grid h3{font-size:22px;font-weight:700}
.new-step-grid p{font-size:16px;color:var(--muted);line-height:1.62}
.how-section .section-cta{margin-top:37px}

.rates-showcase{background:var(--wash)}
.rates-showcase .new-section-heading{max-width:850px}
.rates-showcase .no-contracts-note{background:#fff;border-left-color:var(--accent);border-radius:2px}
.rate-layout{gap:24px}
.rate-column{border:1px solid var(--line);border-radius:10px;padding:35px;background:#fff;overflow:hidden}
.rate-column:first-child{box-shadow:inset 0 5px var(--accent)}
.rate-column:nth-child(2){box-shadow:inset 0 5px #8daab4}
.rate-column-head h3{font-weight:700;font-size:clamp(31px,3.1vw,42px)}
.rate-column>.button{margin-top:auto}
.rate-special{border-radius:4px;background:#f7f1e4}
.rate-terms{font-size:16px;line-height:1.6}
.rate-terms a{margin-left:0}

/* Photo-led trust moment */
.photo-proof{min-height:650px}
.photo-proof-panel{border-radius:8px;background:rgba(11,42,60,.9);padding:42px}
.photo-proof-panel h2{font-weight:700;font-size:clamp(34px,3.6vw,49px)}

/* Warm story panel without adding another saturated color. */
.story-band{background:#f8f1e4;border-block:1px solid #e5dccb}
.story-band h2{max-width:560px;font-size:clamp(37px,4.1vw,55px);font-weight:700;letter-spacing:-.045em;line-height:1.08}
.story-band .large-copy{font-size:clamp(20px,1.75vw,24px);line-height:1.5;font-weight:500}
.story-band p:not(.large-copy){font-size:16px;color:var(--muted);line-height:1.65}

.difference-section{background:var(--paper)}
.difference-grid{gap:28px}
.difference-grid article{border-top:2px solid #7895a0}
.difference-grid b{font-size:14px;color:var(--sea-dark)}
.difference-grid h3{font-size:21px;font-weight:700;margin-top:20px}
.difference-grid p{font-size:16px;line-height:1.62}

.local-section-new{background:#fff;border-block:1px solid var(--line)}
.local-photo-grid{gap:24px}
.local-photo-link{border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 10px 26px rgba(21,54,78,.05);padding-bottom:23px;background:var(--paper)}
.local-photo-link>div{height:315px}
.local-photo-link>span{font-weight:700;font-size:28px}

.answers-section{background:var(--paper)}
.answers-section .question{padding:19px 0}
.answers-section .question summary{font-weight:700}
.new-faq-side img{border-radius:8px;height:305px}

.new-proof{background:var(--night)}
.new-proof-grid article{border-radius:6px}
.new-proof h2{font-size:clamp(35px,3.8vw,50px);font-weight:700}
.new-final{background:#102f45}
.new-final h2{max-width:780px}
footer{background:#0c273a}

/* Detail pages and forms share the same restrained language. */
.service-hero .editorial-photo,.yard-service-hero .editorial-photo,.guide-hero .editorial-photo,.page-photo,.article-photo{border-radius:8px!important;overflow:hidden}
.service-hero h1,.yard-service-hero h1,.guide-hero h1,.page-head h1{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.042em}
.yard-rate-band,.service-prices,.service-fit,.fact-band,.care-library,.new-learn{background:var(--wash)}
#inquiry-dialog{
  border-radius:10px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
#inquiry-dialog .dialog-top{padding-inline:28px}

@media(max-width:740px){
  #inquiry-dialog{
    width:calc(100% - 16px);
    max-height:calc(100dvh - 16px);
    padding-bottom:env(safe-area-inset-bottom);
  }
}

@media(max-width:1060px){
  body:has(.hero-shell) .header-inner{min-height:76px}
  body:has(.hero-shell) .nav{gap:0}
  body:has(.hero-shell) .nav>a:not(.button){padding-inline:7px;font-size:13px}
}

@media(max-width:740px){
  .wrap{width:calc(100% - 38px)}
  body:has(.hero-shell) .header-inner{min-height:72px}
  body:has(.hero-shell) .nav{border-radius:0;padding:17px 19px;box-shadow:0 16px 25px rgba(21,54,78,.14);background:var(--paper)}
  body:has(.hero-shell) .nav>a:not(.button){font-size:16px;padding:11px}
  .hero-shell{padding:8px}
  .hero-shell .new-hero{height:calc(100svh - 80px);min-height:610px;max-height:790px;border-radius:7px;align-items:flex-start}
  .hero-shell .new-hero picture img{object-position:60% center}
  .hero-shell .new-hero-shade{background:linear-gradient(180deg,rgba(8,31,46,.88),rgba(8,31,46,.56) 34%,rgba(8,31,46,.07) 73%),linear-gradient(0deg,rgba(8,31,46,.18),transparent 30%)}
  .hero-shell .new-hero-content{padding:39px 0 0}
  .hero-shell .new-hero h1{font-size:clamp(38px,9.3vw,49px);max-width:460px;line-height:1.08}
  .hero-shell .new-hero-content>p:not(.eyebrow){font-size:16px;max-width:410px}
  .hero-shell .new-hero-actions{gap:9px;margin-top:21px}
  .hero-shell .new-hero .button{min-height:46px;padding:10px 14px;font-size:13px}
  .section{padding-block:68px}
  .new-section-heading{margin-bottom:35px}
  .new-section-heading h2,.story-band h2,.new-final h2{font-size:clamp(33px,8vw,43px)}
  .new-section-heading>p:not(.eyebrow){font-size:16px}
  .service-tile-photo{height:260px}
  .service-tile-body{padding:24px}
  .service-tile h3{font-size:30px}
  .service-tile p{font-size:16px}
  .new-step-grid{border:0}
  .new-step-grid article,.new-step-grid article+article{border-right:0;border-top:1px solid var(--line);padding:19px 0 24px}
  .new-step-grid article>span{font-size:23px;margin-bottom:11px}
  .rate-column{padding:25px 20px}
  .photo-proof{min-height:590px}
  .photo-proof-panel{padding:24px}
  .story-band .large-copy{font-size:20px}
  .local-photo-link>div{height:225px}
}

@media(max-width:390px){
  .hero-shell .new-hero h1{font-size:37px}
  .hero-shell .new-hero .button{font-size:12px;padding-inline:11px}
}
/* Illustrated golden retriever brand mark */
.brand{display:inline-flex;align-items:center;gap:12px}
.brand .brand-dog{display:block;width:64px;height:52px;object-fit:contain;flex:none}
.brand .brand-words{display:block}
.brand .brand-words span{display:block}
@media(max-width:740px){.brand{gap:8px}.brand .brand-dog{width:48px;height:40px}}
header .brand img.brand-dog,footer .brand img.brand-dog{width:64px!important;height:48px!important;max-width:64px!important;object-fit:contain!important}
header .brand,footer .brand{height:auto;max-height:80px}
header .brand .brand-words,footer .brand .brand-words{margin:0;line-height:1.05}
@media(max-width:740px){header .brand img.brand-dog,footer .brand img.brand-dog{width:48px!important;height:38px!important;max-width:48px!important}}
