:root{--bg:#141517;--bg2:#1d1f22;--card:#24272b;--line:#34383d;--text:#f2f2f2;--muted:#b9bcc0;--red:#c8302c;--red2:#e0443f;--green:#3fbf6a;--max:72rem;--r:.75rem;--shadow:0 10px 30px rgba(0,0,0,.35)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font:1.125rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;padding-bottom:5rem}
img{max-width:100%;height:auto;display:block}
a{color:#ff8a85}
a:focus-visible,.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.5rem;z-index:30}
/* header */
header.top{position:sticky;top:0;z-index:20;background:rgba(13,14,15,.94);backdrop-filter:blur(6px);border-bottom:3px solid var(--red)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.5rem;padding-bottom:.5rem}
.brand img{width:104px}
.links{display:none}
.links a{color:var(--muted);text-decoration:none;font-weight:600;font-size:1rem;padding:.6rem .4rem}
.links a:hover{color:#fff}
.acts{display:flex;align-items:center;gap:.6rem;font-size:1rem}
.lang{color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:.5rem;padding:.6rem .8rem;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;font-weight:700;border-radius:.6rem;padding:.85rem 1.35rem;text-align:center;line-height:1.2;transition:background .15s,border-color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 14px rgba(200,48,44,.35)}.btn-red:hover{background:var(--red2)}
.btn-ghost{color:var(--text);border:2px solid var(--line);background:transparent}.btn-ghost:hover{border-color:var(--muted)}
.btn-lg{font-size:1.15rem;padding:1rem 1.6rem;min-height:56px}
.top .btn{padding:.6rem .95rem;font-size:1rem;min-height:44px}
/* hero */
.hero{background:radial-gradient(120% 80% at 85% 0%,rgba(200,48,44,.22),transparent 60%),linear-gradient(180deg,#0d0e0f,var(--bg));padding:2.25rem 0 2.5rem}
.hero .wrap{display:grid;gap:2rem}
h1{font-size:clamp(2.1rem,6.2vw,3.4rem);line-height:1.08;margin:0 0 .85rem;letter-spacing:-.015em}
h1 span{color:var(--red2);display:block}
.lead{font-size:1.3rem;color:var(--muted);margin:0 0 .5rem}
.price{font-size:1.25rem;margin:0 0 .75rem}.price strong{color:#fff;font-size:1.4em}
.free{display:inline-block;margin:0 0 1.4rem;background:var(--red);color:#fff;font-weight:700;border-radius:.5rem;padding:.45rem .85rem;font-size:1.05rem}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.habla{display:inline-block;margin:1.1rem 0 0;background:var(--card);border-left:4px solid var(--red);padding:.4rem .85rem;font-weight:700;border-radius:0 .4rem .4rem 0}
.hero-img{margin:0;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-img img{width:100%}
.hero-img figcaption,.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1rem .7rem;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;font-weight:600;font-size:1rem}
/* open status */
.status{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.35rem .8rem;border-radius:2rem;font-weight:700;font-size:.98rem;background:var(--card);border:1px solid var(--line)}
.status .dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--muted)}
.status.is-open .dot{background:var(--green);box-shadow:0 0 0 4px rgba(63,191,106,.2)}
.status.is-open{color:#d7f5e1}
.status.is-closed .dot{background:var(--red2)}
.status[hidden]{display:none}
/* sections */
section{padding:3rem 0;border-top:1px solid var(--line)}
section:nth-of-type(even){background:var(--bg2)}
h2{font-size:clamp(1.7rem,4.5vw,2.3rem);margin:0 0 .5rem;line-height:1.2;letter-spacing:-.01em}
h2::after{content:"";display:block;width:3rem;height:4px;background:var(--red);border-radius:2px;margin-top:.6rem}
.sub{color:var(--muted);margin:0 0 1.6rem;max-width:42rem}
h3{font-size:1.3rem;margin:0 0 .6rem;color:#fff;line-height:1.25}
/* cards */
.grid{display:grid;gap:1.1rem}
.card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:var(--r);padding:1.4rem 1.35rem;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.card p{margin:0;color:var(--muted)}
.card .lbl{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--red2);font-weight:700;margin-bottom:.3rem}
.incl{margin:0 0 .9rem;padding:0;list-style:none}
.incl li{position:relative;padding-left:1.5rem;margin:.25rem 0}
.incl li::before{content:"";position:absolute;left:.15rem;top:.55em;width:.7rem;height:.38rem;border-left:3px solid var(--red2);border-bottom:3px solid var(--red2);transform:rotate(-45deg)}
.card .signs{font-size:1rem;background:rgba(255,255,255,.04);border-left:3px solid var(--line);padding:.55rem .75rem;border-radius:0 .4rem .4rem 0}
.card .signs strong{color:#fff}
.card .from{color:#fff;font-weight:700;margin-top:.8rem}
.btn-quote{margin-top:auto;align-self:flex-start}
.card .signs+.btn-quote,.card .from+.btn-quote{margin-top:1.1rem}
/* gallery */
.gallery{display:grid;gap:1rem;grid-template-columns:1fr}
.gallery figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#0d0e0f;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover}
/* reviews */
blockquote{margin:0;background:var(--card);border-left:4px solid var(--red);border-radius:.5rem;padding:1.4rem 1.5rem;font-size:1.25rem;max-width:48rem}
blockquote footer{margin-top:.7rem;font-size:1rem;color:var(--muted)}
/* visit */
.info{display:grid;gap:2rem}
.info dl{margin:0 0 1.5rem;display:grid;grid-template-columns:max-content 1fr;gap:.45rem 1.25rem}
.info dt{font-weight:700}.info dd{margin:0;color:var(--muted)}
.ext img{border-radius:var(--r);border:1px solid var(--line);width:100%}
address{font-style:normal;font-size:1.2rem;margin-bottom:1rem}
.map{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--card);margin-bottom:1rem}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.stack{display:flex;flex-wrap:wrap;gap:.75rem}
footer.site{border-top:3px solid var(--red);background:#0d0e0f;padding:1.75rem 0;color:var(--muted);font-size:1rem}
footer.site a{color:var(--text)}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;background:rgba(13,14,15,.97);border-top:1px solid var(--line);padding:.55rem .55rem calc(.55rem + env(safe-area-inset-bottom));gap:.5rem}
.callbar a{flex:1;font-size:1.1rem;padding:.85rem .5rem;min-height:52px}
.callbar a.dir{flex:0 0 auto;padding-left:1rem;padding-right:1rem}
.q{margin:0}.mt{margin-top:1.4rem}
a[href^="tel:"]{white-space:nowrap}
@media(min-width:600px){.gallery{grid-template-columns:repeat(2,1fr)}.gallery figure.wide:last-child{grid-column:span 2;aspect-ratio:8/3}}
@media(min-width:760px){
 body{padding-bottom:0}.callbar{display:none}
 .brand img{width:140px}
 .hero{padding:3.75rem 0 3.5rem}
 .hero .wrap{grid-template-columns:1fr 1.05fr;align-items:center;gap:3rem}
 .grid{grid-template-columns:repeat(2,1fr)}
 .info{grid-template-columns:1fr 1fr}
 section{padding:4rem 0}
}
@media(min-width:1000px){
 .links{display:flex;gap:1.1rem}
 .grid{grid-template-columns:repeat(3,1fr)}
 .gallery{grid-template-columns:repeat(3,1fr)}
 .gallery{grid-auto-rows:17rem}
 .gallery figure,.gallery figure.wide:last-child{aspect-ratio:auto}
 .gallery figure.wide{grid-column:span 2}
}
@media(max-width:420px){.top .btn{display:none}}
.gallery picture,.hero-img picture{display:block;height:100%}
/* faq */
.faq{display:grid;gap:.75rem;max-width:52rem}
.faq details{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:.5rem}
.faq summary{cursor:pointer;list-style:none;position:relative;padding:1rem 3rem 1rem 1.25rem;font-weight:700;color:#fff;min-height:48px;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.5rem;line-height:1;color:var(--red2);font-weight:700}
.faq details[open] summary::after{content:"\2212"}
.faq summary:hover{color:var(--red2)}
.faq summary:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:.4rem}
.faq details p{margin:0;padding:0 1.25rem 1.1rem;color:var(--muted)}
.chat-note{margin:1.4rem 0 0;font-weight:700}
.chat-note[hidden]{display:none}

.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}.brand-sub{font-family:inherit;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;line-height:1.2;color:#e8e8e8;max-width:7rem}@media(min-width:700px){.brand-sub{font-size:.85rem;max-width:none}}
