
:root {
  --pet-ink:#273129;
  --pet-muted:#667267;
  --pet-cream:#fbf7ec;
  --pet-paper:#fffdf7;
  --pet-green:#496c4f;
  --pet-green-dark:#304c37;
  --pet-moss:#dfe8d5;
  --pet-gold:#e3b24c;
  --pet-rust:#b85e38;
  --pet-line:#d9dfd3;
  --pet-shadow:0 18px 45px rgba(45,61,48,.10);
}

.nh-petting-page{background:var(--pet-cream);color:var(--pet-ink);font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-wrap:anywhere}
.nh-petting-page h1,.nh-petting-page h2,.nh-petting-page h3{font-family:"Fraunces",Georgia,serif;color:var(--pet-ink)}
.nh-petting-page .eyebrow{margin:0 0 .55rem;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--pet-green)}

.barnyard-hero{position:relative;min-height:640px;display:grid;align-items:end;isolation:isolate;overflow:hidden;background:#b9c6a4}
.barnyard-photo{position:absolute;inset:0;z-index:-3}
.barnyard-photo picture,.barnyard-photo img{display:block;width:100%;height:100%}
.barnyard-photo img{object-fit:cover;object-position:center 48%}
.hero-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(24,36,27,.72) 0%,rgba(24,36,27,.36) 42%,rgba(24,36,27,.04) 70%),linear-gradient(0deg,rgba(18,29,21,.35),transparent 42%)}
.barnyard-hero-inner{width:100%;padding-top:7rem;padding-bottom:3.25rem}
.hero-card{max-width:650px;background:rgba(255,253,247,.95);backdrop-filter:blur(6px);padding:2rem 2.2rem 2.1rem;border-radius:0 28px 28px 0;border-left:6px solid var(--pet-gold);box-shadow:0 28px 70px rgba(20,31,22,.23)}
.hero-card .crumb{margin:0 0 1.15rem;font-size:.82rem;color:#58665a}.hero-card .crumb a{color:var(--pet-green-dark);text-decoration:none;font-weight:700}.hero-card h1{font-size:clamp(2.6rem,5.1vw,4.8rem);line-height:.96;letter-spacing:-.04em;margin:.2rem 0 1rem}.hero-copy{max-width:52ch;font-size:1.08rem;line-height:1.65;margin:0;color:#4e5a50}.hero-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.35rem}.hero-tags span{padding:.48rem .72rem;border-radius:999px;background:#edf1e6;border:1px solid #d3ddcb;font-size:.8rem;font-weight:700;color:#3f5944}

.visit-strip{background:var(--pet-green-dark);color:white}.visit-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.visit-strip-grid>div{min-width:0;display:flex;gap:.9rem;align-items:center;padding:1.25rem 1.35rem;border-right:1px solid rgba(255,255,255,.16)}.visit-strip-grid>div:last-child{border-right:0}.strip-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--pet-gold);color:#293329;font-weight:800}.visit-strip p{margin:0}.visit-strip strong,.visit-strip small{display:block}.visit-strip strong{font-size:.94rem}.visit-strip small{margin-top:.15rem;color:#dbe6dc;line-height:1.35}

.petting-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3rem;align-items:start;padding-top:4.3rem;padding-bottom:4.7rem}.petting-main{min-width:0}.directory-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:2rem;align-items:end;padding-bottom:1.5rem;border-bottom:1px solid var(--pet-line)}.directory-intro h2{font-size:clamp(2rem,3.3vw,3.1rem);line-height:1.02;margin:0}.directory-intro>p{margin:0;color:var(--pet-muted);line-height:1.65}.visit-key{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem;padding:1rem 0 1.15rem;color:#6b756c;font-size:.8rem}.visit-key span{display:flex;align-items:center;gap:.35rem}.visit-key b{color:var(--pet-rust)}

.petting-directory{list-style:none;padding:0;margin:0;display:grid;gap:.72rem}.petting-directory .farm{margin:0;border:1px solid var(--pet-line);border-radius:15px;background:var(--pet-paper);overflow:hidden;box-shadow:0 5px 15px rgba(39,49,41,.035)}.petting-directory .farm-trigger{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:1rem;align-items:center;text-align:left;padding:1rem 1.1rem;border:0;background:transparent;color:var(--pet-ink);cursor:pointer;font:inherit}.petting-directory .farm-trigger:hover{background:#f2f5eb}.petting-directory .farm-name{min-width:0;font-weight:700;font-size:1rem}.petting-directory .farm-town{white-space:nowrap;color:var(--pet-muted);font-size:.86rem}.petting-directory .chev{width:9px;height:9px;border-right:2px solid var(--pet-green);border-bottom:2px solid var(--pet-green);transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}.petting-directory .farm-trigger[aria-expanded="true"] .chev{transform:rotate(225deg) translate(-2px,-2px)}.petting-directory .farm-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.petting-directory .farm-trigger[aria-expanded="true"] + .farm-panel{grid-template-rows:1fr}.petting-directory .farm-panel>div{overflow:hidden}.petting-directory .farm-body{padding:0 1.1rem 1.2rem;border-top:1px solid #e5e9df}.petting-directory .farm-body>p{line-height:1.68;color:#536056}.petting-directory .farm-body a{color:var(--pet-green-dark);font-weight:700}.petting-directory .farm-meta{margin:1rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.petting-directory .farm-meta>div{min-width:0;background:#f4f6ee;border-radius:10px;padding:.8rem}.petting-directory .farm-meta dt{margin-bottom:.18rem;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--pet-rust)}.petting-directory .farm-meta dd{margin:0;font-size:.86rem;line-height:1.5;color:#465148}

.outing-rail{position:sticky;top:1.5rem;display:grid;gap:1rem;min-width:0}.rail-card{border-radius:22px;background:#fffdf8;border:1px solid var(--pet-line);box-shadow:var(--pet-shadow);overflow:hidden}.outings-card{padding:1.35rem}.rail-label{margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:800;color:var(--pet-rust)}.rail-card h2{font-size:1.7rem;line-height:1.05;margin:0 0 .7rem}.rail-card h3{font-size:1.4rem;margin:.1rem 0 .6rem}.rail-intro,.before-you-go p{color:var(--pet-muted);line-height:1.55;font-size:.9rem}.outing-links{display:grid;margin-top:1rem}.outing-links a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.7rem;padding:.85rem .15rem;border-top:1px solid var(--pet-line);text-decoration:none;color:inherit}.outing-links a:hover b{color:var(--pet-rust)}.outing-num{font-family:"Fraunces",Georgia,serif;color:#9ba898;font-size:.88rem}.outing-links b,.outing-links small{display:block}.outing-links b{font-size:.94rem}.outing-links small{margin-top:.15rem;color:var(--pet-muted);line-height:1.35}.before-you-go{padding:1.35rem;background:var(--pet-moss)}

.animal-guide{padding-top:1rem;padding-bottom:4rem}.guide-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:2rem;align-items:end;border-top:1px solid var(--pet-line);padding-top:2.3rem}.guide-heading h2{font-size:clamp(2rem,3vw,3rem);line-height:1.04;margin:0}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.7rem}.guide-grid article{position:relative;min-width:0;background:var(--pet-paper);border:1px solid var(--pet-line);border-radius:18px;padding:1.4rem 1.35rem 1.45rem}.guide-grid article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pet-green-dark);color:white;font-size:.75rem;font-weight:800}.guide-grid h3{font-size:1.35rem;margin:.85rem 0 .45rem}.guide-grid p{margin:0;color:var(--pet-muted);line-height:1.65;font-size:.91rem}

