:root{
  --bg:hsl(0 0% 4%); --fg:hsl(0 0% 98%); --border:hsl(0 0% 15%);
  --card:hsl(0 0% 7%); --primary:hsl(42 100% 50%); --primary-fg:hsl(0 0% 4%);
  --secondary:hsl(0 0% 12%); --muted-fg:hsl(0 0% 65%);
  --radius:.5rem;
  --f-display:'Outfit',system-ui,sans-serif; --f-sans:'Plus Jakarta Sans',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{font-family:var(--f-sans);background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--f-display);letter-spacing:-.025em;line-height:1.1}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
::selection{background:var(--primary);color:var(--primary-fg)}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--primary);color:var(--primary-fg);padding:.75rem 1.25rem;font-weight:700;border-radius:0 0 .5rem 0}
.skip:focus{left:0}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:768px){.container{padding:0 1.5rem}}
@media(min-width:1024px){.container{padding:0 2rem}}
.text-gradient{background:linear-gradient(to right,hsl(42 100% 50%),hsl(45 93% 70%));-webkit-background-clip:text;background-clip:text;color:transparent}
.sec{padding:6rem 0;position:relative;overflow:hidden}
.sec-card{background:var(--card)}
.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:1rem}
.h-sec{font-size:clamp(2.25rem,5vw,3rem);font-weight:900;margin-bottom:1.5rem}
.lead{font-size:1.25rem;color:var(--muted-fg);line-height:1.7}
.head-center{text-align:center;max-width:48rem;margin:0 auto 4rem}
.divider-top{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:56rem;height:1px;background:linear-gradient(to right,transparent,hsl(42 100% 50%/.5),transparent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;font-weight:700;cursor:pointer;transition:background .25s,border-color .25s,color .25s;border:none;font-family:var(--f-sans);text-align:center}
.btn-primary{background:var(--primary);color:var(--primary-fg)}
.btn-primary:hover{background:hsl(42 100% 45%)}
.btn-outline{background:transparent;color:var(--fg);border:1px solid hsl(0 0% 100%/.2)}
.btn-outline:hover{background:hsl(0 0% 100%/.1)}
.btn-sec{background:var(--secondary);color:var(--fg)}
.btn-sec:hover{background:hsl(0 0% 18%)}
.btn-lg{height:3.5rem;padding:0 2rem;font-size:1rem}
.btn-sm{padding:.5rem 1.5rem;font-size:.9rem;height:2.5rem}
.icon{width:1.25rem;height:1.25rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,padding .3s,border-color .3s;padding:1.5rem 0;border-bottom:1px solid transparent}
nav.scrolled{background:hsl(0 0% 4%/.92);backdrop-filter:blur(12px);border-bottom-color:hsl(0 0% 15%/.5);padding:1rem 0}
nav.solid{background:hsl(0 0% 4%/.92);backdrop-filter:blur(12px);border-bottom-color:hsl(0 0% 15%/.5)}
.nav-in{display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:.5rem}
.nav-brand img{height:2.5rem;width:2.5rem;object-fit:contain}
.nav-brand span{font-family:var(--f-display);font-weight:700;font-size:1.25rem;letter-spacing:-.025em}
@media(max-width:639px){.nav-brand span{display:none}}
.nav-desk{display:none;align-items:center;gap:2rem}
@media(min-width:960px){.nav-desk{display:flex}}
.nav-desk ul{display:flex;align-items:center;gap:1.5rem;list-style:none}
.nav-desk a{font-size:1rem;font-weight:600;color:hsl(0 0% 100%/.9);transition:color .2s;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.nav-desk a:hover,.nav-desk a[aria-current=page]{color:var(--primary)}
.burger{display:flex;background:none;border:none;color:var(--fg);padding:.5rem;cursor:pointer}
@media(min-width:960px){.burger{display:none}}
.mob-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--card);border-bottom:1px solid hsl(0 0% 15%/.5);padding:1rem;flex-direction:column;gap:1rem}
.mob-menu.open{display:flex}
.mob-menu ul{list-style:none;display:flex;flex-direction:column;gap:1rem}
.mob-menu a{font-size:1.125rem;font-weight:500;color:var(--muted-fg)}
.mob-menu a:hover{color:#fff}

.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-top:5rem;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scaleX(-1) scale(1.3);transform-origin:65% center}
.hero-grad{position:absolute;inset:0;background:linear-gradient(to right,hsl(0 0% 4%) 0%,hsl(0 0% 4%) 30%,hsl(0 0% 4%/.75) 48%,hsl(0 0% 4%/.18) 68%,hsl(0 0% 4%/.06) 100%)}
.hero-fade{position:absolute;inset:0;background:linear-gradient(to top,hsl(0 0% 4%/.6),transparent 50%)}
.hero-in{position:relative;z-index:10}
.hero-copy{max-width:42rem;animation:fadeUp 1s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:9999px;background:hsl(42 100% 50%/.1);border:1px solid hsl(42 100% 50%/.2);color:var(--primary);font-size:.875rem;font-weight:600;margin-bottom:1.5rem}
.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--primary);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(3rem,8vw,6rem);font-weight:900;line-height:1.1;margin-bottom:1.5rem}
.hero p.lead{margin-bottom:2rem;max-width:36rem}
.hero-btns{display:flex;flex-direction:column;gap:1rem}
@media(min-width:640px){.hero-btns{flex-direction:row}}
.scroll-ind{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:10;animation:bounce 2s infinite;color:hsl(0 0% 100%/.5)}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(.5rem)}}

