/* R7: continuous price color, centered editorial rhythm and a distinct plan page. */
.main-nav { gap:20px; }
.header-inner { gap:24px; }
p { text-wrap:pretty; }
:is(.page-intro,.services-help,.membership-heading,.membership-benefit-row,.membership-subscription-strip,.membership-offer,.faq-intro,.account-section,.empty-state) :is(p,h1,h2,h3) { text-wrap:balance; }
.equipment-price-table tr>:nth-child(n+2) { text-align:center; }
.pricing-membership-note { margin-inline:auto; text-align:center; text-wrap:balance; }
.page-services .promo-grid { grid-template-columns:1fr 1.15fr; }
.promo-copy { grid-column:2; grid-row:1; }
.promo-price-art { grid-column:1; grid-row:1; }
.promo-days { background:none; padding:0; border-radius:0; font-size:14px; }
@property --price-angle { syntax:'<angle>'; inherits:false; initial-value:0deg; }
.promo-number { letter-spacing:0; line-height:1.25; padding-inline:.08em; margin-inline:-.08em; background:conic-gradient(from var(--price-angle),#0d89a7,#81b62d,#124f66,#0d89a7); background-clip:text; -webkit-background-clip:text; color:transparent; animation:price-orbit 9s linear infinite; }
@keyframes price-orbit { to { --price-angle:360deg; } }
.membership-editorial { text-align:center; padding-top:68px; }
.membership-heading { max-width:760px; margin-inline:auto; }
.membership-heading>.eyebrow { justify-content:center; }
.membership-heading h1 { font-size:clamp(48px,6.8vw,88px); }
.membership-heading>p:last-child { max-width:530px; margin:24px auto 0; color:var(--muted); }
.membership-benefit-row { max-width:980px; margin:58px auto 42px; display:grid; grid-template-columns:1fr 1fr; }
.membership-benefit-row article { padding:8px 48px; }
.membership-benefit-row article+article { border-left:1px solid var(--line); }
.membership-benefit-row h2 { font-size:25px; margin:18px 0 14px; }
.membership-benefit-row p { font-size:14px; max-width:320px; margin:auto; color:var(--muted); }
.benefit-glyph { height:72px; display:flex; justify-content:center; align-items:center; }
.benefit-glyph .icon { width:56px; height:56px; color:var(--blue); }
.membership-points-feature>strong { display:block; height:72px; font-size:64px; line-height:72px; letter-spacing:-.06em; font-weight:750; color:var(--blue); }
.membership-subscription-strip { display:flex; align-items:center; justify-content:space-between; gap:30px; border-block:1px solid var(--line); padding:28px 0; max-width:1050px; margin:auto; }
.membership-subscription-strip .eyebrow { font-size:9px; margin-bottom:5px; justify-content:center; }
.membership-subscription-strip p { margin:0; font-size:14px; color:var(--muted); }
.membership-subscription-strip strong { font-size:40px; line-height:1.2; letter-spacing:-.05em; color:var(--text); }
.membership-subscription-strip .button { flex-shrink:0; }
.editorial-demo { margin:18px auto 0; font-size:11px; }
.handy-map-marker { width:38px; height:46px; padding:0; border:0; background:none; cursor:pointer; }
.handy-map-marker .handy-marker-pin { display:block; width:38px; height:38px; border-radius:50% 50% 50% 4px; background:#103c4c; border:3px solid #fff; box-shadow:0 4px 10px #0003; transform:rotate(-45deg); }
.handy-map-marker .handy-marker-pin>span { display:grid; height:100%; place-items:center; transform:rotate(45deg); font-size:17px; font-weight:750; color:#fff; }
.handy-map-marker:focus-visible { outline:none; filter:drop-shadow(0 0 5px #0a7e9e); }
.maplibregl-control-container .maplibregl-ctrl-group { border-radius:15px; overflow:hidden; box-shadow:0 2px 10px #123b481f; }
.maplibregl-ctrl-group button { width:36px; height:36px; }
.maplibregl-ctrl-attrib { font-size:10px; line-height:20px; }
.maplibregl-popup-content { border-radius:18px; padding:16px; font:13px Manrope,sans-serif; color:#123b48; }
.maplibregl-popup-content a { display:inline-block; margin-top:7px; color:#077da5; }
@media(max-width:1200px) { .main-nav { gap:14px; }.header-inner { gap:18px; } }
@media(max-width:1060px) {
  .menu-toggle { display:grid; margin-left:auto; }
  .header-actions { display:none; }
  .main-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--bg); padding:20px 25px 30px; border-bottom:1px solid var(--line); margin:0; box-shadow:0 15px 22px #0001; max-height:calc(100dvh - 110px); overflow:auto; border-radius:0 0 22px 22px; }
  .main-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .main-nav>a { font-size:15px; padding:12px 2px; min-height:49px; }
  .main-nav>a::after { display:none; }
  .main-nav .mobile-account { display:flex; font-size:13px; border-top:1px solid var(--line); margin-top:12px; padding-top:22px; }
  .main-nav [aria-current] { color:var(--blue); }
}
@media(max-width:800px) {
  .membership-benefit-row article { padding-inline:24px; }
  .membership-subscription-strip { flex-wrap:wrap; justify-content:center; gap:20px 40px; }
  .membership-subscription-strip .button { margin-inline:20%; }
}
@media(max-width:600px) {
  .page-services .promo-grid { grid-template-columns:1fr; }
  .promo-copy { grid-column:1; grid-row:2; }
  .membership-editorial { padding-top:44px; }
  .membership-benefit-row { margin-top:38px; gap:30px; grid-template-columns:1fr; }
  .membership-benefit-row article { padding:0 22px 26px; }
  .membership-benefit-row article+article { border-left:0; border-top:1px solid var(--line); padding-top:28px; }
  .membership-subscription-strip { flex-direction:column; }
  .membership-subscription-strip .button { margin-inline:0; }
}
@media(prefers-reduced-motion:reduce) { .promo-number { animation:none; background:none; color:var(--text); } }
