/* Reset */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{min-height:100vh}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
img{max-width:100%;display:block}
h1,h2,h3{margin:0}
p{margin:0}
:focus-visible{outline:1px solid var(--accent);outline-offset:2px}

main{max-width:600px;margin:0 auto;position:relative;overflow-x:clip;padding-top:var(--header-h)}
body.has-hero main{padding-top:0}

/* Header — flotante y transparente sobre el hero; toma fondo sólido al hacer scroll (.is-scrolled, ver menu.js) */
.header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:transparent;border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;max-width:600px;margin:0 auto}
.header.is-scrolled{background:rgba(13,13,14,.82);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom-color:var(--border)}
.brand{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-weight:500;font-size:20px;letter-spacing:-.01em;color:var(--fg);line-height:1}
.brand em{font-style:italic;color:var(--fg-2);font-weight:400}
.brand small{font-family:var(--font-body);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--micro);margin-left:2px;font-weight:500}
.header-right{display:flex;align-items:center;gap:10px}
.btn-wa{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:4px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:600;letter-spacing:.01em;border:none;cursor:pointer;transition:background .18s ease}
.btn-wa:hover{background:var(--accent-hover)}
.btn-wa svg{opacity:.9}
.btn-wa-lg{display:inline-flex;align-self:flex-start;align-items:center;gap:9px;padding:14px 22px;border-radius:4px;background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600;letter-spacing:.01em;border:none;cursor:pointer;transition:background .18s ease,transform .18s ease}
.btn-wa-lg:hover{background:var(--accent-hover)}
.btn-wa-lg:active{transform:scale(.98)}
.btn-wa-lg svg{opacity:.9;flex-shrink:0}
.hamb{width:34px;height:34px;border-radius:8px;background:transparent;border:1px solid var(--border-2);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.hamb span{width:14px;height:1px;background:var(--fg-2);display:block;transition:transform .2s ease,opacity .2s ease}
.hamb.open span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.hamb.open span:nth-child(2){opacity:0}
.hamb.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.mobile-menu{position:fixed;top:var(--header-h);left:50%;transform:translate(-50%,-8px);width:100%;max-width:600px;z-index:29;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;padding:8px 20px 20px;opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
.mobile-menu.open{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.mobile-menu a{padding:14px 0;border-top:1px solid var(--border);font-size:14px;font-weight:500;color:var(--fg-2)}
.mobile-menu a:first-child{border-top:0}

/* Secciones y tipografía compartida */
section{padding:56px 20px;border-top:1px solid var(--border);position:relative}
section:first-of-type{border-top:0}
.kicker{font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2);display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}
.kicker::before{content:'';width:18px;height:1px;background:var(--muted-2)}
h2.section-title{font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.04;letter-spacing:-.015em;color:var(--fg);margin-bottom:16px}
h2.section-title em{font-style:italic;color:var(--fg-2)}
p.lede{font-size:14px;line-height:1.62;letter-spacing:-.005em;color:var(--muted);margin-bottom:20px}
p.lede+p.lede{margin-top:-8px}

/* Encabezado de sección centrado (opción D) — kicker, título, regla de acento y bajada, con aire */
.section-head{text-align:center;max-width:660px;margin:0 auto 44px}
.section-head .kicker{justify-content:center;color:var(--accent);margin-bottom:22px}
.section-head .kicker::before{display:none}
.section-head h2.section-title{font-size:40px;font-weight:500;margin-bottom:0}
.section-head h2.section-title em{color:var(--accent)}
.section-head h2.section-title::after{content:'';display:block;width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);margin:24px auto 22px}
.section-head p.lede{margin:0 auto;max-width:540px}
.section-head p.lede+p.lede{margin-top:14px}

.section-out{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:12px;font-weight:500;color:var(--fg-2);letter-spacing:.02em;border-bottom:1px solid var(--border-2);padding-bottom:6px;cursor:pointer}
.section-out svg{transition:transform .2s ease}
.section-out:hover svg{transform:translateX(3px)}

/* Placeholders de foto — honestos, sin contenido inventado */
.ph{position:relative;width:100%;aspect-ratio:4/5;background:radial-gradient(120% 100% at 20% 15%,#38393c 0%,#242528 40%,#141416 75%,#080809 100%);overflow:hidden;border-radius:2px}
.ph .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.ph::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,220,180,.05) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.35) 100%),repeating-linear-gradient(45deg,rgba(255,235,200,.012) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
.ph::after{content:'';position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 55%,rgba(0,0,0,0) 0%,rgba(0,0,0,.45) 100%)}
.ph .ph-label{position:absolute;left:12px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2);opacity:.85;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.ph .ph-label::before{content:'';width:10px;height:1px;background:var(--fg-2);opacity:.6}
.ph.v2{background:radial-gradient(120% 100% at 70% 40%,#36373a 0%,#222327 40%,#131316 75%,#080809 100%)}
.ph.v3{background:radial-gradient(120% 100% at 50% 30%,#34353a 0%,#212227 45%,#121316 80%,#070708 100%)}
.ph.v4{background:radial-gradient(140% 100% at 30% 70%,#38393d 0%,#232428 40%,#131417 75%,#080809 100%)}
.ph.v5{background:radial-gradient(120% 100% at 80% 20%,#3a3b3f 0%,#242528 45%,#141517 80%,#080809 100%)}
.ph.v6{background:radial-gradient(120% 100% at 20% 70%,#333438 0%,#1f2025 45%,#111214 80%,#070708 100%)}

/* CTA */
.cta-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 20px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:4px;font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s ease}
.cta-primary:hover{background:var(--accent-hover)}
.cta-primary .cta-icon{display:inline-flex;align-items:center;gap:6px;opacity:.9;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}

/* Footer */
footer{padding:52px 20px 26px;background:#070708;border-top:1px solid var(--dark-panel-border)}
footer .foot-grid{display:flex;flex-direction:column;gap:36px}
footer .foot-brand{font-family:var(--font-display);font-weight:400;font-size:24px;letter-spacing:-.01em;color:var(--fg);margin-bottom:14px;display:flex;align-items:baseline;gap:8px}
footer .foot-brand em{font-style:italic;color:var(--accent);font-weight:400}
footer .foot-tag{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 14px;max-width:280px}
footer .foot-addr{font-size:13px;line-height:1.6;color:var(--fg-2);margin:0}
footer .foot-addr span{color:var(--muted)}
footer .foot-k{display:block;font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px}
footer .foot-nav a{display:block;font-size:14px;color:var(--fg-2);text-decoration:none;padding:7px 0;transition:color .18s ease}
footer .foot-nav a:hover{color:var(--accent)}
footer .foot-contact a{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--fg-2);text-decoration:none;padding:7px 0;transition:color .18s ease}
footer .foot-contact a:hover{color:var(--accent)}
footer .foot-contact svg{width:16px;height:16px;flex-shrink:0;color:var(--accent)}
footer .foot-legal{margin-top:44px;padding-top:20px;border-top:1px solid var(--dark-panel-border);display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--micro)}
footer .foot-legal a{color:var(--muted-2);text-decoration:none}