.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--pet-line);border:1px solid var(--pet-line);border-radius:18px;overflow:hidden;margin-bottom:4.2rem}.related-links a{min-width:0;padding:1rem 1.1rem;background:var(--pet-paper);text-decoration:none;color:var(--pet-ink)}.related-links span,.related-links b{display:block}.related-links span{font-size:.69rem;text-transform:uppercase;letter-spacing:.09em;color:var(--pet-rust);font-weight:800;margin-bottom:.25rem}.related-links b{font-size:.9rem}.related-links a:hover b{color:var(--pet-green)}
.petting-finder{padding-bottom:4rem}

@media (max-width: 980px){
  .petting-layout{grid-template-columns:minmax(0,1fr) 275px;gap:1.6rem}.directory-intro{grid-template-columns:1fr}.outing-rail{top:1rem}.guide-heading{grid-template-columns:1fr}.visit-strip-grid>div{padding:1rem}.strip-icon{flex-basis:36px;width:36px;height:36px}
}

@media (max-width: 760px){
  .barnyard-hero{min-height:560px}.barnyard-hero-inner{padding-bottom:1.25rem}.hero-card{max-width:none;margin:0;border-radius:22px;border-left:0;border-top:5px solid var(--pet-gold);padding:1.4rem}.petting-layout{grid-template-columns:1fr;gap:2rem;padding-top:2.8rem}.outing-rail{position:static;grid-template-columns:1fr 1fr}.guide-grid{grid-template-columns:1fr}.related-links{grid-template-columns:1fr}.related-links a{border-bottom:1px solid var(--pet-line)}
}

@media (max-width: 700px){
  .barnyard-photo img{object-position:center center}.hero-scrim{background:linear-gradient(0deg,rgba(25,38,28,.66) 0%,rgba(25,38,28,.14) 58%,rgba(25,38,28,0) 80%)}.barnyard-hero{min-height:610px}.barnyard-hero-inner{padding-top:16rem;padding-bottom:1rem}.hero-card h1{font-size:clamp(2.25rem,11vw,3.25rem)}.hero-copy{font-size:.98rem}.hero-tags{gap:.4rem}.hero-tags span{font-size:.72rem}.visit-strip-grid{grid-template-columns:1fr}.visit-strip-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.visit-strip-grid>div:last-child{border-bottom:0}.petting-layout{width:auto;margin-inline:1rem}.animal-guide,.related-links{width:auto;margin-inline:1rem}.visit-key{display:grid}.outing-rail{grid-template-columns:1fr}.petting-directory .farm-trigger{grid-template-columns:minmax(0,1fr) auto 18px;gap:.55rem;padding:.9rem}.petting-directory .farm-name{font-size:.94rem}.petting-directory .farm-town{font-size:.78rem}.petting-directory .farm-body{padding:0 .9rem 1rem}.petting-directory .farm-meta{grid-template-columns:1fr}.directory-intro h2{font-size:2rem}.guide-heading h2{font-size:2rem}
}

@media (max-width: 430px){
  .hero-card{padding:1.15rem}.hero-card .crumb{font-size:.74rem}.hero-tags{display:none}.petting-directory .farm-trigger{grid-template-columns:minmax(0,1fr) 18px}.petting-directory .farm-town{grid-column:1;font-size:.75rem}.petting-directory .chev{grid-column:2;grid-row:1 / span 2}.visit-strip-grid>div{padding:.9rem 1rem}.outing-links a{grid-template-columns:30px minmax(0,1fr)}
}

@media (prefers-reduced-motion:reduce){.petting-directory .farm-panel,.petting-directory .chev{transition:none}}
