/* Approved gold/plum family. Each destination has its own composition and rhythm. */
:root{--brand-gold:#C98A3E;--gold-paper:#F0E4D7;--paper:#FAF6F2}
.core-page .section-head{max-width:none}.core-page .page-hero p:not(.eyebrow){max-width:none}.core-page .page-hero .eyebrow{letter-spacing:1.6px}.core-page .card-body{min-width:0}.core-page .card .eyebrow{line-height:1.7}
.core-page .page-hero{padding:48px 0 54px}.core-page .card-photo{border-radius:18px}.core-page .band{border-radius:18px}
/* Puppy: a soft, photograph-first welcome with a gold learning area and plum support. */
.page-puppy .page-hero{background:var(--gold-paper)}.page-puppy .page-hero .eyebrow{color:var(--plum)}
.page-puppy .puppy-track-intro{background:white}.page-puppy .class-card{background:var(--paper);padding:28px;border:0;border-radius:18px;gap:32px}.page-puppy .class-card>img{height:320px}.page-puppy .class-copy{padding:0}
.page-puppy .class-support{background:var(--plum);color:var(--paper)}.page-puppy .class-support :is(h2,h3,p){color:var(--paper)}.page-puppy .class-support .eyebrow{color:#F0BA76}
.page-puppy #puppy-handouts{background:var(--gold-paper)}.page-puppy .handout-card{background:var(--paper)}
/* Manners: a plum introduction, open cream course area, and gold milestones. */
.page-manners .page-hero{background:var(--plum)}.page-manners .page-hero :is(h1,p),.page-manners .page-hero .eyebrow,.page-manners .manners-tagline,.page-manners .manners-intro{color:var(--paper)}
.page-manners .page-hero .hero-photo{height:420px}.page-manners .manners-courses{background:var(--paper)}.page-manners .manners-course-grid .class-card{background:white}
.page-manners .group-readiness{background:var(--plum)}.page-manners .group-readiness :is(h2,p){color:var(--paper)}.page-manners .group-readiness .btn.solid{background:var(--paper);color:var(--plum)}
.page-manners [data-section="dreaming-of-becoming-a-therapy-dog-team"]{background:var(--gold-paper)}.page-manners [data-section="training-spot-graduate"]{background:white}.page-manners .graduate-perks article{border-color:var(--brand-gold)}
/* Therapy: confident plum and superhero photography, with gold starting cards. */
.page-therapy .therapy-start-card{background:var(--gold-paper);border:0;border-radius:18px;padding:30px}.page-therapy [data-section="dog-4-therapy-prep"]{background:var(--brand-gold)}.page-therapy [data-section="dog-4-therapy-prep"] :is(h2,h3,p){color:var(--plum)}
.page-therapy [data-section="prefer-one-on-one-coaching"]{background:var(--paper)}.page-therapy .therapy-print-option{padding:24px;background:var(--gold-paper);border:0;border-radius:18px}
/* Private: a portrait on the left, practical benefits on gold, and an obvious booking panel. */
.page-private .page-hero{background:var(--paper)}.page-private .hero-split{grid-template-columns:1fr 1.05fr;gap:60px}.page-private .hero-split>img{grid-column:1;grid-row:1;height:470px}.page-private .hero-split>div{grid-column:2;grid-row:1}
.page-private [data-section="your-goals-a-plan-that-fits"]{background:var(--brand-gold)}.page-private [data-section="your-goals-a-plan-that-fits"] :is(h2,h3,p){color:var(--plum)}.page-private .private-skills article{border-top:1px solid var(--plum);padding-top:20px}
.page-private [data-section="every-dog-can-learn"]{background:var(--plum)}.page-private [data-section="every-dog-can-learn"] :is(h2,p,a:not(.btn)){color:var(--paper)}.page-private [data-section="every-dog-can-learn"] .btn{background:var(--paper);color:var(--plum)}
.page-private #first-lesson{background:white}.page-private #first-lesson .split>.copy:last-child{background:var(--gold-paper)}.page-private [data-section="good-to-know"]{background:var(--gold-paper)}
/* Behavior: calm plum, cream concern cards, and a warm first-consultation area. */
.page-behavior .page-hero{background:var(--plum)}.page-behavior .hero-split{grid-template-columns:1.15fr 1fr;gap:55px}
.page-behavior [data-section="support-for-both-ends-of-the-leash"]{background:var(--gold-paper)}.page-behavior .grid .card{background:var(--paper);padding:26px;border:0;border-radius:18px}.page-behavior .grid .card-body{padding:0}
.page-behavior [data-section="understanding-first-a-plan-from-there"]{background:white}.page-behavior .section-white .split>.copy:last-child{background:var(--gold-paper)}
.page-behavior [data-section="understanding-changes-what-s-possible"]{background:var(--brand-gold)}.page-behavior [data-section="understanding-changes-what-s-possible"] :is(h2,p,a:not(.btn)){color:var(--plum)}
/* Team: a gold masthead and portrait-led profiles, with warm paper cards. */
.page-team .page-hero{background:var(--brand-gold)}.page-team .page-hero p:not(.eyebrow),.page-team .page-hero .eyebrow{color:var(--plum)}.page-team .team-profiles{padding-top:48px;background:var(--paper)}
.page-team .team-card{border-radius:18px;overflow:hidden;background:white;display:flex;flex-direction:column}.page-team .team-card:nth-child(3n+2){background:var(--gold-paper)}.page-team .team-card .card-body{padding:24px}.page-team .team-photo{border-radius:0;height:340px}.page-team .team-card details{margin-top:auto}
/* Sniff Club: outdoors first, gold welcome, and a clearly separated membership card. */
.page-sniff .page-hero{background:var(--brand-gold)}.page-sniff .page-hero :is(h1,p),.page-sniff .page-hero .eyebrow{color:var(--plum)}.page-sniff .hero-split{grid-template-columns:1fr 1.05fr;gap:60px}.page-sniff .hero-photo{object-position:center 45%;height:430px}
.page-sniff .split>.card{background:var(--plum);border-radius:18px;padding:30px}.page-sniff .split>.card :is(h3,p,a:not(.btn)){color:var(--paper)}.page-sniff .split>.card .eyebrow{color:#F0BA76}.page-sniff .split>.card .btn.outline{color:var(--paper);border-color:var(--paper)}
/* Graduates: editorial gold opening and a dark invitation to seasonal learning. */
.page-graduates .page-hero{background:var(--gold-paper);border-bottom:12px solid var(--brand-gold)}.page-graduates [data-section="room-for-something-new"]{background:var(--plum)}.page-graduates [data-section="room-for-something-new"] :is(h2,p){color:var(--paper)}.page-graduates [data-section="room-for-something-new"] .btn.outline{color:var(--paper);border-color:var(--paper)}
/* Resource hub: plum masthead, image-led destinations, gold handouts. */
.page-resources .page-hero{background:var(--plum)}.page-resources .page-hero :is(h1,p),.page-resources .page-hero .eyebrow{color:var(--paper)}.page-resources .grid>.card{background:white;overflow:hidden;border-radius:18px}.page-resources .grid .card-photo{border-radius:0}.page-resources .grid .card-body{padding:26px}.page-resources #puppy-handouts{background:var(--gold-paper)}.page-resources .handout-card{background:var(--paper)}
/* Blog: an open gold masthead and a journal grid. Articles keep a quiet reading area. */
.page-blog .page-hero{background:var(--brand-gold)}.page-blog .page-hero :is(h1,p),.page-blog .page-hero .eyebrow{color:var(--plum)}.page-blog .grid>.card{background:white;border-radius:18px;overflow:hidden}.page-blog .card-photo{border-radius:0}.page-blog .card-body{padding:24px}.page-blog .filter-bar button[aria-pressed=true]{background:var(--plum)}
.page-article .page-hero{background:var(--gold-paper);border-bottom:8px solid var(--brand-gold)}.page-article .article{background:white;padding:40px;border-radius:18px}.page-article .article h2{color:var(--plum)}.page-article .article blockquote{border-color:var(--brand-gold)}
/* Insurance: quiet, concise rows with a gold landmark rather than a sales-page layout. */
.page-insurance .page-hero{background:var(--gold-paper);border-bottom:8px solid var(--brand-gold)}.page-insurance .insurance-provider{padding:28px;border-radius:18px;border:0;gap:30px}.page-insurance .insurance-provider:nth-child(odd){background:var(--paper)}.page-insurance .insurance-provider+.insurance-provider{margin-top:12px}
/* New clients: dark welcome and three clear service pathways on warm paper. */
.page-new .page-hero{background:var(--plum)}.page-new .page-hero :is(h1,p),.page-new .page-hero .eyebrow{color:var(--paper)}.page-new .grid{gap:28px}.page-new .grid>.card{background:white;overflow:hidden;border-radius:18px}.page-new .card-body{padding:26px}.page-new .card-photo{border-radius:0}
/* Events retains its approved featured-card composition; color gives it a stronger opening. */
.page-events .event-hero{background:var(--brand-gold);max-width:none;padding:44px max(24px,calc((100vw - 1184px)/2));margin:0 0 44px}.page-events .event-hero :is(h1,p){color:var(--plum)}.page-events .event-content .loop{background:var(--gold-paper);border-color:var(--brand-gold)}
/* Printable roadmap stays clear on paper and shares the palette on screen. */
@media screen{.page-roadmap .page-hero{background:var(--gold-paper)}.page-roadmap .roadmap-entry{background:white;border-top:4px solid var(--brand-gold)}.page-roadmap .roadmap-private{background:var(--gold-paper)}}
/* DogPros remains a distinct professional area: cream toolkit opening, gold package selection. */
.pro-page .pro-hero{background:var(--paper);border-bottom:10px solid var(--brand-gold)}.pro-page #curriculum{background:var(--gold-paper)}.pro-page .pack.complete{border:2px solid var(--brand-gold)}.pro-page .sample-band{background:var(--plum);padding:34px;border-radius:18px}.pro-page .sample-band :is(h2,p){color:var(--paper)}.pro-page .sample-band .btn{background:var(--paper);color:var(--plum)}
@media(max-width:1000px){.page-private .hero-split,.page-sniff .hero-split,.page-behavior .hero-split{gap:32px}}
@media(max-width:700px){.core-page .page-hero{padding:32px 0 38px}.page-private .hero-split,.page-sniff .hero-split,.page-behavior .hero-split{grid-template-columns:1fr;gap:28px}.page-private .hero-split>div{grid-column:1;grid-row:1}.page-private .hero-split>img{grid-column:1;grid-row:2;height:320px}.page-puppy .class-card{padding:20px;gap:22px}.page-puppy .class-card>img{height:260px}.page-manners .page-hero .hero-photo{height:310px}.page-therapy .therapy-start-card{padding:24px}.page-team .team-card .card-body{padding:22px}.page-sniff .hero-photo{height:310px}.page-sniff .split>.card{padding:24px}.page-article .article{padding:26px 20px}.page-insurance .insurance-provider{padding:22px;gap:16px}.page-events .event-hero{padding:32px 20px}.pro-page .sample-band{padding:26px}}
/* Small text on saturated gold uses the palette's darker ink for contrast. */
.page-classes .page-hero :is(p,.eyebrow),.page-team .page-hero :is(p,.eyebrow),.page-blog .page-hero :is(p,.eyebrow),.page-sniff .page-hero :is(p,.eyebrow),.page-events .event-hero :is(p,.eyebrow){color:var(--ink)}
.page-private [data-section="your-goals-a-plan-that-fits"] p,.page-behavior [data-section="understanding-changes-what-s-possible"] :is(p,a:not(.btn)),.page-therapy [data-section="dog-4-therapy-prep"] p,.page-manners .class-support :is(p,a){color:var(--ink)}
.page-private .private-skills article{border-radius:0}
.page-events .event-hero :is(h1,p){max-width:none}.page-events .event-hero .eyebrow{color:var(--ink)}

/* Puppy refresh: a sunny welcome and distinct stages, with authentic student photography. */
.page-puppy .page-hero{background:var(--brand-gold);border-bottom:10px solid var(--plum)}.page-puppy .page-hero :is(p,.eyebrow){color:var(--ink)}.page-puppy .hero-split>img{height:365px;object-position:center;border-radius:18px}.page-puppy .page-hero .btn.solid{background:var(--plum);color:var(--paper)}.page-puppy .page-hero .btn.outline{border-color:var(--plum);color:var(--plum)}
.page-puppy .puppy-track-intro{background:var(--paper)}.page-puppy .class-list{gap:30px}.page-puppy .puppy-track-heading{padding-bottom:10px}.page-puppy .class-card{padding:30px;border-radius:24px}
.page-puppy #preschool{background:var(--gold-paper)}.page-puppy #kindergarten{background:white}.page-puppy #teen-social-club{background:var(--plum)}
.page-puppy #teen-social-club :is(h2,p,summary),.page-puppy #teen-social-club .class-preparation a{color:var(--paper)}.page-puppy #teen-social-club .eyebrow{color:#F0BA76}.page-puppy #teen-social-club .btn.solid{background:var(--paper);color:var(--plum)}.page-puppy #teen-social-club .class-preparation{border-color:#ffffff55}.page-puppy #teen-social-club>img{object-position:35% center}
.page-puppy .class-support{background:var(--brand-gold);color:var(--plum)}.page-puppy .class-support :is(h2,h3){color:var(--plum)}.page-puppy .class-support :is(p,a),.page-puppy .class-support .eyebrow{color:var(--ink)}.page-puppy #puppy-handouts{background:var(--paper)}.page-puppy .handout-card{background:white;border-top:5px solid var(--brand-gold)}
@media(max-width:700px){.page-puppy .hero-split>img{height:280px}.page-puppy .class-card{padding:22px;border-radius:20px}.page-puppy #teen-social-club>img{height:280px;object-position:35% center}}
.page-puppy .page-hero p:not(.eyebrow){color:var(--ink)}

/* Manners: show the setting and practical class facts, then go straight to courses. */
.page-manners .page-hero{background:var(--brand-gold)}.page-manners .page-hero :is(h1,p),.page-manners .page-hero .eyebrow{color:var(--plum)}.page-manners .page-hero p:not(.eyebrow){color:var(--ink)}
.page-manners .manners-age{display:block;font-size:22px;font-weight:700;line-height:1.5}.page-manners .manners-quick-facts{display:block;font-size:15px;line-height:1.8;margin-top:15px}.page-manners .page-hero .hero-photo{height:365px;object-position:center}.page-manners .page-hero .btn.outline{color:var(--plum);border-color:var(--plum)}
.page-manners .manners-course-grid #foundation{background:var(--gold-paper)}.page-manners .manners-course-grid #dog-2{background:var(--brand-gold)}.page-manners .manners-course-grid #dog-2 :is(p,.eyebrow){color:var(--ink)}
.page-manners .manners-course-grid #dog-3{background:var(--plum)}.page-manners .manners-course-grid #dog-3 :is(h2,p){color:var(--paper)}.page-manners .manners-course-grid #dog-3 .eyebrow{color:#F0BA76}.page-manners .manners-course-grid #dog-3 .btn.solid{background:var(--paper);color:var(--plum)}
/* Preserve the graduation headband and full face in the supplied portrait. */
.page-puppy #teen-social-club>img{height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top}
@media(max-width:700px){.page-manners .page-hero .hero-photo{height:280px}.page-manners .manners-age{font-size:20px}.page-manners .manners-quick-facts{font-size:14px}}
.page-manners .manners-course-grid #foundation{align-items:start}.page-manners .manners-course-grid #dog-3>img{object-position:center 17%}

/* Manners progression: three steps in the same plum family. */
.page-manners .manners-course-grid #foundation{background:#F1E9ED}
.page-manners .manners-course-grid #dog-2{background:#D8C3CF}
.page-manners .manners-course-grid #dog-2 :is(h2,p,.eyebrow){color:var(--plum)}
.page-manners .manners-course-grid #dog-3{background:var(--plum)}
.page-manners .manners-course-grid #dog-3 .eyebrow{color:var(--paper)}

/* Manners classes stack like the Puppy Track, with one shared layout per level. */
.page-manners .manners-course-grid{grid-template-columns:1fr;gap:28px}
.page-manners .manners-course-grid .class-card,.page-manners .manners-course-grid #foundation{display:grid;grid-template-columns:320px minmax(0,1fr);gap:36px;padding:30px;align-items:start;grid-column:auto}
.page-manners .manners-course-grid .class-card>img,.page-manners .manners-course-grid #foundation>img{grid-column:1;grid-row:1;width:100%;height:310px;object-fit:cover}
.page-manners .manners-course-grid .class-copy,.page-manners .manners-course-grid #foundation .class-copy{grid-column:2;grid-row:1;padding:0;min-width:0;align-self:stretch}
.page-manners .manners-course-grid .class-copy h2{font-size:32px}
.page-manners .manners-course-grid #dog-3>img{object-position:center 17%}
@media(max-width:1000px){.page-manners .manners-course-grid .class-card,.page-manners .manners-course-grid #foundation{grid-template-columns:240px minmax(0,1fr);gap:26px;padding:24px}.page-manners .manners-course-grid .class-copy h2{font-size:27px}}
@media(max-width:700px){.page-manners .manners-course-grid .class-card,.page-manners .manners-course-grid #foundation{grid-template-columns:1fr;gap:22px;padding:22px}.page-manners .manners-course-grid .class-card>img,.page-manners .manners-course-grid #foundation>img{grid-column:1;grid-row:1;height:260px}.page-manners .manners-course-grid .class-copy,.page-manners .manners-course-grid #foundation .class-copy{grid-column:1;grid-row:2}}

/* Contact: two distinct ways to get help, using the existing Fetch form. */
.page-contact .page-hero{background:var(--brand-gold)}.page-contact .page-hero .eyebrow,.page-contact .page-hero p:not(.eyebrow){color:var(--ink)}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-options article{padding:32px;background:var(--gold-paper);border-radius:18px;display:flex;flex-direction:column;align-items:start}.contact-options article:first-child{background:var(--plum)}.contact-options article:first-child :is(h3,p){color:var(--paper)}.contact-options article:first-child .eyebrow{color:#F0BA76}.contact-options article:first-child .btn{background:var(--paper);color:var(--plum)}.contact-options h3{font-size:28px}.contact-options article>p:not(.eyebrow){margin-top:18px;font-size:15px;line-height:1.8}.contact-options article>p a{color:var(--plum);text-decoration:underline;text-underline-offset:4px}.contact-options .actions{margin-top:auto;padding-top:26px}
.contact-form-section{background:white}.contact-form-frame{background:white;border:1px solid var(--border);border-radius:18px;overflow:hidden}.contact-form-frame iframe{width:100%;height:1080px;display:block;border:0}.contact-form-fallback{font-size:14px;line-height:1.8;margin-top:20px}.contact-form-fallback a,.contact-location a{color:var(--plum);text-decoration:underline;text-underline-offset:4px}.contact-location{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-location h3{margin-bottom:18px}.contact-location address{font-style:normal;color:var(--muted);line-height:1.8}.contact-location p{line-height:1.8}
@media(max-width:700px){.contact-options,.contact-location{grid-template-columns:1fr;gap:24px}.contact-options article{padding:26px}.contact-form-frame iframe{height:1250px}}
/* Sized from the live form so its fields do not require a second scroll area. */
@media(max-width:900px){.contact-form-frame iframe{height:1510px}}
@media(max-width:700px){.contact-form-frame iframe{height:1450px}}

/* Blog portraits keep faces and puppy ears in the card frame. */
[data-blog] .card img[src$="puppy-preschool-corgi.jpg"],[data-blog] .card img[src$="puppy-classes-augie.jpg"]{object-position:center 20%}
[data-blog] .card img[src$="drive-kindness.jpg"],[data-blog] .card img[src$="drive-quiet-connection.jpg"]{object-position:center 25%}

/* Version 2 blog refinement: stronger contrast and compact text-only openings. */
.page-blog{background:#FAF6F2}.core-page.page-blog .page-hero{padding:32px 0 36px;background:#C98A3E}
.core-page.page-blog .page-hero :is(h1,p){color:#4D3040}.core-page.page-blog .page-hero h1{font-size:clamp(34px,4vw,56px)}
.core-page.page-blog .page-hero p:not(.eyebrow){margin-top:14px;line-height:1.5}.page-blog .page-hero .eyebrow{margin-bottom:12px}
.core-page.page-blog main>.section{padding:30px 0 48px}.page-blog .filter-bar{margin-bottom:14px}.page-blog .filter-status{margin-bottom:18px;color:#4D3040}
.page-blog .card-body p{color:#514047;line-height:1.6;margin:12px 0 18px}.page-blog .card-body .eyebrow{color:#754718;margin:0 0 10px}.page-blog .card-body h3{font-size:25px}.page-blog .grid{gap:22px}.page-blog .card{border:1px solid #E8D9CA}
.page-blog .filter-bar input{background:white;color:#4D3040;border-color:#997F87}.page-blog .filter-bar input::placeholder{color:#68515B}.page-blog .filter-bar button{border-color:#997F87}
.core-page.page-article{background:#FFFCF8}.core-page.page-article .page-hero{padding:28px 0 32px;background:#4D3040;border-bottom:5px solid #C98A3E}
.core-page.page-article .page-hero h1{color:#FAF6F2;font-size:clamp(32px,3.7vw,52px);line-height:1.15;margin-top:16px}
.page-article .article-back{color:#F0BA76;text-decoration:underline;text-underline-offset:4px;font-weight:700;font-size:14px}
.core-page.page-article .article{background:transparent;border-radius:0;max-width:940px;margin:0 auto;padding:28px 0 24px;color:#382A31;line-height:1.75}
.page-article .article p{color:#382A31;margin-bottom:18px}.page-article .article h2,.page-article .article h3{margin-top:28px;margin-bottom:16px}
.page-article main>.wrap:last-child{padding-bottom:36px}
@media(max-width:700px){.core-page.page-blog .page-hero{padding:24px 0 28px}.core-page.page-blog main>.section{padding-top:24px}.core-page.page-article .page-hero{padding:22px 0 26px}.core-page.page-article .article{padding:24px 0 18px}.page-blog .card-body{padding:20px}}

/* Explicit blog text contrast: override shared muted paragraph colors. */
body.core-page.page-blog .page-hero p:not(.eyebrow){color:#4D3040}
body.core-page.page-blog .filter-status,body.core-page.page-blog .card-body p:not(.eyebrow){color:#4D3040}
body.core-page.page-blog .filter-bar input::placeholder{color:#4D3040;opacity:1}

/* Selected blog masthead: warm salmon and crisp white. */
body.core-page.page-blog .page-hero{background:#BD554D}
body.core-page.page-blog .page-hero h1,body.core-page.page-blog .page-hero p:not(.eyebrow),body.core-page.page-blog .page-hero .eyebrow{color:#FFFFFF}
/* Sniff Club: supported socialization, confidence and clear seasonal walk details. */
.page-sniff .sniff-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.page-sniff .sniff-benefits article{border-top:3px solid #C98A3E;padding-top:22px}.page-sniff .sniff-benefits h3{font-size:25px}.page-sniff .sniff-benefits p{margin-top:16px;line-height:1.75}
body.page-sniff [data-section="worried-about-other-dogs"]{background:#4D3040}body.page-sniff [data-section="worried-about-other-dogs"] :is(h2,p){color:#FAF6F2}.page-sniff .sniff-comfort-copy{font-size:16px;line-height:1.8}
.page-sniff .sniff-joining{background:white}.page-sniff .sniff-joining .split{grid-template-columns:1.1fr 1fr;gap:50px}.page-sniff .sniff-path{padding:22px 0;border-bottom:1px solid #E4D6CB}.page-sniff .sniff-path h3{font-size:23px}.page-sniff .sniff-path p{margin:14px 0}.page-sniff .sniff-path-links{display:flex;flex-wrap:wrap;gap:14px 24px}.page-sniff .sniff-readiness{margin-top:10px}.page-sniff .sniff-readiness ul{padding-left:22px;line-height:1.75;font-size:15px}
.page-sniff .sniff-walk-details{padding:32px;background:#F0E4D7;border-radius:18px}.page-sniff .sniff-walk-details p{color:#4D3040;line-height:1.75;margin:18px 0}.page-sniff .sniff-walk-details .eyebrow{margin:0 0 16px}.page-sniff .sniff-walk-details h2{font-size:34px}.page-sniff .sniff-walk-details .sniff-season{font-size:15px;font-weight:800;margin:22px 0 12px}.page-sniff .sniff-times{margin:0;padding:0}.page-sniff .sniff-times>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #C9B6A5}.page-sniff .sniff-times :is(dt,dd){font-size:21px;font-weight:750;color:#4D3040;margin:0}.page-sniff .sniff-practical-note{font-size:14px}.page-sniff .sniff-invited{border-top:1px solid #C9B6A5;margin-top:24px;padding-top:20px}.page-sniff .sniff-invited summary{font-weight:750;color:#4D3040;cursor:pointer;line-height:1.6}
@media(max-width:900px){.page-sniff .sniff-benefits{grid-template-columns:1fr;gap:24px}.page-sniff .sniff-benefits h3{font-size:24px}.page-sniff .sniff-joining .split{grid-template-columns:1fr;gap:32px}}
@media(max-width:700px){.page-sniff .sniff-walk-details{padding:24px}.page-sniff .sniff-times :is(dt,dd){font-size:20px}}

/* Distinct track openings, within the approved plum / gold / paper palette. */
body.core-page.page-puppy .page-hero{background:#F0E4D7;border:0}
body.core-page.page-manners .page-hero{background:#4D3040;border:0}
body.core-page.page-manners .page-hero :is(h1,p,.eyebrow,.manners-age,.manners-quick-facts),body.core-page.page-manners .page-hero p:not(.eyebrow){color:#FAF6F2}
body.core-page.page-manners .page-hero .btn.solid{background:#F0BA76;color:#38222F}
body.core-page.page-manners .page-hero .btn.outline{background:transparent;border-color:#FAF6F2;color:#FAF6F2}
body.core-page.page-sniff .page-hero{background:#D8C3CF;border:0}
body.core-page.page-puppy #puppy-handouts{background:#F0E4D7;padding:34px 0}
body.core-page.page-puppy #puppy-handouts .section-head{margin-bottom:18px}
body.core-page.page-puppy #puppy-handouts h2{font-size:30px}
body.core-page.page-puppy #puppy-handouts .section-head p{margin-top:10px;font-size:15px}
body.core-page.page-puppy .handout-grid{gap:16px}
body.core-page.page-puppy .handout-card{background:transparent;border:1px solid #9D8390;border-radius:10px;padding:18px;gap:7px}
body.core-page.page-puppy .handout-card h3{font-size:21px}
body.core-page.page-puppy .handout-card span{display:none}
body.core-page.page-puppy .handout-card strong{padding-top:0}
body.core-page.page-puppy .puppy-private-option{padding:35px 0}
body.core-page.page-puppy .puppy-private-option h2{font-size:28px}
@media(max-width:700px){body.core-page.page-puppy .handout-grid{gap:10px}body.core-page.page-puppy .handout-card{flex-direction:row;justify-content:space-between;align-items:center}body.core-page.page-puppy .handout-card h3{font-size:18px}}

/* Compact Mailchimp client-audience signup; separate from DogPros. */
.page-events .event-signup{max-width:840px;margin:28px auto 0;text-align:left}
.page-events .event-signup-fields{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:16px;align-items:end}
.page-events .event-signup label{display:block;font-size:14px;font-weight:700;color:#4D3040;margin-bottom:7px}
.page-events .event-signup label span{font-weight:400}
.page-events .event-signup input{font:inherit;font-size:16px;padding:13px;width:100%;min-width:0;border:1px solid #8B737E;border-radius:8px;background:#fff;color:#4D3040}
.page-events .event-signup-fields button{height:50px;cursor:pointer;font:inherit;font-weight:700;white-space:nowrap}
.page-events .event-signup-trap{position:absolute;left:-5000px}
.page-events .event-signup .event-signup-note{font-size:13px;line-height:1.6;margin:16px 0 0;color:#4D3040;text-align:center}
@media(max-width:700px){.page-events .event-signup-fields{grid-template-columns:1fr}.page-events .event-signup-fields button{width:100%}}

/* Newsletter: a quieter introduction beside a compact form. */
body.page-events .event-content .loop{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start;padding:40px;background:#F0E4D7;border:0;border-radius:18px;text-align:left}
body.page-events .loop .newsletter-intro h2{font-size:32px;line-height:1.2;margin:0 0 16px;color:#4D3040}
body.page-events .loop .newsletter-intro p{font-size:16px;line-height:1.7;margin:0;color:#4D3040;max-width:none}
body.page-events .loop .newsletter-intro .newsletter-required{font-size:12px;margin-top:18px}
body.page-events .event-signup{margin:0;max-width:none;width:100%}
body.page-events .event-signup-fields{grid-template-columns:1fr 1fr;gap:15px}
body.page-events .event-signup-fields>div:nth-child(3){grid-column:1/-1}
body.page-events .event-signup-fields button{grid-column:1/-1;justify-self:start;width:auto;padding:12px 26px;background:#4D3040;color:#FAF6F2;margin:3px 0 0}
body.page-events .event-signup .event-signup-note{font-size:12px;text-align:left;margin-top:12px}
@media(max-width:800px){body.page-events .event-content .loop{grid-template-columns:1fr;gap:25px;padding:28px}body.page-events .event-signup-fields{grid-template-columns:1fr 1fr}}
@media(max-width:420px){body.page-events .event-signup-fields{grid-template-columns:1fr}body.page-events .event-signup-fields button{width:100%}}

/* Events opening: compact, left aligned, and aligned with the featured event. */
body.page-events .event-content .event-hero{background:#FAF6F2;text-align:left;padding:45px max(24px,calc((100vw - 1184px)/2)) 36px;margin:0;max-width:none}
body.page-events .event-hero .kicker{font-size:12px;letter-spacing:1.6px;line-height:1.6;margin:0 0 16px;max-width:none;color:#4D3040}
body.page-events .event-hero h1{font-size:clamp(38px,4.6vw,62px);line-height:1.1;letter-spacing:-2px;margin:0 0 20px;max-width:none;color:#4D3040}
body.page-events .event-hero>p:not(.kicker){font-size:18px;line-height:1.7;margin:0;max-width:none;color:#4D3040}
@media(max-width:700px){body.page-events .event-content .event-hero{padding:30px 24px 28px}body.page-events .event-hero h1{letter-spacing:-1px}body.page-events .event-hero>p:not(.kicker){font-size:16px}}

/* Compare the puppy classes at a glance; stack where cards would be cramped. */
body.page-puppy .puppy-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
body.page-puppy .puppy-course-grid .class-card{display:flex;flex-direction:column;padding:22px;gap:22px;min-width:0;align-items:stretch}
body.page-puppy .puppy-course-grid .class-card>img{width:100%;height:245px;aspect-ratio:auto;object-fit:cover;border-radius:14px}
body.page-puppy .puppy-course-grid #teen-social-club>img{object-position:center 15%}
body.page-puppy .puppy-course-grid .class-copy{display:flex;flex-direction:column;flex:1;min-width:0}
body.page-puppy .puppy-course-grid .class-copy h2{font-size:27px;line-height:1.2;min-height:65px}
body.page-puppy .puppy-course-grid .class-copy>p{font-size:15px;line-height:1.7}
body.page-puppy .puppy-course-grid .facts{font-size:14px}
body.page-puppy .puppy-course-grid .btn{padding:13px 16px;font-size:14px}
body.page-puppy .puppy-course-grid .class-preparation{font-size:14px}
@media(max-width:1050px){body.page-puppy .puppy-course-grid{grid-template-columns:1fr}body.page-puppy .puppy-course-grid .class-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px}body.page-puppy .puppy-course-grid .class-card>img{height:300px}body.page-puppy .puppy-course-grid .class-copy h2{min-height:0}}
@media(max-width:700px){body.page-puppy .puppy-course-grid .class-card{display:flex}body.page-puppy .puppy-course-grid .class-card>img{height:285px}}

/* Selected puppy hero A: full-width portrait fading into warm tan. */
body.page-puppy .page-hero{padding:0;overflow:hidden}
body.page-puppy .page-hero>.wrap{width:100%;max-width:none}
body.page-puppy .page-hero .hero-split{position:relative;display:flex;align-items:center;min-height:520px;padding:44px max(24px,calc((100vw - 1184px)/2));gap:0}
body.page-puppy .page-hero .hero-split>div{position:relative;z-index:2;width:46%;flex:0 0 46%}
body.page-puppy .page-hero .hero-photo{position:absolute;top:0;right:0;width:65%;height:100%;border-radius:0;object-fit:cover;object-position:center 35%;mask-image:linear-gradient(to right,transparent 0%,transparent 15%,black 40%,black 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 15%,black 40%,black 100%)}
@media(max-width:800px){body.page-puppy .page-hero .hero-split{display:flex;flex-direction:column;gap:25px;min-height:0;padding:30px 20px 0}body.page-puppy .page-hero .hero-split>div{width:100%;flex:auto}body.page-puppy .page-hero .hero-photo{position:relative;top:auto;right:auto;width:calc(100% + 40px);max-width:none;height:320px;margin:0 -20px;object-position:center 35%;mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 100%)}}

/* Puppy class cards share rows so titles, photos, facts and actions line up. */
body.page-puppy .puppy-course-grid{grid-template-rows:auto 245px auto auto auto auto;row-gap:18px}
body.page-puppy .puppy-course-grid .puppy-class-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 6;row-gap:18px;padding:22px;align-items:start}
body.page-puppy .puppy-class-heading{min-width:0}
body.page-puppy .puppy-class-heading .eyebrow{font-size:11px;line-height:1.6;margin-bottom:10px}
body.page-puppy .puppy-class-heading h2{font-size:27px;line-height:1.2;margin:0}
body.page-puppy .puppy-course-grid .puppy-class-card>img{height:245px;min-height:0;width:100%;object-fit:cover}
body.page-puppy .puppy-course-grid #teen-social-club>img{object-position:center top;filter:brightness(1.09)}
body.page-puppy .puppy-class-description{font-size:15px;line-height:1.7;margin:0}
body.page-puppy .puppy-class-booking .btn.solid,body.page-puppy .puppy-course-grid #teen-social-club .puppy-class-booking .btn.solid{display:block;text-align:center;width:100%;background:#A92926;color:#FFFFFF;border:1px solid #A92926;box-shadow:none}
body.page-puppy .puppy-class-booking .btn.solid:hover{background:#87201E;border-color:#87201E}
body.page-puppy .puppy-course-grid #teen-social-club .puppy-class-heading :is(h2,p),body.page-puppy .puppy-course-grid #teen-social-club .puppy-class-description{color:#FAF6F2}
body.page-puppy .puppy-class-extra .class-preparation{margin:0}
@media(max-width:1050px){body.page-puppy .puppy-course-grid{grid-template-rows:none;row-gap:24px}body.page-puppy .puppy-course-grid .puppy-class-card{grid-row:auto;display:flex;flex-direction:column;gap:20px}body.page-puppy .puppy-course-grid .puppy-class-card>img{height:300px}body.page-puppy .puppy-class-booking,body.page-puppy .puppy-class-extra{width:100%}}
@media(max-width:700px){body.page-puppy .puppy-course-grid .puppy-class-card>img{height:285px}}
/* Override the older portrait-only PUP 3 rule at every breakpoint. */
body.page-puppy .puppy-course-grid #teen-social-club>img{height:245px;aspect-ratio:auto}
@media(max-width:1050px){body.page-puppy .puppy-course-grid #teen-social-club>img{height:300px}}
@media(max-width:700px){body.page-puppy .puppy-course-grid #teen-social-club>img{height:285px}}

/* Related plum shades show the puppy progression, matching the Manners palette. */
body.page-puppy .puppy-course-grid #preschool{background:#F1E9ED}
body.page-puppy .puppy-course-grid #kindergarten{background:#D8C3CF}
body.page-puppy .puppy-course-grid #kindergarten :is(h2,p){color:#4D3040}
@media(min-width:801px){body.page-puppy .page-hero .hero-photo{right:-9.5vw;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.08) 4%,rgba(0,0,0,.4) 8%,rgba(0,0,0,.82) 12%,black 16%,black 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.08) 4%,rgba(0,0,0,.4) 8%,rgba(0,0,0,.82) 12%,black 16%,black 100%)}}
/* Manners cards adopt the same title-first comparison rows as Puppy. */
body.page-manners .manners-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 245px auto auto auto auto;gap:18px 24px;align-items:stretch}
body.page-manners .manners-course-grid :is(#foundation,#dog-2,#dog-3){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 6;grid-column:auto;row-gap:18px;padding:22px;align-items:start;min-width:0}
body.page-manners .manners-course-grid :is(#foundation,#dog-2,#dog-3)>img{width:100%;height:245px;grid-row:auto;grid-column:auto;aspect-ratio:auto;object-fit:cover;border-radius:14px}
body.page-manners .puppy-class-heading .eyebrow{font-size:11px;line-height:1.6;margin-bottom:10px}
body.page-manners .puppy-class-heading h2{font-size:27px;line-height:1.2;margin:0}
body.page-manners .puppy-class-description{font-size:15px;line-height:1.7;margin:0}
body.page-manners .puppy-class-booking{width:100%}
body.page-manners .manners-course-grid :is(#foundation,#dog-2,#dog-3) .puppy-class-booking :is(.btn.solid,.booking-check>summary){display:block;box-sizing:border-box;text-align:center;width:100%;background:#A92926;color:#FFFFFF;border:1px solid #A92926;border-radius:10px;padding:13px 16px;font-size:14px;line-height:1.6;font-weight:800;cursor:pointer;min-height:50px}
body.page-manners .puppy-class-booking .booking-check{margin:0;border:0;background:transparent;padding:0}
body.page-manners .puppy-class-booking .booking-check[open]>div{padding:18px 0}
body.page-manners .manners-course-grid :is(#foundation,#dog-2,#dog-3) .puppy-class-booking :is(.btn.solid,.booking-check>summary):hover{background:#87201E}
body.page-manners #foundation .class-practical{margin:0;padding-top:0}
@media(max-width:1050px){body.page-manners .manners-course-grid{grid-template-columns:1fr;grid-template-rows:none;row-gap:24px}body.page-manners .manners-course-grid :is(#foundation,#dog-2,#dog-3){display:flex;flex-direction:column;grid-row:auto;gap:20px}body.page-manners .manners-course-grid :is(#foundation,#dog-2,#dog-3)>img{height:300px}}
@media(max-width:700px){body.page-manners .manners-course-grid :is(#foundation,#dog-2,#dog-3)>img{height:285px}}

.blog-archive-links{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 32px}.blog-archive-links li{padding:14px 0;border-bottom:1px solid #D8C3CF}@media(max-width:700px){.blog-archive-links{grid-template-columns:1fr}}

[data-blog-archive]{margin-top:56px}[data-blog-archive] h2{margin-bottom:12px}

/* Therapy Prep: readable paragraph rhythm and distinct optional details. */
.page-therapy [data-section="dog-4-therapy-prep"] .wrap>p{margin:0 0 24px;line-height:1.8}
.page-therapy [data-section="dog-4-therapy-prep"] details{margin:0 0 20px;padding:20px 0;border-top:1px solid #4D30404D}
.page-therapy [data-section="dog-4-therapy-prep"] summary{cursor:pointer;font-weight:750;line-height:1.6;padding:4px 0}
.page-therapy [data-section="dog-4-therapy-prep"] details p{margin:20px 0 0;line-height:1.8}
.page-therapy [data-section="dog-4-therapy-prep"] details ul{margin:20px 0;padding-left:24px}
.page-therapy [data-section="dog-4-therapy-prep"] details li{margin-bottom:14px;line-height:1.8}
.page-therapy [data-section="dog-4-therapy-prep"] .actions{margin-top:28px}

/* Boma's hero: fade the photo background, keeping the dog opaque. */
.page-therapy #therapy-start .section-head p{margin:20px 0 0;line-height:1.8}
body.page-therapy .page-hero{padding:0;overflow:hidden}
body.page-therapy .page-hero>.wrap{width:100%;max-width:none}
body.page-therapy .page-hero .hero-split{position:relative;display:flex;align-items:center;min-height:540px;padding:48px max(24px,calc((100vw - 1184px)/2));gap:0}
body.page-therapy .page-hero .hero-split>div{position:relative;z-index:2;width:44%;flex:0 0 44%}
body.page-therapy .therapy-hero-photo{position:absolute;inset:0 0 0 auto;width:60%;margin:0}
body.page-therapy .therapy-hero-photo .hero-photo{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center 38%;mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.45) 9%,black 19%);-webkit-mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.45) 9%,black 19%)}
body.page-therapy .therapy-hero-photo figcaption{position:absolute;bottom:22px;right:28px;margin:0;color:#fff;font-family:'Dancing Script','Apple Chancery','Brush Script MT',cursive;font-size:48px;font-weight:600;line-height:1.2;text-shadow:0 2px 5px #000,0 0 12px #0009}
@media(max-width:800px){body.page-therapy .page-hero .hero-split{flex-direction:column;align-items:stretch;min-height:0;padding:32px 20px 0;gap:22px}body.page-therapy .page-hero .hero-split>div{width:100%;flex:auto}body.page-therapy .therapy-hero-photo{position:relative;inset:auto;width:calc(100% + 40px);height:350px;margin:0 -20px}body.page-therapy .therapy-hero-photo .hero-photo{object-position:center 38%;mask-image:linear-gradient(to bottom,transparent,black 12%);-webkit-mask-image:linear-gradient(to bottom,transparent,black 12%)}body.page-therapy .therapy-hero-photo figcaption{right:22px;bottom:18px;font-size:42px}}

/* Complete paths stay together; the readiness message leads the roadmap. */
.page-therapy .roadmap-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.page-therapy .roadmap-entry{background:#F0E4D7;padding:26px;border-radius:18px}
.page-therapy .roadmap-entry h3{font-size:20px;line-height:1.5;min-height:90px}
.page-therapy .roadmap-entry ol{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:16px}
.page-therapy .roadmap-entry li+li{border-top:1px solid #4D304033;padding-top:16px}
.page-therapy .roadmap-entry a{display:grid;gap:5px;color:#4D3040;text-decoration:none}
.page-therapy .roadmap-entry strong{font-size:14px}.page-therapy .roadmap-entry span{font-size:17px;line-height:1.5}
:is(.page-therapy,.page-roadmap) .roadmap-progress{background:#F1E9ED;padding:24px;border-left:4px solid #4D3040;margin:28px 0}
:is(.page-therapy,.page-roadmap) .roadmap-progress h3{font-size:23px;line-height:1.4}
:is(.page-therapy,.page-roadmap) .roadmap-progress p{margin-top:14px;line-height:1.8}
.page-therapy .roadmap-download{margin-top:26px;line-height:1.8}
@media(max-width:800px){.page-therapy .roadmap-entries{grid-template-columns:1fr}.page-therapy .roadmap-entry h3{min-height:0}}
@media print{.page-roadmap .roadmap-progress{margin:12px 0;padding:12px}.page-roadmap .roadmap-progress h3{font-size:13px}.page-roadmap .roadmap-progress p{font-size:10px;margin-top:7px;line-height:1.5}}

.page-therapy #therapy-start>.wrap>.roadmap-download{margin:0 0 28px}

/* Dedicated optional roadmaps: two puppy starts, one adult start. */
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entries{display:grid;gap:24px;margin:28px 0}
.page-puppy-roadmap .roadmap-entries{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry{background:#F0E4D7;border-radius:18px;padding:28px}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry h3{font-size:23px;line-height:1.5}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry ol{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry li+li{border-top:1px solid #4D304033;padding-top:18px}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry a{display:grid;gap:6px;color:#4D3040;text-decoration:none}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry span{font-size:19px}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-progress{margin:28px 0;padding:24px;background:#F1E9ED;border-left:4px solid #4D3040}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-progress h2{font-size:26px;line-height:1.4}
:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-progress p{margin-top:16px;line-height:1.8}
.page-therapy .therapy-start-card{display:flex;flex-direction:column;gap:18px}.page-therapy .therapy-start-card p{margin:0;line-height:1.8}.page-therapy .therapy-start-card .actions{margin-top:auto;padding-top:6px}
@media(max-width:700px){.page-puppy-roadmap .roadmap-entries{grid-template-columns:1fr}}
@media print{:is(.page-puppy-roadmap,.page-manners-roadmap) :is(.utility-row,.option-nav,.skip,.site-footer,.roadmap-tools){display:none!important}:is(.page-puppy-roadmap,.page-manners-roadmap) .wrap{width:100%;max-width:none}:is(.page-puppy-roadmap,.page-manners-roadmap) .page-hero{padding:0 0 15px}:is(.page-puppy-roadmap,.page-manners-roadmap) .page-hero h1{font-size:30px}:is(.page-puppy-roadmap,.page-manners-roadmap) .section{padding:15px 0}.page-puppy-roadmap .roadmap-entries{grid-template-columns:1fr 1fr}:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry{break-inside:avoid;padding:16px}:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry h3{font-size:16px}:is(.page-puppy-roadmap,.page-manners-roadmap) .roadmap-entry span{font-size:14px}}

#newsletter{scroll-margin-top:110px}

/* Class options precede support; a lighter band keeps the page feeling open. */
.page-classes .class-support{background:#F0E4D7;color:#4D3040}
.page-classes .class-support :is(h2,h3,p,.eyebrow,a){color:#4D3040}
.insurance-credentials{margin:24px 0 0;display:grid;gap:24px}
.insurance-credentials>div{border-top:1px solid #4D304033;padding-top:18px}
.insurance-credentials dt{font-size:19px;font-weight:750;line-height:1.5;color:#4D3040}
.insurance-credentials dd{margin:10px 0 0;line-height:1.8}