.grid2{display:grid;grid-template-columns:1fr;gap:4rem;align-items:start}
@media(min-width:1024px){.grid2{grid-template-columns:1fr 1fr}}
.about-txt{display:flex;flex-direction:column;gap:2rem}
.about-txt h3{font-size:clamp(2.25rem,4vw,3rem);font-weight:900}
.sub-h{font-size:1.25rem;font-weight:700;border-bottom:1px solid hsl(0 0% 15%/.5);padding-bottom:.5rem;margin-bottom:1.5rem}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:1rem}
.feat-list li{display:flex;gap:1rem}
.feat-ico{background:hsl(42 100% 50%/.1);padding:.75rem;border-radius:.75rem;height:fit-content;flex-shrink:0;color:var(--primary);display:flex}
.feat-ico .icon{width:1.5rem;height:1.5rem}
.feat-list h5{font-size:1.125rem;font-weight:700;margin-bottom:.25rem}
.feat-list p{color:var(--muted-fg)}
blockquote.pull{border-left:4px solid var(--primary);padding-left:1.5rem;font-style:italic;font-size:clamp(1.25rem,2.5vw,1.5rem);color:var(--muted-fg)}
.about-media{display:flex;flex-direction:column;gap:1rem;order:-1}
@media(min-width:1024px){.about-media{order:0}}
.port{position:relative;aspect-ratio:4/5;border-radius:1.5rem;overflow:hidden;border:1px solid hsl(0 0% 15%/.5);box-shadow:0 25px 50px -12px rgba(0,0,0,.6)}
.port img{width:100%;height:100%;object-fit:cover}
.port-ov{position:absolute;inset:0;background:linear-gradient(to top,hsl(0 0% 4%/.9),hsl(0 0% 4%/.2) 50%,transparent);display:flex;align-items:flex-end;padding:2rem}
.port-ov div{display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:500}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.gal button{position:relative;aspect-ratio:3/4;border-radius:1rem;overflow:hidden;border:1px solid hsl(0 0% 15%/.5);padding:0;cursor:pointer;background:none;transition:border-color .3s}
.gal button:hover{border-color:hsl(42 100% 50%/.5)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal button:hover img{transform:scale(1.05)}

.grid3{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.grid3{grid-template-columns:repeat(3,1fr)}}
.card{background:hsl(0 0% 7%/.5);border:1px solid hsl(0 0% 15%/.5);border-radius:var(--radius);padding:1.5rem;transition:border-color .3s}
.card:hover{border-color:hsl(42 100% 50%/.5)}
.card-ico{margin-bottom:1rem;background:hsl(42 100% 50%/.1);width:3.5rem;height:3.5rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;color:var(--primary)}
.card-ico .icon{width:1.5rem;height:1.5rem}
.card h4{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}
.card p{color:var(--muted-fg)}

.sport{display:flex;flex-direction:column;gap:.5rem}
.sport-img{position:relative;border-radius:1.5rem;overflow:hidden;aspect-ratio:4/5}
@media(min-width:768px){.sport-img{aspect-ratio:1/1}}
.sport-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.sport:hover .sport-img img{transform:scale(1.05)}
.sport-ov{position:absolute;inset:0;background:linear-gradient(to top,hsl(0 0% 4%),hsl(0 0% 4%/.6) 50%,transparent);opacity:.9}
.sport-body{position:absolute;inset:0;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end}
.sport-body>div{transform:translateY(1rem);transition:transform .5s}
.sport:hover .sport-body>div{transform:translateY(0)}
.sport-body .icon{width:2rem;height:2rem;color:var(--primary);margin-bottom:1rem}
.sport-body h4{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}
.sport-body p{color:var(--muted-fg);opacity:0;transition:opacity .5s .1s;font-size:.95rem}
.sport:hover .sport-body p,.sport:focus-within .sport-body p{opacity:1}
.cap{font-size:.75rem;font-style:italic;color:hsl(0 0% 65%/.6);text-align:center;padding:0 .5rem}

.steps-wrap{position:relative}
.steps-line{display:none;position:absolute;top:3.25rem;left:calc(12.5% + 1rem);right:calc(12.5% + 1rem);height:1px;background:linear-gradient(to right,hsl(42 100% 50%/.2),hsl(42 100% 50%/.5),hsl(42 100% 50%/.2));z-index:0}
@media(min-width:768px){.steps-line{display:block}}
.grid4{display:grid;grid-template-columns:1fr;gap:2rem;position:relative;z-index:10}
@media(min-width:768px){.grid4{grid-template-columns:repeat(4,1fr)}}
.step{display:flex;flex-direction:column;align-items:center;text-align:center}
.step-circ{position:relative;margin-bottom:1.5rem}
.step-circ>div{width:6rem;height:6rem;border-radius:50%;background:var(--bg);border:1px solid hsl(0 0% 15%/.6);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px rgba(0,0,0,.4);transition:border-color .3s;color:var(--primary)}
.step:hover .step-circ>div{border-color:hsl(42 100% 50%/.6)}
.step-circ .icon{width:1.75rem;height:1.75rem}
.step-num{position:absolute;top:-.5rem;right:-.5rem;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:900;color:var(--primary-fg)}
.step h4{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.step p{color:var(--muted-fg);font-size:.875rem;line-height:1.7}

.grid3p{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;max-width:72rem;margin:0 auto}
@media(min-width:768px){.grid3p{grid-template-columns:repeat(3,1fr)}}
.plan{position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;border-radius:var(--radius);border:1px solid hsl(0 0% 15%/.5);background:hsl(0 0% 7%/.5);padding:2rem 1.5rem}
.plan.pop{border-color:var(--primary);background:var(--bg);box-shadow:0 25px 50px -12px hsl(42 100% 50%/.2);z-index:10}
@media(min-width:768px){.plan.pop{transform:scale(1.05)}}
.plan-bar{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,hsl(42 100% 50%/.7),var(--primary))}
.plan-tag{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:.5rem}
.plan h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}
.plan-desc{color:var(--muted-fg);min-height:48px}
.plan-price{margin-top:1.5rem;display:flex;align-items:baseline;gap:.25rem}
.plan-price b{font-size:3rem;font-weight:900;font-family:var(--f-display)}
.plan-price span{color:var(--muted-fg);font-weight:500}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0;flex:1}
.plan li{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:var(--muted-fg)}
.plan li .icon{width:1.25rem;height:1.25rem;color:var(--primary);margin-top:.15rem}
.plan li.first span{font-weight:600;color:var(--fg)}
.plan .btn{width:100%;height:3rem}

