/* Shared Ghaderpanah visual system for every page outside the homepage concept. */
html[data-theme="dark"] {
  --background: #17212d;
  --surface: #20344a;
  --surface-raised: #263d54;
  --foreground: #edf1f4;
  --muted-foreground: #b7c3cd;
  --subtle: #9aa8b6;
  --line-color: #314a63;
  --line-bright: #49627a;
  --primary: #ff6548;
  --primary-foreground: #fff;
  --brand: #ff6548;
  --brand-foreground: #fff;
  --focus: #ff9b82;
  --mesh-foreground: #edf1f4;
}

html[data-theme="light"] {
  --background: #17212d;
  --surface: #20344a;
  --surface-raised: #263d54;
  --foreground: #edf1f4;
  --muted-foreground: #b7c3cd;
  --subtle: #9aa8b6;
  --line-color: #314a63;
  --line-bright: #49627a;
  --primary: #ff6548;
  --primary-foreground: #fff;
  --brand: #ff6548;
  --brand-foreground: #fff;
  --focus: #ff9b82;
  --mesh-foreground: #edf1f4;
}

body:not(.home) { background: var(--background); }
body:not(.home) .gh-site-main { background: var(--background); }

/* Keep navigation, marks and calls to action consistent across all routes. */
body:not(.home) .gh-header,
body:not(.home) .gh-header.is-scrolled {
  background: color-mix(in srgb, var(--background) 91%, transparent);
  border-bottom-color: color-mix(in srgb, var(--line-color) 72%, transparent);
  box-shadow: none;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body:not(.home) .gh-brand__surface {
  min-width: 0;
  padding: 0;
  background: transparent;
}
body:not(.home) .gh-brand__wordmark,
body:not(.home) .gh-footer__brand .gh-brand__wordmark { color: #edf1f4; }
body:not(.home) .gh-button--amber,
body:not(.home) .gh-header__actions .gh-button {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
  border-radius: 9px;
}
body:not(.home) .gh-button--amber:hover,
body:not(.home) .gh-header__actions .gh-button:hover {
  color: #fff;
  background: #ff795f;
  border-color: #ff795f;
}
body:not(.home) .gh-menu a:hover,
body:not(.home) .gh-menu .current-menu-item > a { color: var(--brand); }

/* One shared footer panel, matching the homepage palette. */
body:not(.home) .gh-footer {
  margin-top: 0;
  padding: 26px 0 18px;
  background: var(--background);
  border-top: 0;
}
body:not(.home) .gh-footer__shell {
  padding: clamp(24px, 4vw, 42px);
  background: linear-gradient(115deg, #20364e, #1a2939);
  border: 1px solid #314a63;
  border-radius: 20px;
}
body:not(.home) .gh-footer__brand p { color: #a5b3c0; }
body:not(.home) .gh-footer__logo-surface { background: transparent; }
body:not(.home) .gh-footer__nav-row,
body:not(.home) .gh-footer__bottom { border-color: #ffffff18; }
body:not(.home) .gh-footer__bottom { color: #a5b3c0; }

/* The account form previously used a separate black and amber palette. */
body.gh-account-page,
body.gh-account-page .gh-account { background: #17212d; }
body.gh-account-page .gh-account-mesh {
  background-image: radial-gradient(42% 34% at 88% 6%, rgba(255, 101, 72, .16), transparent 74%), radial-gradient(34% 28% at 5% 82%, rgba(35, 61, 77, .38), transparent 75%);
}
body.gh-account-page .gh-account-brand { background: #20344a; }
body.gh-account-page .gh-account-kicker,
body.gh-account-page .gh-account-intro h1 strong,
body.gh-account-page .gh-account-points svg,
body.gh-account-page .gh-account-support a,
body.gh-account-page .gh-account-form-head > span,
body.gh-account-page .gh-account-resend a,
body.gh-account-page .gh-account-legacy summary small,
body.gh-account-page .gh-account-lost { color: #ff6548; }
body.gh-account-page .gh-account-kicker {
  background: rgba(255, 101, 72, .08);
  border-color: rgba(255, 101, 72, .29);
}
body.gh-account-page .gh-account-intro h1,
body.gh-account-page .gh-account-form-head h2,
body.gh-account-page .gh-account-dashboard h1 { color: #edf1f4; }
body.gh-account-page .gh-account-intro > p:not(.gh-account-kicker, .gh-account-support),
body.gh-account-page .gh-account-form-head p,
body.gh-account-page .gh-account-form > label { color: #b7c3cd; }
body.gh-account-page .gh-account-points span { color: #b7c3cd; background: #20344a; border-color: #314a63; }
body.gh-account-page .gh-account-orbit > i { border-color: rgba(255, 101, 72, .28); }
body.gh-account-page .gh-account-orbit > i::after { background: #ff6548; box-shadow: 0 0 12px #ff6548; }
body.gh-account-page .gh-account-orbit > div { color: #fff; background: #ff6548; box-shadow: 0 15px 35px rgba(255, 101, 72, .22); }
body.gh-account-page .gh-account-orbit__two { color: #ff6548 !important; }
body.gh-account-page .gh-account-support,
body.gh-account-page .gh-account-terms { color: #9aa8b6; }
body.gh-account-page .gh-account-panel,
body.gh-account-page .gh-account-dashboard {
  background: linear-gradient(145deg, #20344a, #1a2939 72%);
  border-color: #314a63;
  border-top-color: #ff6548;
  box-shadow: 0 28px 70px rgba(4, 12, 20, .3);
}
body.gh-account-page .gh-account-panel__step span { color: #9aa8b6; }
body.gh-account-page .gh-account-panel__step span.is-active { color: #edf1f4; }
body.gh-account-page .gh-account-panel__step span.is-active i { color: #fff; background: #ff6548; border-color: #ff6548; box-shadow: 0 0 0 5px rgba(255, 101, 72, .1); }
body.gh-account-page .gh-account-form > input,
body.gh-account-page .gh-account-mobile { color: #edf1f4; background: #17212d; border-color: #49627a; }
body.gh-account-page .gh-account-form > input:focus,
body.gh-account-page .gh-account-mobile:focus-within { border-color: #ff6548; box-shadow: 0 0 0 3px rgba(255, 101, 72, .12); }
body.gh-account-page .gh-account-form .gh-button { color: #fff; background: #ff6548; border-color: #ff6548; }
body.gh-account-page .gh-account-form .gh-button:hover { background: #ff795f; border-color: #ff795f; }
body.gh-account-page .gh-account-legacy { border-top-color: #314a63; }
body.gh-account-page .gh-account-legacy .button-primary { color: #fff; background: #ff6548; border-color: #ff6548; }

/* Match the promotional panels and generic WordPress pages to the site. */
body.gh-contact-page .gh-contact-dreamdog__card {
  color: #edf1f4;
  background: linear-gradient(115deg, #20364e, #1a2939);
  border-color: #314a63;
}

/* Some legacy archive and guide sections still declare their old colors directly. */
body.gh-blog-page,
body.gh-article-page {
  --background: #17212d;
  --surface: #20344a;
  --surface-raised: #263d54;
  --foreground: #edf1f4;
  --muted-foreground: #b7c3cd;
  --subtle: #9aa8b6;
  --line-color: #314a63;
  --line-bright: #49627a;
  --brand: #ff6548;
  --brand-foreground: #fff;
  background: #17212d;
}
body.gh-blog-page .gh-header.is-scrolled,
body.gh-article-page .gh-header.is-scrolled { background: rgba(23, 33, 45, .92); }
.gh-blog-hero,
.gh-article-hero,
.gh-blog-feed,
.gh-article-body,
.gh-article-comments,
.gh-article-related { background-color: #17212d; }
.gh-blog-hero::before,
.gh-article-hero::before { background: radial-gradient(circle, rgba(255, 101, 72, .13), transparent 69%); }
.gh-blog-breadcrumb a:hover,
.gh-blog-sidebar__categories a:hover,
.gh-blog-sidebar__categories a.is-active,
.gh-blog-sidebar__note span { color: #ff6548; }
.gh-blog-hero h1,
.gh-blog-feed__head h1,
.gh-blog-feed__head h2,
.gh-article-related__head h2 { color: #edf1f4; }
.gh-blog-hero h1 + p,
.gh-blog-feed__intro,
.gh-blog-sidebar__copy,
.gh-blog-sidebar__categories a,
.gh-blog-sidebar__note { color: #b7c3cd; }
.gh-blog-hero__stat,
.gh-blog-sidebar__card,
.gh-blog-sidebar__note,
.gh-blog-categories a { background-color: #20344a; border-color: #314a63; }
body.gh-blog-page .gh-blog-featured,
body.gh-blog-page .gh-blog-main .gh-blog-card,
body.gh-blog-page .gh-blog-empty { color: #edf1f4; background: #20344a; border-color: #314a63; }
body.gh-blog-page .gh-blog-featured__media:not(.has-image),
body.gh-blog-page .gh-blog-card__media:not(.has-image) {
  background: radial-gradient(ellipse at 70% 28%, rgba(255, 101, 72, .2), transparent 55%), linear-gradient(145deg, #263d54, #1b2a39);
}
body.gh-blog-page .gh-blog-featured__media:not(.has-image)::before,
body.gh-blog-page .gh-blog-card__media:not(.has-image)::before { color: rgba(255, 101, 72, .28); }
body.gh-blog-page .gh-blog-featured h2,
body.gh-blog-page .gh-blog-card h3,
body.gh-blog-page .gh-blog-empty h2 { color: #edf1f4; }
body.gh-blog-page .gh-blog-card__date { color: #ff8b73; }
body.gh-blog-page .gh-blog-featured__content > p,
body.gh-blog-page .gh-blog-card__content > p,
body.gh-blog-page .gh-blog-empty p { color: #b7c3cd; }
body.gh-blog-page .gh-blog-card__read { color: #fff; background: #ff6548; border-color: #ff6548; }
body.gh-blog-page .gh-blog-card__read:hover { color: #fff; background: #ff795f; border-color: #ff795f; }
.gh-blog-hero__stat strong,
.gh-blog-sidebar__start small,
.gh-blog-sidebar__start:hover > span { color: #ff6548; }
.gh-blog-sidebar__start { color: #edf1f4; background: linear-gradient(145deg, #263d54, #1a2939); border-color: #314a63; }
.gh-blog-sidebar__categories b { color: #b7c3cd; background: #263d54; }
.gh-blog-sidebar__categories a.is-active b,
.gh-blog-categories a:hover,
.gh-blog-categories a.is-active { color: #fff; background: #ff6548; border-color: #ff6548; }

body.gh-dog-training-page {
  --background: #17212d;
  --surface: #20344a;
  --surface-raised: #263d54;
  --foreground: #edf1f4;
  --muted-foreground: #b7c3cd;
  --subtle: #9aa8b6;
  --line-color: #314a63;
  --line-bright: #49627a;
  --primary: #ff6548;
  --primary-foreground: #fff;
  --brand: #ff6548;
  --brand-foreground: #fff;
  --focus: #ff9b82;
  --guide-blue: #ff6548;
  --guide-green: #ff8a6f;
  --guide-violet: #b9a5d5;
  --guide-orange: #ff6548;
  --guide-pink: #f38b8b;
  --guide-amber: #ffb45c;
  color: #edf1f4;
  background: #17212d;
}
body.gh-dog-training-page .gh-header.is-scrolled { background: rgba(23, 33, 45, .92); border-bottom-color: #314a63; }
body.gh-dog-training-page .gh-guide-strip,
body.gh-dog-training-page .gh-guide-paths,
body.gh-dog-training-page .gh-guide-section:nth-of-type(even),
body.gh-dog-training-page .gh-guide-section:nth-of-type(odd),
body.gh-dog-training-page .gh-guide-deep,
body.gh-dog-training-page .gh-footer { background: #17212d; }
body.gh-dog-training-page .gh-guide-strip .gh-container > div,
body.gh-dog-training-page .gh-guide-proof,
body.gh-dog-training-page .gh-guide-float-card,
body.gh-dog-training-page .gh-guide-path-card,
body.gh-dog-training-page .gh-guide-principle-grid article,
body.gh-dog-training-page .gh-guide-age-grid article,
body.gh-dog-training-page .gh-guide-command-list > div,
body.gh-dog-training-page .gh-guide-behavior-grid a,
body.gh-dog-training-page .gh-guide-article-card,
body.gh-dog-training-page .gh-guide-voices blockquote,
body.gh-dog-training-page .gh-guide-faq details {
  color: #edf1f4;
  background: #20344a;
  border-color: #314a63;
}
body.gh-dog-training-page .gh-guide-path-card:nth-child(2),
body.gh-dog-training-page .gh-guide-path-card:nth-child(6) { background: #263d54; border-color: #49627a; }
body.gh-dog-training-page .gh-guide-marquee { color: #b7c3cd; background: #1b2a39; border-color: #314a63; }
body.gh-dog-training-page .gh-guide-strip strong,
body.gh-dog-training-page .gh-guide-proof strong,
body.gh-dog-training-page .gh-guide-section .gh-section-kicker,
body.gh-dog-training-page .gh-guide-hero h1 strong { color: #ff6548; }
body.gh-dog-training-page .gh-guide-hero .gh-button,
body.gh-dog-training-page .gh-guide-dreamdog-app .gh-button { color: #fff; background: #ff6548; border-color: #ff6548; }
body.gh-dog-training-page .gh-guide-hero .gh-button:hover,
body.gh-dog-training-page .gh-guide-dreamdog-app .gh-button:hover { background: #ff795f; border-color: #ff795f; }
body.gh-dog-training-page .gh-guide-dreamdog-app,
body.gh-dog-training-page .gh-guide-app { background: #17212d; }
body.gh-dog-training-page .gh-footer__shell { background: linear-gradient(115deg, #20364e, #1a2939); border-color: #314a63; }

body.gh-article-page .gh-article-hero,
body.gh-article-page .gh-article-body,
body.gh-article-page .gh-article-comments,
body.gh-article-page .gh-article-related { background-color: #17212d; }
body.gh-article-page .gh-article-content { color: #c4ced7; }
body.gh-article-page .gh-article-content h2,
body.gh-article-page .gh-article-content h3,
body.gh-article-page .gh-article-content h4 { color: #edf1f4; }
body.gh-article-page .gh-article-content blockquote { color: #edf1f4; background: #20344a; border-color: #ff6548; }
body.gh-article-page .gh-article-content a,
body.gh-article-page .gh-article-content li::marker { color: #ff6548; }

/* The training guide now follows the same hero, card and carousel language as home. */
body.gh-dog-training-page .gh-guide { background: #17212d; }
body.gh-dog-training-page .gh-container { width: min(1180px, calc(100% - 48px)); }
body.gh-dog-training-page .gh-guide-hero {
  position: relative;
  min-height: 0;
  padding: 128px 0 36px;
  overflow: hidden;
  background: #17212d;
}
body.gh-dog-training-page .gh-guide-hero::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  height: 100%;
  background: radial-gradient(ellipse at 18% 63%, rgba(37, 76, 102, .32), transparent 45%), radial-gradient(ellipse at 85% 18%, rgba(255, 101, 72, .11), transparent 47%);
  pointer-events: none;
}
body.gh-dog-training-page .gh-guide-hero .gh-gradient-mesh { opacity: 0; animation: none; }
body.gh-dog-training-page .gh-guide-hero::before,
body.gh-dog-training-page .gh-guide-hero__content::before { content: none; }
body.gh-dog-training-page .gh-guide-hero__shell { width: min(1180px, calc(100% - 48px)); min-height: 530px; margin-inline: auto; }
body.gh-dog-training-page .gh-guide-breadcrumb { margin-bottom: 26px; color: #9aa8b6; }
body.gh-dog-training-page .gh-guide-hero__grid {
  position: relative;
  display: grid;
  min-height: 440px;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 0;
  direction: ltr;
}
body.gh-dog-training-page .gh-guide-hero__content {
  z-index: 2;
  grid-column: 2;
  width: min(100%, 550px);
  justify-self: end;
  padding: 0 0 42px;
  direction: rtl;
  text-align: right;
}
body.gh-dog-training-page .gh-guide-kicker {
  width: fit-content;
  margin-bottom: 19px;
  padding: 7px 12px;
  color: #f4a18b;
  background: rgba(255, 101, 72, .07);
  border: 1px solid rgba(255, 101, 72, .34);
  border-radius: 9px;
  font-size: 10px;
}
body.gh-dog-training-page .gh-guide-kicker span { background: #ff6548; box-shadow: 0 0 10px #ff6548; }
body.gh-dog-training-page .gh-guide-kicker small { color: #b7c3cd; }
body.gh-dog-training-page .gh-guide-hero h1 { max-width: 570px; font-size: clamp(38px, 4vw, 56px); font-weight: 700; line-height: 1.48; letter-spacing: -.025em; }
body.gh-dog-training-page .gh-guide-hero h1 strong { display: block; color: #ff6548; font-weight: 700; }
body.gh-dog-training-page .gh-guide-hero__lead { max-width: 540px; margin: 16px 0 22px; color: #b7c3cd; font-size: 13px; line-height: 2.05; }
body.gh-dog-training-page .gh-guide-hero .gh-v4-actions { justify-content: flex-start; gap: 10px; margin-top: 20px; }
body.gh-dog-training-page .gh-guide-hero .gh-button { min-height: 42px; padding: 9px 15px; border-radius: 9px; font-size: 11px; }
body.gh-dog-training-page .gh-guide-hero .gh-text-link { min-height: 42px; color: #edf1f4; border-color: #49627a; font-size: 11px; }
body.gh-dog-training-page .gh-guide-proof { display: flex; width: fit-content; align-items: center; gap: 11px; margin-top: 18px; padding: 8px 12px; background: #20344a; border: 1px solid #314a63; border-radius: 9px; }
body.gh-dog-training-page .gh-guide-proof strong { color: #ff6548; font-size: 15px; }
body.gh-dog-training-page .gh-guide-proof span,
body.gh-dog-training-page .gh-guide-meta { color: #9aa8b6; font-size: 9px; }
body.gh-dog-training-page .gh-guide-meta { gap: 9px; margin-top: 13px; }
body.gh-dog-training-page .gh-guide-meta span + span::before { color: #ff6548; }
body.gh-dog-training-page .gh-guide-hero-showcase {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  display: block;
  width: 48%;
  height: 100%;
  margin: 0;
  padding: 0;
}
body.gh-dog-training-page .gh-guide-hero-showcase::before,
body.gh-dog-training-page .gh-guide-hero-scene::before { content: none; }
body.gh-dog-training-page .gh-guide-hero-scene {
  position: relative;
  width: 100%;
  min-height: 100%;
  margin: 0;
  overflow: visible;
  background: transparent;
  border: 0;
}
body.gh-dog-training-page .gh-guide-hero-scene__photo {
  inset: auto 0 0;
  width: 100%;
  height: 108%;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body.gh-dog-training-page .gh-guide-hero-scene__photo::after { content: none; }
body.gh-dog-training-page .gh-guide-hero-scene__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: none;
  transform: none;
}
body.gh-dog-training-page .gh-guide-hero__watermark { display: none; }

body.gh-dog-training-page .gh-guide-strip { padding-block: 0 26px; }
body.gh-dog-training-page .gh-guide-strip .gh-container > div { background: #20344a; border: 1px solid #314a63; border-radius: 14px; }
body.gh-dog-training-page .gh-guide-strip strong { color: #ff6548; }
body.gh-dog-training-page .gh-guide-marquee { color: #b7c3cd; background: #1b2a39; border-color: #314a63; }
body.gh-dog-training-page .gh-guide-section { padding-block: 78px; background: #17212d; }
body.gh-dog-training-page .gh-guide-section:nth-of-type(even),
body.gh-dog-training-page .gh-guide-section:nth-of-type(odd) { background: #17212d; }
body.gh-dog-training-page .gh-guide-section .gh-container { width: min(1180px, calc(100% - 48px)); }
body.gh-dog-training-page .gh-guide-heading h2,
body.gh-dog-training-page .gh-guide-prose h2,
body.gh-dog-training-page .gh-guide-library__head h2,
body.gh-dog-training-page .gh-guide-deep__intro h2,
body.gh-dog-training-page .gh-guide-voices__head h2,
body.gh-dog-training-page .gh-guide-app h2 { color: #edf1f4; }
body.gh-dog-training-page .gh-guide-section .gh-section-kicker { color: #ff6548; }
body.gh-dog-training-page .gh-guide-path-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.gh-dog-training-page .gh-guide-path-card,
body.gh-dog-training-page .gh-guide-path-card:nth-child(n) {
  position: relative;
  min-height: 262px;
  padding: 48px 18px 17px;
  overflow: visible;
  color: #edf1f4;
  background: #20344a;
  border: 1px solid #314a63;
  border-radius: 18px;
  box-shadow: none;
}
body.gh-dog-training-page .gh-guide-path-card::after { content: none; }
body.gh-dog-training-page .gh-guide-path-card__number {
  position: absolute;
  top: -20px;
  right: calc(50% - 26px);
  display: grid;
  width: 52px;
  aspect-ratio: 1;
  place-items: center;
  color: #ff9b82;
  background: #263d54;
  border: 7px solid #17212d;
  border-radius: 50%;
}
body.gh-dog-training-page .gh-guide-path-card h3 { margin: 2px 0 8px; color: #ff6548; font-size: 17px; }
body.gh-dog-training-page .gh-guide-path-card p { color: #bdc7d0; font-size: 11px; }
body.gh-dog-training-page .gh-guide-path-card b { justify-content: flex-end; color: #f4a18b; }
body.gh-dog-training-page .gh-guide-path-card:hover { background: #263d54; border-color: #49627a; transform: translateY(-3px); box-shadow: none; }
body.gh-dog-training-page .gh-guide-carousel-dots { display: none; }

body.gh-dog-training-page .gh-guide-article-card,
body.gh-dog-training-page .gh-guide-path-card,
body.gh-dog-training-page .gh-guide-principle-grid article,
body.gh-dog-training-page .gh-guide-age-grid article,
body.gh-dog-training-page .gh-guide-command-list > div,
body.gh-dog-training-page .gh-guide-behavior-grid a,
body.gh-dog-training-page .gh-guide-voices blockquote,
body.gh-dog-training-page .gh-guide-faq details { background-color: #20344a; border-color: #314a63; border-radius: 17px; }
body.gh-dog-training-page .gh-guide-article-card > div:last-child { background: #20344a; }
body.gh-dog-training-page .gh-guide-article-card h3,
body.gh-dog-training-page .gh-guide-principle-grid h3,
body.gh-dog-training-page .gh-guide-age-grid h3,
body.gh-dog-training-page .gh-guide-command-list h3,
body.gh-dog-training-page .gh-guide-behavior-grid h3 { color: #edf1f4; }
body.gh-dog-training-page .gh-guide-article-card > div:last-child > span { color: #ff8b73; }
body.gh-dog-training-page .gh-guide-article-card b { color: #ff9b82; }
body.gh-dog-training-page .gh-guide-library__more { background: #20344a; border-color: #314a63; border-radius: 17px; }
body.gh-dog-training-page .gh-guide-deep__intro,
body.gh-dog-training-page .gh-guide-deep__chapters details,
body.gh-dog-training-page .gh-guide-faq__list details { color: #edf1f4; background: #20344a; border-color: #314a63; border-radius: 16px; }
body.gh-dog-training-page .gh-guide-deep__chapters summary,
body.gh-dog-training-page .gh-guide-faq__list summary { color: #edf1f4; }
body.gh-dog-training-page .gh-guide-deep__content p,
body.gh-dog-training-page .gh-guide-deep__content li,
body.gh-dog-training-page .gh-guide-faq details > p { color: #b7c3cd; }
body.gh-dog-training-page .gh-guide-deep__chapters summary small,
body.gh-dog-training-page .gh-guide-deep__chapters summary > span,
body.gh-dog-training-page .gh-guide-faq summary > span,
body.gh-dog-training-page .gh-guide-faq summary i { color: #ff8b73; }
body.gh-dog-training-page .gh-guide-dreamdog-app {
  margin-top: 34px;
  padding: 30px 34px;
  color: #edf1f4;
  background: linear-gradient(110deg, #20364f, #1d2d40 72%, #20364f);
  border: 1px solid #35506c;
  border-radius: 20px;
}
body.gh-dog-training-page .gh-guide-dreamdog-app__phone { background: #10151b; border-color: #7c8795; border-radius: 30px; }
body.gh-dog-training-page .gh-guide-dreamdog-app .gh-button { color: #fff; background: #ff6548; border-color: #ff6548; }
body.gh-dog-training-page .gh-guide-dreamdog-app .gh-button:hover { background: #ff795f; border-color: #ff795f; }
body.gh-dog-training-page .gh-guide-method__visual { background: #20344a; border: 1px solid #314a63; border-radius: 20px; }
body.gh-dog-training-page .gh-guide-method-map__node,
body.gh-dog-training-page .gh-guide-method-map__core { background: #263d54; border-color: #49627a; }
body.gh-dog-training-page .gh-guide-safety { background: #20344a; border-color: #49627a; border-radius: 15px; }
body.gh-dog-training-page .gh-guide-app__card,
body.gh-dog-training-page .gh-guide-author__card,
body.gh-dog-training-page .gh-guide-voices blockquote { color: #edf1f4; background: #20344a; border-color: #314a63; border-radius: 18px; }
body.gh-dog-training-page .gh-guide-app__card > div:first-child p:not(.gh-section-kicker) { color: #b7c3cd; }
body.gh-dog-training-page .gh-guide-app__features span,
body.gh-dog-training-page .gh-guide-dreamdog-app__chips span { color: #d6e0e8; background: #263d54; border-color: #49627a; }
body.gh-dog-training-page .gh-guide-dreamdog-app::before { background: radial-gradient(circle, rgba(255, 101, 72, .11), transparent 70%); }
body.gh-dog-training-page .gh-guide-faq details[open] { border-color: #ff6548; }

@media (max-width: 780px) {
  body.gh-dog-training-page .gh-container,
  body.gh-dog-training-page .gh-guide-hero__shell,
  body.gh-dog-training-page .gh-guide-section .gh-container { width: calc(100% - 30px); }
  body.gh-dog-training-page .gh-guide-hero { padding: 92px 0 26px; }
  body.gh-dog-training-page .gh-guide-hero__shell { min-height: 0; }
  body.gh-dog-training-page .gh-guide-breadcrumb { margin-bottom: 22px; }
  body.gh-dog-training-page .gh-guide-hero__grid { display: flex; min-height: 0; flex-direction: column; align-items: stretch; }
  body.gh-dog-training-page .gh-guide-hero__content { width: 100%; padding: 0; text-align: center; }
  body.gh-dog-training-page .gh-guide-kicker { max-width: 100%; margin-inline: auto; font-size: 9px; }
  body.gh-dog-training-page .gh-guide-hero h1 { margin-inline: auto; font-size: clamp(34px, 9vw, 44px); line-height: 1.43; }
  body.gh-dog-training-page .gh-guide-hero__lead { margin: 13px auto 17px; font-size: 11px; }
  body.gh-dog-training-page .gh-guide-hero .gh-v4-actions { justify-content: center; }
  body.gh-dog-training-page .gh-guide-proof { margin-inline: auto; }
  body.gh-dog-training-page .gh-guide-meta { justify-content: center; flex-wrap: wrap; }
  body.gh-dog-training-page .gh-guide-hero-showcase { position: relative; inset: auto; width: min(88%, 360px); height: 330px; align-self: center; margin: -3px auto 0; }
  body.gh-dog-training-page .gh-guide-hero-scene__photo { inset: 0; width: 100%; height: 100%; }
  body.gh-dog-training-page .gh-guide-strip { padding-bottom: 10px; }
  body.gh-dog-training-page .gh-guide-strip .gh-container > div { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 13px; }
  body.gh-dog-training-page .gh-guide-section { padding-block: 58px; }
  body.gh-dog-training-page .gh-guide-section .gh-container { width: calc(100% - 30px); }
  body.gh-dog-training-page .gh-guide-path-grid,
  body.gh-dog-training-page .gh-guide-article-grid {
    display: flex;
    gap: 13px;
    margin-inline: -15px;
    padding: 8px 15px 15px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  body.gh-dog-training-page .gh-guide-path-grid::-webkit-scrollbar,
  body.gh-dog-training-page .gh-guide-article-grid::-webkit-scrollbar { display: none; }
  body.gh-dog-training-page .gh-guide-path-card,
  body.gh-dog-training-page .gh-guide-path-card:nth-child(n) { flex: 0 0 min(84vw, 330px); min-height: 232px; scroll-snap-align: start; }
  body.gh-dog-training-page .gh-guide-article-card { flex: 0 0 min(82vw, 320px); scroll-snap-align: start; }
  body.gh-dog-training-page .gh-guide-carousel-dots { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 24px; margin: 5px auto 0; }
  body.gh-dog-training-page .gh-guide-carousel-dots button { width: 7px; height: 7px; flex: 0 0 7px; padding: 0; border: 0; border-radius: 50%; background: #566b80; cursor: pointer; }
  body.gh-dog-training-page .gh-guide-carousel-dots button[aria-current="true"] { background: #ff6548; transform: scale(1.3); box-shadow: 0 0 10px #ff654866; }
  body.gh-dog-training-page .gh-guide-dreamdog-app { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 24px 18px; text-align: center; }
  body.gh-dog-training-page .gh-guide-dreamdog-app__content { text-align: center; }
  body.gh-dog-training-page .gh-guide-dreamdog-app__phone { width: 148px; height: 300px; margin: 0 auto; border-radius: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  body.gh-dog-training-page .gh-guide-hero__mesh,
  body.gh-dog-training-page .gh-guide-hero-scene__halo { animation: none; }
}
body.gh-page-template .gh-entry,
body:not(.home) .gh-page .gh-entry {
  color: var(--foreground);
  background: var(--surface);
  border: 1px solid var(--line-color);
  border-radius: 20px;
}

@media (max-width: 740px) {
  body:not(.home) .gh-footer { padding: 18px 0 14px; }
  body:not(.home) .gh-footer__shell { padding: 22px 18px; border-radius: 16px; }
  body:not(.home) .gh-footer__brand { align-items: center; flex-direction: row; }
}
