:root{--navy:#0c2f4b;--navy-deep:#071d2c;--blue:#174e72;--gold:#edb62f;--gold-light:#ffd66a;--cream:#f5f1e7;--sand:#e7dfcf;--white:#fff;--ink:#18232a;--muted:#5e6a70;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:white;padding:12px}.topbar{height:34px;background:var(--gold);color:var(--navy-deep);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));font:700 13px 'Barlow Condensed';text-transform:uppercase;letter-spacing:.08em}.topbar p{margin:0}.topbar a{text-decoration:underline}.site-header{height:84px;position:absolute;top:34px;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(255,255,255,.25);color:white}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:3px solid var(--gold);font:800 22px 'Barlow Condensed';color:var(--gold)}.brand strong,.brand small{display:block;text-transform:uppercase}.brand strong{font:800 23px/1 'Barlow Condensed';letter-spacing:.04em}.brand small{margin-top:5px;font:600 11px/1 'Barlow Condensed';letter-spacing:.2em}.nav{display:flex;align-items:center;gap:30px;font:600 15px 'Barlow Condensed';text-transform:uppercase;letter-spacing:.06em}.nav a:hover{color:var(--gold-light)}.nav-cta{border:1px solid var(--gold);padding:12px 18px;color:var(--gold)}.menu-toggle{display:none;background:none;border:0}.hero{min-height:860px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('images/hero-trainer.jpeg') center 42%/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,28,.98) 0%,rgba(7,29,44,.94) 39%,rgba(7,29,44,.45) 70%,rgba(7,29,44,.08) 100%)}.hero-content{position:relative;z-index:2;max-width:var(--max);margin:auto;padding:230px 24px 90px}.hero-content>*{max-width:680px}.kicker{margin:0 0 18px;font:700 15px 'Barlow Condensed';text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}.kicker.blue{color:var(--blue)}.kicker.gold{color:var(--gold)}h1,h2,h3{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;margin-top:0}h1{font-size:clamp(64px,7.6vw,112px);line-height:.88;letter-spacing:-.025em;margin-bottom:25px}.hero-copy{font-size:19px;line-height:1.65;color:#d9e1e4;max-width:600px}.hero-actions{display:flex;align-items:center;gap:28px;margin:35px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;font:700 16px 'Barlow Condensed';text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.btn-gold{background:var(--gold);color:var(--navy-deep)}.btn-gold:hover{background:var(--gold-light)}.btn-outline{border:1px solid var(--gold);color:var(--gold)}.text-link,.arrow-link{font:700 16px 'Barlow Condensed';text-transform:uppercase;letter-spacing:.05em}.text-link span,.arrow-link span{color:var(--gold);margin-left:8px}.hero-trust{display:flex;gap:24px;flex-wrap:wrap;padding-top:25px;border-top:1px solid rgba(255,255,255,.2);font-size:13px;color:#c9d4d8}.hero-trust span:before{content:'✓';color:var(--gold);font-weight:800;margin-right:7px}.section{padding:110px max(24px,calc((100vw - var(--max))/2))}.intro{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:end}.intro h2,.section-title h2,.fit h2,.faq h2,.evaluation h2{font-size:clamp(48px,5vw,76px);line-height:.95;margin-bottom:0}.intro-copy p{color:var(--muted);font-size:17px;line-height:1.75}.arrow-link{display:inline-block;margin-top:18px;color:var(--navy)}.services{background:var(--sand)}.section-title{max-width:760px;margin-bottom:55px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;background:var(--cream);padding:38px 34px 35px;border-top:5px solid var(--navy);transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(9,29,43,.12);border-color:var(--gold)}.service-num{position:absolute;top:25px;right:28px;font:800 52px 'Barlow Condensed';color:rgba(12,47,75,.09)}.service-card h3{font-size:36px;line-height:1;margin:28px 0 18px;color:var(--navy)}.service-card p{color:var(--muted);line-height:1.65}.service-card ul{padding:0;margin:25px 0;list-style:none;border-top:1px solid #cbc1ae}.service-card li{padding:11px 0;border-bottom:1px solid #cbc1ae;font-size:14px}.service-card li:before{content:'•';color:var(--gold);font-size:22px;vertical-align:-2px;margin-right:9px}.service-card a{font:700 15px 'Barlow Condensed';text-transform:uppercase;color:var(--navy)}.service-card a span{color:var(--gold);margin-left:8px}.method{display:grid;grid-template-columns:1fr 1fr;background:var(--navy-deep);color:white}.method-photo{position:relative;min-height:760px;margin:0}.method-photo img{width:100%;height:100%;object-fit:cover;display:block}.method-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,29,44,.9),transparent 48%)}.photo-caption{position:absolute;z-index:2;left:45px;right:45px;bottom:40px}.photo-caption small,.result-card small{display:block;color:var(--gold);font:700 13px 'Barlow Condensed';letter-spacing:.15em;text-transform:uppercase}.photo-caption strong{display:block;margin-top:6px;font:700 34px 'Barlow Condensed';text-transform:uppercase}.method-copy{padding:100px clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.method-copy h2{font-size:clamp(50px,5vw,78px);line-height:.93}.method-copy>p:not(.kicker){color:#c2d0d6;line-height:1.75;font-size:17px}.method-points{margin:25px 0 35px;border-top:1px solid rgba(255,255,255,.18)}.method-points>div{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18)}.method-points span{font:800 20px 'Barlow Condensed';color:var(--gold)}.method-points p{margin:0;color:#c2d0d6;line-height:1.5}.method-points strong{display:block;color:white;font:700 21px 'Barlow Condensed';text-transform:uppercase}.results{background:var(--navy);color:white}.light h2{color:white}.result-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:22px}.result-card{margin:0;background:#103a58;overflow:hidden}.result-card img{width:100%;height:410px;object-fit:cover;display:block}.result-card:nth-child(2) img{object-position:center 44%}.result-card figcaption{padding:26px}.result-card h3{font-size:30px;margin:7px 0 10px}.result-card p{color:#bfd0d8;line-height:1.6;margin:0}.testimonial{background:var(--gold);color:var(--navy-deep);padding:42px;display:flex;flex-direction:column;justify-content:center}.stars{letter-spacing:.12em;font-size:23px}.testimonial blockquote{margin:28px 0;font:600 31px/1.25 'Barlow Condensed'}.testimonial p{font:700 14px 'Barlow Condensed';text-transform:uppercase}.fit{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;background:var(--cream)}.fit-list{border-top:1px solid #a99f8b}.fit-list>div{display:grid;grid-template-columns:65px 1fr;align-items:center;border-bottom:1px solid #a99f8b;padding:20px 0}.fit-list span{font:800 22px 'Barlow Condensed';color:var(--gold)}.fit-list p{margin:0;font:600 23px/1.25 'Barlow Condensed';color:var(--navy)}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;background:var(--sand)}.faq-heading>p:not(.kicker){color:var(--muted);line-height:1.7}.accordion{border-top:1px solid #aa9f8a}.accordion details{border-bottom:1px solid #aa9f8a}.accordion summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font:600 25px 'Barlow Condensed';color:var(--navy)}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{color:var(--gold);font-size:30px;transition:.2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{margin:0 45px 24px 0;color:var(--muted);line-height:1.7}.evaluation{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;background:var(--navy-deep);color:white}.evaluation-copy>p:not(.kicker){color:#c2d0d6;line-height:1.7}.contact-info{margin-top:35px;border-top:1px solid rgba(255,255,255,.2)}.contact-info p{display:grid;grid-template-columns:120px 1fr;margin:0;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.2)}.contact-info span{font:700 14px 'Barlow Condensed';text-transform:uppercase;color:var(--gold)}.evaluation-form{background:var(--cream);color:var(--ink);padding:38px;display:grid;gap:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.evaluation-form label{font:700 13px 'Barlow Condensed';text-transform:uppercase;letter-spacing:.06em}.evaluation-form input,.evaluation-form select,.evaluation-form textarea{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #bdb4a4;background:white;font:400 15px Inter;text-transform:none;border-radius:0}.evaluation-form input:focus,.evaluation-form select:focus,.evaluation-form textarea:focus{outline:3px solid rgba(237,182,47,.4);border-color:var(--navy)}.form-note{font-size:11px;color:#69747a;text-align:center;margin:0}.form-status{font-size:13px;text-align:center;margin:0;color:var(--navy)}footer{background:#04131e;color:white;padding:70px max(24px,calc((100vw - var(--max))/2)) 25px}.footer-brand{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.15)}.footer-brand p{color:#a9bac2;max-width:420px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:40px 0}.footer-links>div{display:flex;flex-direction:column;gap:11px;color:#a9bac2;font-size:14px}.footer-links strong{font:700 18px 'Barlow Condensed';text-transform:uppercase;color:var(--gold);margin-bottom:5px}.footer-bottom{padding-top:22px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;color:#7f949e;font-size:12px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:960px){.nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--navy-deep);padding:25px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-toggle{display:grid;gap:5px;padding:10px}.menu-toggle span{width:28px;height:2px;background:white}.hero-overlay{background:linear-gradient(90deg,rgba(4,18,28,.97),rgba(7,29,44,.58))}.intro,.fit,.faq,.evaluation{grid-template-columns:1fr;gap:45px}.service-grid,.result-grid{grid-template-columns:1fr}.method{grid-template-columns:1fr}.method-photo{min-height:600px}.result-card img{height:480px}.footer-brand{grid-template-columns:1fr}}@media(max-width:620px){.topbar{padding:0 16px}.topbar p{display:none}.site-header{padding:0 18px;height:72px}.brand-mark{width:42px;height:42px}.brand strong{font-size:20px}.hero{min-height:880px}.hero-image{background-position:center top;background-size:100% auto;background-repeat:no-repeat;background-color:var(--navy-deep)}.hero-overlay{background:linear-gradient(0deg,rgba(4,18,28,1) 0%,rgba(4,18,28,.97) 47%,rgba(4,18,28,.28) 72%,rgba(4,18,28,.02) 100%)}.hero-content{padding:500px 20px 65px}.hero h1{font-size:55px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-trust{gap:12px;flex-direction:column}.section{padding:75px 20px}.intro h2,.section-title h2,.fit h2,.faq h2,.evaluation h2{font-size:50px}.service-card{padding:30px 25px}.method-photo{min-height:460px}.method-copy{padding:70px 24px}.method-copy h2{font-size:52px}.result-card img{height:330px}.fit-list p{font-size:20px}.field-row{grid-template-columns:1fr}.evaluation-form{padding:25px}.footer-links{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

.brand-logo{
  display:block;
  width:118px;
  height:58px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
}
.footer-brand .brand-logo{
  width:132px;
  height:64px;
}
@media(max-width:620px){
  .brand-logo{
    width:88px;
    height:46px;
  }
  .footer-brand .brand-logo{
    width:110px;
    height:54px;
  }
}

/* Header logo hard override — removes legacy boxed K9 mark */
.brand .brand-mark{display:none!important;}
.site-header .brand-logo{display:block!important;width:118px!important;height:58px!important;object-fit:contain!important;object-position:center!important;flex:0 0 auto!important;}
@media(max-width:620px){.site-header .brand-logo{width:92px!important;height:46px!important;}}




/* Trainer-and-dog board-and-train reminder — staged animation */
.training-walk-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  overflow:hidden;
  pointer-events:none;
  visibility:hidden;
  opacity:0;
}
.training-walk-overlay.is-active{
  visibility:visible;
  opacity:1;
}

