/* 2026-11-08 Partner sections: content-first, compact, responsive; no generic service graphic in dedicated audiences. */
.home-partner-section.partner-feature-stack{scroll-margin-top:134px;padding:clamp(30px,4.5vw,68px) clamp(17px,3vw,52px);background:#f3f7fc;overflow:hidden}
.partner-feature-wrap{width:min(1440px,100%);margin:0 auto;display:grid;gap:24px}
.partner-feature-card{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:clamp(22px,3.8vw,52px);padding:clamp(22px,3.2vw,43px);border-radius:23px;overflow:hidden;background:linear-gradient(118deg,#061331,#0b2857);color:#fff;border:1px solid #2766ae;box-shadow:0 15px 45px rgba(5,16,51,.1);scroll-margin-top:134px;min-height:0}
.partner-feature-parking{background:linear-gradient(118deg,#081b41,#103c71);border-color:#3a75be}
.partner-feature-copy{min-width:0;align-self:center}
.partner-feature-kicker{display:block;font:800 12px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.15em;color:#78d6ff;text-transform:uppercase}
.partner-feature-card h2{color:#fff;font:760 clamp(28px,3.05vw,43px)/1.14 Montserrat,Arial,sans-serif;letter-spacing:-.036em;margin:13px 0 17px;max-width:650px;text-wrap:balance}
.partner-feature-card .partner-feature-intro{color:#d5e4f6;font-size:clamp(15px,1.4vw,17px);line-height:1.6;max-width:60ch;margin:0 0 19px}
.partner-feature-benefits{display:grid;gap:12px;margin:0 0 20px}
.partner-feature-benefit{display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;align-items:center;min-height:44px}
.partner-feature-benefit-icon{display:grid;place-items:center;justify-self:center;width:42px;height:42px;border-radius:12px;border:1px solid #36a9ed;color:#8bdcff;background:rgba(0,133,235,.16);line-height:0;box-sizing:border-box}
.partner-feature-benefit-icon svg{width:21px;height:21px;display:block;margin:0;flex:none}
.partner-feature-benefit strong,.partner-feature-benefit div>span{display:block}
.partner-feature-benefit strong{font-size:15px;line-height:1.3;font-weight:760;color:#fff}
.partner-feature-benefit div>span{color:#c0d4ed;font-size:13px;line-height:1.42;margin-top:2px}
.partner-feature-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.partner-feature-card .partner-feature-actions .button{margin:0;padding:13px 23px;min-height:51px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1.3;white-space:normal;text-align:center;box-sizing:border-box}
.partner-feature-more{color:#badfff!important;text-decoration:underline!important;text-underline-offset:4px;font:750 13px/1.4 Montserrat,Arial,sans-serif}
.partner-feature-more:hover{color:#fff!important}
.partner-feature-card .partner-feature-note{margin:12px 0 0;color:#a5bede;font-size:12px;line-height:1.4}
.partner-feature-image{margin:0;position:relative;height:auto;aspect-ratio:1.25;max-height:465px;min-height:0;border-radius:17px;overflow:hidden;align-self:stretch;border:1px solid rgba(121,190,255,.35);background:#071b44}
.partner-feature-image img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center;transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.partner-feature-detailer .partner-feature-image img{object-position:48% 50%}
.partner-feature-image:hover img{transform:scale(1.035)}
.partner-feature-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(5,16,51,.88));padding:24px 15px 14px;font:800 10px/1.35 Montserrat,Arial,sans-serif;letter-spacing:.13em;color:#fff}
.partner-general-cta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 16px;padding:8px 12px 2px;font-size:14px;color:#34506f;text-align:center}
.partner-general-cta a{color:#0759d3!important;text-decoration:underline!important;text-underline-offset:4px;font-weight:760}
/* Dedicated landing page icon boxes also receive consistent vertical and horizontal centering. */
.partner-strip-icon{display:grid!important;place-items:center!important;padding:0!important;width:42px;height:42px;box-sizing:border-box;line-height:1!important;text-align:center;flex:0 0 42px}
.partner-strip-icon svg{display:block;max-width:21px;max-height:21px}
@media(max-width:950px){.partner-feature-card{grid-template-columns:1fr;gap:23px}.partner-feature-image{width:100%;aspect-ratio:16/9;max-height:none}.partner-feature-wrap{gap:18px}}
@media(max-width:600px){.home-partner-section.partner-feature-stack{padding:21px 14px 33px}.partner-feature-card{padding:22px 18px;gap:20px;border-radius:17px}.partner-feature-card h2{font-size:clamp(28px,8vw,38px)}.partner-feature-image{aspect-ratio:5/4;border-radius:13px}.partner-feature-actions .button{width:100%}.partner-feature-more{padding:4px 0}.partner-feature-benefit{gap:10px}.partner-feature-benefit-icon{width:40px;height:40px}.partner-feature-benefit{grid-template-columns:40px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.partner-feature-image img{transition:none}}
/* The service-network graphic is reserved for Other Service Partners on the homepage and the general services landing page. */
.partner-service-visual{display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:clamp(27px,3vw,44px);gap:18px;border:1px solid rgba(115,180,255,.38);border-radius:22px;background:radial-gradient(circle at 80% 10%,rgba(19,111,235,.33),transparent 50%),linear-gradient(140deg,#061943,#104182);box-shadow:0 22px 70px rgba(0,0,0,.22);color:#fff}
.partner-service-visual-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.partner-service-visual-header span{font:800 12px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.15em;color:#88d8ff}
.partner-service-visual-header img{width:50px;height:50px;object-fit:contain}
.partner-service-visual h2{color:#fff;font:750 clamp(25px,2.8vw,38px)/1.16 Montserrat,Arial,sans-serif;letter-spacing:-.035em;margin:3px 0 5px}
.partner-service-tiles{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.partner-service-tiles span{display:grid;place-items:center;min-height:47px;padding:10px 6px;border:1px solid rgba(153,204,255,.32);border-radius:999px;background:rgba(4,22,55,.42);text-align:center;color:#eaf4ff;font:750 13px/1.3 Montserrat,Arial,sans-serif}
.partner-service-visual p{color:#c8e1fa;font-size:14px;line-height:1.6;margin:0;max-width:48ch}
@media(max-width:980px){.partner-service-visual{min-height:330px}}

/* Third card mirrors detailers and parking while keeping its service-specific network graphic. */
.partner-feature-other{background:linear-gradient(118deg,#071a3a,#0a2b57);border-color:#3171b6}
.partner-feature-other .partner-service-visual{min-height:0;align-self:stretch;justify-content:center;padding:clamp(23px,3vw,39px);gap:17px;border-radius:17px;box-shadow:none;background:radial-gradient(circle at 90% 8%,rgba(23,113,247,.36),transparent 53%),linear-gradient(140deg,#0c2a5b,#17447f)}
.partner-feature-other .partner-service-visual h3{color:#fff;margin:0;font:750 clamp(25px,2.4vw,35px)/1.18 Montserrat,Arial,sans-serif;letter-spacing:-.03em}
.partner-feature-other .partner-service-tiles span{border-radius:16px;min-height:54px;line-height:1.4;display:flex;align-items:center;justify-content:center;padding:9px 12px}
.partner-feature-other .partner-service-visual-header img{max-width:50px;max-height:50px}
@media(max-width:950px){.partner-feature-other .partner-service-visual{min-height:275px}}
@media(max-width:600px){.partner-feature-other .partner-service-visual{min-height:0;border-radius:13px;padding:22px 18px}.partner-feature-other .partner-service-tiles{gap:8px}.partner-feature-other .partner-service-tiles span{font-size:12px;min-height:53px;padding:8px}}

/* Respect sticky navigation on direct partner anchors and keep all three cards visible when navigating. */
#partners,#services,#parking,#other-service-partners{scroll-margin-top:134px}
@media(max-width:750px){#partners,#services,#parking,#other-service-partners{scroll-margin-top:105px}}

/* 2026-11-08d: Section target uses sticky-header scroll padding ONCE. Combining
   a large scroll-margin with html scroll-padding created a double offset.
   Mobile anchor JS independently scrolls to header height + 16px. */
#partners{scroll-margin-top:0!important}

/* Navigation anchor correction: target the first card itself, not the light
   outer section padding. Sticky header clearance comes from html scroll-padding
   on desktop or from the existing mobile anchor handler, never both. */
#partners,#services,#parking,#other-service-partners{scroll-margin-top:0!important}

/* Align primary in-page homepage anchors with the sticky header on desktop.
   Previous negative scroll margins could hide the ecosystem/map heading. */
#ecosystem:target,#network-map:target,#owners:target,#trevlers:target{scroll-margin-top:0!important}

/* Owner calculator jumps also use the shared header clearance, not a second 90px margin. */
#owner-economics:target{scroll-margin-top:0!important}