.res-card{border-radius:1.5rem;border:1px solid hsl(0 0% 15%/.5);background:hsl(0 0% 7%/.6);padding:1.75rem}
.res-card .card-ico{width:3rem;height:3rem;border-radius:1rem;margin-bottom:1.25rem}
.res-card h3{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}
.res-card p.body{color:var(--muted-fg);line-height:1.7}
.res-m{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:.5rem}
.grid2t{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.grid2t{grid-template-columns:repeat(2,1fr)}}
figure.tst{border-radius:1.5rem;border:1px solid hsl(0 0% 15%/.5);background:var(--card);padding:2rem;display:flex;flex-direction:column}
.stars{display:flex;gap:.25rem;color:var(--primary);margin-bottom:1.25rem}
.stars .icon{width:1.25rem;height:1.25rem;fill:currentColor;stroke:none}
figure.tst blockquote{font-size:1.125rem;font-weight:500;line-height:1.7;margin-bottom:1.5rem;flex:1}
figcaption{display:flex;align-items:center;gap:1.25rem}
figcaption img{width:5rem;height:5rem;border-radius:1rem;object-fit:cover;border:2px solid hsl(42 100% 50%/.3);flex-shrink:0}
figcaption b{font-size:1.125rem;display:block}
figcaption small{font-size:.875rem;color:var(--muted-fg)}
.blur-orb{position:absolute;top:-6rem;right:0;width:24rem;height:24rem;background:hsl(42 100% 50%/.1);filter:blur(80px);border-radius:50%;pointer-events:none}

