/* R3: natural lettering, flowing color, and independent interactions. */
.brand .brand-wordmark { display:grid; width:max-content; height:auto; line-height:1.04; white-space:nowrap; }
.brand .brand-name { font-size:21px; font-weight:800; letter-spacing:-.04em; }
.brand .brand-subtitle { font-size:25.27px; font-weight:600; letter-spacing:.015em; color:#58a51c; }
:root[data-theme=dark] .brand .brand-subtitle { color:#98d45c; }
.topbar>.container { gap:15px; }

/* The color clouds overflow their section and fade out into the next one.
   Only the page's outer horizontal edges are clipped, never a section edge. */
.page-home #contenido { position:relative; isolation:isolate; }
.page-home #contenido>section { position:relative; background:none; overflow:visible; }
.page-home #contenido>section::before { content:""; position:absolute; z-index:-1; pointer-events:none; left:50%; top:-22%; width:100vw; height:150%; transform:translateX(-50%); background:radial-gradient(ellipse 90vw 49% at var(--cloud-x,85%) 50%,var(--cloud-color,#8bd5ea75),transparent 100%); }
.page-home .hero { --cloud-x:7%; --cloud-color:#8bd5ea70; }
.page-home .home-services { --cloud-x:96%; --cloud-color:#b5e67980; }
.page-home .process-section { --cloud-x:0%; --cloud-color:#8bcfe775; }
.page-home .dexter-section { --cloud-x:95%; --cloud-color:#b5df886d; }
.page-home .locations-section { --cloud-x:0%; --cloud-color:#8ccfe96b; }
.page-home .rewards-section { --cloud-x:98%; --cloud-color:#a8db767a; }
.page-home .reviews-section { --cloud-x:5%; --cloud-color:#82cde779; padding-top:96px; }
.page-home .shoe-section { --cloud-x:95%; --cloud-color:#a7ddea7d; }
.page-home .franchise-section { --cloud-x:0%; --cloud-color:#b5df886d; }
.page-home .faq-home { --cloud-x:95%; --cloud-color:#86cde577; }
:root[data-theme=dark] .page-home #contenido>section::before { opacity:.2; }
:is(.page-services,.page-branches,.page-branch,.page-rewards,.page-franchises) #contenido { position:relative; isolation:isolate; }
:is(.page-services,.page-branches,.page-branch,.page-rewards,.page-franchises) #contenido>section { position:relative; background:none; overflow:visible; }
:is(.page-services,.page-branches,.page-branch,.page-rewards,.page-franchises) #contenido>section::before { content:""; position:absolute; z-index:-1; pointer-events:none; left:50%; top:-25%; width:100vw; height:150%; transform:translateX(-50%); background:radial-gradient(ellipse 90vw 49% at 0% 50%,#8bd5ea60,transparent 100%); }
:is(.page-services,.page-branches,.page-branch,.page-rewards,.page-franchises) #contenido>section:nth-child(even)::before { background:radial-gradient(ellipse 90vw 49% at 100% 50%,#b5e67970,transparent 100%); }
:root[data-theme=dark] :is(.page-services,.page-branches,.page-branch,.page-rewards,.page-franchises) #contenido>section::before { opacity:.2; }
.home-services .section-heading { flex-direction:row-reverse; }
.home-services .section-heading>div { text-align:right; }
.home-services .section-heading .eyebrow { justify-content:flex-end; }
.rewards-intro { grid-template-columns:1fr 1.15fr; }
.rewards-intro>div:first-child { grid-column:2; grid-row:1; }
.rewards-intro .membership-scene { grid-column:1; grid-row:1; }
.franchise-section-grid { grid-template-columns:1fr 1.1fr; }
.franchise-options { grid-column:1; grid-row:1; }
.franchise-visual { grid-column:2; grid-row:1; }
.faq-intro { text-align:right; }
.faq-intro .eyebrow { justify-content:flex-end; }
.faq-columns { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.faq-home .faq-list { display:block; }
.faq-list details>p { animation:faq-reveal .2s ease; }
@keyframes faq-reveal { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
.hero-seal { left:auto; right:-12px; transform:none; gap:4px; }
.hero-seal>span { letter-spacing:.025em; font-size:14px; }
.hero-seal>strong { font-size:27px; }
.hero-photo>.photo-label { left:24px; right:auto; text-align:left; justify-content:flex-start; max-width:165px; }
.breathing-dot::after { inset:-2px; }
@keyframes handy-breathe { 0%,100% { transform:scale(.8); opacity:.25; } 50% { transform:scale(1.08); opacity:.85; } }
.rating-stars { display:inline-flex; gap:.06em; letter-spacing:0!important; line-height:1.3; }
.rating-stars>span { background:linear-gradient(90deg,var(--star) var(--fill),#b0bbb980 var(--fill)); background-clip:text; -webkit-background-clip:text; color:transparent; }
.review-source,.review-source:hover { font:inherit; color:inherit; text-decoration:none; }
.review-source:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.review-card blockquote { margin-bottom:25px; }
.review-author strong { overflow-wrap:anywhere; }

/* Leaflet positions the wrapper; only the pin shape rotates. */
.handy-marker { background:none; border:0; box-shadow:none; border-radius:0!important; }
.handy-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-marker .handy-marker-pin>span { display:grid; height:100%; place-items:center; transform:rotate(45deg); font-size:17px; }
.leaflet-container .leaflet-control-attribution { padding:3px 7px; border-radius:8px 0 0; background:#ffffffe8; color:#334d55; font-size:10px; }
.leaflet-control-attribution a { color:#334d55; }
.contact-dialog { transform-origin:center; }
.contact-dialog[open] { animation:contact-enter 440ms both; }
.contact-dialog[open]::backdrop { animation:contact-backdrop-in 300ms 110ms both; }
.contact-dialog.is-closing { animation:contact-exit 200ms 170ms both; pointer-events:none; }
.contact-dialog.is-closing::backdrop { animation:contact-backdrop-out 170ms both; }
@keyframes contact-enter { 0% { transform:scale(.72); opacity:0; } 70% { transform:scale(1.025); opacity:1; } 100% { transform:scale(1); opacity:1; } }
@keyframes contact-exit { from { transform:scale(1); opacity:1; } to { transform:scale(.72); opacity:0; } }
@keyframes contact-backdrop-in { from { background:#05233500; backdrop-filter:blur(0); } to { background:#05233594; backdrop-filter:blur(7px); } }
@keyframes contact-backdrop-out { from { background:#05233594; backdrop-filter:blur(7px); } to { background:#05233500; backdrop-filter:blur(0); } }
.contact-dialog.is-closing { animation-timing-function:cubic-bezier(.4,0,.8,.2); }
.dialog-icon>.icon { width:28px; height:28px; }
.site-footer,:root[data-theme=dark] .site-footer { position:relative; background:#103c4c; color:#f4faf8; border-top:2px solid #78b8c9; padding-top:32px; }
.site-footer .footer-bottom { color:#d1e2e5; border-top-color:#ffffff30; }
.site-footer .footer-bottom { padding-right:195px; }
.site-footer .social-icon img { filter:brightness(0) invert(1); }
.site-footer .social-icon:hover,.site-footer .social-icon:focus-visible { background:#ffffff20; box-shadow:0 0 0 2px #ffffff30; }
.site-footer .footer-controls { padding-bottom:22px; }
.page-contact #contenido { background:radial-gradient(ellipse at 0 20%,#8bd5ea55,transparent 65%),radial-gradient(ellipse at 100% 80%,#b5e67955,transparent 60%); }
.contact-stage { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; padding-block:42px; min-height:calc(100dvh - 310px); }
.contact-intro h1 { font-size:clamp(43px,4.5vw,66px); }
.contact-intro>p:last-child { color:var(--muted); margin-top:25px; }
.contact-channels { display:grid; gap:18px; }
.contact-channel { display:flex; gap:22px; padding:25px 28px; border:1px solid var(--line); background:var(--surface); border-radius:24px; transition:box-shadow .25s,border-color .25s; }
.contact-channel:hover,.contact-channel:focus-visible { text-decoration:none; border-color:var(--blue); box-shadow:0 10px 24px #103c4810; }
.contact-channel .eyebrow { font-size:9px; margin-bottom:9px; }
.contact-channel h2 { font-size:25px; }
.contact-channel p:not(.eyebrow) { color:var(--muted); font-size:12px; margin:10px 0 3px; }
.contact-channel .text-link { font-size:12px; padding-bottom:0; }
.contact-symbol { width:43px; height:43px; display:grid; place-items:center; border-radius:15px; background:var(--soft); color:var(--blue); flex-shrink:0; }
.contact-channel-wa { background:color-mix(in srgb,var(--surface) 87%,#b5e679); }
:root[data-theme=dark] .page-contact #contenido { background:radial-gradient(ellipse at 0 20%,#245b6555,transparent 65%),radial-gradient(ellipse at 100% 80%,#455f2755,transparent 60%); }
@media(max-width:1200px) { .brand .brand-name { font-size:19px; }.brand .brand-subtitle { font-size:22.87px; }.hero-seal { right:-6px; }.contact-stage { gap:40px; } }
@media(max-width:1000px) { .brand .brand-name { font-size:17px; }.brand .brand-subtitle { font-size:20.46px; }.hero-seal>strong { font-size:24px; }.hero-seal>span { font-size:12px; }.hero-photo>.photo-label { left:18px; max-width:140px; }.contact-stage { gap:30px; }.contact-channel { padding:22px; gap:15px; }.contact-channel h2 { font-size:22px; } }
@media(max-width:800px) { .brand .brand-name { font-size:21px; }.brand .brand-subtitle { font-size:25.27px; }.rewards-intro { grid-template-columns:1fr; }.rewards-intro>div:first-child { grid-column:1; grid-row:1; }.rewards-intro .membership-scene { grid-column:1; grid-row:2; }.faq-columns { gap:35px; }.contact-stage { grid-template-columns:1fr; gap:30px; padding-block:45px; }.contact-channels { grid-template-columns:1fr 1fr; }.contact-channel { display:block; }.contact-symbol { margin-bottom:20px; }.contact-intro h1 br { display:none; } }
@media(max-width:600px) { .brand .brand-name { font-size:19px; }.brand .brand-subtitle { font-size:22.87px; }.topbar>.container>span { font-size:8px; }.topbar>.container>span:last-child { display:none; }.hero-seal { right:1px; width:132px; height:132px; }.hero-seal>strong { font-size:24px; }.hero-photo>.photo-label { left:18px; max-width:135px; font-size:7px; bottom:20px; }.home-services .section-heading>div { text-align:right; }.home-services .section-heading>.text-link { display:flex; justify-content:flex-end; }.rewards-intro>div:first-child { text-align:right; }.rewards-intro .eyebrow { justify-content:flex-end; }.shoe-section-copy { text-align:right; }.shoe-section-copy .eyebrow,.shoe-topics { justify-content:flex-end; }.franchise-section-grid { grid-template-columns:1fr; }.franchise-options { grid-column:1; grid-row:1; }.franchise-visual { grid-column:1; grid-row:2; }.faq-columns { grid-template-columns:1fr; gap:0; }.page-home .reviews-section { padding-top:58px; }.contact-channels { grid-template-columns:1fr; }.contact-channel { display:flex; }.contact-symbol { margin:0; }.contact-intro h1 { font-size:43px; }.contact-intro h1 br { display:block; }.contact-stage { padding-block:40px; }.contact-channel h2 { font-size:22px; }.site-footer .footer-bottom { padding-bottom:80px; } }
@media(max-width:370px) { .brand .brand-name { font-size:17px; }.brand .brand-subtitle { font-size:20.46px; }.contact-channel { padding:20px; gap:12px; }.contact-channel h2 { font-size:20px; }.hero-photo>.photo-label { max-width:115px; } }
@media(max-width:600px) { .site-footer .footer-bottom { padding-right:0; } }
@media(max-width:600px) { .dexter-copy { text-align:right; }.dexter-copy .eyebrow,.dexter-copy .check-list li { justify-content:flex-end; }.dexter-copy .dexter-logo { margin-left:auto; } }

/* R4: consistent spacing and intentional keyboard states, without added frames. */
:root { --angelus-red:#c10808; --section-space:clamp(56px,6vw,84px); }
.page-home #contenido>.section { padding-block:var(--section-space); }
.page-home .hero { padding-block:clamp(32px,5vw,64px) var(--section-space); }
.page-home .hero-grid,.page-home .hero-copy { padding-bottom:0; }
.home-services .section-heading,.reviews-section .section-heading { display:block; text-align:center; }
.home-services .section-heading>div,.reviews-section .section-heading>div,.faq-intro { text-align:center; }
.home-services .section-heading h2,.home-services .section-intro,.reviews-section .section-heading h2 { margin-inline:auto; }
.home-services .section-heading .eyebrow,.reviews-section .section-heading .eyebrow,.faq-intro .eyebrow { justify-content:center; }
.services-more { display:flex; justify-content:flex-end; margin-top:30px; }
.reviews-summary { justify-content:center; }
.shoe-section-grid { grid-template-columns:1fr 1.15fr; }
.shoe-section-copy { grid-column:1; grid-row:1; text-align:left; }
.shoe-section-copy .eyebrow,.shoe-topics { justify-content:flex-start; }
.shoe-illustration { grid-column:2; grid-row:1; }
.franchise-section .section-heading { flex-direction:row-reverse; }
.franchise-section .section-heading>div { text-align:right; }
.franchise-section .section-heading .eyebrow { justify-content:flex-end; }
.franchise-section-grid { grid-template-columns:1.1fr 1fr; }
.franchise-visual { grid-column:1; grid-row:1; }
.franchise-options { grid-column:2; grid-row:1; }
.franchise-models .franchise-photo { padding:0; }
.franchise-photo>img { padding:0; object-fit:cover; }

/* Reveal a fixed-height line horizontally; never transform its thickness. */
.main-nav>a::after { height:2px; background:var(--nav-accent,var(--blue)); transform:none; clip-path:inset(0 50% 0 50% round 2px); transition:clip-path .32s cubic-bezier(.22,.68,.3,1); }
.main-nav>a:is(:hover,:focus-visible,[aria-current])::after { transform:none; clip-path:inset(0 0 0 0 round 2px); }
.main-nav>a[href$="/shoecare/"] { --nav-accent:var(--angelus-red); }
.main-nav>a:focus-visible { background:transparent; text-decoration:none; box-shadow:none; }
.brand:focus-visible img,.brand:focus-visible .brand-wordmark { filter:none; }
.brand:focus-visible .brand-name { color:var(--blue); }
.text-link:focus-visible,.back-link:focus-visible,.account-link:focus-visible { background:transparent; box-shadow:none; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1.5px; }
.button:focus-visible { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1.5px; }
.button:focus-visible::before { transform:scale(1.035,1.065); box-shadow:0 6px 18px #123b481a; filter:brightness(1.15); }
.icon-button:focus-visible { box-shadow:none; border-color:var(--line); color:var(--blue); background:var(--soft); }
.icon-button:focus-visible .icon { stroke-width:2.4; }
input:focus-visible,textarea:focus-visible,select:focus-visible { border-color:var(--line); box-shadow:none; background:var(--bg); }
summary:focus-visible { background:transparent; color:var(--blue); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1.5px; }
.service-card:focus-visible .service-image { transform:scale(1.025); box-shadow:0 16px 30px #103c4810; }
.service-card:focus-visible h3,.service-open:focus-visible .flip-front-copy>strong { color:var(--blue); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:6px; }
.service-open:focus-visible { box-shadow:none; }
.contact-channel:focus-visible,.contact-card:focus-visible { box-shadow:none; border-color:var(--line); }
.contact-channel:focus-visible h2,.contact-card:focus-visible h2 { text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:6px; }
.branch-map:focus-visible { box-shadow:none; }
.map-shell:has(.branch-map:focus-visible) { border-bottom-color:var(--blue); }
.leaflet-interactive:focus-visible .handy-marker-pin { background:var(--blue); }
.leaflet-control-zoom a:focus-visible { color:var(--blue); background:#e2f1f4; }
.theme_toggle { position:relative; }
.theme_toggle::after { content:""; position:absolute; height:2px; width:20px; background:#fff; border-radius:2px; bottom:-7px; left:calc(50% - 10px); opacity:0; transition:opacity .2s; }
.theme_toggle:focus-visible::after { opacity:1; }
.theme_toggle:focus-visible .theme_toggle_track { box-shadow:3px 3px 10px #00000014 inset; }
:root[data-theme=dark] .theme_toggle:focus-visible .theme_toggle_track { box-shadow:3px 3px 10px #00000085 inset; }
.site-footer .social-icon { position:relative; color:#fff; }
.site-footer .social-icon:focus-visible { background:transparent; box-shadow:none; }
.social-icon::after { content:""; position:absolute; width:16px; height:2px; bottom:0; left:calc(50% - 8px); border-radius:2px; background:currentColor; opacity:0; }
.social-icon:focus-visible::after { opacity:1; }

/* Close the panel first, then clear the backdrop. */
.contact-dialog.is-closing { animation:contact-exit 190ms cubic-bezier(.4,0,.8,.2) both; }
.contact-dialog.is-closing::backdrop { animation:contact-backdrop-out 180ms 190ms both; }
.whatsapp-browser { display:flex; justify-content:center; margin-top:14px; font-size:12px; }
.whatsapp-float::before { background:#087da1c2; }
.whatsapp-float:hover::before { background:#066986d1; }
.whatsapp-float:focus-visible { text-decoration:underline; text-underline-offset:5px; }
.whatsapp-float:focus-visible::before { transform:scale(1.045); box-shadow:0 7px 22px #123b4835; }

.site-footer .footer-bottom { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:22px; padding:24px 0; text-align:center; }
.site-footer .footer-bottom>* { order:initial; }
.site-footer .footer-bottom>span { width:auto; }
.footer-bottom .theme_toggle { justify-self:start; }
.footer-bottom .footer-phrase { grid-column:2; justify-self:center; }
.footer-bottom .footer-copyright { grid-column:3; justify-self:end; }
.page-contact { display:flex; flex-direction:column; min-height:100dvh; }
.page-contact #contenido { flex:1; display:grid; }
.page-contact .site-header,.page-contact .site-footer { flex-shrink:0; }
.page-contact .contact-stage { min-height:0; }
:root[data-theme=dark] .shoe-pending-page { background:#0e2027; color:#edf4f2; }
:root[data-theme=dark] .shoe-pending-copy>p,:root[data-theme=dark] .shoe-pending-footer { color:#b2c4c7; }
@media(max-width:800px) {
  .main-nav.is-open>a { align-self:flex-start; width:max-content; max-width:100%; }
  .main-nav>a::after { display:block; left:2px; right:2px; bottom:7px; }
  .main-nav.is-open>.mobile-account { align-self:stretch; width:100%; }
}
@media(max-width:600px) {
  .shoe-section-grid,.franchise-section-grid { grid-template-columns:1fr; }
  .shoe-section-copy { grid-column:1; grid-row:1; }
  .shoe-illustration { grid-column:1; grid-row:2; }
  .franchise-options { grid-column:1; grid-row:1; text-align:right; }
  .franchise-options article { flex-direction:row-reverse; }
  .franchise-visual { grid-column:1; grid-row:2; }
  .franchise-section .section-heading>.section-intro { margin-left:auto; text-align:right; }
  .site-footer .footer-bottom { grid-template-columns:1fr 1.45fr 1fr; gap:12px; padding:25px 0 30px; font-size:8px; }
  .footer-phrase { max-width:155px; }
  .footer-copyright { max-width:105px; text-align:right; }
}

/* R5: one editorial column, and one card per featured location. */
.franchise-options { text-align:left; }
.franchise-intro .eyebrow { justify-content:flex-start; }
.franchise-intro .section-intro { margin-top:24px; margin-bottom:28px; max-width:460px; }
.franchise-options article { flex-direction:row; }
.franchise-section .franchise-visual { height:100%; min-height:410px; max-height:660px; }
.featured-branches { display:grid; gap:28px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.featured-branches[data-featured-count="1"] { grid-template-columns:minmax(0,1fr); }
.featured-branches[data-featured-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.branch-spotlight { display:grid; grid-template-columns:1fr 1fr; background:var(--surface); border:1px solid var(--line); border-radius:26px; overflow:hidden; }
.branch-overview { min-width:0; }
.branch-spotlight>.map-shell { min-height:100%; border:0; border-radius:0; }
.branch-spotlight .branch-map { position:absolute; inset:0; min-height:100%; }
.map-loading { position:absolute; inset:0; display:grid; place-items:center; margin:0; color:var(--muted); font-size:13px; pointer-events:none; }
.map-loading[hidden] { display:none; }
.branch-flip { height:auto; min-width:0; }
.branch-flip .flip-card-inner { display:grid; }
.branch-flip .flip-front,.branch-flip .flip-back { position:relative; grid-area:1 / 1; min-width:0; }
.branch-flip .flip-front { display:flex; flex-direction:column; }
.branch-flip .branch-photo { flex-shrink:0; }
.branch-flip .branch-body { flex:1; display:flex; flex-direction:column; padding:28px; }
.branch-flip .branch-body .button-row { margin-top:auto; gap:12px 20px; }
.branch-flip .branch-body h3 { font-size:27px; }
.branch-flip .branch-body .button { padding-inline:20px; font-size:12px; }
.branch-flip .flip-back { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(320px,1fr) auto; padding:0; background:var(--surface); }
.branch-map-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px; }
.branch-map-heading h3 { font-size:22px; }
.branch-map-heading .icon-button { flex-shrink:0; }
.branch-flip .map-shell { min-height:320px; border:0; border-radius:0; }
.branch-flip .branch-map { position:absolute; inset:0; min-height:100%; }
.branch-map-directions { padding:12px 24px; }
@media(max-width:1000px) and (min-width:801px) {
  .featured-branches { gap:18px; }
  .featured-branches[data-featured-count="3"] .branch-body { padding:22px; }
  .featured-branches[data-featured-count="3"] .branch-body h3 { font-size:22px; }
  .featured-branches[data-featured-count="3"] .branch-photo { height:190px; }
}
@media(max-width:800px) {
  .featured-branches,.featured-branches[data-featured-count="2"] { grid-template-columns:1fr; }
  .branch-spotlight { grid-template-columns:1fr; }
  .branch-spotlight>.map-shell { min-height:400px; }
  .branch-flip .branch-body .button-row { margin-top:12px; }
}
@media(max-width:600px) {
  .franchise-section .franchise-visual { height:335px; min-height:0; }
  .franchise-options { text-align:left; }
  .franchise-options article { flex-direction:row; }
  .branch-spotlight>.map-shell { min-height:360px; }
}

/* R6: services, identity and the optional membership. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.page-services .page-intro { text-align:center; }
.page-services .page-intro .eyebrow { justify-content:center; }
.page-services .page-intro>p:last-child { margin-inline:auto; }
.page-services .flip-back { justify-content:flex-start; }
.page-services .flip-service-icon { display:block; height:36px; flex-shrink:0; }
.page-services .flip-back>h2,.page-services .flip-back>p,.page-services .flip-back>.check-list { flex-shrink:0; }
.page-services .flip-card { height:560px; }
.page-services .flip-back .button { align-self:flex-start; flex-shrink:0; }
.page-services .promo-grid { grid-template-columns:1.15fr 1fr; }
.promo-price-art { isolation:isolate; }
.promo-price-art::before { content:""; position:absolute; z-index:-1; inset:8%; border-radius:50%; background:radial-gradient(ellipse,#b8e77785,transparent 72%); animation:price-halo 5.4s ease-in-out infinite; pointer-events:none; }
.promo-number { display:inline-block; font:inherit; background:linear-gradient(110deg,var(--text) 30%,var(--blue) 45%,#78b831 52%,var(--text) 66%); background-size:280% 100%; background-clip:text; -webkit-background-clip:text; color:transparent; animation:price-shine 5.4s ease-in-out infinite; }
@keyframes price-halo { 0%,100% { transform:scale(.94); opacity:.5; } 45% { transform:scale(1.13); opacity:1; } }
@keyframes price-shine { 0%,18% { background-position:100% 50%; transform:scale(1); } 48% { transform:scale(1.035); } 75%,100% { background-position:0% 50%; transform:scale(1); } }
.equipment-prices { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
.equipment-price-table { width:100%; table-layout:fixed; border-spacing:0; margin-bottom:28px; font-variant-numeric:tabular-nums; }
.equipment-price-table th,.equipment-price-table td { text-align:right; padding:15px 12px; border-bottom:1px solid var(--line); }
.equipment-price-table thead th { font-size:11px; line-height:1.5; font-weight:550; color:var(--muted); }
.equipment-price-table tr>:first-child { text-align:left; padding-left:0; }
.equipment-price-table tbody th { font-size:14px; font-weight:500; }
.equipment-price-table td { font-size:26px; font-weight:650; }
.equipment-price-table tr>:last-child { background:#91c96317; color:var(--text); }
.equipment-price-table thead tr>:last-child { border-radius:14px 14px 0 0; }
.equipment-price-table tbody tr:last-child>:last-child { border-radius:0 0 14px 14px; }
.equipment-price-table tbody tr:last-child>* { border-bottom:0; }
.drop-off-pricing { margin-top:28px; border:1px solid var(--line); border-radius:26px; padding:38px; display:grid; grid-template-columns:1.15fr 1fr; gap:60px; align-items:center; background:linear-gradient(120deg,var(--surface),var(--soft)); }
.drop-off-pricing .price-icon { display:block; margin-bottom:18px; }
.drop-off-pricing .eyebrow { margin-bottom:16px; }
.drop-off-pricing h3 { margin-bottom:20px; }
.drop-off-pricing p:not(.eyebrow) { color:var(--muted); max-width:450px; font-size:14px; }
.drop-off-pricing .drop-off-note { font-size:12px!important; margin-bottom:0; }
.drop-off-rates { display:grid; grid-template-columns:1fr 1fr; gap:22px; text-align:center; }
.drop-off-rates>div { display:flex; flex-direction:column; gap:6px; }
.drop-off-rates>div>span { font-size:12px; color:var(--muted); }
.drop-off-rates strong { font-size:clamp(32px,4vw,54px); line-height:1.3; letter-spacing:-.05em; }
.drop-off-rates small { font-size:10px; color:var(--muted); }
.drop-off-rates>div:nth-child(2)>strong { color:var(--blue); }
.drop-off-rates>.demo-label { grid-column:1/-1; font-size:8px; }
.pricing-membership-note { margin:26px 0 0; font-size:13px; color:var(--muted); max-width:900px; }
.pricing-membership-note a { color:var(--text); text-decoration:underline; text-underline-offset:4px; }
.services-help { text-align:center; }
.services-help>.eyebrow { justify-content:center; }
.services-help .steps { text-align:center; }
.services-help .steps .icon { margin-inline:auto; }
.services-help .steps p { margin-inline:auto; }
.services-help .light-steps article { display:flex; flex-direction:column; align-items:center; }
.services-help .light-steps article p { margin:12px 0 0; }
.page-home .membership-section { --cloud-x:8%; --cloud-color:#83cde977; }
.membership-intro { display:grid; grid-template-columns:1.15fr 1fr; gap:90px; align-items:center; }
.membership-copy { text-align:left; }
.membership-copy>.eyebrow { justify-content:flex-start; }
.membership-copy>p:not(.eyebrow) { color:var(--muted); max-width:560px; margin-top:26px; }
.membership-copy .check-list { margin-bottom:30px; }
.membership-copy>p.membership-id-note { font-size:12px; max-width:450px; margin-bottom:0; }
.membership-offer { width:100%; max-width:480px; justify-self:end; padding:40px; border:1px solid var(--line); border-radius:34px; background:radial-gradient(ellipse at 100% 0,#8cd5e95c,transparent 65%),linear-gradient(145deg,var(--surface),var(--soft)); position:relative; text-align:center; }
.membership-offer>.status-pill { margin-bottom:25px; }
.membership-offer>.eyebrow { justify-content:center; margin-bottom:16px; }
.membership-amount { display:flex; justify-content:center; align-items:baseline; gap:12px; margin:0; }
.membership-amount>span { font-size:clamp(62px,7vw,88px); font-weight:750; letter-spacing:-.06em; line-height:1.2; }
.membership-amount>small { font-size:14px; color:var(--muted); }
.membership-offer-caption { font-size:21px; line-height:1.4; margin:22px 0 28px; }
.membership-offer-benefits { display:flex; justify-content:space-between; align-items:center; gap:20px; border-block:1px solid var(--line); padding-block:20px; font-size:13px; }
.membership-offer-benefits strong { font-size:26px; color:var(--blue); }
.membership-demo { font-size:10px; color:var(--muted); margin:24px 0 0; }
.membership-page-hero { padding-block:70px 90px; }
.page-membership #contenido { position:relative; isolation:isolate; }
.page-membership #contenido>section { position:relative; }
.page-membership #contenido>section::before { content:""; position:absolute; z-index:-1; pointer-events:none; left:50%; top:-20%; width:100vw; height:145%; transform:translateX(-50%); background:radial-gradient(ellipse 90vw 50% at 15% 50%,#91d7ec66,transparent); }
.page-membership #contenido>section:nth-child(even)::before { background:radial-gradient(ellipse 90vw 50% at 95% 50%,#b9e28c70,transparent); }
:root[data-theme=dark] .page-membership #contenido>section::before { opacity:.2; }
.membership-concepts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; }
.membership-concepts article { padding:28px 0; border-top:1px solid var(--line); }
.concept-symbol { display:grid; place-items:center; width:52px; height:52px; color:var(--blue); border-radius:18px; background:var(--surface); margin-bottom:26px; }
.membership-concepts .eyebrow { font-size:9px; margin-bottom:15px; }
.membership-concepts h2 { font-size:30px; margin-bottom:20px; }
.membership-concepts p:not(.eyebrow) { font-size:14px; color:var(--muted); }
.concept-note { font-size:12px; color:var(--blue); }
.membership-launch-note { color:var(--muted); font-size:12px; max-width:860px; margin:30px 0 0; }
@media(max-width:1000px) {
  .page-services .flip-card { height:620px; }
  .membership-intro { gap:45px; }
  .membership-offer { padding:30px; }
  .membership-offer-benefits { gap:12px; font-size:11px; }
  .drop-off-pricing { gap:35px; padding:30px; }
  .equipment-price-table th,.equipment-price-table td { padding-inline:8px; }
  .membership-concepts { gap:25px; }
}
@media(max-width:800px) {
  .page-services .flip-card { height:560px; }
  .equipment-prices { grid-template-columns:1fr; }
  .membership-intro { grid-template-columns:1fr; }
  .membership-offer { justify-self:center; }
  .membership-concepts { grid-template-columns:1fr; gap:10px; }
  .membership-concepts article { padding-block:30px; }
  .membership-concepts h2 { font-size:32px; }
  .drop-off-pricing { grid-template-columns:1fr; gap:28px; }
  .drop-off-rates { max-width:500px; width:100%; justify-self:center; }
}
@media(max-width:600px) {
  .page-services .promo-grid { grid-template-columns:1fr; }
  .equipment-price-table thead th { font-size:10px; }
  .equipment-price-table td { font-size:23px; }
  .equipment-price-table tbody th { font-size:13px; }
  .equipment-prices .price-card { padding:25px 21px; }
  .drop-off-pricing { padding:28px 23px; }
  .membership-offer { padding:30px 24px; }
  .membership-copy>p:not(.eyebrow) { font-size:14px; }
  .membership-page-hero { padding-block:45px 60px; }
  .membership-offer-benefits { font-size:12px; }
}
@media(max-width:370px) {
  .page-services .flip-card { height:600px; }
  .equipment-price-table td { font-size:20px; }
  .equipment-price-table th,.equipment-price-table td { padding-inline:5px; }
  .membership-amount { gap:8px; }
  .membership-amount>small { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .promo-price-art::before,.promo-number { animation:none; }.promo-number { background:none; color:var(--text); } }
