/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/349f59b2.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/c28671bb.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/bd3a01af.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/349f59b2.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/c28671bb.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/bd3a01af.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/349f59b2.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/c28671bb.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/bd3a01af.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/76cf97d5.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/c27a11b1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/76cf97d5.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/c27a11b1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/76cf97d5.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/c27a11b1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body{margin:0;background:#fff}html{scroll-behavior:smooth}a{color:#17701c}input,select,textarea{font-family:'DM Sans',sans-serif}input::placeholder,textarea::placeholder{color:#7b827d}
img{max-width:100%;height:auto}
.h0:hover{background:rgba(255,255,255,.25) !important}
.h1:hover{background:rgba(255,255,255,.25) !important}
.h2:hover{background:rgba(255,255,255,.25) !important}
.h3:hover{background:rgba(255,255,255,.25) !important}
.h4:hover{background:rgba(255,255,255,.25) !important}
.h5:hover{background:#fff !important}
.h6:hover{background:#0E3B1B !important}
.h7:hover{background:#101512 !important;color:#fff !important}
.h8:hover{background:#17701c !important}
.h9:hover{background:#FFD93B !important}
.h10:hover{color:#FFD93B !important}
.h11:hover{background:#0E3B1B !important}
.h12:hover{color:#FFD93B !important}
.h13:hover{color:#FFD93B !important}

#hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 80% at 70% 60%,#1d6b2d 0,#0E3B1B 45%,#08210f 100%)}
#hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 120px,rgba(255,255,255,.03) 120px 122px);pointer-events:none}
#hero h1,#hero #top>div:first-child>*{animation:up .8s both}
#hero h1{animation-delay:.15s}
@keyframes up{from{opacity:0;transform:translateY(24px)}}
#stage{position:relative;cursor:pointer;aspect-ratio:16/9;margin:0 -12% 0 -22%}
#taxiVid,#taxiStill,#taxiCanvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%),linear-gradient(to bottom,#000 78%,transparent 97%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 16%),linear-gradient(to bottom,#000 78%,transparent 97%);mask-composite:intersect}
#floor{position:absolute;left:12%;right:0;bottom:12%;height:14%;background:radial-gradient(ellipse at center,rgba(0,0,0,.55),transparent 70%);filter:blur(6px)}
@media(max-width:900px){#stage{margin:0 -10%}}
@media(prefers-reduced-motion:reduce){#hero *{animation:none!important}}

/* logo animado en la cabecera */
#heroLogo{position:absolute;top:1%;right:5%;width:clamp(140px,18vw,250px);aspect-ratio:1;z-index:2;pointer-events:none;animation:logoIn 1.1s cubic-bezier(.2,1.4,.4,1) .5s both,bob 5s ease-in-out 1.7s infinite alternate}
#heroLogo .ring{position:absolute;inset:-9%;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,217,59,0),#FFD93B 18%,rgba(255,217,59,0) 42%,#2fd13a 70%,rgba(47,209,58,0));filter:blur(9px);opacity:.8;animation:spin 6s linear infinite}
#heroLogo .badge-logo{position:relative;width:100%;height:100%;overflow:hidden}
#heroLogo img{position:absolute;inset:7%;width:86%;height:86%;object-fit:contain}
#heroLogo .shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.85) 50%,transparent 65%);transform:translateX(-120%)}
#stage.parked #heroLogo .shine{animation:shine 1.3s ease-out .1s both}
@keyframes logoIn{from{opacity:0;transform:scale(.2) rotate(-35deg)}to{opacity:1;transform:none}}
@keyframes bob{from{transform:translateY(0) rotate(-1.5deg)}to{transform:translateY(10px) rotate(1.5deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shine{to{transform:translateX(120%)}}
@media(max-width:900px){#heroLogo{width:112px;right:6%}}
@media(prefers-reduced-motion:reduce){#heroLogo,#heroLogo .ring{animation:none!important}}

/* formulario de registro */
.reg{background:#fff;color:#101512;border-radius:20px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:460px){.reg{grid-template-columns:1fr}}
.reg input:not([type=checkbox]){box-sizing:border-box;font-size:16px;padding:14px 16px;border:2px solid transparent;border-radius:12px;background:#f1eee6;outline:0;width:100%;min-width:0}
.reg input:not([type=checkbox]):focus{border-color:#17701c;background:#fff}
.reg input[aria-invalid=true]{border-color:#d9262c}
.reg .wide{grid-column:1/-1}
.reg .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.reg .consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:#3b423d;cursor:pointer}
.reg .consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:#17701c}
.reg button{font:700 16px 'DM Sans';padding:15px 24px;border-radius:12px;border:0;background:#17701c;color:#fff;cursor:pointer}
.reg button:disabled{opacity:.6;cursor:wait}
.reg .estado{margin:0;font-size:15px;font-weight:700;color:#17701c;min-height:0}
.reg .estado.err{color:#d9262c}
.reg [hidden]{display:none}

/* pie */
.foot{max-width:1320px;margin:0 auto;padding:clamp(48px,6vw,80px) clamp(20px,4vw,48px) 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:40px 36px;align-items:start}
.foot-k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#FFD93B;font-weight:700;margin-bottom:16px}
.foot-info{font-style:normal;font-size:16px;line-height:1.6;color:#cfd6d0}
.foot-info p{margin:0 0 10px}
.foot-info a{color:#fff}
.foot-info a:hover{color:#FFD93B}
.foot-hours{color:#FFD93B}

/* logo: esquina, más pequeño; ojos y sonrisa animados */
#heroLogo{top:2%;right:15%;width:clamp(96px,10.5vw,150px)}
#heroLogo svg{position:absolute;inset:0;width:100%;height:100%}
#heroLogo .iris{animation:look 5s ease-in-out infinite}
#heroLogo .iris.r{animation-delay:.05s}
@keyframes look{0%,12%{transform:translate(0,0)}22%,38%{transform:translate(-9px,-1px)}50%,64%{transform:translate(7px,4px)}76%,100%{transform:translate(0,0)}}
#heroLogo .blink{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(0);animation:blink 5s infinite}
@keyframes blink{0%,44%,48%,100%{transform:scaleY(0)}46%{transform:scaleY(1)}}
@media(max-width:900px){#heroLogo{width:84px;right:12%;top:-22%}}
@media(prefers-reduced-motion:reduce){#heroLogo .iris,#heroLogo .blink{animation:none!important}}
.meter-cta{max-width:440px;margin-top:14px}
.reg-light{background:#fff;box-shadow:0 20px 40px rgba(14,59,27,.15)}
.reg select,.reg textarea{box-sizing:border-box;width:100%;font:16px 'DM Sans',sans-serif;padding:14px 16px;border:2px solid transparent;border-radius:12px;background:#f1eee6;color:#101512;outline:0}
.reg textarea{resize:vertical;min-height:96px}
.reg select:focus,.reg textarea:focus{border-color:#17701c;background:#fff}
.reg select[aria-invalid=true],.reg textarea[aria-invalid=true]{border-color:#d9262c}

/* menú */
.burger{display:none}
@media(max-width:900px){
  html{scroll-padding-top:64px}
  .hd{position:sticky;top:0;z-index:50}
  .hd-in{flex-wrap:nowrap!important;gap:10px!important;padding:10px 16px!important}
  .hd-in>a:first-child{margin-right:auto!important}
  .hd-tel2{display:none!important}
  .hd-tel span{display:none}
  .hd-tel{width:42px;height:42px;padding:0!important;display:grid!important;place-items:center;font-size:0!important;order:2}
  .hd-tel::before{content:"";width:20px;height:20px;background:#101512;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11 11 0 0 0 3.6.6 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.6 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11 11 0 0 0 3.6.6 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.6 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat}
  .burger{display:grid;order:3;place-content:center;gap:5px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.14);cursor:pointer}
  .burger i{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .25s,opacity .2s}
  .hd.open .burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hd.open .burger i:nth-child(2){opacity:0}
  .hd.open .burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hd-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column!important;flex-wrap:nowrap!important;gap:4px!important;background:#0E3B1B;padding:8px 16px 18px!important;box-shadow:0 20px 30px rgba(0,0,0,.35);border-top:1px solid rgba(255,255,255,.12);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility 0s .2s;order:4}
  .hd.open .hd-nav{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s}
  .hd-nav a{color:#fff!important;font-size:18px!important;padding:15px 16px!important;border-radius:12px!important;background:transparent!important}
  .hd-nav a:active,.hd-nav a:hover{background:rgba(255,255,255,.12)!important}
  .hd-nav a{position:relative}
  .hd-nav a+a::before{content:"";position:absolute;left:16px;right:16px;top:-2px;height:1px;background:rgba(120,205,135,.45)}
}

/* bloques de contenido (GEO/AEO) */
.geo{background:#fff;color:#101512}
.geo-in{max-width:820px;margin:0 auto;padding:clamp(40px,5vw,72px) clamp(20px,4vw,48px)}
.geo h2{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(24px,3vw,34px);letter-spacing:-.03em;margin:32px 0 12px;line-height:1.1}
.geo-def{font-size:clamp(19px,2.2vw,24px);line-height:1.5;margin:0}
.geo p,.geo li{font-size:17px;line-height:1.6;color:#2f3631}
.geo-steps{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px;counter-reset:p}
.geo-steps li{counter-increment:p}
.geo-steps li::before{content:counter(p);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:#17701c;color:#fff;font-weight:700;font-size:15px;display:grid;place-items:center}
.geo-faq{background:#f1eee6}
.geo-faq details{background:#fff;border-radius:14px;padding:14px 18px;margin-bottom:10px}
.geo-faq summary{font-weight:700;font-size:17px;cursor:pointer}
.geo-faq details p{margin:10px 0 0}

/* consentimiento en capas */
.reg .consent-more{font-size:14px;color:#3b423d}
.reg .consent-more summary{cursor:pointer;font-weight:500}
.reg .consent-more dl{margin:8px 0 0;display:grid;gap:6px}
.reg .consent-more dt{font-weight:700;display:inline}
.reg .consent-more dt::after{content:": "}
.reg .consent-more dd{display:inline;margin:0}

/* pie legal */
.foot-legal{max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,48px) 28px;font-size:13px;color:#b9c4bb;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.foot-legal nav{display:flex;gap:16px;flex-wrap:wrap}
.foot-legal a{color:#fff}
#stage:focus-visible{outline:3px solid #FFD93B;outline-offset:4px}
.fc-cta{margin-top:18px;background:#17701c;color:#fff;text-decoration:none;border-radius:16px;padding:18px 22px;font-weight:700;display:flex;justify-content:space-between}
.fc-cta:hover{background:#0E3B1B;color:#fff}

/* landings de servicio */
.lp-hero{background:radial-gradient(ellipse 70% 80% at 70% 60%,#1d6b2d 0,#0E3B1B 45%,#08210f 100%);color:#fff}
.lp-hero-in{max-width:1320px;margin:0 auto;padding:clamp(40px,6vw,88px) clamp(20px,4vw,48px)}
.lp-hero h1{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(38px,5.6vw,76px);line-height:1;letter-spacing:-.04em;margin:0 0 20px;max-width:18ch}
.lp-hero h1 span{color:#FFD93B}
.lp-hero p{font-size:clamp(18px,2vw,22px);line-height:1.5;margin:0 0 28px;max-width:46ch;color:#e3efe5}
.lp-cta{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.lp-btn{background:#17701c;color:#fff;text-decoration:none;font-weight:700;font-size:17px;padding:18px 32px;border-radius:14px}
.lp-btn:hover{background:#FFD93B;color:#101512}
.lp-tel{color:#fff;font-weight:500;font-size:17px;border-bottom:1.5px solid #FFD93B;text-decoration:none;padding-bottom:3px}
.geo-pts{margin:0 0 20px;padding-left:22px;display:grid;gap:6px}
.geo-rel{margin-top:24px}
.geo-links{margin-top:20px}
.lp-form{background:#0E3B1B;color:#fff}
.lp-form-in{max-width:640px;margin:0 auto;padding:clamp(40px,5vw,72px) clamp(20px,4vw,48px)}
.lp-form h2{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(28px,4vw,44px);letter-spacing:-.03em;margin:0 0 20px}

.geo a,.reg a{color:#17701c}
.geo a:hover,.reg a:hover{color:#0E3B1B}
.if{display:contents}.if[hidden]{display:none}
.hero-app{margin-top:16px;font-size:15px;color:#cfe1d2}
.hero-app a{color:#FFD93B}
/* selector precio cerrado destacado */
#fixedPill{position:relative}
#fixedPill.pulse{background:#FFD93B!important;color:#101512!important;animation:pulse 1.8s ease-out infinite}
#fixedPill .pill-tag{position:absolute;top:-12px;right:-6px;font:700 10px/1 'DM Sans';letter-spacing:.06em;text-transform:uppercase;font-style:normal;background:#17701c;color:#fff;padding:5px 8px;border-radius:999px;white-space:nowrap}
#fixedPill:not(.pulse) .pill-tag{display:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(23,112,28,.55)}70%{box-shadow:0 0 0 16px rgba(23,112,28,0)}100%{box-shadow:0 0 0 0 rgba(23,112,28,0)}}
.fc{width:100%;max-width:460px;background:#fff;border-radius:28px;padding:28px;box-shadow:0 30px 60px rgba(14,59,27,.25)}
.fc-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#17701c;font-weight:700}
.fc-stamp{border:2px solid #17701c;border-radius:8px;padding:4px 10px;transform:rotate(-4deg);animation:stamp .5s cubic-bezier(.2,1.6,.4,1) both}
@keyframes stamp{from{opacity:0;transform:scale(2.2) rotate(-14deg)}to{opacity:1;transform:rotate(-4deg)}}
.fc-big{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(36px,5vw,54px);line-height:1;letter-spacing:-.04em;margin:22px 0 12px}
.fc-sub{font-size:16px;line-height:1.5;color:#4a524c}
.fc-list{list-style:none;margin:18px 0 0;padding:16px;background:#f6f3ea;border-radius:16px;display:grid;gap:8px;font-size:15px;font-weight:500}
.fc-list li::before{content:"✓ ";color:#17701c;font-weight:700}
@media(max-width:480px){.fc{padding:22px}}
/* banda de la app */
.appband{background:#101512;color:#fff}
.appband-in{max-width:1320px;margin:0 auto;padding:clamp(28px,4vw,48px) clamp(20px,4vw,48px);display:flex;gap:24px 40px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.appband h2{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.03em;margin:0 0 8px;line-height:1.05}
.appband p{margin:0;font-size:17px;color:#cfd6d0}
.appband-btns{display:flex;gap:12px;flex-wrap:wrap}
.appband-btns{align-items:center;gap:20px}
.appband-btns a{display:block;line-height:0}
.appband-btns a:first-child img{height:53px;width:auto}
.appband-btns a:last-child img{height:72px;width:auto;margin:-10px -10px}
.sec-more{display:inline-block;color:#FFD93B;font-weight:700;text-decoration:none;border-bottom:1.5px solid #FFD93B;padding-bottom:2px;align-self:flex-start}
#empresas .sec-more,#unete .sec-more{color:#FFD93B}
#anunciate .sec-more{color:#FFD93B}
/* móvil: hero plano y tarjeta de empresas pequeña */
@media(max-width:900px){
  .emp-card{left:12px!important;bottom:12px!important;padding:10px 14px!important;border-radius:14px!important;gap:2px!important}
  .emp-card span:first-child{font-size:10px!important}
  .emp-card span:last-child{font-size:16px!important}
}
.hl{background:#17701c;color:#fff;padding:0 .18em;border-radius:.14em;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.appband-btns a{flex:none}.appband-btns img{max-width:none}
@keyframes taxiIn{from{opacity:0;transform:translateX(-38%) scale(.92)}to{opacity:1;transform:none}}
#taxiStill.in{animation:taxiIn 1.1s cubic-bezier(.2,.8,.2,1) both}
@media(prefers-reduced-motion:reduce){#taxiStill.in{animation:none}}
.lp-tel:hover,.foot-legal a:hover{color:#FFD93B}
/* C. botón amarillo de marca */
.fc-cta{background:#FFD93B;color:#101512}
.fc-cta:hover{background:#f5c400;color:#101512}
.meter-cta:hover{background:#fff;color:#101512}
/* B. "precio cerrado" */
.hl{color:#17701c;display:inline-block;padding:0 .05em .2em;margin:.1em 0 .14em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9C60 3 120 12 180 6S270 4 297 8' fill='none' stroke='%23FFC400' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left bottom/100% .26em;white-space:nowrap}
/* E. pasos en tarjetas, bloque discreto */
.geo-steps{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 16px}
.geo-steps li{padding:16px;background:#f1eee6;border-radius:16px;display:grid;gap:4px;align-content:start}
.geo-steps li::before{position:static;margin-bottom:6px}
.geo-steps li span{font-size:15px;line-height:1.45;color:#2f3631}
.geo-steps li strong{font-size:17px}
@media(max-width:700px){.geo-steps{grid-template-columns:1fr}}
.geo .geo-zona,.geo .geo-links{font-size:14px;line-height:1.5;color:#4a524c;margin:8px 0 0}
#que-es .geo-in{padding:clamp(28px,3.5vw,48px) clamp(20px,4vw,48px)}
#que-es .geo-def{font-size:18px;line-height:1.55;margin-bottom:4px}
#que-es h2{font-size:clamp(20px,2.4vw,26px);margin:22px 0 12px}
#taxiVid.gl{opacity:0;pointer-events:none}
.geo-opts-intro{margin:0 0 10px}
.tel-mov{white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;z-index:200;background:#FFD93B;color:#101512;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}
.foot-links{display:grid;gap:8px;align-content:start;font-size:15px}
.foot-links a{color:#fff;text-decoration:none}
.foot-links a:hover{color:#FFD93B}
.crumbs{font-size:14px;color:#cfe1d2;margin:0 0 16px}
.crumbs a{color:#fff}
.crumbs a:hover{color:#FFD93B}
.foot-review{display:grid;gap:10px;align-content:start;justify-items:start}
.foot-review .foot-k{margin-bottom:0}
.stars{color:#FBBC04;font-size:22px;letter-spacing:3px;line-height:1}
.gbtn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:999px;padding:10px 18px 10px 14px;font:500 14px/1 'DM Sans',Roboto,Arial,sans-serif;text-decoration:none}
.gbtn:hover{background:#f8f9fa;color:#202124;box-shadow:0 1px 3px rgba(60,64,67,.3)}
.gbtn:focus-visible{outline:3px solid #FFD93B;outline-offset:3px}
.foot a[href^=tel]{white-space:nowrap}
.foot-map{color:#cfd6d0;font-size:13px;text-decoration:underline}
.foot-map:hover{color:#FFD93B}
/* reseñas de Google (render en servidor, api/pagina.js) */
.resenas{background:#fff;color:#101512}
.resenas-in{max-width:1320px;margin:0 auto;padding:clamp(40px,5vw,72px) clamp(20px,4vw,48px)}
.g-head{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;margin-bottom:24px}
.g-brand{display:flex;gap:14px;align-items:center}
.g-logo svg{width:40px;height:40px;display:block}
.g-brand h2{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(24px,3vw,34px);letter-spacing:-.03em;margin:0;line-height:1.1}
.g-sub{display:block;font-size:14px;color:#4a524c;margin-top:2px}
.g-score{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.g-score strong{font-family:'Bricolage Grotesque';font-weight:800;font-size:44px;line-height:1;letter-spacing:-.03em}
.g-score>span:last-child{font-size:14px;color:#4a524c}
.g-stars{display:inline-flex;gap:1px}
.g-stars span{display:inline-flex}
.g-stars svg{width:18px;height:18px;fill:#dadce0}
.g-stars .on svg{fill:#FBBC04}
.g-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.g-card{background:#fff;border:1px solid #dadce0;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.g-card-head{display:flex;align-items:center;gap:12px}
.g-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px;flex:none}
.g-meta{display:grid;line-height:1.3;min-width:0}
.g-meta strong{font-size:15px;color:#202124}
.g-meta span{font-size:13px;color:#5f6368}
.g-mini{margin-left:auto;flex:none}
.g-mini svg{width:20px;height:20px;display:block}
.g-card blockquote{margin:0;font-size:15px;line-height:1.55;color:#3c4043}
.g-card blockquote p{margin:0}
.resenas-attr{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:20px 0 0;font-size:14px;color:#4a524c}
.resenas-attr .gbtn svg{width:20px;height:20px}
.g-btn{color:#17701c;font-weight:700;text-decoration:none;border-bottom:1.5px solid currentColor}
.g-btn:hover{color:#0E3B1B}


.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .15s}
.wa-float:hover{transform:scale(1.08)}