.lm{border-radius:1.5rem;border:1px solid hsl(42 100% 50%/.3);background:linear-gradient(135deg,hsl(0 0% 7%),hsl(0 0% 4%));padding:2.5rem;max-width:56rem;margin:0 auto;position:relative;overflow:hidden}
.lm-orb{position:absolute;top:-3rem;right:-3rem;width:14rem;height:14rem;background:hsl(42 100% 50%/.15);filter:blur(60px);border-radius:50%}
.lm-in{position:relative}
.lm h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:900;margin-bottom:.75rem}
.lm p{color:var(--muted-fg);margin-bottom:1.5rem}
/* Solo el formulario de descarga (.lm-form): la caja .lm también envuelve el de reseñas */
.lm-form{display:flex;flex-direction:column;gap:.75rem}
@media(min-width:640px){.lm-form{flex-direction:row}}
.lm-form input[type=email]{flex:1;height:3rem;border-radius:9999px;background:var(--bg);border:1px solid var(--border);padding:0 1.25rem;color:var(--fg);font-family:var(--f-sans);font-size:.95rem}
.lm-form input[type=email]::placeholder{color:var(--muted-fg)}
.lm-form input[type=email]:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:transparent}
.lm-form .btn{height:3rem;padding:0 1.75rem;white-space:nowrap}
.lm .fine{font-size:.75rem;color:var(--muted-fg);margin:1rem 0 0}
.hp{position:absolute;left:-9999px}

.blog-head{display:flex;flex-direction:column;gap:2rem;margin-bottom:3.5rem}
@media(min-width:1024px){.blog-head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.post-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.post-grid{grid-template-columns:repeat(3,1fr)}}
.post-card{display:flex;flex-direction:column;border-radius:1.5rem;border:1px solid hsl(0 0% 15%/.5);background:var(--bg);overflow:hidden;transition:border-color .3s;height:100%}
.post-card:hover{border-color:hsl(42 100% 50%/.4)}
.post-card .thumb{aspect-ratio:16/9;overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .thumb img{transform:scale(1.05)}
.post-body{display:flex;flex-direction:column;flex:1;padding:1.75rem;gap:1rem}
.post-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:9999px;background:hsl(42 100% 50%/.1);color:var(--primary);padding:.25rem .75rem}
.mins{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--muted-fg)}
.mins .icon{width:.85rem;height:.85rem}
.post-card h3{font-size:1.125rem;font-weight:700;line-height:1.4;margin-bottom:.5rem;transition:color .2s}
.post-card:hover h3{color:var(--primary)}
.post-card .exc{color:var(--muted-fg);font-size:.875rem;line-height:1.7}
.post-foot{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid hsl(0 0% 15%/.5);margin-top:auto}
.post-foot span:first-child{font-size:.75rem;color:var(--muted-fg)}
.read-more{display:inline-flex;align-items:center;gap:.3rem;font-size:.875rem;font-weight:600;color:var(--primary)}
.read-more .icon{width:.9rem;height:.9rem}

