:root {
  --cream:#f7eed9; --light:#fffaf0; --espresso:#3b2f24;
  --rust:#b5523f; --blue:#7ca0b8; --gold:#e0b441; --olive:#5f654e;
  --line:rgba(59,47,36,.72);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;color:var(--espresso);background-color:var(--cream);
  background-image:radial-gradient(rgba(59,47,36,.055) .65px,transparent .8px);
  background-size:6px 6px;font-family:"Barlow",Arial,sans-serif;font-size:1rem;line-height:1.55
}
img{display:block;max-width:100%}a{color:inherit}p,h1,h2,h3,figure{margin-top:0}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:.98;letter-spacing:-.035em}
h1{margin-bottom:25px;font-size:clamp(4rem,6.7vw,7rem);font-weight:800}
h2{margin-bottom:25px;font-size:clamp(3rem,5vw,5.2rem);font-weight:700}
h3{margin-bottom:15px;font-size:clamp(1.65rem,2.4vw,2.25rem)}
.eyebrow,.card-label,nav a,.button,.menu-toggle,.trust-strip strong{
  font-family:"Barlow Condensed",Arial,sans-serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase
}
.eyebrow{margin-bottom:18px;font-size:.92rem}

.site-header{
  position:sticky;top:0;z-index:20;min-height:82px;padding:9px clamp(18px,3.2vw,52px);
  display:flex;align-items:center;gap:clamp(18px,3vw,46px);border-bottom:1.5px solid var(--line);
  background:rgba(247,238,217,.96);backdrop-filter:blur(8px)
}
.brand{flex:0 0 auto;margin-right:auto;text-decoration:none}
.brand img{width:clamp(205px,19vw,295px);height:auto;mix-blend-mode:multiply}
nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,37px)}
nav a{position:relative;font-size:.93rem;text-decoration:none}
nav a::after{content:"";position:absolute;right:0;bottom:-5px;left:0;height:2px;background:var(--rust);transform:scaleX(0);transition:transform .2s ease}
nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
.menu-toggle{display:none;padding:8px 0;color:inherit;background:none;border:0;font-size:.95rem}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:58px;padding:13px 28px;
  color:var(--light);background:var(--rust);border:0;border-radius:999px;font-size:1rem;text-decoration:none;
  transition:transform .18s ease,background-color .18s ease
}
.button:hover,.button:focus-visible{background:#994131;transform:translateY(-2px)}
.button-small{min-height:48px;padding:10px 24px;white-space:nowrap}

.hero{
  position:relative;min-height:min(760px,calc(100vh - 82px));padding:clamp(48px,6vw,88px) clamp(20px,3.5vw,56px) 0;
  display:grid;grid-template-columns:minmax(430px,.86fr) minmax(510px,1.14fr);gap:clamp(25px,3vw,52px);
  overflow:hidden;border-bottom:1.5px solid var(--line)
}
.hero-copy{position:relative;z-index:3;max-width:650px;padding-bottom:190px}
.hero-intro{max-width:620px;margin-bottom:29px;font-size:clamp(1.05rem,1.35vw,1.28rem);letter-spacing:.02em}
.hero-photo{position:relative;z-index:2;align-self:center;margin:0;aspect-ratio:4/3;transform:translate(-36px,24px)}
.hero-photo::before{display:none}
.hero-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;filter:saturate(.92) contrast(1.03);-webkit-mask-image:url('hero-rough-mask.svg');-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:100% 100%;mask-image:url('hero-rough-mask.svg');mask-repeat:no-repeat;mask-position:center;mask-size:100% 100%;mask-mode:alpha}
.sun-mark{position:absolute;z-index:4;top:clamp(120px,17vw,210px);left:clamp(440px,34vw,555px);color:var(--gold);font-size:clamp(4.5rem,7vw,7.7rem);line-height:1;transform:rotate(-8deg)}
.mountain-print{position:absolute;z-index:1;bottom:0;left:0;width:min(54%,770px);max-height:190px;object-fit:cover;object-position:bottom left;opacity:.88;pointer-events:none}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:18px clamp(20px,3vw,48px);border-bottom:1.5px solid var(--line)}
.trust-strip>div{display:flex;align-items:center;justify-content:center;gap:18px;min-height:80px;padding:9px 18px;border-right:1px solid var(--line)}
.trust-strip>div:last-child{border-right:0}.trust-strip p{margin:0}.trust-strip strong,.trust-strip p span{display:block}
.trust-strip strong{font-size:1.05rem}.trust-strip p span{font-size:.92rem;letter-spacing:.03em}
.trust-icon{flex:0 0 auto;display:grid;place-items:center;width:62px;height:62px;color:var(--light);border-radius:50%}
.trust-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.trust-icon svg.paw-icon,.trust-icon svg.suv-icon{stroke-width:1.8;shape-rendering:geometricPrecision}
.rust{background:var(--rust)}.blue{background:var(--blue)}.gold{background:var(--gold)}.olive{background:var(--olive)}

