/*
Theme Name: Reager's House of European Great Danes
Theme URI: https://reagerhouseofeurodanes.com
Author: Built for Reager's House of European Great Danes
Description: Custom WordPress theme for Reager's House of European Great Danes — European Great Dane breeder in Topeka, Kansas. Full CPTs, forms, SEO, and media.
Version: 95.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: Private use
Text Domain: reager
*/

/* ============================================================
   TOKENS
============================================================ */
:root{
  --black:#231F20;
  --navy:#061f34;
  --navy2:#041827;
  --cream:#f4ede0;
  --cream-soft:#faf6ec;
  --paper:#fffaf1;
  --gold:#c9a84c;
  --gold2:#d9b96a;
  --gold-dark:#9a7630;
  --ink:#f0ebe2;
  --ink-dark:#1a1208;
  --line:#c9a84c;
  --maxw:1320px;
  --display:"Cinzel","Georgia",serif;
  --body:"EB Garamond","Georgia","Times New Roman",serif;
  --script:"Cormorant Garamond","Georgia",serif;
  --label:"Arial","Helvetica",sans-serif;
}
*{box-sizing:border-box}
html{margin:0}
body{margin:0;background:var(--cream-soft);color:var(--ink-dark);font-family:var(--body);font-size:18px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:.01em}
.container{width:min(100%,var(--maxw));margin:0 auto;padding:0 24px}
.site-shell{background:var(--cream-soft);min-height:100vh}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:999;background:var(--gold);color:var(--black);padding:10px 16px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}

/* ============================================================
   TOP BAR
============================================================ */
.topbar{
  background:var(--navy2);
  color:#fff;
  border-bottom:1px solid rgba(201,168,76,.25);
}
.topbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:12px 0;
}
.tb-left{display:flex;flex-direction:column;gap:6px}
.location{font:700 12px/1.2 var(--label);letter-spacing:.06em;text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:6px}
.location svg{width:12px;height:12px;fill:var(--gold);flex-shrink:0}
.location span{display:block;color:var(--gold2);font:700 11px var(--label);letter-spacing:.03em;text-transform:none;margin-top:1px}
.socials{display:flex;gap:10px;margin-top:4px}
.socials a{
  width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(201,168,76,.5);color:var(--gold2);text-decoration:none;
  font:700 12px var(--label);border-radius:50%;transition:.18s;font-size:10px;letter-spacing:0;
}
.socials a:hover{background:var(--gold);color:var(--black)}
.tb-right{display:flex;align-items:center;gap:18px}
.phonebar{display:flex;align-items:center;gap:7px;font:600 15px var(--label);color:#fff}
.phonebar svg{width:14px;height:14px;fill:var(--gold);flex-shrink:0}
.phonebar a{text-decoration:none;color:#fff}
.btn-gold{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--gold);color:var(--black);
  text-decoration:none;padding:12px 20px;border:1px solid var(--gold2);
  font:900 12px var(--label);text-transform:uppercase;letter-spacing:.07em;
  white-space:nowrap;
  transition:.18s;cursor:pointer;
}
.btn-gold:hover{background:var(--gold2)}

/* ============================================================
   HEADER / NAVBAR  -  dark band, split menu around arch crest
============================================================ */
.navbar{
  background:var(--navy);
  color:#fff;
  border-bottom:3px solid var(--gold);
  position:relative;
  z-index:40;
  overflow:visible;
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  min-height:64px;position:relative;
}
.nav-side{display:flex;align-items:center;flex:1}
.nav-side.menu-right{justify-content:flex-end}
.nav-side ul{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0}
.nav-side a{
  display:block;color:#e8dfce;text-decoration:none;
  font:700 12px var(--label);text-transform:uppercase;letter-spacing:.07em;
  padding:22px 16px;transition:.15s;
}
.nav-side a:hover{color:var(--gold2)}
.nav-side .menu-item.current-menu-item>a,.nav-side .menu-item.current-page-ancestor>a{
  color:var(--gold);border-bottom:2px solid var(--gold);
}
.nav-side li{position:relative}
.nav-side .sub-menu,.nav-side .children{
  position:absolute;top:100%;left:0;min-width:220px;
  background:var(--navy2);border:1px solid rgba(201,168,76,.4);
  box-shadow:0 16px 34px rgba(0,0,0,.5);padding:6px 0;
  display:none;flex-direction:column;z-index:50;
}
.nav-side li:hover>.sub-menu,.nav-side li:hover>.children,
.nav-side li:focus-within>.sub-menu,.nav-side li:focus-within>.children{display:flex}
.nav-side .sub-menu a,.nav-side .children a{padding:10px 18px;font-size:12px;white-space:nowrap;border-bottom:0}
.nav-side .sub-menu a:hover,.nav-side .children a:hover{background:rgba(201,168,76,.12)}
.nav-side .menu-item-has-children>a:after,.nav-side .page_item_has_children>a:after{content:" \25be";color:var(--gold2);font-size:10px}
.nav-cta-btn{
  display:inline-flex;align-items:center;gap:7px;
  border:1px solid var(--gold);color:var(--gold);text-decoration:none;
  padding:9px 16px;font:700 11px var(--label);text-transform:uppercase;letter-spacing:.06em;
  margin-left:12px;transition:.18s;
}
.nav-cta-btn:hover{background:var(--gold);color:var(--black)}

/* hamburger */
.nav-toggle{display:none;background:transparent;border:1px solid rgba(201,168,76,.6);color:#fff;padding:10px 12px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:4px 0}

/* ============================================================
   ARCH CREST  -  centered, spans topbar + navbar, projects into hero
============================================================ */
.brand-crest{
  display:flex;flex-direction:column;align-items:center;
  text-decoration:none;color:inherit;
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  z-index:50;
  /* hangs from the nav bottom downward into the hero */
}
.crest-badge{
  width:282px;
  background:linear-gradient(180deg,var(--cream-soft) 0%,var(--cream) 100%);
  border:2px solid var(--gold);
  border-radius:141px 141px 16px 16px / 100px 100px 16px 16px;
  box-shadow:0 8px 32px rgba(0,0,0,.55),inset 0 0 0 5px rgba(201,168,76,.14);
  padding:28px 26px 20px;
  text-align:center;
  /* moves it UP so top is inside the topbar, bottom projects below nav */
  margin-bottom:-200px;
  position:relative;top:-105px;
}
.crest-badge .crest-logo{width:200px;margin:0 auto 10px;display:block}
.crest-name{
  display:block;font-family:var(--display);font-size:22px;line-height:1;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dark);font-weight:700;
}
.crest-sub{
  display:block;font-family:var(--label);font-size:9.5px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dark);
  margin-top:5px;display:flex;align-items:center;justify-content:center;gap:7px;
}
.crest-crown{color:var(--gold);font-size:12px}
.crest-divider{display:block;height:1px;background:var(--gold);width:80%;margin:8px auto;position:relative}
.crest-divider:before{content:"\2666";position:absolute;left:50%;top:-8px;transform:translateX(-50%);color:var(--gold);font-size:12px;background:var(--cream)}
.crest-tagline{
  display:block;font-family:var(--script);font-style:italic;
  font-size:15px;color:var(--gold-dark);letter-spacing:.03em;margin-top:6px;
}