.article-hero{padding:9rem 0 3rem;background:var(--card);border-bottom:1px solid var(--border)}
.crumbs{font-size:.8rem;color:var(--muted-fg);margin-bottom:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap}
.crumbs a:hover{color:var(--primary)}
.article-hero h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:900;max-width:52rem;margin-bottom:1.25rem}
.article-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;color:var(--muted-fg);font-size:.9rem}
.article-cover{max-width:56rem;margin:2.5rem auto 0;border-radius:1.5rem;overflow:hidden;border:1px solid hsl(0 0% 15%/.5)}
.article-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}
.prose{max-width:46rem;margin:0 auto;padding:3.5rem 0}
.prose p{margin-bottom:1.5rem;font-size:1.0625rem;line-height:1.85;color:hsl(0 0% 85%)}
.prose h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin:3rem 0 1.25rem;color:var(--fg)}
.prose h3{font-size:1.25rem;font-weight:700;margin:2rem 0 1rem}
.prose strong{color:var(--fg);font-weight:700}
.prose a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{margin:0 0 1.5rem 1.25rem;color:hsl(0 0% 85%)}
.prose li{margin-bottom:.6rem;line-height:1.8}
.prose blockquote{border-left:4px solid var(--primary);padding-left:1.5rem;font-style:italic;color:var(--muted-fg);margin:2rem 0}
.article-cta{max-width:46rem;margin:0 auto 4rem;border-radius:1.5rem;border:1px solid hsl(42 100% 50%/.25);background:var(--card);padding:2.5rem;text-align:center}
.article-cta h3{font-size:1.5rem;font-weight:800;margin-bottom:.75rem}
.article-cta p{color:var(--muted-fg);margin-bottom:1.5rem}
.article-nav{max-width:46rem;margin:0 auto 5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

.faq-box{max-width:56rem;margin:0 auto;border-radius:1.5rem;border:1px solid var(--border);background:var(--card);overflow:hidden}
.faq-box details{padding:1.5rem;border-bottom:1px solid var(--border)}
@media(min-width:768px){.faq-box details{padding:2rem}}
.faq-box details:last-child{border-bottom:none}
.faq-box details[open]{background:hsl(0 0% 4%/.4)}
.faq-box summary{cursor:pointer;list-style:none;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-family:var(--f-display)}
.faq-box summary::-webkit-details-marker{display:none}
.faq-box summary span{color:var(--primary);transition:transform .3s;font-size:1.5rem;flex-shrink:0;line-height:1}
.faq-box details[open] summary span{transform:rotate(45deg)}
.faq-box details p{margin-top:1rem;color:var(--muted-fg);line-height:1.7}

footer{background:var(--bg);border-top:1px solid var(--border);position:relative;overflow:hidden}
.foot-glow{position:absolute;bottom:0;left:0;right:0;height:16rem;background:linear-gradient(to top,hsl(42 100% 50%/.1),transparent);pointer-events:none}
.foot-in{padding:5rem 0;position:relative}
.foot-grid{display:grid;grid-template-columns:1fr;gap:4rem}
@media(min-width:1024px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-left{display:flex;flex-direction:column;gap:2rem}
.foot-brand{display:flex;align-items:center;gap:.5rem;width:fit-content}
.foot-brand img{height:3.5rem;width:3.5rem;object-fit:contain}
.foot-brand span{font-family:var(--f-display);font-weight:700;font-size:1.5rem;letter-spacing:-.025em}
.socials{display:flex;gap:1rem}
.socials a{width:3rem;height:3rem;border-radius:50%;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s}
.socials a:hover{border-color:var(--primary);color:var(--primary)}
.foot-cta{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;position:relative;overflow:hidden}
@media(min-width:1024px){.foot-cta{padding:3rem}}
.foot-cta-orb{position:absolute;top:0;right:0;width:8rem;height:8rem;background:hsl(42 100% 50%/.2);filter:blur(60px);border-radius:50%}
.foot-cta h2{font-size:1.875rem;font-weight:700;margin-bottom:1.5rem;position:relative}
.foot-cta>p{color:var(--muted-fg);margin-bottom:2rem;position:relative}
.foot-btns{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;position:relative}
@media(min-width:640px){.foot-btns{flex-direction:row}}
.foot-btns a{padding:1rem 1.5rem;font-size:1rem}
.avail{padding-top:2rem;border-top:1px solid var(--border);margin-top:2rem}
.avail p{font-size:.875rem;color:var(--muted-fg);display:flex;align-items:center;gap:.5rem}
.avail .dot{background:#22c55e}
.foot-bottom{margin-top:5rem;padding-top:2rem;border-top:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;color:var(--muted-fg);text-align:center}
@media(min-width:768px){.foot-bottom{flex-direction:row;text-align:left}}

.wa{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:#25D366;box-shadow:0 20px 40px -12px rgba(0,0,0,.6);transition:transform .2s}
.wa:hover{transform:scale(1.1)}
.wa svg{width:2rem;height:2rem;fill:#fff}

.lb{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:hsl(0 0% 4%/.94);backdrop-filter:blur(4px);padding:1rem}
.lb.open{display:flex}
.lb img{max-height:85vh;max-width:48rem;width:auto;object-fit:contain;border-radius:1rem}
.lb-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:hsl(0 0% 100%/.7);cursor:pointer;z-index:10}
.lb-close:hover{color:#fff}
.lb-close .icon{width:2rem;height:2rem}
.lb-cap{margin-top:.75rem;text-align:center;font-size:.875rem;font-style:italic;color:hsl(0 0% 65%/.7);max-width:48rem}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ── Zonas / provincias ── */
.zonas{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:60rem;margin:0 auto}
@media(min-width:768px){.zonas{grid-template-columns:repeat(4,1fr)}}
.zona{display:flex;align-items:flex-start;gap:.75rem;padding:1.1rem;border-radius:1rem;border:1px solid hsl(0 0% 15%/.5);background:hsl(0 0% 7%/.6);transition:border-color .3s}
.zona:hover{border-color:hsl(42 100% 50%/.45)}
.zona .icon{color:var(--primary);margin-top:.15rem}
.zona b{display:block;font-family:var(--f-display);font-size:1.05rem;font-weight:700}
.zona small{color:var(--muted-fg);font-size:.78rem;line-height:1.5;display:block;margin-top:.15rem}

/* ── Avatar con iniciales ── */
.avatar-ini{width:5rem;height:5rem;border-radius:1rem;background:linear-gradient(135deg,var(--primary),hsl(36 100% 45%));display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:900;font-size:1.5rem;color:var(--primary-fg);flex-shrink:0}

/* ── Formulario de reseñas ── */
.rev-form{display:flex;flex-direction:column;gap:1.25rem}
.rev-row{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.rev-row{grid-template-columns:1fr 1fr}}
.rev-field{display:flex;flex-direction:column;gap:.4rem}
.rev-field label{font-weight:600;font-size:.9rem}
.rev-field label span{color:var(--primary)}
.rev-field small{font-size:.75rem;color:var(--muted-fg)}
.rev-field input[type=text],.rev-field input[type=email],.rev-field select,.rev-field textarea{
  width:100%;background:var(--bg);border:1px solid var(--border);color:var(--fg);
  font-family:var(--f-sans);font-size:.95rem;padding:.8rem 1rem;border-radius:.75rem;transition:border-color .2s}
.rev-field textarea{resize:vertical;min-height:7rem;line-height:1.6}
.rev-field input:focus,.rev-field select:focus,.rev-field textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:transparent}
.rev-field input::placeholder,.rev-field textarea::placeholder{color:hsl(0 0% 45%)}
.rev-field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;background-size:1.1rem;padding-right:2.5rem}
.rev-stars{border:none;padding:0}
.rev-stars legend{font-weight:600;font-size:.9rem;margin-bottom:.5rem;padding:0}
.rev-stars legend span{color:var(--primary)}
.star-input{display:inline-flex;flex-direction:row-reverse;gap:.25rem}
.star-input input{position:absolute;opacity:0;width:0;height:0}
.star-input label{color:hsl(0 0% 28%);cursor:pointer;transition:color .15s;line-height:0}
.star-input input:checked~label,.star-input label:hover,.star-input label:hover~label{color:var(--primary)}
.star-input input:focus-visible+label{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}
.rev-check{display:flex;gap:.75rem;align-items:flex-start;font-size:.82rem;color:var(--muted-fg);line-height:1.6;cursor:pointer}
.rev-check input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--primary);flex-shrink:0;cursor:pointer}
.rev-check a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.rev-done{text-align:center;padding:1.5rem 0}

/* ── Lead magnet dentro de artículo ── */
.article-lm{max-width:46rem;margin:0 auto 3rem}
.lm-done{color:var(--primary);font-weight:600;margin-top:.5rem}
.lm-done a{text-decoration:underline;text-underline-offset:3px}


/* ─────────────────────────────────────────────────────────────
   CORRECCIÓN: la barra superior es la única <nav> que va fija.
   Las migas de pan y la navegación entre artículos también usan
   la etiqueta <nav>, y heredaban position:fixed, por lo que se
   amontonaban arriba y bloqueaban los botones del menú.
   ───────────────────────────────────────────────────────────── */
.crumbs,
.article-nav{
  position:static;
  top:auto;left:auto;right:auto;
  z-index:auto;
  border-bottom:none;
  background:none;
  backdrop-filter:none;
}
.crumbs{padding:0;margin-bottom:1.5rem}
.article-nav{padding:0}
