/* Dote shared navigation, footer, and mobile bar. Same brand colors as the rest of the site. */
:root{--blue-deep:#235386; --blue:#347BC6; --blue-light:#6098D2; --coral:#FD6740; --coral-dark:#D7583B; --ink:#15263B; --ink-soft:#44566E; --paper:#FBF8F3; --cream:#FDFAEB; --line:#E4E0D6;}

/* top bar */
.topbar{background:var(--blue-deep); color:#fff; font-size:13px; font-weight:600;}
.topbar .wrap{max-width:1180px; margin:0 auto; padding:7px 24px; display:flex; justify-content:space-between; align-items:center; gap:14px;}
.topbar a{color:#fff;}
.tb-right{display:flex; align-items:center; gap:16px;}
.btn-sm{padding:7px 16px !important; font-size:13px !important;}
@media (max-width:760px){ .tb-right{display:none;} .topbar .wrap{justify-content:center; text-align:center; padding:7px 12px;} .tb-slogan{font-size:12.5px; line-height:1.35;} .tb-slogan strong{display:block; font-size:14.5px; margin:0;} }

/* header */
.site-header{position:sticky; top:0; z-index:50; background:var(--cream); border-bottom:1px solid var(--line); padding:0;}
.site-header nav.wrap{max-width:1180px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; gap:22px; justify-content:space-between;}
.site-header .brand{display:flex; align-items:center; gap:10px; font-family:'Source Serif 4',Georgia,serif; font-weight:700; font-size:22px; color:var(--blue-deep); flex:none;}
.site-header .brand .mark{width:32px; height:32px; border-radius:8px;}
.mn{list-style:none; margin:0; padding:0; display:flex; gap:0; align-items:center;}
.mn > li{position:relative;}
.mn-top{display:flex; align-items:center; gap:6px; padding:10px 9px; font-size:15px; font-weight:600; color:var(--ink); border-radius:10px; white-space:nowrap;}
.mn-top:hover,.mn > li:focus-within > .mn-top{color:var(--blue); background:rgba(52,123,198,.08);}
.caret{width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; display:inline-block; margin-top:1px;}
.panel{display:none; position:absolute; left:0; top:100%; min-width:250px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 40px -12px rgba(20,38,59,.3); padding:8px; z-index:60;}
.panel a{display:block; padding:10px 14px; border-radius:10px; font-size:14.5px; font-weight:600; color:var(--ink);}
.panel a:hover{background:var(--paper); color:var(--blue);}
.mn > li:hover > .panel,.mn > li:focus-within > .panel{display:block;}
.nav-cta{display:flex; gap:10px; align-items:center; flex:none;}

/* mobile menu */
.mobile-menu{display:none; position:relative;}
.mobile-menu > summary{display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; border:1.5px solid var(--line); background:#fff; cursor:pointer; list-style:none;}
.mobile-menu > summary::-webkit-details-marker{display:none;}
.burger,.burger::before,.burger::after{display:block; width:20px; height:2px; background:var(--blue-deep); border-radius:2px; content:""; position:relative;}
.burger::before{position:absolute; top:-6px;} .burger::after{position:absolute; top:6px;}
.mm-panel{position:fixed; left:12px; right:12px; top:68px; max-height:calc(100vh - 150px); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 50px -12px rgba(20,38,59,.35); padding:8px; z-index:80;}
.mm-group{border-bottom:1px solid var(--line);}
.mm-group summary{padding:14px; font-weight:700; color:var(--blue-deep); cursor:pointer; list-style:none; font-size:16px;}
.mm-group summary::-webkit-details-marker{display:none;}
.mm-group > div{display:flex; flex-direction:column; padding:0 6px 10px;}
.mm-group a{padding:10px 14px; border-radius:10px; font-weight:600; color:var(--ink); font-size:15px;}
.mm-cta{display:block; margin:10px 6px 6px; padding:14px; text-align:center; background:var(--coral); color:#fff !important; border-radius:999px; font-weight:700;}
.mm-plain{display:block; padding:14px; font-weight:700; color:var(--blue-deep); font-size:16px; border-bottom:1px solid var(--line);}
@media (max-width:1240px){
  .mn{display:none;}
  .nav-cta .btn-line{display:none;}
  .mobile-menu{display:block;}
  .site-header nav.wrap{justify-content:space-between;}
  .nav-cta{margin-left:auto;}
}
@media (max-width:420px){ .nav-cta .btn-coral{padding:11px 16px; font-size:14px;} }

/* footer */
.foot-grid-5{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:32px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.1);}
@media (max-width:900px){ .foot-grid-5{grid-template-columns:1fr 1fr;} }
.foot-locations{padding:28px 0; border-bottom:1px solid rgba(255,255,255,.1);}
.foot-locations h5{color:#fff; font-size:13.5px; margin:0 0 14px; font-weight:700;}
.state-links{display:flex; flex-wrap:wrap; gap:8px 18px; font-size:13px;}
.state-links a:hover{color:#fff;}
.legal-links{display:flex; gap:18px; flex-wrap:wrap;}
.legal-links a:hover{color:#fff;}

/* sticky mobile bar */
.sticky-cta{display:none;}
@media (max-width:760px){
  .sticky-cta{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:70; box-shadow:0 -6px 20px rgba(20,38,59,.18);}
  .sticky-cta a{flex:1; text-align:center; padding:16px 10px; font-weight:700; font-size:15px;}
  .sc-a{background:#fff; color:var(--blue-deep);}
  .sc-b{background:var(--coral); color:#fff;}
  body{padding-bottom:56px;}
}

/* forms */
.form-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; max-width:560px;}
.form-card label{display:block; font-weight:700; font-size:14px; color:var(--blue-deep); margin:16px 0 6px;}
.form-card input[type=text],.form-card input[type=email],.form-card select,.form-card textarea{width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; font:inherit; background:#fff;}
.form-card textarea{min-height:100px;}
.form-card .radio-row{display:flex; gap:20px; flex-wrap:wrap; margin-top:4px;}
.form-card .radio-row label{display:flex; align-items:center; gap:8px; font-weight:600; margin:0; color:var(--ink);}
.form-card button{margin-top:22px; border:0; cursor:pointer; font:inherit;}
.form-note{font-size:13.5px; color:var(--ink-soft); margin-top:14px;}
.hide-bot{position:absolute; left:-9999px;}
.state-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:10px; margin:22px 0;}
.state-grid a{background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-weight:600; color:var(--blue-deep); font-size:15px; border-bottom:1px solid var(--line);}
.state-grid a:hover{border-color:var(--blue); color:var(--blue);}
.updated{font-size:14px; color:var(--ink-soft);}

/* header safety: override page-level FAQ <details> styles, and keep the header inside very narrow panes */
.site-header details.mobile-menu{padding:0; border:0;}
.site-header details.mm-group{padding:0; border-bottom:1px solid var(--line);}
.site-header .mm-group summary{display:block; font-family:'Public Sans',system-ui,sans-serif; font-size:16px; font-weight:700; color:var(--blue-deep); padding:14px;}
.site-header .mobile-menu > summary{font-size:0; padding:0;}
.site-header nav.wrap{min-width:0;}
@media (max-width:420px){
  .site-header nav.wrap{padding:10px 12px; gap:8px;}
  .site-header .brand{font-size:19px; gap:7px;}
  .site-header .brand .mark{width:28px; height:28px;}
  .nav-cta .btn-coral{padding:10px 14px; font-size:13.5px; white-space:nowrap;}
  .mobile-menu > summary{width:40px; height:40px;}
}
@media (max-width:340px){
  .site-header .brand{font-size:0; gap:0;}
}
/* page photos */
.page-photo{margin:0 0 34px; max-width:100%;}
.page-photo img{width:100%; height:auto; border-radius:18px; box-shadow:0 20px 40px -22px rgba(20,38,59,.45); background:#e9eef5;}
.prose{max-width:860px;}

/* homepage photo band */
.photo-band{padding:72px 0; background:#fff;}
.photo-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px;}
.photo-strip figure{margin:0;}
.photo-strip img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:16px; box-shadow:0 18px 36px -22px rgba(20,38,59,.45);}
.photo-strip figcaption{font-size:14.5px; color:var(--ink-soft); margin-top:10px; font-weight:600;}
@media (max-width:860px){ .photo-strip{grid-template-columns:1fr;} .photo-band{padding:52px 0;} }

.prose h3{font-size:21px; color:var(--blue-deep); margin:34px 0 10px;}

/* slogan */
.foot-slogan{font-family:'Source Serif 4',Georgia,serif; font-size:20px; font-weight:600; color:#fff; line-height:1.25; margin:0 0 10px; max-width:20ch;}
.foot-slogan em{color:#FFD8CB;}
.slogan-quote{font-family:'Source Serif 4',Georgia,serif; font-size:clamp(24px,3.4vw,32px); line-height:1.25; color:var(--blue-deep); border-left:4px solid var(--coral); padding:6px 0 6px 18px; margin:6px 0 26px !important;}
.slogan-quote em{color:var(--coral-dark);}

.tb-slogan strong{font-family:'Source Serif 4',Georgia,serif; font-size:15px; font-weight:600; margin-right:8px;}

.mm-link{display:block; padding:14px; font-weight:700; color:var(--blue-deep); font-size:16px; border-bottom:1px solid var(--line); border-radius:0;}
.mm-link:hover{background:var(--paper);}

/* walkers-first homepage */
.walk-band{padding:80px 0; background:#fff;}
.walk-band .card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; margin:8px 0 8px;}
.walk-band .card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px;}
.walk-band .card h3{font-size:19px; color:var(--blue-deep); margin:0 0 8px;}
.walk-band .card p{font-size:15.5px; color:var(--ink-soft); margin:0;}
.steps-title{font-size:22px; color:var(--blue-deep); margin:44px 0 16px;}
.steps-row{list-style:none; counter-reset:s; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px;}
.steps-row li{counter-increment:s; position:relative; padding:20px 18px 18px 18px; border-radius:16px; background:var(--cream); border:1px solid var(--line);}
.steps-row li::before{content:counter(s); display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--blue); color:#fff; font-weight:800; margin-bottom:10px;}
.steps-row b{display:block; font-family:'Source Serif 4',Georgia,serif; font-size:18px; color:var(--blue-deep); margin-bottom:6px;}
.steps-row span{font-size:15px; color:var(--ink-soft); line-height:1.55;}
.band-cta{margin:28px 0 0; display:flex; gap:12px; flex-wrap:wrap;}
.owner-band{padding:72px 0; background:linear-gradient(175deg,var(--blue) 0%,var(--blue-deep) 100%); color:#fff;}
.owner-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.owner-band .kicker{color:#FFD8CB;}
.owner-slogan{font-family:'Source Serif 4',Georgia,serif; font-size:clamp(30px,4.4vw,48px); line-height:1.12; margin:6px 0 16px; font-weight:600;}
.owner-slogan em{color:#FFD8CB;}
.owner-text{font-size:18px; color:#D9E6F5; line-height:1.65; max-width:46ch;}
.owner-band .btn-line{color:#fff; border-color:rgba(255,255,255,.6);}
.owner-photo img{width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:20px; box-shadow:0 30px 60px -24px rgba(0,0,0,.5);}
@media (max-width:860px){ .owner-grid{grid-template-columns:1fr;} .walk-band{padding:56px 0;} .owner-band{padding:52px 0;} }
/* slogan under the logo */
.site-header .brand{align-items:center;}
.brand-text{display:flex; flex-direction:column; line-height:1.05;}
.brand-name{font-family:'Source Serif 4',Georgia,serif; font-weight:700; font-size:22px; color:var(--blue-deep);}
.brand-tag{font-family:'Public Sans',system-ui,sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.04em; color:var(--coral-dark); white-space:nowrap; margin-top:3px; text-transform:none;}
@media (max-width:1240px){ .brand-tag{font-size:10px;} }
@media (max-width:420px){ .brand-name{font-size:19px;} .brand-tag{font-size:8.5px; letter-spacing:.02em;} }
@media (max-width:360px){ .brand-tag{display:none;} }
/* owner + walker photo pair */
.photo-duo{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:22px 0 30px;}
.photo-duo figure{margin:0;}
.photo-duo img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:16px; box-shadow:0 18px 36px -22px rgba(20,38,59,.45); background:#e9eef5;}
.photo-duo figcaption{font-size:14.5px; color:var(--ink-soft); margin-top:10px; line-height:1.5;}
.photo-duo figcaption b{color:var(--blue-deep);}
@media (max-width:700px){ .photo-duo{grid-template-columns:1fr;} }
/* solid white button for dark backgrounds */
.btn-white{background:#fff; color:#2A68B0; border:2px solid #fff; font-weight:800; box-shadow:0 10px 24px -10px rgba(0,0,0,.45);}
.btn-white:hover{background:var(--cream); color:#235386; transform:translateY(-1px);}

/* longer homepage headline */
.hero h1{max-width:15ch; font-size:clamp(32px,4.2vw,52px);}

/* three small illustrative photos (originals are about 400 px wide, so never stretch them) */
.photo-trio{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:20px 0 28px;}
.photo-trio figure{margin:0;}
.photo-trio img{width:100%; max-width:400px; height:auto; display:block; border-radius:12px; box-shadow:0 14px 28px -20px rgba(20,38,59,.5);}
@media (max-width:760px){ .photo-trio{grid-template-columns:1fr;} .photo-trio img{margin:0 auto;} }
/* Fraunces ligature fix: the "fr" / "f" shapes in headings (e.g. "upfront") rendered oddly */
h1,h2,h3,h4,h5,.display,.brand-name,.owner-slogan,.foot-slogan,.slogan-quote,.hero-trust .num,.steps-row b,summary{
  font-variant-ligatures:none;
  font-feature-settings:"liga" 0,"dlig" 0,"calt" 0,"clig" 0;
  font-kerning:normal;
}
/* f-r spacing fix: Fraunces' wide "f" touched the next letter ("upfront", "front"); open the tracking a little */
h1,h2,h3,h4,h5,.display,.brand-name,.owner-slogan,.foot-slogan,.slogan-quote,.hero-trust .num,.steps-row b,summary{
  letter-spacing:.004em !important;
}
.hero h1{letter-spacing:0 !important;}
/* homepage redesign */
.hx{background:linear-gradient(180deg,#FDFAEB 0%,#FFFFFF 100%); padding:56px 0 64px; overflow:hidden;}
.hx-grid{max-width:1180px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:center;}
.hx-pill{display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); color:var(--blue-deep); padding:7px 14px; border-radius:999px; font-size:13.5px; font-weight:700; box-shadow:0 6px 16px -10px rgba(20,38,59,.3);}
.hx-pill i{width:8px; height:8px; border-radius:50%; background:var(--coral); display:block;}
.hx h1{font-size:clamp(34px,4.6vw,58px); line-height:1.05; color:var(--blue-deep); margin:18px 0 16px; max-width:14ch; letter-spacing:0 !important;}
.hx h1 em{color:var(--coral-dark); font-style:italic;}
.hx-lead{font-size:18.5px; line-height:1.65; color:var(--ink-soft); max-width:46ch; margin:0;}
.hx-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
.hx-btn{display:flex; flex-direction:column; gap:2px; padding:14px 24px; border-radius:16px; min-width:210px; transition:transform .15s ease, box-shadow .15s ease;}
.hx-btn b{font-size:17px; font-weight:800;}
.hx-btn span{font-size:13.5px; font-weight:600; opacity:.9;}
.hx-btn:hover{transform:translateY(-2px);}
.hx-walker{background:var(--coral); color:#fff; box-shadow:0 14px 28px -14px rgba(253,103,64,.8);}
.hx-owner{background:#fff; color:#2A68B0; border:2px solid #2A68B0;}
.hx-points{list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:9px; font-size:15px; font-weight:600; color:var(--ink);}
.hx-points li{display:flex; align-items:center; gap:10px;}
.hx-points li::before{content:""; width:20px; height:20px; border-radius:50%; background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat; flex:none;}
.hx-visual{position:relative; display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:1fr 1fr; gap:14px; aspect-ratio:1.04;}
.hx-visual figure{margin:0; overflow:hidden; border-radius:22px; box-shadow:0 26px 50px -26px rgba(20,38,59,.55);}
.hx-visual img{width:100%; height:100%; object-fit:cover; display:block;}
.hx-main{grid-column:1; grid-row:1 / span 2;}
.hx-a{grid-column:2; grid-row:1;}
.hx-b{grid-column:2; grid-row:2;}
.hx-card{position:absolute; left:-18px; bottom:26px; display:flex; align-items:center; gap:12px; background:#fff; border-radius:16px; padding:12px 16px 12px 12px; box-shadow:0 22px 40px -18px rgba(20,38,59,.55); max-width:300px;}
.hx-route{width:74px; height:40px; flex:none;}
.hx-card b{display:block; font-size:14.5px; color:var(--blue-deep);}
.hx-card span{display:block; font-size:12px; color:var(--ink-soft); font-weight:600; line-height:1.35; margin-top:2px;}
@media (max-width:980px){ .hx-grid{grid-template-columns:1fr; gap:34px;} .hx h1{max-width:18ch;} .hx-visual{aspect-ratio:1.2;} .hx-card{left:10px;} }
@media (max-width:520px){ .hx{padding:36px 0 44px;} .hx-btn{min-width:100%;} .hx-visual{grid-template-columns:1fr 1fr; grid-template-rows:auto auto; aspect-ratio:auto;} .hx-main{grid-column:1 / span 2; grid-row:1; aspect-ratio:16/10;} .hx-a,.hx-b{grid-row:2; aspect-ratio:1;} .hx-a{grid-column:1;} .hx-b{grid-column:2;} .hx-card{position:static; grid-column:1 / span 2; max-width:none; margin-top:2px;} }

.px-kicker{display:block; font-size:13px; font-weight:800; letter-spacing:.1em; color:var(--coral); margin-bottom:10px;}
.vision{background:linear-gradient(175deg,var(--blue) 0%,var(--blue-deep) 100%); color:#fff; padding:72px 0; text-align:center;}
.vision .px-kicker{color:#FFD8CB;}
.vision-text{font-family:'Source Serif 4',Georgia,serif; font-size:clamp(26px,3.8vw,44px); line-height:1.2; max-width:22ch; margin:0 auto 18px; font-weight:600;}
.vision-sub{font-size:15px; font-weight:700; letter-spacing:.06em; color:#CBDCF0; margin:0;}

.paths{padding:84px 0; background:var(--paper);}
.px-head{max-width:640px; margin-bottom:38px;}
.px-head h2{font-size:clamp(28px,3.6vw,42px); color:var(--blue-deep); margin:0 0 12px;}
.px-head p{font-size:17px; color:var(--ink-soft); margin:0;}
.paths-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.path{background:#fff; border:1px solid var(--line); border-radius:24px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 24px 48px -30px rgba(20,38,59,.4);}
.path > img{width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; display:block;}
.path-body{padding:26px 28px 30px;}
.path-tag{display:inline-block; font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--blue); margin-bottom:8px;}
.path h3{font-size:26px; line-height:1.15; color:var(--blue-deep); margin:0 0 14px;}
.path ul{margin:0 0 22px; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px;}
.path li{position:relative; padding-left:28px; font-size:16px; color:var(--ink-soft); line-height:1.5;}
.path li::before{content:""; position:absolute; left:0; top:3px; width:18px; height:18px; border-radius:50%; background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat;}
.path-cta{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin:0;}
.path-link{font-weight:700; color:var(--blue); border-bottom:1px solid rgba(52,123,198,.35);}
@media (max-width:900px){ .paths-grid{grid-template-columns:1fr;} .paths{padding:56px 0;} .vision{padding:52px 0;} }
.hx-main img{object-position:46% 50%;}
.hx-a img{object-position:60% 40%;}
.hx-b img{object-position:38% 50%;}

/* phone number */
.tb-phone{font-weight:800; white-space:nowrap;}
.tb-phone::before{content:'\260E\00a0';}
.foot-phone{margin:10px 0 0;}
.foot-phone a{color:#fff; font-weight:700; border-bottom:1px solid rgba(255,255,255,.35);}

.foot-hours{margin:6px 0 0; font-size:12.5px; line-height:1.5; color:#8CA6C4;}

/* hero with background photo */
.hx.hx-bg{position:relative; padding:0; min-height:clamp(560px, 82vh, 780px); display:flex; align-items:center; background:#14314F; color:#fff; overflow:hidden;}
.hx-photo,.hx-photo img{position:absolute; inset:0; width:100%; height:100%; display:block;}
.hx-photo img{object-fit:cover; object-position:62% 24%;}
.hx-shade{position:absolute; inset:0; background:linear-gradient(90deg, rgba(14,34,58,.88) 0%, rgba(14,34,58,.68) 38%, rgba(14,34,58,.22) 72%, rgba(14,34,58,.05) 100%), linear-gradient(0deg, rgba(14,34,58,.45) 0%, rgba(14,34,58,0) 40%);}
.hx-inner{position:relative; z-index:2; width:100%; max-width:1180px; margin:0 auto; padding:72px 24px 96px; display:flex; align-items:flex-end; justify-content:space-between; gap:32px;}
.hx-bg .hx-copy{max-width:560px; animation:hxIn .8s ease both;}
.hx-bg .hx-pill{background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.34); color:#fff; backdrop-filter:blur(6px); box-shadow:none;}
.hx-bg .hx-pill i{background:#FD6740;}
.hx-bg h1{color:#fff; font-size:clamp(36px,4.6vw,60px); line-height:1.06; max-width:17ch; margin:20px 0 18px; text-shadow:0 2px 24px rgba(0,0,0,.28);}
.hx-bg h1 em{color:#FFD8CB;}
.hx-bg .hx-lead{color:#E6EEF8; font-size:19px; max-width:46ch; text-shadow:0 1px 14px rgba(0,0,0,.3);}
.hx-bg .hx-ctas{margin-top:28px;}
.hx-bg .hx-owner{background:#fff; color:#2A68B0; border:2px solid #fff;}
.hx-bg .hx-points{color:#fff; margin-top:26px;}
.hx-bg .hx-points li::before{background-color:#FD6740;}
.hx-bg .hx-card{position:static; align-self:flex-end; flex:none; margin-bottom:6px; animation:hxIn 1s .25s ease both;}
@keyframes hxIn{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
@media (prefers-reduced-motion:reduce){ .hx-bg .hx-copy,.hx-bg .hx-card{animation:none;} }
@media (max-width:980px){
  .hx-inner{flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:56px 24px 80px;}
  .hx-bg .hx-card{align-self:flex-start;}
  .hx-shade{background:linear-gradient(0deg, rgba(14,34,58,.92) 0%, rgba(14,34,58,.74) 48%, rgba(14,34,58,.35) 100%);}
}
@media (max-width:520px){ .hx.hx-bg{min-height:640px;} .hx-inner{padding:40px 20px 64px;} .hx-bg .hx-btn{min-width:100%;} .hx-photo img{object-position:70% 30%;} }

/* trust strip floats over the photo's lower edge */
.hx-bg + .trust-strip{position:relative; z-index:3; background:transparent; border:0; margin-top:-34px; padding:0 24px;}
.hx-bg + .trust-strip .wrap{max-width:1100px; margin:0 auto; background:#fff; border-radius:18px; box-shadow:0 24px 48px -26px rgba(20,38,59,.55); padding:18px 28px;}
@media (max-width:760px){ .hx-bg + .trust-strip{margin-top:-22px; padding:0 14px;} .hx-bg + .trust-strip .wrap{padding:14px 18px;} }
/* inner pages 2.0 */
.page-hero.has-photo{background-color:#14314F; background-image:linear-gradient(90deg,rgba(14,34,58,.90) 0%,rgba(14,34,58,.66) 48%,rgba(14,34,58,.22) 100%), var(--hero-img); background-size:cover; background-position:center; min-height:300px; display:flex; align-items:center; padding:76px 0 70px;}
.page-hero.has-photo > .wrap{width:100%;}
.page-hero.has-photo h1{font-size:clamp(32px,4.2vw,54px); max-width:20ch; text-shadow:0 2px 22px rgba(0,0,0,.32);}
.page-hero.has-photo p.lead{color:#E6EEF8; max-width:56ch; text-shadow:0 1px 14px rgba(0,0,0,.3);}
.page-hero.has-photo .crumbs{color:#C9D8EA;}
.page-grid{display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:52px; align-items:start; max-width:1180px;}
.page-grid .prose{max-width:none;}
.side-cta{position:sticky; top:118px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px 22px; box-shadow:0 26px 50px -32px rgba(20,38,59,.55);}
.side-cta h3{font-size:21px; color:var(--blue-deep); margin:0 0 8px;}
.side-cta p{font-size:15px; color:var(--ink-soft); margin:0 0 16px;}
.side-cta .btn{display:flex; width:100%; margin:0 0 10px;}
.side-cta .side-note{font-size:13px; margin:14px 0 0; line-height:1.55;}
.side-cta .side-note a{font-weight:800; color:var(--blue-deep); border:0;}
@media (max-width:980px){ .page-grid{grid-template-columns:1fr; gap:30px;} .side-cta{position:static;} .page-hero.has-photo{min-height:240px; padding:56px 0 52px; background-image:linear-gradient(0deg,rgba(14,34,58,.9) 0%,rgba(14,34,58,.72) 55%,rgba(14,34,58,.5) 100%), var(--hero-img);} }

.prose ul{list-style:none; padding:0;}
.prose ul li{position:relative; padding-left:30px; margin:0 0 10px;}
.prose ul li::before{content:""; position:absolute; left:0; top:.42em; width:18px; height:18px; border-radius:50%; background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat;}
.prose .card-grid .card{border-top:4px solid var(--blue); transition:transform .15s ease, box-shadow .15s ease;}
.prose a.card:hover{transform:translateY(-3px); box-shadow:0 22px 40px -26px rgba(20,38,59,.55);}
.prose h2{padding-top:6px;}
.faq-list details{background:#fff; border:1px solid var(--line); border-radius:14px; padding:4px 20px; margin:0 0 12px;}

.explore{padding:56px 0; background:#fff;}
.explore h2{font-size:26px; color:var(--blue-deep); margin:0 0 20px;}
.explore-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px;}
.explore-grid a{display:flex; justify-content:space-between; align-items:center; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:16px 18px; font-weight:700; color:var(--blue-deep); transition:border-color .15s ease, transform .15s ease;}
.explore-grid a:hover{border-color:var(--blue); transform:translateY(-2px);}
.explore-grid a span{color:var(--coral);}

.park-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin:18px 0 8px;}
.park{background:#fff; border:1px solid var(--line); border-top:4px solid var(--coral); border-radius:16px; padding:16px 18px; display:flex; flex-direction:column; gap:8px; box-shadow:0 14px 28px -22px rgba(20,38,59,.5);}
.park h3{font-size:18px; line-height:1.25; color:var(--blue-deep); margin:0;}
.park .addr{margin:0; font-size:14px; color:var(--ink-soft);}
.park .badges{display:flex; flex-wrap:wrap; gap:6px; margin:0;}
.bd{background:#EAF2FB; color:#235386; border-radius:999px; padding:4px 10px; font-size:12.5px; font-weight:700;}
.park-map{margin-top:auto; font-size:14px; font-weight:700; color:var(--blue); border:0 !important;}
.park-more{font-size:14.5px; color:var(--ink-soft);}
/* buttons inside page text keep their own colors */
.prose a.btn{border-bottom:0; font-weight:700;}
.prose a.btn-coral{color:#fff;}
.prose a.btn-line{color:var(--blue);}
.prose a.btn-line:hover{color:#fff;}
.side-cta a.btn-coral{color:#fff;}
.side-cta a.btn-line{color:var(--blue);}

.explore-grid{grid-template-columns:repeat(3,1fr);}
@media (max-width:760px){ .explore-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .explore-grid{grid-template-columns:1fr;} }

/* social and app */
.foot-social{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:26px 0 6px;}
.foot-social-label{font-size:13.5px; font-weight:700; color:#fff; margin-right:6px;}
.soc{width:42px; height:42px; border-radius:50%; background:#fff; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 8px 18px -10px rgba(0,0,0,.6); transition:transform .15s ease; cursor:default;}
.soc svg{width:24px; height:24px; display:block;}
a.soc{cursor:pointer;} a.soc:hover,.soc:hover{transform:translateY(-2px);}

.app-band{background:#F4F7FB; padding:84px 0; overflow:hidden;}
.app-grid{max-width:1180px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.app-copy h2{font-size:clamp(28px,3.6vw,42px); color:var(--blue-deep); margin:0 0 14px; max-width:16ch;}
.app-copy p{font-size:17.5px; color:var(--ink-soft); line-height:1.6; max-width:44ch; margin:0 0 22px;}
.store-row{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:16px;}
.store{position:relative; display:inline-flex; align-items:center; gap:12px; background:#000; color:#fff; border:1.5px solid #9AA3AF; border-radius:12px; padding:9px 18px 9px 14px; min-width:176px;}
.store svg{width:28px; height:28px; flex:none;}
.store small{display:block; font-size:11px; line-height:1.1; opacity:.9;}
.store b{display:block; font-size:19px; line-height:1.1; font-weight:700;}
.store em{position:absolute; top:-10px; right:-6px; background:var(--coral); color:#fff; font-style:normal; font-size:11px; font-weight:800; padding:3px 8px; border-radius:999px;}
a.store{cursor:pointer;}
.app-copy .app-note{font-size:14px; color:var(--ink-soft); margin:6px 0 0;}
.phones{position:relative; height:440px; display:flex; justify-content:center;}
.phone{position:absolute; width:210px; height:420px; background:#101820; border-radius:36px; padding:9px; box-shadow:0 36px 60px -30px rgba(20,38,59,.7);}
.phone-back{left:calc(50% - 190px); top:30px; transform:rotate(-4deg);}
.phone-front{left:calc(50% - 20px); top:0; transform:rotate(3deg);}
.screen{width:100%; height:100%; background:#fff; border-radius:28px; padding:16px 14px; display:flex; flex-direction:column; gap:10px; overflow:hidden;}
.s-top b{font-size:15px; color:var(--blue-deep);}
.s-chip{background:#FDFAEB; border:1px solid var(--line); border-radius:10px; font-size:11.5px; font-weight:700; padding:7px 10px; color:var(--ink);}
.s-chip.ok{background:#E8F6EC; border-color:#BFE3C9; color:#1E6B3A;}
.s-card{display:flex; gap:10px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:10px;}
.s-card i{width:30px; height:30px; border-radius:50%; background:#EAF2FB; flex:none;}
.s-card b{display:block; font-size:12.5px; color:var(--blue-deep);}
.s-card span{display:block; font-size:11px; color:var(--ink-soft);}
.s-btn{margin-top:auto; background:var(--coral); color:#fff; text-align:center; font-weight:800; font-size:13px; padding:11px; border-radius:999px;}
.s-map{width:100%; height:auto; display:block;}
.s-photo{height:110px; border-radius:12px; background:linear-gradient(180deg,rgba(20,38,59,0) 40%,rgba(20,38,59,.35)), url('/assets/img/walker-potty-photo-update.jpg') center/cover;}
.s-note{font-size:11.5px; font-weight:700; color:var(--ink-soft);}
@media (max-width:900px){ .app-grid{grid-template-columns:1fr;} .app-band{padding:56px 0;} .phones{height:430px;} }
@media (max-width:460px){ .phone-back{display:none;} .phone-front{left:calc(50% - 105px); transform:rotate(2deg);} .store{min-width:100%;} }
.final-cta h2{max-width:24ch !important;}

/* responsive hardening */
html{-webkit-text-size-adjust:100%; text-size-adjust:100%;}
body{overflow-x:clip; overflow-wrap:break-word;}
img,video,svg{max-width:100%;}
.btn{min-height:44px;}
.path-link{display:inline-block; padding:12px 0;}
.side-cta .side-note a{display:inline-block; padding:10px 0;}
.foot-phone a,.legal-links a,.state-links a{display:inline-block; padding:4px 0;}
.sticky-cta a{min-height:52px; display:flex; align-items:center; justify-content:center;}
.sticky-cta{padding-bottom:env(safe-area-inset-bottom,0px); background:#fff;}
@media (max-width:760px){ body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px));} }
.form-card input,.form-card select,.form-card textarea{font-size:16px;}
@media (max-width:480px){
  .site-header nav.wrap{padding:10px 12px; gap:8px;}
  .site-header .brand{font-size:19px; gap:7px;}
  .site-header .brand .mark{width:28px; height:28px;}
  .brand-name{font-size:19px;}
  .brand-tag{font-size:8.5px; letter-spacing:.02em;}
  .nav-cta .btn-coral{padding:10px 16px; font-size:14px; min-height:44px; white-space:nowrap;}
  .mobile-menu > summary{width:44px; height:44px;}
  .wrap{padding-left:18px; padding-right:18px;}
}
@media (max-width:360px){ .brand-tag{display:none;} .nav-cta .btn-coral{padding:10px 12px;} }
@media (min-width:1600px){
  .wrap,.hx-inner,.hx-grid,.page-grid,.topbar .wrap,.site-header nav.wrap,.app-grid{max-width:1320px;}
  .hx-bg h1{font-size:68px;}
}
@media (min-width:2200px){ html{font-size:112.5%;} }
@media (hover:none){ .hx-btn:hover,.explore-grid a:hover,.prose a.card:hover{transform:none;} }
/* readable small text */
@media (max-width:1240px){ .brand-tag{font-size:11px;} }
@media (max-width:480px){ .brand-tag{font-size:10.5px; white-space:normal; line-height:1.15; max-width:104px; letter-spacing:0;} .site-header .brand{align-items:center;} }
.store small,.store em{font-size:12px;}
.s-chip,.s-note,.s-card span{font-size:12px;}
/* hero: photo on the right, text on solid navy */
.hx.hx-bg{background:#0E223A;}
.hx-photo{left:auto; right:0; width:70%;}
.hx-photo img{object-fit:cover; object-position:46% 42%;}
.hx-shade{background:linear-gradient(90deg,#0E223A 0%,#0E223A 31%,rgba(14,34,58,.72) 42%,rgba(14,34,58,0) 60%), linear-gradient(0deg,rgba(14,34,58,.40) 0%,rgba(14,34,58,0) 32%);}
.hx-bg .hx-copy{max-width:520px;}
.hx-bg h1{text-shadow:none;}
@media (max-width:980px){
  .hx.hx-bg{display:block; min-height:0;}
  .hx-photo{position:relative; inset:auto; width:100%; height:auto; aspect-ratio:16/10;}
  .hx-photo img{position:absolute; inset:0; object-position:50% 40%;}
  .hx-shade{display:none;}
  .hx-inner{padding:30px 20px 76px; background:#0E223A; flex-direction:column; align-items:flex-start;}
}
@media (max-width:520px){ .hx.hx-bg{min-height:0;} .hx-photo{aspect-ratio:4/3;} }