.section{padding:clamp(76px,9vw,135px) clamp(20px,4vw,62px)}
.section-heading{margin-bottom:50px}.section-heading h2{max-width:760px}.section-heading.compact{max-width:800px}
.hike-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.feature-card{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(250px,1.28fr);min-height:450px;overflow:hidden;background:rgba(255,250,240,.72);border:1.5px solid var(--line);border-radius:20px}
.feature-card img{width:100%;height:100%;min-height:450px;object-fit:cover;object-position:center}
.feature-card:first-child img{object-fit:contain;padding:12px;background:var(--blue)}
.feature-card>div{padding:clamp(28px,3vw,48px);align-self:center}.card-label{margin-bottom:13px;font-size:1rem}
.details{margin-top:23px;padding-top:19px;border-top:1px solid var(--line);font-size:.89rem;font-weight:600}
.private-card{border-color:var(--blue)}.private-card img{object-position:48% center}
.readiness-note{max-width:950px;margin:34px auto 0;padding:25px 32px;display:flex;gap:22px;align-items:center;background:var(--espresso);color:var(--light);border-radius:18px}
.readiness-note p{margin-bottom:0}.note-number{flex:0 0 auto;display:grid;place-items:center;width:56px;height:56px;color:var(--espresso);background:var(--gold);border-radius:50%;font-family:"Fraunces",serif;font-weight:800}

.service-split{min-height:650px;display:grid;grid-template-columns:.9fr 1.1fr;background:var(--blue)}
.service-copy{align-self:center;padding:clamp(65px,8vw,125px) clamp(24px,7vw,105px)}
.service-copy p:not(.eyebrow){max-width:610px;font-size:1.08rem}
.service-split>img{width:100%;height:100%;max-height:760px;object-fit:cover;object-position:center 40%}

.home-care{padding-bottom:clamp(76px,9vw,135px)}.home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:start}
.home-card{overflow:hidden;background:rgba(255,250,240,.78);border:1.5px solid var(--line);border-radius:20px}
.home-card .home-main-photo{width:100%;height:470px;object-fit:cover}#daycare .home-main-photo{object-position:center 54%}#boarding .home-main-photo{object-position:center 48%}
.home-card>div{padding:30px 34px 36px}
.home-card>div.service-gallery{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;border-top:1.5px solid var(--line)}
.service-gallery img{width:100%;height:330px;object-fit:cover}.service-gallery img+img{border-left:1.5px solid var(--line)}
#daycare .service-gallery img:first-child{object-position:center 47%}#daycare .service-gallery img:last-child{object-position:center 48%}
#boarding .service-gallery img:first-child{object-position:center 50%}#boarding .service-gallery img:last-child{object-position:center 38%}

.critters{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(350px,1.1fr);gap:clamp(55px,10vw,145px);align-items:center;background:var(--gold)}
.critters figure{margin:0}.critters img{width:100%;max-height:650px;object-fit:cover;object-position:center 50%;border:13px solid var(--light);transform:rotate(-1.5deg)}
.critters div{max-width:650px}.critters div>p:not(.eyebrow){font-size:1.08rem}

.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:clamp(55px,10vw,150px);align-items:center}
.about-copy{max-width:710px}.about-copy>p:not(.eyebrow):not(.signature){font-size:1.09rem}
.signature{margin-top:31px;font-family:"Fraunces",serif;font-size:1.35rem;font-weight:700}
.about-photo{margin:0}.about-photo img{width:100%;max-height:640px;object-fit:cover;object-position:center 30%;border-radius:48% 48% 8px 8px;box-shadow:14px 14px 0 var(--blue)}