.training-walk-group{
  position:absolute;
  left:0;
  bottom:10px;
  width:500px;
  height:320px;
  transform:translateX(-560px);
  transition:transform 3s linear;
  will-change:transform;
}

/* Trainer stays on the left and looks toward the dog. */
.walk-trainer{
  position:absolute;
  left:35px;
  bottom:0;
  width:220px;
  height:300px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 10px 8px rgba(0,0,0,.38));
  transform-origin:center bottom;
}

/* Dog stays on the right and looks back toward the trainer. */
.walk-dog{
  position:absolute;
  left:255px;
  bottom:0;
  width:175px;
  height:185px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.34));
  transform-origin:center bottom;
}

/* Actual entrance from offscreen. */
.training-walk-overlay.walking-in .training-walk-group{
  transform:translateX(calc(50vw - 250px));
}

/* Pause in the middle. */
.training-walk-overlay.halted .training-walk-group{
  transform:translateX(calc(50vw - 250px));
  transition:none;
}

/* Continue walking offscreen. */
.training-walk-overlay.walking-out .training-walk-group{
  transform:translateX(calc(100vw + 580px));
  transition:transform 3s linear;
}

.training-walk-overlay.walking-in .walk-trainer,
.training-walk-overlay.walking-out .walk-trainer{
  animation:trainerStep .42s ease-in-out infinite alternate;
}
.training-walk-overlay.walking-in .walk-dog,
.training-walk-overlay.walking-out .walk-dog{
  animation:dogStep .34s ease-in-out infinite alternate;
}

