:root{--brown:#80603e;--teal:#0f7775;--cream:#f5f0e9;--ink:#24201c;--white:#fff;--shadow:0 18px 50px rgba(29,24,19,.15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;line-height:1.65}h1,h2,h3{font-family:Georgia,serif;line-height:1.1;margin:0 0 .7em}h1{font-size:clamp(2.7rem,7vw,6.5rem);max-width:900px}h2{font-size:clamp(2rem,4vw,4rem)}p{margin:.3em 0 1.2em}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{max-width:840px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.7rem}.header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}.nav{height:82px;display:flex;align-items:center;gap:24px}.brand img{width:155px;height:auto;display:block}.menu{margin-left:auto;display:flex;gap:22px}.menu a,.lang{color:#29241f;text-decoration:none;font-weight:700;font-size:.9rem}.lang{background:transparent;border:1px solid #c7b9aa;border-radius:99px;padding:.45rem .65rem}.menu-btn{display:none;margin-left:auto;border:0;background:none;font-size:1.6rem}.hero{min-height:100svh;display:grid;place-items:center;position:relative;color:#fff}.hero-bg{position:absolute;inset:0;background:url('../img/noche-alberca.webp') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,17,.82),rgba(12,14,17,.24))}.hero-copy{position:relative;padding-top:110px}.hero-copy>p{max-width:720px;font-size:1.2rem}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:var(--teal)}.hero .eyebrow{color:#9de4df}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.75rem 1.25rem;border-radius:4px;text-decoration:none;border:1px solid transparent;font-weight:800;cursor:pointer}.primary{background:var(--brown);color:#fff}.ghost{color:#fff;border-color:rgba(255,255,255,.75)}.dark-btn{background:var(--ink);color:#fff}.hero-points{display:flex;gap:28px;flex-wrap:wrap;margin-top:44px;font-weight:700}.hero-points span:before{content:'✦';color:#9de4df;margin-right:8px}.section{padding:110px 0}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.intro{background:var(--cream)}.values{display:grid;gap:18px}.values article{background:#fff;padding:26px;border-left:4px solid var(--teal);box-shadow:var(--shadow)}.values strong{color:var(--brown)}.dark{background:#1f1c19;color:#fff}.dark .eyebrow{color:#9de4df}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}.card{background:#fff;color:var(--ink);overflow:hidden;box-shadow:var(--shadow)}.card img{width:100%;height:260px;object-fit:cover}.card div{padding:24px}.events{text-align:center}.event-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:40px}.event-grid div{padding:28px 12px;border:1px solid #d9cec1;background:#faf8f5}.event-grid span{color:var(--teal)}.video-section{background:#efe8df}.video-cover{position:relative;display:block;box-shadow:var(--shadow)}.video-cover img{width:100%;display:block}.video-cover span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--brown);font-size:1.8rem}.masonry{columns:3 300px;column-gap:14px;margin-top:35px}.masonry button{border:0;padding:0;background:none;display:block;width:100%;margin:0 0 14px;cursor:zoom-in}.masonry img{width:100%;display:block}.faq{background:#faf8f5}.faq details{border-bottom:1px solid #d6ccbf;padding:20px 0}.faq summary{font-weight:800;cursor:pointer;font-size:1.08rem}.contact{background:var(--teal);color:#fff}.contact .eyebrow{color:#d9fffc}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact form{background:#fff;color:var(--ink);padding:32px;display:grid;gap:14px;box-shadow:var(--shadow)}label span{display:block;font-size:.85rem;font-weight:800;margin-bottom:5px}input,textarea{width:100%;border:1px solid #cfc6bc;padding:12px;font:inherit}.form-note{font-size:.82rem;color:#6d645c}footer{background:#171513;color:#e8e1da;padding:55px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid img{background:#fff;padding:8px}.footer-grid a{display:block;color:#e8e1da;text-decoration:none;margin:.4rem 0}.credits{border-top:1px solid #3a342f;margin-top:35px;padding-top:18px;font-size:.85rem}.credits a{color:#9de4df}.float,.to-top{position:fixed;right:18px;z-index:40;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:0;text-decoration:none;box-shadow:var(--shadow)}.float{bottom:20px;background:#1877f2;color:white;font-weight:900;font-size:1.4rem}.to-top{bottom:78px;background:#fff;color:#222;cursor:pointer;opacity:0;pointer-events:none}.to-top.show{opacity:1;pointer-events:auto}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.93);display:grid;place-items:center;padding:30px}.lightbox[hidden]{display:none}.lightbox img{max-width:95vw;max-height:88vh}.lightbox button{position:absolute;right:20px;top:10px;background:none;border:0;color:#fff;font-size:3rem}.reveal{opacity:0;transform:translateY(28px);transition:.7s}.reveal.visible{opacity:1;transform:none}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:850px){.menu-btn{display:block}.menu{position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px;display:none;flex-direction:column;box-shadow:var(--shadow)}.menu.open{display:flex}.lang{margin-left:0}.split,.contact-box{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.event-grid{grid-template-columns:repeat(2,1fr)}.section{padding:78px 0}.hero-copy{padding-top:130px}.footer-grid{grid-template-columns:1fr}.video-grid{gap:30px}}@media(max-width:480px){.wrap{width:min(100% - 26px,1180px)}.brand img{width:130px}.nav{height:72px}.menu{top:72px}.event-grid{grid-template-columns:1fr}.hero-points{gap:10px;flex-direction:column}.contact form{padding:22px}}