/* ============================================================
   HERO  -  two-column grid: dark text panel left, dog photo right
============================================================ */
.hero{
  display:grid;
  grid-template-columns:43% 57%;
  min-height:680px;
  overflow:visible;
  border-bottom:1px solid rgba(201,168,76,.4);
}
.hero-copy{
  background:linear-gradient(100deg,var(--navy2) 0%,var(--navy) 70%,rgba(6,31,52,.88) 100%);
  display:flex;align-items:center;
  /* top padding clears the crest that overlaps from the header into the hero */
  padding:175px 56px 80px;
  position:relative;
}
/* subtle right-edge blend so copy panel meets photo seamlessly */
.hero-copy:after{
  content:"";position:absolute;top:0;right:-28px;bottom:0;width:28px;
  background:linear-gradient(to right,var(--navy),transparent);z-index:2;
}
.hero-inner{max-width:520px;color:#fff}
.kicker{color:var(--gold2);font:900 13px/1.4 var(--label);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.hero-inner h1{
  font:600 clamp(34px,3.8vw,52px)/1.05 var(--display);
  margin:0 0 12px;color:#fff;
}
.hero-inner h1 em{color:var(--gold2);font-style:italic}
.hero-ornament{display:block;color:var(--gold);font-size:20px;margin:12px 0 16px;letter-spacing:.2em}
.hero-inner p{font-size:17px;line-height:1.65;margin:0 0 28px;color:#d4cbb8}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.btn-hero-gold{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--gold);color:var(--black);text-decoration:none;
  padding:15px 28px;font:900 12px var(--label);text-transform:uppercase;letter-spacing:.07em;transition:.18s;
}
.btn-hero-gold:hover{background:var(--gold2)}
.btn-hero-outline{
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  border:1px solid #fff;color:#fff;text-decoration:none;
  padding:14px 26px;font:900 12px var(--label);text-transform:uppercase;letter-spacing:.07em;
  background:transparent;transition:.18s;
}
.btn-hero-outline:hover{border-color:var(--gold);color:var(--gold)}
.hero-dog{position:relative;min-height:100%;overflow:hidden}
.hero-dog{background:#111}
.hero-dog img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;background:#111}

/* ============================================================
   TRUST BAR
============================================================ */
.trust{
  background:#fff;
  display:grid;grid-template-columns:repeat(5,1fr);
  border-bottom:1px solid rgba(201,168,76,.28);
}
.trust-item{text-align:center;padding:28px 18px;border-right:1px solid rgba(201,168,76,.25)}
.trust-item:last-child{border-right:0}
.trust-item .ic{width:38px;height:38px;margin:0 auto 10px;color:var(--gold)}
.trust-item h3{font:900 12px var(--label);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;color:var(--ink-dark)}
.trust-item p{margin:0;font-size:14px;line-height:1.4;color:#3a3020}



/* ============================================================
   PROGRAM / REGISTRATION / HEALTH TOOL LOGOS
============================================================ */
.program-trust{
  background:#fff;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid rgba(201,168,76,.18);
  border-bottom:1px solid rgba(201,168,76,.32);
}
.program-trust.page-trust{
  max-width:var(--maxw);
  margin:0 auto 34px;
  border:1px solid rgba(201,168,76,.34);
  box-shadow:0 18px 48px rgba(35,31,32,.08);
}
.program-trust-item{
  text-align:center;
  padding:26px 16px 24px;
  border-right:1px solid rgba(201,168,76,.24);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:148px;
}
.program-trust-item:last-child{border-right:0}
.program-logo,
.program-icon{
  height:46px;
  margin:0 auto 11px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.program-logo img{
  max-height:44px;
  max-width:112px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.program-icon{width:42px;color:var(--gold)}
.program-icon svg{width:38px;height:38px;display:block}
.program-trust h3{
  font:900 12px var(--label);
  text-transform:uppercase;
  letter-spacing:.055em;
  margin:0 0 6px;
  color:var(--ink-dark);
}
.program-trust p{
  margin:0;
  font-size:14px;
  line-height:1.35;
  color:#3a3020;
}
@media(max-width:980px){
  .program-trust{grid-template-columns:repeat(2,1fr)}
  .program-trust-item:nth-child(2n){border-right:0}
  .program-trust-item{border-bottom:1px solid rgba(201,168,76,.18)}
  .program-trust-item:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:560px){
  .program-trust{grid-template-columns:1fr}
  .program-trust-item{border-right:0;border-bottom:1px solid rgba(201,168,76,.18)}
  .program-trust-item:last-child{border-bottom:0}
  .program-logo img{max-height:42px;max-width:120px}
}

/* ============================================================
   SECTIONS
============================================================ */
.section{padding:64px 0}
.eyebrow{color:var(--gold);font:900 12px var(--label);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
.section-title{font-size:clamp(26px,3.2vw,36px);line-height:1.1;margin:0 0 14px;color:var(--ink-dark)}
.center{text-align:center}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.about-grid img{border:1px solid rgba(201,168,76,.35);width:100%;object-fit:cover;aspect-ratio:4/3}
.about-copy p{margin:0 0 14px;color:#2a2015}
.btn-dark{
  display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;
  text-decoration:none;padding:14px 22px;font:900 12px var(--label);
  text-transform:uppercase;letter-spacing:.06em;margin-top:6px;transition:.18s;
}
.btn-dark:hover{background:var(--gold);color:var(--black)}
.btn-small-dark{
  display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;
  text-decoration:none;padding:13px 20px;font:800 12px var(--label);
  text-transform:uppercase;letter-spacing:.05em;margin-top:6px;transition:.18s;
}
.btn-small-dark:hover{background:var(--gold);color:var(--black)}

/* dane showcase */
.danes{background:linear-gradient(180deg,#fbf6ec,#f4eddf)}
.dane-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px}
.dane-card{
  background:var(--paper);border:1px solid rgba(201,168,76,.4);
  text-decoration:none;color:var(--ink-dark);display:flex;flex-direction:column;transition:.18s;
}
.dane-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(6,31,52,.16)}
.dane-photo{aspect-ratio:1/1;background:var(--navy);overflow:hidden}
.dane-photo img{width:100%;height:100%;object-fit:cover}
.dane-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:20px;
  background:linear-gradient(160deg,#0c2f4b 0%,var(--navy) 60%,var(--navy2) 100%);
  color:var(--gold2);position:relative;
}
.dane-placeholder:before{
  content:"";position:absolute;top:18px;left:18px;right:18px;bottom:18px;
  border:1px solid rgba(201,168,76,.35);pointer-events:none;
}
.dane-placeholder:after{
  content:"\2666";position:absolute;top:14px;left:50%;transform:translateX(-50%);
  color:var(--gold);font-size:14px;background:var(--navy);padding:0 8px;
}
.dane-placeholder .pp-name{font-family:var(--display);font-size:24px;letter-spacing:.04em;color:#f4ede0}
.dane-placeholder .pp-note{font:700 9px var(--label);letter-spacing:.18em;text-transform:uppercase;margin-top:8px;color:var(--gold2);opacity:.85}
.dane-body{padding:14px 16px 18px}
.dane-body .tag{color:var(--gold-dark);font:900 11px var(--label);letter-spacing:.08em;text-transform:uppercase}
.dane-body h3{font-size:21px;margin:4px 0 3px;color:var(--ink-dark)}
.dane-body p{margin:0;font-size:14px;color:#4f4638}

/* feature cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.card{border:1px solid rgba(201,168,76,.3);background:#fff;padding:22px 20px 20px;display:flex;flex-direction:column}
.card .card-img{aspect-ratio:16/9;object-fit:cover;margin:12px 0;border:1px solid rgba(201,168,76,.25)}
.card h3{font:900 13px var(--label);text-transform:uppercase;letter-spacing:.06em;margin:0;color:var(--ink-dark)}
.card p{font-size:15px;flex:1;margin:8px 0 14px;color:#3a3020}
.outline-btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--ink-dark);padding:10px 18px;color:var(--ink-dark);
  text-decoration:none;font:800 12px var(--label);text-transform:uppercase;
  letter-spacing:.04em;transition:.18s;align-self:flex-start;
}
.outline-btn:hover{background:var(--navy);color:#fff;border-color:var(--black)}

/* journey */
.journey{
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;
  border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);
  padding:50px 0;
}
.journey-wrap{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:center}
.application-box{border:1px solid var(--gold);padding:24px;background:rgba(201,168,76,.06)}
.application-box h3{color:var(--gold2);text-transform:uppercase;font-size:18px;margin:0 0 8px;font-family:var(--label);font-weight:900;letter-spacing:.06em}
.application-box p{font-size:15px;margin:0 0 16px;color:#c8bda8}
.journey h2{text-align:center;font-size:22px;margin:0 0 28px;text-transform:uppercase;color:#fff;font-family:var(--label);letter-spacing:.12em}
.journey h2:before,.journey h2:after{content:"";display:inline-block;width:36px;height:1px;background:var(--gold);vertical-align:middle;margin:0 12px;opacity:.7}
.step-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:28px 18px}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;font:900 10px/1.3 var(--label);color:#c8bda8;padding:4px}
.step .sicon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--gold);border:1px solid rgba(201,168,76,.5);border-radius:50%;margin-bottom:7px;background:rgba(6,31,52,.45)}
.step .sicon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.step .num{color:var(--gold2);font:900 14px var(--label);margin-bottom:4px}

/* instagram */
.insta{background:var(--navy2);color:#fff;text-align:center;padding:44px 0}
.insta h2{color:#fff;font:900 14px var(--label);text-transform:uppercase;letter-spacing:.14em;margin:0 0 20px;display:flex;align-items:center;justify-content:center;gap:10px}
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.insta-grid a{aspect-ratio:1/1;overflow:hidden;display:block}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:.25s}
.insta-grid a:hover img{transform:scale(1.06)}
.insta-cta{display:inline-block;margin-top:18px;padding:12px 26px;background:var(--gold);color:var(--black);font:900 12px var(--label);text-transform:uppercase;letter-spacing:.08em;text-decoration:none}

/* badges */
.badges{background:#fff;border-top:1px solid rgba(201,168,76,.25)}
.badge-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.badge{padding:26px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;border-right:1px solid rgba(201,168,76,.25);gap:10px}
.badge:last-child{border-right:0}
.badge .ic{width:32px;height:32px;color:var(--gold)}
.badge strong{display:block;font:900 11px var(--label);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-dark)}
.badge span{font-size:13px;color:#4a4030;line-height:1.35}

/* price table */
.rh-price-table{width:100%;border-collapse:collapse;margin:18px 0 26px}
.rh-price-table td{border-bottom:1px solid rgba(201,168,76,.3);padding:14px 12px;font-size:17px;color:var(--ink-dark)}
.rh-price-table td:last-child{text-align:right;font-family:var(--display);color:var(--gold-dark)}

/* faq */
details.rh-faq{border-bottom:1px solid rgba(201,168,76,.32);padding:14px 0}
details.rh-faq summary{cursor:pointer;font-family:var(--display);font-size:19px;color:var(--ink-dark)}
details.rh-faq p{margin-top:10px;color:#3a3020}

/* page / inner */
.page-hero{
  background:linear-gradient(90deg,var(--navy2) 0%,var(--navy) 100%);
  color:#fff;padding:64px 0;border-bottom:4px solid var(--gold);
}
.page-hero .eyebrow{color:var(--gold2)}
.page-hero h1{font-size:clamp(28px,4vw,46px);margin:0;color:#fff}
.inner{padding:56px 0 70px}
.inner-content{width:min(100%,920px);margin:0 auto}
.inner-content h2{font-size:28px;margin:36px 0 12px;color:var(--ink-dark)}
.inner-content h3{font-size:21px;margin:26px 0 8px;color:var(--ink-dark)}
.inner-content p,.inner-content li{font-size:18px;line-height:1.68;color:#2a2015}
.inner-content ul,.inner-content ol{padding-left:22px}
.inner-content li{margin-bottom:7px}
.inner-content img{margin:22px 0;border:1px solid rgba(201,168,76,.3)}
.inner-content a{color:var(--gold-dark);text-underline-offset:3px}
.inner-content blockquote{border-left:3px solid var(--gold);background:rgba(201,168,76,.08);margin:24px 0;padding:16px 20px;color:#2a2015}

/* profile */
.profile{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}
.profile-photo img,.profile-photo .dane-placeholder{aspect-ratio:1/1;width:100%;border:1px solid rgba(201,168,76,.4)}
.profile-meta{list-style:none;margin:18px 0;padding:0}
.profile-meta li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid rgba(201,168,76,.25);font-size:16px;color:#2a2015}
.profile-meta li strong{min-width:130px;color:var(--gold-dark);font:900 11px var(--label);text-transform:uppercase;letter-spacing:.05em;padding-top:2px}
.status-pill{display:inline-block;padding:5px 14px;font:900 11px var(--label);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--gold)}
.status-available{background:var(--gold);color:var(--black)}
.status-reserved{background:var(--navy);color:#fff}
.status-upcoming{background:transparent;color:var(--ink-dark)}

/* forms */
.rh-form{display:grid;gap:16px;margin-top:8px}
.rh-form label{display:grid;gap:6px;font:800 12px var(--label);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dark)}
.rh-form input,.rh-form select,.rh-form textarea{
  width:100%;border:1px solid rgba(201,168,76,.45);background:#fffaf1;
  color:var(--ink-dark);padding:13px 14px;font:17px var(--body);
}
.rh-form textarea{min-height:130px}
.rh-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rh-hp{position:absolute;left:-9999px}
.rh-note{font-size:14px;background:rgba(201,168,76,.1);border-left:3px solid var(--gold);padding:12px 16px;color:#3a3020}
.rh-form button{
  justify-self:start;background:var(--navy);color:#fff;border:1px solid var(--gold);
  padding:14px 26px;font:900 12px var(--label);text-transform:uppercase;
  letter-spacing:.06em;cursor:pointer;transition:.18s;
}
.rh-form button:hover{background:var(--gold);color:var(--black)}
.rh-success{background:#0f3a26;color:#fff;border:1px solid var(--gold);padding:16px 18px;margin-bottom:20px}

/* footer */
.site-footer{background:var(--navy2);color:#d8ccba;border-top:3px solid var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;padding:48px 0}
.footer-grid h4{color:var(--gold2);font:900 11px var(--label);text-transform:uppercase;letter-spacing:.09em;margin:0 0 14px}
.footer-grid a{color:#b8aa94;text-decoration:none;display:block;padding:4px 0;font-size:15px}
.footer-grid a:hover{color:var(--gold2)}
.footer-grid p{font-size:15px;margin:0 0 8px}
.footer-bottom{border-top:1px solid rgba(201,168,76,.2);text-align:center;padding:18px 0;font-size:13px}

/* ============================================================
   RESPONSIVE
   Crest stays position:absolute + left:50% + translateX(-50%)
   at EVERY width. Only top/size change per breakpoint.
============================================================ */

/* ---- 1100px: slight crest scaling, hero stays 2-col ---- */
@media(max-width:1100px){
  .hero{grid-template-columns:48% 52%}
  .hero-copy{padding:155px 48px 70px}
  .journey-wrap{grid-template-columns:1fr}
  .step-grid{grid-template-columns:repeat(3,1fr);gap:24px}
  .dane-grid{grid-template-columns:repeat(2,1fr)}
  .crest-badge{width:244px;top:-94px;margin-bottom:-184px}
  .crest-badge .crest-logo{width:174px}
  .crest-name{font-size:20px}
}

/* ---- 1024px: intermediate tightening ---- */
@media(max-width:1024px){
  .crest-badge{width:228px;top:-88px;margin-bottom:-172px}
  .crest-badge .crest-logo{width:162px}
  .crest-name{font-size:19px}
}

/* ---- 960px: switch to mobile header ---
   Hamburger appears. Menu collapses to dropdown.
   Crest STAYS position:absolute; left:50%; transform:translateX(-50%)
   It is now anchored to .navbar top (not spanning into topbar).
   Nav-inner gets min-height to hold the crest.
-------------------------------------------*/
@media(max-width:960px){
  /* Nav inner: make room for crest, no wrapping needed */
  .nav-inner{
    min-height:200px;
    flex-wrap:nowrap;
    padding:0;
    justify-content:flex-start;
  }

  /* Hamburger: absolutely left, vertically centered */
  .nav-toggle{
    display:block;
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    z-index:25;
  }

  /* CREST: stays centered — absolute to .navbar, never becomes a flex item */
  .brand-crest{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:10px;
    bottom:auto;
    z-index:20;
  }
  .crest-badge{
    width:192px;
    top:0;
    margin-bottom:0;
    padding:16px 18px 13px;
    border-radius:96px 96px 14px 14px / 68px 68px 14px 14px;
  }
  .crest-badge .crest-logo{width:150px;margin-bottom:7px}
  .crest-name{font-size:17px}
  .crest-sub{font-size:8px}
  .crest-tagline{font-size:13px}
  .crest-divider{margin:5px auto}

  /* Nav sides: hidden, open as dropdown below .navbar */
  .nav-side{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    background:#16130e;
    border-bottom:3px solid var(--gold);
    box-shadow:0 12px 28px rgba(0,0,0,.5);
    padding:6px 0;
    z-index:50;
  }
  .nav-side ul{flex-direction:column;align-items:stretch;width:100%;gap:0}
  .nav-side a{padding:14px 24px;border-bottom:1px solid rgba(201,168,76,.12)}
  .nav-side .sub-menu,.nav-side .children{
    position:static;display:flex;border:0;box-shadow:none;
    background:rgba(0,0,0,.3);padding:0;
  }
  .nav-side .sub-menu a,.nav-side .children a{padding-left:40px}
  .nav-cta-btn{margin:10px 24px;display:inline-flex;align-self:flex-start}
  .navbar.is-open .nav-side{display:flex}

  /* Hero: stack vertically, no padding-top needed (crest inside navbar now) */
  .hero{grid-template-columns:1fr;padding-top:0;min-height:0;overflow:hidden}
  .hero-dog{min-height:340px}
  .hero-copy{padding:48px 28px 56px}
  .hero-copy:after{display:none}

  /* Sections */
  .trust{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2n){border-right:0}
  .about-grid,.profile,.cards,.footer-grid{grid-template-columns:1fr}
  .insta-grid{grid-template-columns:repeat(3,1fr)}
  .badge-grid{grid-template-columns:repeat(2,1fr)}
  .badge:nth-child(2n){border-right:0}
}

/* ---- 768px: scale crest down ---- */
@media(max-width:768px){
  .nav-inner{min-height:178px}
  .crest-badge{width:170px;padding:13px 15px 11px;border-radius:85px 85px 12px 12px / 60px 60px 12px 12px}
  .crest-badge .crest-logo{width:132px}
  .crest-name{font-size:15px;letter-spacing:.08em}
  .crest-tagline{font-size:12px}
}

/* ---- 560px ---- */
@media(max-width:560px){
  body{font-size:17px}
  .topbar-inner{flex-direction:column;align-items:flex-start;gap:8px}
  .nav-inner{min-height:158px}
  .crest-badge{width:152px;padding:11px 13px 9px;border-radius:76px 76px 10px 10px / 54px 54px 10px 10px}
  .crest-badge .crest-logo{width:118px;margin-bottom:5px}
  .crest-name{font-size:13px;letter-spacing:.06em}
  .crest-sub{display:none}
  .crest-tagline{font-size:11px}
  .step-grid{grid-template-columns:1fr;gap:0;border-left:2px solid rgba(201,168,76,.4);margin-left:14px;padding-left:0}
  .step{flex-direction:row;align-items:center;text-align:left;gap:14px;padding:14px 0 14px 22px;font-size:12px}
  .step+.step{border-top:1px dashed rgba(201,168,76,.22)}
  .step .sicon{flex:0 0 44px;margin:0}
  .step .num{margin:0;min-width:22px}
  .dane-grid,.insta-grid,.rh-form-row,.badge-grid{grid-template-columns:1fr}
  .badge{border-right:0}
  .section{padding:46px 0}
}

/* ---- 430px phone ---- */
@media(max-width:430px){
  .nav-inner{min-height:142px}
  .crest-badge{width:136px;padding:9px 11px 8px;border-radius:68px 68px 9px 9px / 48px 48px 9px 9px}
  .crest-badge .crest-logo{width:105px;margin-bottom:4px}
  .crest-name{font-size:12px;letter-spacing:.05em}
  .crest-tagline{font-size:10px}
}


/* ============================================================
   V85 PATCH: approved-style puppy journey icons and CTAs
============================================================ */
.journey{padding:42px 0 38px!important}
.journey-wrap{grid-template-columns:270px 1fr!important;gap:34px!important}
.step-grid{display:grid!important;grid-template-columns:repeat(11,minmax(54px,1fr))!important;gap:8px!important;align-items:start!important}
.step{position:relative!important;font:900 9.5px/1.15 var(--label)!important;color:#fff!important;text-transform:none!important;letter-spacing:.01em!important;padding:0!important}
.step:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:19px;color:var(--gold);font:900 13px/1 var(--label);opacity:.85}
.step .sicon{width:34px!important;height:30px!important;border:0!important;border-radius:0!important;background:transparent!important;margin:0 auto 3px!important;color:var(--gold2)!important;box-shadow:none!important}
.step .sicon svg{width:25px!important;height:25px!important;stroke:currentColor!important;stroke-width:1.85!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.step .num{display:block!important;color:var(--gold2)!important;font:900 16px/1 var(--label)!important;margin:0 0 2px!important;text-shadow:none!important}
.contract-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 26px}
.contract-buttons a{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:#fff;border:1px solid var(--gold);padding:12px 16px;text-decoration:none;font:900 12px var(--label);text-transform:uppercase;letter-spacing:.06em}
.contract-buttons a:hover{background:var(--gold);color:var(--black)}
.fun-facts-preview{margin-top:46px;padding:32px;border:1px solid rgba(201,168,76,.35);background:#fff}
.fun-facts-preview ul{columns:2;column-gap:36px;margin-bottom:0}
@media(max-width:1100px){.journey-wrap{grid-template-columns:1fr!important}.step-grid{grid-template-columns:repeat(4,minmax(78px,1fr))!important;gap:20px 12px!important}.step:not(:last-child)::after{display:none}.fun-facts-preview ul{columns:1}}
@media(max-width:700px){.step-grid{grid-template-columns:repeat(2,minmax(120px,1fr))!important}}


/* V85 restore: 2-column grid hero with real Kingston photo in the right column.
   The prior override that forced a single background-image has been removed
   so the proper grid layout above (.hero{display:grid;grid-template-columns:43% 57%}) is active again. */


/* ============================================================
   V85 HERO PATCH
   Full-width golden-field hero. This removes the right-column crop
   that was cutting Kingston's head off in the Customizer preview.
============================================================ */
.hero{
  display:flex!important;
  align-items:stretch!important;
  min-height:680px!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(201,168,76,.4)!important;
  background-image:
    linear-gradient(90deg,rgba(4,24,39,.97) 0%,rgba(6,31,52,.94) 24%,rgba(6,31,52,.74) 43%,rgba(6,31,52,.20) 58%,rgba(6,31,52,0) 74%),
    url('assets/hero-dog.jpg')!important;
  background-size:cover!important;
  background-position:65% center!important;
  background-repeat:no-repeat!important;
}
.hero-copy{
  width:46%!important;
  min-height:680px!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  padding:175px 56px 80px!important;
  position:relative!important;
  z-index:2!important;
}
.hero-copy:after{display:none!important}
.hero-dog{display:none!important}
.hero-inner{max-width:540px!important}
@media(max-width:1100px){
  .hero{min-height:620px!important;background-position:61% center!important}
  .hero-copy{width:58%!important;min-height:620px!important;padding:155px 42px 70px!important}
}
@media(max-width:900px){
  .hero{min-height:0!important;background-position:66% center!important}
  .hero-copy{width:100%!important;min-height:560px!important;padding:120px 28px 56px!important;background:linear-gradient(90deg,rgba(4,24,39,.96),rgba(6,31,52,.76) 58%,rgba(6,31,52,.18))!important}
}
@media(max-width:560px){
  .hero{background-position:70% center!important}
  .hero-copy{min-height:520px!important;padding:92px 22px 46px!important;background:linear-gradient(90deg,rgba(4,24,39,.98),rgba(6,31,52,.82) 72%,rgba(6,31,52,.35))!important}
}


/* =========================================================
   V85 MOBILE HERO FIX
   On phones, do not use Kingston as a dark cropped background.
   Stack the copy first, then show the full hero image below it so
   Kingston's head and full body stay visible.
========================================================= */
@media (max-width: 768px){
  .hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    background:var(--navy2)!important;
    overflow:hidden!important;
  }
  .hero-copy{
    width:100%!important;
    min-height:auto!important;
    padding:92px 22px 38px!important;
    background:linear-gradient(180deg,rgba(4,24,39,.98),rgba(6,31,52,.94))!important;
  }
  .hero-copy:after{display:none!important}
  .hero-inner{max-width:100%!important}
  .hero-dog{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    background:var(--navy2)!important;
    overflow:hidden!important;
  }
  .hero-dog img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:var(--navy2)!important;
  }
}
@media (max-width: 480px){
  .hero-copy{padding:82px 20px 34px!important}
  .hero-inner h1{font-size:clamp(36px,12vw,50px)!important;line-height:.96!important}
  .hero-inner p{font-size:17px!important;line-height:1.65!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .btn-hero-gold,.btn-hero-outline{width:100%!important;text-align:center!important}
}


/* ============================================================
   V85 MOBILE MENU FIX
   The split desktop menus were both opening as separate absolute panels
   on small screens, which caused items to overlap, disappear, or show in
   the wrong order. Phones and small windows now use one unified drawer.
============================================================ */
.mobile-menu-panel{display:none;}
@media(max-width:960px){
  .navbar{overflow:visible!important;}
  .nav-inner{position:relative!important;}

  /* Keep desktop split menus hidden on mobile. The unified panel below replaces them. */
  .navbar.is-open .nav-side,
  .nav-side.menu-left,
  .nav-side.menu-right{
    display:none!important;
  }

  .mobile-menu-panel{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    display:none!important;
    background:linear-gradient(180deg,var(--navy2) 0%,#03111c 100%)!important;
    border-top:1px solid rgba(201,168,76,.55)!important;
    border-bottom:3px solid var(--gold)!important;
    box-shadow:0 18px 36px rgba(0,0,0,.55)!important;
    z-index:90!important;
    max-height:calc(100vh - 92px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:8px 0 12px!important;
  }
  .navbar.is-open .mobile-menu-panel{display:block!important;}

  .mobile-menu-panel ul,
  .mobile-menu-panel .menu{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    width:100%!important;
  }
  .mobile-menu-panel li{margin:0!important;padding:0!important;display:block!important;}
  .mobile-menu-panel a{
    display:block!important;
    color:#fff!important;
    text-decoration:none!important;
    font:900 13px/1.2 var(--label)!important;
    text-transform:uppercase!important;
    letter-spacing:.07em!important;
    padding:15px 24px!important;
    border-bottom:1px solid rgba(201,168,76,.18)!important;
    background:transparent!important;
  }
  .mobile-menu-panel a:hover,
  .mobile-menu-panel a:focus{
    color:var(--gold2)!important;
    background:rgba(201,168,76,.10)!important;
  }
  .mobile-menu-panel .sub-menu,
  .mobile-menu-panel .children{
    position:static!important;
    display:block!important;
    min-width:0!important;
    background:rgba(0,0,0,.18)!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
  }
  .mobile-menu-panel .sub-menu a,
  .mobile-menu-panel .children a{
    padding:12px 24px 12px 44px!important;
    font-size:12px!important;
    color:#e8dfce!important;
    border-bottom:1px solid rgba(201,168,76,.10)!important;
  }
  .mobile-menu-panel .menu-item-has-children>a:after,
  .mobile-menu-panel .page_item_has_children>a:after{
    content:""!important;
  }
  .mobile-menu-panel .mobile-apply{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:14px 24px 4px!important;
    padding:14px 18px!important;
    background:var(--gold)!important;
    color:var(--black)!important;
    border:1px solid var(--gold2)!important;
    font:900 13px/1 var(--label)!important;
    text-transform:uppercase!important;
    letter-spacing:.07em!important;
  }
}
@media(max-width:430px){
  .mobile-menu-panel{max-height:calc(100vh - 72px)!important;}
  .mobile-menu-panel a{padding:14px 18px!important;}
  .mobile-menu-panel .sub-menu a,
  .mobile-menu-panel .children a{padding-left:34px!important;}
}

/* v94 Puppy Culture page logo callout */
.culture-logo-callout{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:28px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(201,168,76,.34);
  box-shadow:0 18px 48px rgba(35,31,32,.07);
  padding:26px 30px;
  margin:0 0 30px;
}
.culture-logo-callout img{
  max-width:170px;
  width:100%;
  height:auto;
  display:block;
  margin:0 auto;
}

.culture-logo-mark{display:flex;align-items:center;justify-content:center}
.culture-logo-mark img{max-width:180px;width:100%;height:auto;display:block}

.culture-logo-callout h2{margin-top:0}
@media(max-width:700px){
  .culture-logo-callout{grid-template-columns:1fr;text-align:center;padding:24px 20px}
  .culture-logo-callout img{max-width:150px}
}

/* ============================================================
   V85 PATCH: Client-selected landscape logo in header arch
   Uses the full Reager's House landscape logo inside the existing arch.
============================================================ */
.crest-badge.crest-badge-landscape{
  width:390px;
  min-height:258px;
  padding:18px 24px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:195px 195px 16px 16px / 122px 122px 16px 16px;
}
.crest-badge .crest-logo.crest-logo-full{
  width:335px;
  max-width:100%;
  height:auto;
  margin:0 auto;
  display:block;
}

@media(max-width:1100px){
  .crest-badge.crest-badge-landscape{width:342px;min-height:228px;padding:16px 22px 14px;border-radius:171px 171px 15px 15px / 107px 107px 15px 15px}
  .crest-badge .crest-logo.crest-logo-full{width:298px}
}
@media(max-width:1024px){
  .crest-badge.crest-badge-landscape{width:320px;min-height:214px;padding:15px 20px 13px;border-radius:160px 160px 14px 14px / 100px 100px 14px 14px}
  .crest-badge .crest-logo.crest-logo-full{width:280px}
}
@media(max-width:960px){
  .crest-badge.crest-badge-landscape{width:258px;min-height:174px;padding:12px 16px 11px;border-radius:129px 129px 14px 14px / 81px 81px 14px 14px}
  .crest-badge .crest-logo.crest-logo-full{width:226px;margin:0 auto}
}
@media(max-width:768px){
  .crest-badge.crest-badge-landscape{width:226px;min-height:154px;padding:11px 14px 10px;border-radius:113px 113px 12px 12px / 71px 71px 12px 12px}
  .crest-badge .crest-logo.crest-logo-full{width:198px}
}
@media(max-width:560px){
  .crest-badge.crest-badge-landscape{width:198px;min-height:136px;padding:10px 12px 9px;border-radius:99px 99px 11px 11px / 62px 62px 11px 11px}
  .crest-badge .crest-logo.crest-logo-full{width:174px}
}
@media(max-width:430px){
  .crest-badge.crest-badge-landscape{width:178px;min-height:124px;padding:9px 11px 8px;border-radius:89px 89px 10px 10px / 56px 56px 10px 10px}
  .crest-badge .crest-logo.crest-logo-full{width:156px}
}


/* ============================================================
   V85 PATCH: lower client landscape logo + protect Kingston head
   The prior logo arch was sitting too high and the hero background crop
   was cutting Kingston's nose/head. This lowers the arch and shifts the
   hero image down while keeping the full-width premium field layout.
============================================================ */
@media (min-width:961px){
  .crest-badge.crest-badge-landscape{
    top:-58px!important;
    margin-bottom:-200px!important;
  }
  .hero{
    background-position:60% 32%!important;
  }
}
@media (min-width:961px) and (max-width:1100px){
  .crest-badge.crest-badge-landscape{
    top:-54px!important;
    margin-bottom:-184px!important;
  }
  .hero{
    background-position:62% 34%!important;
  }
}
@media (min-width:961px) and (max-width:1024px){
  .crest-badge.crest-badge-landscape{
    top:-50px!important;
    margin-bottom:-172px!important;
  }
  .hero{
    background-position:64% 35%!important;
  }
}

/* ============================================================
   V85 PATCH: Lift and slightly compact the landscape logo arch
   so it no longer covers Kingston's head on desktop. Keep the
   client-selected logo, but reduce the overlap into the hero.
============================================================ */
@media (min-width:1101px){
  .crest-badge.crest-badge-landscape{
    width:360px!important;
    min-height:238px!important;
    padding:16px 22px 14px!important;
    border-radius:180px 180px 16px 16px / 112px 112px 16px 16px!important;
    top:-92px!important;
    margin-bottom:-178px!important;
  }
  .crest-badge .crest-logo.crest-logo-full{
    width:310px!important;
  }
  .hero{
    background-position:60% 28%!important;
  }
  .hero-copy{
    padding-top:155px!important;
  }
}
@media (min-width:961px) and (max-width:1100px){
  .crest-badge.crest-badge-landscape{
    width:330px!important;
    min-height:220px!important;
    padding:15px 20px 13px!important;
    border-radius:165px 165px 15px 15px / 103px 103px 15px 15px!important;
    top:-82px!important;
    margin-bottom:-164px!important;
  }
  .crest-badge .crest-logo.crest-logo-full{width:286px!important;}
  .hero{background-position:62% 30%!important;}
  .hero-copy{padding-top:145px!important;}
}


/* ============================================================
   V85 FINAL CLEANUP OVERRIDES
   Stabilizes the desktop/mobile hero, protects Kingston's head,
   and keeps the client-selected landscape logo clear of the dog.
============================================================ */
@media (min-width: 1101px){
  .crest-badge.crest-badge-landscape{
    width:340px!important;
    min-height:224px!important;
    padding:15px 20px 13px!important;
    border-radius:170px 170px 15px 15px / 106px 106px 15px 15px!important;
    top:-118px!important;
    margin-bottom:-146px!important;
  }
  .crest-badge .crest-logo.crest-logo-full{width:294px!important;}
  .hero{
    min-height:660px!important;
    background-position:67% top!important;
    background-size:cover!important;
  }
  .hero-copy{
    width:45%!important;
    min-height:660px!important;
    padding:138px 56px 78px!important;
  }
}
@media (min-width: 961px) and (max-width: 1100px){
  .crest-badge.crest-badge-landscape{
    width:310px!important;
    min-height:205px!important;
    padding:14px 18px 12px!important;
    border-radius:155px 155px 14px 14px / 97px 97px 14px 14px!important;
    top:-104px!important;
    margin-bottom:-138px!important;
  }
  .crest-badge .crest-logo.crest-logo-full{width:270px!important;}
  .hero{
    min-height:610px!important;
    background-position:69% top!important;
    background-size:cover!important;
  }
  .hero-copy{
    width:52%!important;
    min-height:610px!important;
    padding:128px 42px 64px!important;
  }
}
@media (max-width: 960px){
  .brand-crest{bottom:auto;top:14px;}
  .crest-badge.crest-badge-landscape{top:0!important;margin-bottom:0!important;}
}
@media (max-width: 768px){
  .hero{background:var(--navy2)!important;}
  .hero-copy{padding-top:78px!important;}
  .hero-dog img{object-fit:contain!important;object-position:center top!important;}
}


/* ============================================================
   V85 INTERNAL PAGE HEADER FIX
   Keeps the client landscape logo from sitting too high on inner pages.
   Homepage hero rules stay untouched.
============================================================ */
@media (min-width: 961px){
  body:not(.home) .crest-badge.crest-badge-landscape{
    top:-82px!important;
    margin-bottom:-166px!important;
  }
  body:not(.home) .page-hero{
    padding-top:122px!important;
    padding-bottom:58px!important;
  }
}
@media (min-width: 1101px){
  body:not(.home) .crest-badge.crest-badge-landscape{
    top:-86px!important;
    margin-bottom:-170px!important;
  }
}

/* ============================================================
   V85 HEADER LOGO POSITION FIX
   Keeps the client-selected landscape logo fully visible on desktop
   and prevents the arch from sitting above the viewport.
============================================================ */
.site-shell,
.navbar,
.nav-inner{
  overflow:visible!important;
}
@media (min-width:1101px){
  .brand-crest{
    top:auto!important;
    bottom:0!important;
  }
  .crest-badge.crest-badge-landscape{
    width:320px!important;
    min-height:212px!important;
    padding:14px 19px 12px!important;
    border-radius:160px 160px 15px 15px / 100px 100px 15px 15px!important;
    top:-82px!important;
    margin-bottom:-150px!important;
  }
  .crest-badge .crest-logo.crest-logo-full{
    width:278px!important;
  }
  .hero{
    min-height:660px!important;
    background-position:64% 42%!important;
    background-size:cover!important;
  }
  .hero-copy{
    padding-top:150px!important;
  }
}
@media (min-width:961px) and (max-width:1100px){
  .crest-badge.crest-badge-landscape{
    width:300px!important;
    min-height:198px!important;
    padding:13px 18px 11px!important;
    border-radius:150px 150px 14px 14px / 94px 94px 14px 14px!important;
    top:-76px!important;
    margin-bottom:-140px!important;
  }
  .crest-badge .crest-logo.crest-logo-full{
    width:260px!important;
  }
  .hero{
    background-position:65% 44%!important;
  }
}
@media (max-width:960px){
  .brand-crest{
    top:18px!important;
    bottom:auto!important;
  }
  .crest-badge.crest-badge-landscape{
    top:0!important;
    margin-bottom:0!important;
  }
}


/* ============================================================
   V89 HOME LOGO ALIGNMENT FIX
   Matches homepage logo vertical placement with the inner pages.
   Keeps the client-selected landscape logo fully visible.
============================================================ */
@media (min-width:1101px){
  body.home .crest-badge.crest-badge-landscape{
    top:-70px!important;
    margin-bottom:-138px!important;
  }
  body.home .hero{
    background-position:62% 44%!important;
  }
}
@media (min-width:961px) and (max-width:1100px){
  body.home .crest-badge.crest-badge-landscape{
    top:-66px!important;
    margin-bottom:-132px!important;
  }
  body.home .hero{
    background-position:63% 45%!important;
  }
}


/* ============================================================
   V89 HOME LOGO ALIGNMENT FINAL
   Drops the homepage landscape logo slightly so it matches the
   inner-page logo position at the same browser width.
============================================================ */
@media (min-width:1101px){
  body.home .crest-badge.crest-badge-landscape{
    top:-54px!important;
    margin-bottom:-126px!important;
  }
}
@media (min-width:961px) and (max-width:1100px){
  body.home .crest-badge.crest-badge-landscape{
    top:-52px!important;
    margin-bottom:-120px!important;
  }
}


/* ============================================================
   V89 FINAL HOME LOGO LOCK
   The homepage logo is forced lower to visually match the inner-page
   header arch position. This override sits last so old hero patches
   cannot pull the homepage logo upward again.
============================================================ */
@media (min-width:1101px){
  body.home .brand-crest{top:auto!important;bottom:0!important;}
  body.home .crest-badge.crest-badge-landscape{
    top:-36px!important;
    margin-bottom:-108px!important;
  }
}
@media (min-width:961px) and (max-width:1100px){
  body.home .brand-crest{top:auto!important;bottom:0!important;}
  body.home .crest-badge.crest-badge-landscape{
    top:-34px!important;
    margin-bottom:-104px!important;
  }
}