.training-spots-prompt{
  position:absolute;
  left:175px;
  bottom:238px;
  width:min(430px,74vw);
  padding:17px 22px;
  border:2px solid #f1b82d;
  background:#071d2c;
  color:#fff;
  font-size:20px;
  line-height:1.28;
  text-align:center;
  letter-spacing:.02em;
  box-shadow:0 12px 35px rgba(0,0,0,.42);
  opacity:0;
  transform:translateY(14px) scale(.95);
  transition:opacity .35s ease, transform .35s ease;
}
.training-spots-prompt::after{
  content:"";
  position:absolute;
  left:34%;
  bottom:-15px;
  border:8px solid transparent;
  border-top-color:#f1b82d;
}
.training-spots-prompt strong{
  color:#f1b82d;
  text-transform:uppercase;
}
.training-walk-overlay.halted .training-spots-prompt{
  opacity:1;
  transform:translateY(0) scale(1);
}

@keyframes trainerStep{
  from{transform:translateY(0) rotate(-.6deg)}
  to{transform:translateY(-5px) rotate(.6deg)}
}
@keyframes dogStep{
  from{transform:translateY(0) rotate(.8deg)}
  to{transform:translateY(-4px) rotate(-.8deg)}
}

@media(max-width:650px){
  .training-walk-group{
    width:330px;
    height:225px;
    transform:translateX(-390px);
  }
  .walk-trainer{
    left:20px;
    width:150px;
    height:210px;
  }
  .walk-dog{
    left:168px;
    width:112px;
    height:128px;
  }
  .training-walk-overlay.walking-in .training-walk-group,
  .training-walk-overlay.halted .training-walk-group{
    transform:translateX(calc(50vw - 165px));
  }
  .training-walk-overlay.walking-out .training-walk-group{
    transform:translateX(calc(100vw + 420px));
  }
  .training-spots-prompt{
    left:105px;
    bottom:166px;
    width:220px;
    padding:12px 13px;
    font-size:14px;
  }
}

@media(prefers-reduced-motion:reduce){
  .training-walk-overlay{display:none}
}
