:root{--blanco:#fff;--crema:#faf8f5;--tinta:#1c1a17;--gris:#6b655d;--linea:#ece7e0;--madera:#9a6b43;--madera-osc:#7a5232;--sombra:0 10px 40px #1c1a1714;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, sans-serif;font-family:var(--sans);color:var(--tinta);background:var(--blanco);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--blanco);line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;font-weight:600;line-height:1.1}::selection{background:var(--madera);color:#fff}.kicker{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--madera);margin-bottom:.9rem;font-size:.78rem;font-weight:600}.btn{font-family:var(--sans);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.7rem;font-size:.95rem;font-weight:500;transition:all .25s;display:inline-flex}.btn--solid{background:var(--tinta);color:#fff}.btn--solid:hover{background:var(--madera);transform:translateY(-2px)}.btn--ghost{border-color:var(--linea);color:var(--tinta)}.btn--ghost:hover{border-color:var(--tinta)}.nav{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--linea);background:#ffffffd9;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.2rem,5vw,4rem);display:flex;position:sticky;top:0}.nav__logo{font-family:var(--sans);letter-spacing:-.02em;color:var(--tinta);font-size:1.3rem;font-weight:700}.nav__logo span{color:var(--madera)}.nav__links{align-items:center;gap:2rem;display:flex}.nav__links a{color:var(--gris);font-size:.95rem;font-weight:500;transition:color .2s}.nav__links a:hover{color:var(--tinta)}.nav__cta{border:1px solid var(--tinta);border-radius:999px;padding:.55rem 1.3rem;color:var(--tinta)!important}.nav__cta:hover{background:var(--tinta);color:#fff!important}.nav__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.nav__burger span{background:var(--tinta);border-radius:2px;width:24px;height:2px}.hero{text-align:center;background:radial-gradient(120% 90% at 50% 0,#fdfbf8 0%,#fff 55%);justify-content:center;align-items:center;min-height:calc(100vh - 68px);padding:4rem clamp(1.2rem,5vw,4rem) 8rem;display:flex;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(90deg, transparent, var(--madera), transparent);opacity:.4;height:4px;position:absolute;inset:auto 0 0}.hero__inner{max-width:760px}.hero__logo{width:min(360px,72vw);margin:0 auto 1.8rem}.hero__video-wrap{display:none}.hero__video{cursor:pointer}.hero__video-sound{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#14100c8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,background .2s;display:flex;position:absolute;bottom:16px;right:16px}.hero__video-sound:hover{background:#14100cd1;transform:scale(1.06)}.hero__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:1.4rem;font-size:.85rem;font-weight:500}.hero__title{margin-bottom:1.3rem;font-size:clamp(2rem,5vw,3.4rem)}.hero__title em{color:var(--madera);font-style:italic}.hero__lead{color:var(--gris);max-width:560px;margin:0 auto 2.4rem;font-size:clamp(1.05rem,2vw,1.25rem)}.hero__actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero__scroll{letter-spacing:.14em;text-transform:uppercase;color:var(--gris);flex-direction:column;align-items:center;gap:.5rem;font-size:.72rem;display:flex;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}.hero__scroll i{background:linear-gradient(var(--madera), transparent);width:1px;height:38px}.seccion{padding:clamp(4rem,9vw,7rem) clamp(1.2rem,5vw,4rem)}.seccion--crema{background:var(--crema)}.seccion__head{text-align:center;max-width:640px;margin:0 auto 3.5rem}.seccion__head h2{margin-bottom:1rem;font-size:clamp(2rem,4.5vw,3rem)}.seccion__sub{color:var(--gris);font-size:1.05rem}.grid-servicios{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;max-width:1080px;margin:0 auto;display:grid}.card-servicio{border:1px solid var(--linea);background:#fff;border-radius:18px;padding:2.2rem 1.8rem;transition:transform .25s,box-shadow .25s,border-color .25s}.card-servicio:hover{box-shadow:var(--sombra);border-color:#0000;transform:translateY(-6px)}.card-servicio__icono{margin-bottom:1rem;font-size:2rem;display:block}.card-servicio h3{margin-bottom:.6rem;font-size:1.45rem}.card-servicio p{color:var(--gris);font-size:.97rem}.grid-galeria{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem;max-width:1120px;margin:0 auto;display:grid}.galeria__item{aspect-ratio:4/3;box-shadow:var(--sombra);background:#efe9e2;border-radius:16px;position:relative;overflow:hidden}.galeria__item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.galeria__item:hover img{transform:scale(1.06)}.galeria__item figcaption{color:#fff;font-family:var(--serif);background:linear-gradient(#0000,#14100cc7);padding:1.4rem 1.1rem 1rem;font-size:1.15rem;position:absolute;inset:auto 0 0}.sobre{grid-template-columns:1.4fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);max-width:1080px;margin:0 auto;padding:clamp(4rem,9vw,7rem) clamp(1.2rem,5vw,4rem);display:grid}.sobre__texto h2{margin-bottom:1.4rem;font-size:clamp(2rem,4.5vw,3rem)}.sobre__texto p{color:var(--gris);margin-bottom:1.1rem;font-size:1.05rem}.sobre__texto .btn{margin-top:.8rem}.sobre__stats{gap:1rem;display:grid}.sobre__stats div{background:var(--crema);border:1px solid var(--linea);border-radius:16px;padding:1.5rem 1.6rem}.sobre__stats strong{font-family:var(--serif);color:var(--madera);font-size:1.8rem;display:block}.sobre__stats span{color:var(--gris);font-size:.92rem}.contacto{text-align:center;padding:clamp(4rem,9vw,7rem) clamp(1.2rem,5vw,4rem)}.contacto__opciones{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;max-width:880px;margin:0 auto;display:grid}.contacto__card{border:1px solid var(--linea);border-radius:18px;flex-direction:column;align-items:center;gap:.35rem;padding:2rem 1.5rem;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex}.contacto__card:hover{box-shadow:var(--sombra);border-color:#0000;transform:translateY(-5px)}.contacto__ico{margin-bottom:.4rem;font-size:1.8rem}.contacto__card strong{font-size:1.15rem}.contacto__card small{color:var(--gris);font-size:.9rem}.footer{border-top:1px solid var(--linea);text-align:center;padding:3rem 1.5rem 2.5rem}.footer__logo{width:min(220px,60vw);margin:0 auto}.footer__tag{color:var(--gris);font-style:italic;font-family:var(--serif);margin:.4rem 0 1.3rem;font-size:1.1rem}.footer__redes{justify-content:center;gap:1.5rem;margin-bottom:1.6rem;display:flex}.footer__redes a{color:var(--gris);border-bottom:1px solid #0000;font-size:.92rem;transition:all .2s}.footer__redes a:hover{color:var(--madera);border-color:var(--madera)}.footer__copy{color:#a39d94;font-size:.82rem}.wa-flotante{z-index:60;color:#fff;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 8px 24px #25d36673}.wa-flotante:hover{transform:scale(1.08)}@media (width<=760px){.nav__burger{display:flex}.nav__links{border-bottom:1px solid var(--linea);background:#fff;flex-direction:column;gap:1.3rem;padding:1.6rem;transition:transform .3s;position:absolute;top:100%;left:0;right:0;transform:translateY(-150%)}.nav__links.is-open{transform:translateY(0)}.sobre{grid-template-columns:1fr}.sobre__stats{grid-template-columns:repeat(3,1fr);gap:.7rem}.sobre__stats div{text-align:center;min-width:0;padding:1.1rem .5rem}.sobre__stats strong{font-size:1.35rem}.sobre__stats span{font-size:.78rem}.hero{padding-bottom:6rem}.hero__logo{width:min(280px,66vw);margin-bottom:1.4rem}.hero__video-wrap{background:linear-gradient(160deg, #fff, var(--crema));border:1px solid var(--linea);border-radius:24px;width:min(250px,62vw);margin:0 auto 1.8rem;padding:6px;display:block;position:relative;box-shadow:0 18px 45px #1c1a172e}.hero__video{aspect-ratio:478/850;object-fit:cover;background:#0c0c0c;border-radius:18px;width:100%;display:block}}@media (width<=480px){.hero__title{font-size:clamp(1.7rem,7.5vw,2.3rem)}.hero__lead{font-size:1rem}.hero__actions{flex-direction:column;align-items:stretch;width:100%;max-width:320px;margin:0 auto}.hero__actions .btn{width:100%}.seccion__head h2,.sobre__texto h2{font-size:clamp(1.7rem,6vw,2.2rem)}}[data-reveal]{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transform:translateY(30px)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scrollLine{0%,to{opacity:.35;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}@keyframes waPulse{0%,to{box-shadow:0 8px 24px #25d36673}50%{box-shadow:0 8px 30px #25d366bf}}@media (prefers-reduced-motion:no-preference){.hero__logo{animation:.9s cubic-bezier(.22,.61,.36,1) both fadeUp}.hero__video-wrap{animation:.9s cubic-bezier(.22,.61,.36,1) .18s both fadeUp}.hero__eyebrow{animation:.9s cubic-bezier(.22,.61,.36,1) .12s both fadeUp}.hero__title{animation:.9s cubic-bezier(.22,.61,.36,1) .22s both fadeUp}.hero__lead{animation:.9s cubic-bezier(.22,.61,.36,1) .34s both fadeUp}.hero__actions{animation:.9s cubic-bezier(.22,.61,.36,1) .46s both fadeUp}.hero__scroll{animation:1s .9s both fadeIn}.hero__scroll i{transform-origin:top;animation:1.9s ease-in-out infinite scrollLine}.wa-flotante{animation:2.6s ease-in-out infinite waPulse}}.nav__links a:not(.nav__cta){position:relative}.nav__links a:not(.nav__cta):after{content:"";background:var(--madera);width:0;height:1.5px;transition:width .28s;position:absolute;bottom:-5px;left:0}.nav__links a:not(.nav__cta):hover:after{width:100%}.galeria__item figcaption{opacity:.96;transition:transform .4s,opacity .4s;transform:translateY(.5rem)}.galeria__item:hover figcaption{opacity:1;transform:translateY(0)}