.reviews{color:var(--light);background:var(--espresso);border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.reviews-heading h2{margin-bottom:0}
.google-rating{display:grid;grid-template-columns:auto auto;align-items:center;gap:1px 12px;padding-bottom:8px}.google-rating .review-stars{grid-column:1/-1}.google-rating strong{font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.1rem;letter-spacing:.09em;text-transform:uppercase}.google-rating>span:last-child{color:rgba(255,250,240,.72)}
.review-stars{color:var(--gold);font-size:1.25rem;letter-spacing:.13em}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.review-card{min-height:345px;padding:31px 30px 28px;display:flex;flex-direction:column;background:var(--light);color:var(--espresso);border:1.5px solid var(--cream);border-radius:18px;box-shadow:8px 8px 0 var(--blue)}
.review-card blockquote{margin:22px 0 30px;font-family:"Fraunces",Georgia,serif;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:600;line-height:1.42;letter-spacing:-.015em}
.review-card p{margin:auto 0 0;padding-top:20px;border-top:1px solid rgba(59,47,36,.28)}.review-card p strong,.review-card p span{display:block}.review-card p strong{font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.03rem;letter-spacing:.1em;text-transform:uppercase}.review-card p span{font-size:.88rem;color:rgba(59,47,36,.72)}
.google-reviews-link{margin-top:38px;background:var(--rust)}

.how{background:var(--light);border-top:1.5px solid var(--line)}.steps{margin:0;padding:0;list-style:none;border-top:1.5px solid var(--line)}
.steps li{display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}
.steps li>span{display:grid;place-items:center;width:54px;height:54px;color:var(--light);background:var(--rust);border-radius:50%;font-family:"Fraunces",serif;font-size:1.25rem;font-weight:700}
.steps h3{margin-bottom:7px;font-size:1.6rem}.steps p{margin-bottom:0}

.contact{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);align-items:start;gap:clamp(42px,7vw,105px);color:var(--light);background:var(--rust)}
.contact-intro{max-width:680px}.contact-intro>p:last-of-type{max-width:630px;font-size:1.08rem}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:34px}.contact-actions>a:not(.button){font-weight:700;text-underline-offset:5px}
.contact-form{display:grid;gap:18px;padding:clamp(25px,3.5vw,42px);color:var(--espresso);background:var(--light);border:1.5px solid var(--line);border-radius:20px;box-shadow:10px 10px 0 rgba(59,47,36,.16)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-form label{display:grid;gap:7px;font-family:"Barlow Condensed",Arial,sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:48px;padding:11px 13px;color:var(--espresso);background:#fffdf7;border:1.5px solid rgba(59,47,36,.55);border-radius:8px;font:500 1rem/1.35 "Barlow",Arial,sans-serif;letter-spacing:normal;text-transform:none}
.contact-form textarea{min-height:130px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(124,160,184,.7);outline-offset:2px;border-color:var(--espresso)}
.contact-form .button{justify-self:start;min-width:185px;cursor:pointer}.contact-form .button:disabled{cursor:wait;opacity:.72}
.form-status{min-height:1.5em;margin:0;font-weight:600}.form-status.success{color:#3e6845}.form-status.error{color:#9f392a}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.button-light{color:var(--espresso);background:var(--light)}.button-light:hover,.button-light:focus-visible{color:var(--light);background:var(--espresso)}
footer{padding:24px clamp(20px,4vw,62px);display:flex;align-items:center;gap:28px;border-top:1.5px solid var(--line);font-size:.86rem}
footer img{width:175px;height:auto;margin-right:auto;mix-blend-mode:multiply}footer p{margin:0}

@media(max-width:1120px){
  .site-header{gap:20px}nav{gap:18px}nav a{font-size:.83rem}.hero{grid-template-columns:.92fr 1.08fr}.sun-mark{display:none}
  .feature-card{grid-template-columns:1fr}.feature-card img{min-height:320px;height:360px}.trust-strip>div{gap:10px;padding:9px}
}
@media(max-width:850px){
  html{scroll-padding-top:75px}.site-header{min-height:74px}.brand img{width:205px}.menu-toggle{display:block}
  nav{position:absolute;top:100%;right:0;left:0;display:none;padding:19px 24px 24px;flex-wrap:wrap;justify-content:center;background:var(--cream);border-bottom:1.5px solid var(--line)}
  nav.open{display:flex}.hero{min-height:auto;grid-template-columns:1fr;padding-top:52px}.hero-copy{padding-bottom:145px}
  .hero-photo{min-height:0;margin:0 -20px;transform:none}.hero-photo img{min-height:0;-webkit-mask-image:none;mask-image:none}.mountain-print{display:none}
  .trust-strip{grid-template-columns:repeat(2,1fr)}.trust-strip>div:nth-child(2){border-right:0}.trust-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .hike-grid,.home-grid,.service-split,.critters,.about,.review-grid,.contact{grid-template-columns:1fr}.service-split>img{max-height:600px}.about-photo{max-width:520px}.review-card{min-height:0}.contact-actions{max-width:430px}
  footer{flex-wrap:wrap}footer img{flex-basis:100%}
}
@media(max-width:560px){
  .site-header{padding:8px 15px;gap:14px}.brand img{width:150px}.button-small{min-height:41px;padding:8px 12px;font-size:.75rem}.menu-toggle{font-size:.76rem}
  .hero{padding-right:17px;padding-left:17px}.hero-copy{padding-bottom:105px}h1{font-size:clamp(3.45rem,17vw,5rem)}h2{font-size:clamp(2.75rem,13vw,4rem)}
  .hero-photo{margin:0 -17px;min-height:0}.hero-photo img{min-height:0}
  .trust-strip{padding:0}.trust-strip>div{min-height:105px;justify-content:flex-start}.trust-icon{width:48px;height:48px}
  .trust-strip strong{font-size:.9rem}.trust-strip p span{font-size:.73rem}.section{padding:78px 17px}.feature-card img{min-height:280px;height:300px}
  .feature-card>div,.home-card>div{padding:27px 24px 31px}.readiness-note{padding:22px;align-items:flex-start}.note-number{width:43px;height:43px}
  .service-copy{padding:76px 21px}.service-split>img{max-height:480px}.home-card .home-main-photo{height:340px}.service-gallery img{height:250px}
  .critters img{max-height:520px;border-width:8px}.reviews-heading{display:block}.google-rating{margin-top:26px}.steps li{grid-template-columns:52px 1fr;gap:13px}.steps li>span{width:44px;height:44px}
  .contact{gap:36px}.contact-actions a{overflow-wrap:anywhere}.form-row{grid-template-columns:1fr}.contact-form{padding:24px 18px;box-shadow:6px 6px 0 rgba(59,47,36,.16)}footer{display:block}footer img,footer p{margin-bottom:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
