:root{--bg:#050505;--surface:#0C0C0C;--line:rgba(247,245,240,.14);--text:#F7F5F0;--dim:rgba(247,245,240,.6);--air:clamp(32px,6vw,96px);--max:1200px;--serif:'Fraunces',serif;--sans:'Inter',Helvetica,Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none}body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}img,video{display:block;max-width:100%;height:auto}img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}a{color:inherit;text-decoration:none}.container{max-width:var(--max);margin:auto;padding:0 24px}
.preloader{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:clamp(60px,10vw,120px);letter-spacing:.15em;color:var(--text);animation:preload-out 1.8s ease .4s forwards;pointer-events:none}
@keyframes preload-out{0%,55%{opacity:1}100%{opacity:0;visibility:hidden}}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(5,5,5,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}
.logo img{height:44px;width:auto}.footer-logo img{height:56px}
.nav a{margin:0 16px;font-size:13px;opacity:.75;transition:opacity .3s}.nav a:hover{opacity:1}
.btn{display:inline-block;padding:12px 22px;border:1px solid var(--text);color:var(--text);font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:background .3s,opacity .3s}
.btn:hover{background:rgba(247,245,240,.1)}
.btn.primary{background:var(--text);color:var(--bg)}
.btn.ghost{border-color:var(--line);color:var(--text)}
/* hero estático: ver candle.css (fondo de la vela + contenido por encima) */
.section{padding:var(--air) 0}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
h2{font-family:var(--serif);font-size:clamp(32px,6vw,64px);line-height:1.05;margin-bottom:24px}
.masonry{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.card{background:var(--surface);border:1px solid var(--line);position:relative;will-change:transform}
.card img{aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}
.card:hover img,.card:active img,.card.color img{filter:grayscale(0)}
.card figcaption{padding:14px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.solution{border-top:1px solid var(--line);padding-top:20px}
.solution h3{font-family:var(--serif);font-size:22px;margin-bottom:8px}
.solution p{color:var(--dim)}
.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:32px}
.step{border-left:2px solid var(--line);padding-left:16px}
.step span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.process-intro{color:var(--dim)}
.contact p{color:var(--dim)}
.contact-form{display:grid;gap:16px;max-width:560px;margin-top:24px}
.contact-form input,.contact-form textarea{padding:14px;border:1px solid var(--line);background:var(--surface);font-family:var(--sans);font-size:14px;color:var(--text)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--dim)}
.contact-form textarea{min-height:120px;resize:vertical}
.footer{background:#000;color:var(--dim);border-top:1px solid var(--line);padding:48px 24px;margin-top:var(--air);font-size:13px}
.reveal{opacity:0;transform:translateY(40px)}
@media(max-width:768px){.nav-inner{flex-wrap:wrap}.hero-overlay h1{font-size:56px}}
