/* Snout Route mega menus */
.nav{position:relative}
.nav-dropdown{position:static;padding-bottom:24px;margin-bottom:-24px}
.resource-mega{display:none;position:absolute;z-index:80;left:18px;right:18px;top:calc(100% - 1px);padding-top:14px}
.nav-dropdown:hover>.resource-mega,.nav-dropdown:focus-within>.resource-mega,.nav-dropdown.mega-open>.resource-mega{display:block}
.resource-mega-shell{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 26px 60px -28px rgba(15,25,48,.42);padding:26px 28px 0;overflow:hidden}
.resource-mega-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:28px}
.resource-mega-heading{font-family:var(--rt-body,var(--body));font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--rt-navy);margin:0 0 13px}
.resource-mega-featured{display:flex;flex-direction:column;gap:10px}
.resource-mega-feature{display:grid!important;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:10px;border-radius:12px;color:var(--rt-navy)!important;transition:transform .15s ease}
.resource-mega-feature:hover{background:var(--cream);transform:translateX(2px)}
.resource-mega-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--rt-sky);font-size:20px}
.resource-mega-feature strong{display:block;font-size:14px;line-height:1.25;color:var(--rt-navy)}
.resource-mega-feature span:last-child{display:block;font-size:12.5px;line-height:1.35;color:var(--ink-dim);margin-top:3px}
.resource-mega-list{display:flex;flex-direction:column;gap:2px}
.nav-links .resource-mega-list a{display:block;padding:7px 0;font-size:13.5px;font-weight:500;line-height:1.3;color:#4f4c45}
.nav-links .resource-mega-list a:hover{color:var(--rt-coral)}
.resource-mega-footer{margin:24px -28px 0;padding:14px 22px;background:var(--cream);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}
.resource-mega-footer-copy{font-size:13.5px;color:var(--ink-dim)}
.resource-mega-footer-copy strong{color:var(--rt-navy)}
.resource-mega-footer-links{display:flex;align-items:center;gap:16px;white-space:nowrap}
.nav-links .resource-mega-footer-links a{font-size:13.5px;font-weight:700;color:var(--rt-navy)}
.nav-links .resource-mega-footer-links a:last-child{background:var(--rt-coral);border:2px solid var(--rt-navy-ink);border-radius:6px;padding:7px 11px;box-shadow:2px 2px 0 var(--rt-navy-ink);color:var(--rt-navy-ink)}

.services-mega-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px}
.services-mega-group{min-width:0}
.services-mega-title-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.services-mega-title-row .resource-mega-heading{margin:0}
.services-mega-icon{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--cream-2);color:var(--rt-navy);font-size:20px;flex:0 0 44px}
.services-mega-group:nth-child(2) .services-mega-icon{background:var(--rt-sky)}
.services-mega-group:nth-child(3) .services-mega-icon{background:#FFF3D4}
.services-mega-group:nth-child(4) .services-mega-icon{background:#F8E6DF}
.services-mega .resource-mega-list a strong{display:block;color:var(--rt-navy);font-size:13.5px;line-height:1.25}
.services-mega .resource-mega-list a span{display:block;color:var(--ink-dim);font-size:12px;line-height:1.35;margin-top:3px}
.services-mega-footer{margin-top:26px}

/* Shared Snout Route logo sizing. Footer keeps its base stylesheet sizing. */
.brand-logo{height:42px;width:auto}
body.rt-home .brand-logo{height:48px}
.quote-form-logo{display:block;width:190px;height:auto;margin:0 0 26px}

/* How It Works: the first process card uses an h2; match the other card headings. */
body.rt-page .rt-step h2{font-family:var(--rt-display);font-weight:400;font-size:1rem;margin-top:14px;color:var(--white);line-height:1.3}

@media(max-width:980px){.resource-mega{left:10px;right:10px}.resource-mega-grid{grid-template-columns:1.2fr 1fr 1fr}.resource-mega-col.pet-col{display:none}.services-mega-grid{grid-template-columns:1fr 1fr}.services-mega-group{padding-bottom:6px}}

.mobile-nav-toggle{display:none}

@media(max-width:760px){
  html{scroll-padding-top:82px}
  [id]{scroll-margin-top:82px}

  .nav-outer{
    padding:8px 10px;
    background:var(--cream);
  }
  .nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:
      "brand actions toggle"
      "links links links";
    align-items:center;
    gap:8px;
    padding:9px 10px 9px 12px;
    border-radius:14px;
  }
  .nav.mobile-nav-open{
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .brand{
    grid-area:brand;
    min-width:0;
  }
  .brand-logo,
  body.rt-home .brand-logo{
    width:clamp(118px,38vw,154px)!important;
    max-width:100%;
    height:auto!important;
  }
  .nav-actions{
    grid-area:actions;
    gap:0;
  }
  .nav-actions .btn-outline,
  .nav-actions .icon-btn{
    display:none!important;
  }
  .nav-actions .btn-primary{
    min-height:42px;
    padding:9px 10px;
    border-width:1.5px;
    border-radius:9px;
    box-shadow:0 8px 18px -13px rgba(15,25,48,.8);
    font-family:var(--rt-body,var(--body));
    font-size:12.5px;
    font-weight:700;
    line-height:1;
  }
  .nav-actions .btn-primary:hover{
    transform:none;
    box-shadow:0 8px 18px -13px rgba(15,25,48,.8);
  }

  .mobile-nav-toggle{
    grid-area:toggle;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    padding:0;
    border:1.5px solid var(--rt-navy);
    border-radius:10px;
    background:var(--cream);
    color:var(--rt-navy);
  }
  .mobile-nav-toggle:active{
    background:var(--cream-2);
  }
  .mobile-nav-icon{
    width:20px;
    height:14px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
  .mobile-nav-icon span{
    display:block;
    width:100%;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transform-origin:center;
    transition:transform .18s cubic-bezier(.2,.8,.2,1);
  }
  .nav.mobile-nav-open .mobile-nav-icon span:first-child{
    transform:translateY(6px) rotate(45deg);
  }
  .nav.mobile-nav-open .mobile-nav-icon span:last-child{
    transform:translateY(-6px) rotate(-45deg);
  }

  .nav.mobile-nav-ready .nav-links{
    grid-area:links;
    display:none!important;
    order:initial!important;
    width:100%!important;
    flex-direction:column;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow:visible!important;
    margin:2px 0 0;
    padding:8px 0 0!important;
    border-top:1px solid var(--line);
  }
  .nav.mobile-nav-ready.mobile-nav-open .nav-links{
    display:flex!important;
  }
  .nav-links>li{
    width:100%;
  }
  body.rt-page .nav-links>li>a,
  .nav-links>li>a{
    width:100%;
    min-height:48px;
    justify-content:space-between;
    padding:11px 4px;
    border-bottom:1px solid var(--line);
    font-size:16px!important;
    line-height:24px;
    color:var(--rt-navy);
  }
  .nav-links>li:last-child>a{
    border-bottom:0;
  }
  .nav-dropdown{
    position:static;
    width:100%!important;
    margin:0;
    padding:0;
  }
  .nav-dropdown-toggle span{
    font-size:15px;
  }

  .resource-mega{
    display:none!important;
    position:static;
    width:100%;
    max-height:none;
    overflow:visible;
    padding:4px 0 12px;
  }
  .nav-dropdown.mega-open>.resource-mega{
    display:block!important;
  }
  .resource-mega-shell{
    max-height:none;
    overflow:visible;
    padding:12px;
    border:0;
    border-radius:12px;
    background:var(--cream);
    box-shadow:none;
  }
  .resource-mega-grid,
  .services-mega-grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  .resource-mega-col.pet-col{
    display:block;
  }
  .resource-mega-heading{
    margin:0 0 6px;
    font-size:11px;
  }
  .resource-mega-featured{
    gap:2px;
  }
  .resource-mega-feature{
    display:block!important;
    padding:8px 4px;
    border-radius:8px;
  }
  .resource-mega-feature:hover{
    transform:none;
  }
  .resource-mega-icon,
  .services-mega-icon{
    display:none;
  }
  .resource-mega-feature strong{
    font-size:14px;
    line-height:1.35;
  }
  .resource-mega-feature>span:last-child>span:last-child{
    display:none;
  }
  .services-mega-title-row{
    margin-bottom:5px;
  }
  .nav-links .resource-mega-list{
    gap:0;
  }
  .nav-links .resource-mega-list a{
    min-height:44px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:8px 4px;
    border-bottom:1px solid rgba(22,35,63,.1);
    font-size:14px;
    line-height:1.35;
    color:#343b4a;
  }
  .nav-links .resource-mega-list a:last-child{
    border-bottom:0;
  }
  .services-mega .resource-mega-list a span{
    display:none;
  }
  .resource-mega-footer{
    display:none;
  }

  .quote-form-logo{
    width:165px;
    margin-bottom:22px;
  }

  body.rt-home .rt-hero-photo-visual{
    display:block;
    height:220px;
    aspect-ratio:auto;
    max-height:none;
    overflow:hidden;
  }
  body.rt-home .rt-hero-photo{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 45%;
  }
  body.rt-home .rt-hero-photo-shade{
    background:linear-gradient(180deg,rgba(15,25,48,.08),rgba(15,25,48,.22));
  }
  body.rt-home .rt-hero-map-svg{
    display:none;
  }
}

@media(max-width:430px){
  body.rt-home .rt-hero-photo-visual{height:190px}
}

@media(max-width:350px){
  .nav{
    gap:6px;
    padding-left:9px;
    padding-right:8px;
  }
  .brand-logo,
  body.rt-home .brand-logo{
    width:112px!important;
  }
  .nav-actions .btn-primary{
    padding-left:8px;
    padding-right:8px;
    font-size:12px;
  }
}
