:root{--navy:#071a3a;--blue:#0a2b61;--cyan:#6ccbd4;--ice:#e8f6f6;--cream:#f5f0e8;--ink:#102039;--gold:#c9a76a;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--shadow:0 24px 70px rgba(6,23,52,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.loader{position:fixed;inset:0;background:var(--navy);display:grid;place-items:center;z-index:999;transition:opacity .6s,visibility .6s}.loader span{width:74px;height:74px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font:italic 28px var(--serif);animation:pulse 1s ease-in-out infinite}.loaded .loader{opacity:0;visibility:hidden}@keyframes pulse{50%{transform:scale(1.08);border-color:var(--cyan)}}
.site-header{height:92px;position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;padding:12px clamp(22px,4vw,70px);gap:32px;color:#fff;transition:.35s}.site-header.scrolled{height:76px;background:rgba(7,26,58,.94);backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(0,0,0,.18)}.brand{width:128px;height:64px;display:flex;align-items:center;overflow:hidden}.brand img{border-radius:4px}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.8vw,30px);margin-left:auto}.nav a{font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.82;position:relative;white-space:nowrap}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--cyan);transition:.3s}.nav a:hover,.nav a.active{opacity:1}.nav a:hover:after,.nav a.active:after{right:0}.header-cta{border:1px solid rgba(255,255,255,.5);padding:11px 18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;transition:.3s}.header-cta:hover{background:#fff;color:var(--navy)}.menu-toggle{display:none;background:none;border:0;width:38px;padding:8px}.menu-toggle span{display:block;height:1px;background:#fff;margin:7px 0;transition:.3s}
.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:-5%;background:url('images/fachada-hero.webp') center 46%/cover no-repeat;animation:heroZoom 18s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,32,.88) 0%,rgba(4,19,44,.58) 45%,rgba(4,17,40,.16) 75%),linear-gradient(0deg,rgba(3,16,38,.65),transparent 55%)}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}.hero-content{position:relative;z-index:2;width:min(800px,88vw);margin-left:clamp(24px,9vw,150px);padding-top:60px}.eyebrow,.section-kicker{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.28em}.eyebrow{color:var(--cyan);display:flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:42px;height:1px;background:var(--cyan)}h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;margin:22px 0}h1{font-size:clamp(54px,7.4vw,110px);letter-spacing:-.045em}h1 em,h2 em{color:var(--cyan);font-weight:400}.hero-text{font-size:clamp(16px,1.4vw,20px);max-width:620px;color:rgba(255,255,255,.78);line-height:1.75}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 27px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;transition:.3s}.button-primary{background:var(--cyan);color:var(--navy)}.button-primary:hover{background:#fff;transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.16)}.button-ghost{border-color:rgba(255,255,255,.6);color:#fff}.button-ghost:hover{background:#fff;color:var(--navy)}.hero-note{position:absolute;right:clamp(24px,5vw,80px);bottom:80px;z-index:2;border-left:1px solid rgba(255,255,255,.35);padding-left:20px}.hero-note span{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:9px}.hero-note strong{font:44px var(--serif)}.scroll-hint{position:absolute;bottom:28px;left:50%;z-index:2;transform:translateX(-50%);font-size:9px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.scroll-hint span{width:30px;height:1px;background:#fff;animation:scrollLine 1.7s infinite}@keyframes scrollLine{50%{width:50px;opacity:.35}}
.section{padding:clamp(82px,10vw,150px) clamp(24px,8vw,130px)}.section-kicker{color:#41757d;display:block;margin-bottom:20px}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw}.intro h2,.section-head h2,.contact h2,.location h2{font-size:clamp(45px,6vw,86px);letter-spacing:-.035em}.intro-copy{padding-top:14px}.intro-copy p{font-size:17px;color:#4a5566;margin:0 0 22px}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-bottom:7px;border-bottom:1px solid #9db4b8;margin-top:10px}.text-link span{font-size:17px;color:#4d9da6}.story-panel{margin-top:90px;display:grid;grid-template-columns:1.65fr .75fr;min-height:520px;background:var(--navy);color:#fff;box-shadow:var(--shadow)}.story-image{overflow:hidden}.story-image img{height:100%;object-fit:cover;transition:transform 1s}.story-panel:hover .story-image img{transform:scale(1.025)}.story-content{display:flex;flex-direction:column;justify-content:center;padding:55px}.story-number{font:clamp(64px,8vw,110px) var(--serif);color:var(--cyan);line-height:.8}.story-content>p{text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:rgba(255,255,255,.65)}.story-line{width:100%;height:1px;background:rgba(255,255,255,.18);margin:35px 0}.story-content blockquote{font:italic 28px/1.35 var(--serif);margin:0}
.menu-section{background:var(--navy);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-head h2{margin:0}.section-head>p{max-width:460px;color:#6e7887;margin:0}.menu-section .section-head>p{color:rgba(255,255,255,.6)}.menu-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.17);gap:34px;overflow-x:auto}.menu-tabs button{background:none;border:0;color:rgba(255,255,255,.52);padding:0 0 15px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;white-space:nowrap;position:relative}.menu-tabs button:after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:100%;background:var(--cyan);transition:.3s}.menu-tabs button.active{color:#fff}.menu-tabs button.active:after{right:0}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;margin-top:40px}.menu-item{padding:25px 0;border-bottom:1px solid rgba(255,255,255,.12);animation:menuIn .5s both}.menu-item:nth-child(2){animation-delay:.05s}.menu-item:nth-child(3){animation-delay:.1s}.menu-item:nth-child(4){animation-delay:.15s}@keyframes menuIn{from{opacity:0;transform:translateY(10px)}}.menu-item h3{font:24px var(--serif);margin:0 0 5px;color:var(--ice)}.menu-item p{margin:0;color:rgba(255,255,255,.5);font-size:14px}.menu-disclaimer{font-size:11px;color:rgba(255,255,255,.4);margin-top:28px}
.gallery{background:#faf8f4}.gallery-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;grid-template-rows:330px 330px;gap:16px}.gallery-item{position:relative;padding:0;border:0;overflow:hidden;background:#ddd;text-align:left}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,15,35,.7),transparent 55%);opacity:.75;transition:.35s}.gallery-item img{height:100%;object-fit:cover;transition:transform .8s}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:hover:after{opacity:1}.gallery-item span{position:absolute;z-index:2;bottom:20px;left:22px;color:#fff;font:italic 20px var(--serif)}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}
.videos{background:var(--cream)}.video-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:245px 245px;gap:18px}.video-card{position:relative;overflow:hidden;color:#fff;min-height:245px}.video-main{grid-row:span 2}.video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,15,34,.85),rgba(3,15,34,.04) 70%)}.video-card img{height:100%;object-fit:cover;transition:.7s}.video-card:hover img{transform:scale(1.04)}.video-card .play{position:absolute;z-index:2;top:26px;right:26px;width:50px;height:50px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;font-size:12px;padding-left:3px;transition:.3s}.video-card:hover .play{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.video-card div{position:absolute;z-index:2;left:28px;bottom:25px}.video-card small{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:var(--cyan);margin-bottom:5px}.video-card strong{font:26px var(--serif)}
.location{background:var(--navy);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;min-height:620px}.location-info{padding:clamp(70px,8vw,125px);display:flex;flex-direction:column;justify-content:center}.location h2{margin:15px 0 35px}.location address{font-style:normal;color:rgba(255,255,255,.66);font-size:17px}.location-actions{display:flex;align-items:center;gap:28px;margin-top:35px;flex-wrap:wrap}.text-link.light{border-color:rgba(255,255,255,.4);color:#fff;margin:0}.map-wrap{min-height:500px;filter:saturate(.68) contrast(1.02)}.map-wrap iframe{width:100%;height:100%;border:0}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;background:#faf8f4}.contact-copy>p{color:#657080;max-width:500px}.social-row{display:flex;gap:10px;margin-top:34px}.social-row a,.whatsapp{width:46px;height:46px;border:1px solid #afbbc0;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:bold;letter-spacing:.08em;transition:.3s}.social-row a:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-3px)}.contact-form{background:#fff;padding:clamp(25px,4vw,55px);box-shadow:var(--shadow)}.contact-form label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:bold;color:#61707b;display:block;margin-bottom:22px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #cdd3d5;background:transparent;padding:10px 0;color:var(--ink);outline:none;text-transform:none;letter-spacing:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--cyan)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-form small{display:block;margin-top:13px;color:#7d858e}.contact-form .button{border:0}
footer{background:#05142e;color:#fff;padding:70px clamp(24px,8vw,130px) 25px;display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:55px}footer .footer-brand img{width:145px;margin-bottom:20px}footer p,footer a{color:rgba(255,255,255,.58);font-size:13px}footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;align-items:flex-start;gap:7px}footer strong{text-transform:uppercase;font-size:10px;letter-spacing:.18em;margin-bottom:10px;color:var(--cyan)}footer a:hover{color:#fff}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);margin-top:20px;padding-top:22px;display:flex;justify-content:space-between;color:rgba(255,255,255,.42);font-size:11px}.whatsapp{position:fixed;right:24px;bottom:24px;z-index:30;background:var(--cyan);border:0;color:var(--navy);box-shadow:0 12px 35px rgba(4,25,55,.25)}.whatsapp:hover{transform:translateY(-4px);background:#fff}.lightbox{width:min(1100px,92vw);height:min(820px,88vh);border:0;padding:0;background:#071a3a;box-shadow:0 30px 100px rgba(0,0,0,.55)}.lightbox::backdrop{background:rgba(2,10,25,.88);backdrop-filter:blur(8px)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox button{position:absolute;right:15px;top:15px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(3,16,38,.6);color:#fff;font-size:24px;z-index:2}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.nav{position:fixed;inset:0;background:var(--navy);flex-direction:column;gap:23px;transform:translateX(100%);transition:.45s}.nav.open{transform:none}.nav a{font:32px var(--serif);text-transform:none;letter-spacing:0}.header-cta{display:none}.menu-toggle{display:block;z-index:2;margin-left:auto}.menu-toggle.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header{height:76px}.brand{width:110px;height:54px}.intro-grid,.contact{grid-template-columns:1fr}.story-panel{grid-template-columns:1.3fr .8fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 300px 300px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:1/-1}.location{grid-template-columns:1fr}.map-wrap{height:480px}.contact{gap:60px}}
@media(max-width:700px){.hero{min-height:650px}.hero-content{margin-left:24px}.hero h1{font-size:clamp(48px,14vw,70px)}.hero-note{bottom:70px}.scroll-hint{display:none}.section{padding:80px 22px}.intro-grid{gap:20px}.intro h2,.section-head h2,.contact h2,.location h2{font-size:45px}.story-panel{margin-top:60px;grid-template-columns:1fr}.story-image{height:300px}.story-content{padding:35px}.section-head{display:block;margin-bottom:38px}.section-head>p{margin-top:20px}.menu-list{grid-template-columns:1fr}.menu-tabs{gap:26px}.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-22px;padding-right:22px}.gallery-item{min-width:84vw;height:470px;scroll-snap-align:center}.video-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-22px;padding-right:22px}.video-card,.video-main{min-width:84vw;height:430px;scroll-snap-align:center}.location-info{padding:75px 22px}.map-wrap{height:380px;min-height:0}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:28px 22px}.contact h2{font-size:43px}footer{grid-template-columns:1fr;padding-top:55px;gap:35px}.footer-bottom{grid-column:auto;display:block}.footer-bottom a{display:block;margin-top:12px}.hero-actions .button{width:100%}.hero-note strong{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.social-row svg,.whatsapp svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.social-row svg .fill{fill:currentColor;stroke:none}
