:root{--bg:#071116;--bg-2:#0c1b22;--surface:#10252d;--surface-2:#16323b;--text:#f6f7f5;--muted:#a9b8bc;--line:rgba(222,242,240,.13);--accent:#9ee3dc;--accent-2:#d7f4ef;--warm:#e7b56e;--radius:24px;--max:1180px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container,.nav-wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.section-vh{min-height:100vh}.section-vh-soft{min-height:82vh}.section{padding:110px 0}.section-dark{background:linear-gradient(180deg,#071116,#0b171d)}
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(7,17,22,.45);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.25s}.navbar.scrolled{background:rgba(7,17,22,.9);border-color:var(--line)}.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.logo{display:flex;align-items:center;gap:10px;font-size:1rem;letter-spacing:-.03em}.logo strong{font-size:1.05rem}.logo-mark{width:36px;height:36px;border:1px solid rgba(158,227,220,.45);border-radius:11px;display:grid;place-items:center;color:var(--accent);background:rgba(158,227,220,.08);font-weight:700}.nav-links{display:flex;gap:25px;list-style:none;color:var(--muted);font-size:.78rem}.nav-links a{transition:.2s}.nav-links a:hover{color:var(--text)}.nav-reserve{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid rgba(158,227,220,.3);border-radius:12px;background:rgba(158,227,220,.08);font-size:.76rem;font-weight:700}.nav-reserve:hover{background:rgba(158,227,220,.15)}.menu-toggle{display:none;background:none;border:0;color:var(--text);font-size:1.3rem}
.hero{position:relative;display:grid;place-items:center;background:linear-gradient(90deg,rgba(4,13,17,.8),rgba(4,13,17,.35)),url('../img/hero-mariscos.jpg') center/cover no-repeat;isolation:isolate}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 70% 45%,rgba(158,227,220,.12),transparent 28%),linear-gradient(180deg,rgba(7,17,22,.2),rgba(7,17,22,.74));z-index:-1}.hero-content{width:min(1040px,calc(100% - 40px));padding:130px 0 70px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--accent)}.hero-kicker{color:#dce5e5;text-transform:uppercase;letter-spacing:.16em;font-size:.67rem;margin-bottom:18px}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(3.2rem,7vw,6.6rem);line-height:.96;letter-spacing:-.05em;max-width:850px}.hero h1 em,.story h2 em,.visit h2 em,.reservation h2 em{color:var(--accent);font-style:normal}.hero-subtitle{max-width:560px;color:#d0dcdd;font-size:1.03rem;margin:25px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 20px;border-radius:13px;border:1px solid transparent;font-size:.8rem;font-weight:700;transition:.22s}.btn-primary{background:var(--accent);color:#0a1a1e;box-shadow:0 15px 35px rgba(158,227,220,.13)}.btn-primary:hover{background:var(--accent-2);transform:translateY(-2px)}.btn-ghost{border-color:rgba(255,255,255,.18);background:rgba(7,17,22,.35);backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:rgba(158,227,220,.4);transform:translateY(-2px)}.btn-full{width:100%}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:42px;color:#c8d5d7;font-size:.7rem}.hero-meta span{display:flex;gap:7px;align-items:center}.hero-meta i{color:var(--accent)}.scroll-cue{position:absolute;right:34px;bottom:28px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#c1cdcf;font-size:.62rem;text-transform:uppercase;letter-spacing:.11em}.scroll-cue i{color:var(--accent)}
.split-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}.section-intro h2,.gallery-head h2{font-family:"Playfair Display",serif;font-size:clamp(2.5rem,5vw,4.3rem);line-height:1;letter-spacing:-.04em}.split-intro>p,.gallery-head>p{max-width:500px;color:var(--muted);font-size:.9rem}.specialty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:55px}.specialty-card{overflow:hidden;border:1px solid var(--line);background:rgba(16,37,45,.55);border-radius:var(--radius);transition:.3s}.specialty-card:hover{transform:translateY(-5px);border-color:rgba(158,227,220,.35)}.specialty-image{height:300px;position:relative;overflow:hidden}.specialty-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.specialty-card:hover img{transform:scale(1.04)}.specialty-badge{position:absolute;left:16px;top:16px;padding:7px 10px;border-radius:999px;background:rgba(7,17,22,.78);backdrop-filter:blur(8px);font-size:.62rem;font-weight:700;color:var(--accent)}.specialty-body{padding:25px}.card-index{color:var(--warm);font-size:.62rem;font-weight:700;letter-spacing:.12em}.specialty-body h3{font-family:"Playfair Display",serif;font-size:1.65rem;margin:5px 0 9px}.specialty-body p{color:var(--muted);font-size:.79rem}.section-cta-row{display:flex;justify-content:flex-end;margin-top:25px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:700;color:var(--accent)}.text-link i{transition:.2s}.text-link:hover i{transform:translateX(4px)}
.story{padding:110px 0;background:#0a171d}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.story-image{position:relative;min-height:620px;border-radius:28px;overflow:hidden}.story-image img{width:100%;height:100%;object-fit:cover}.story-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,14,18,.72))}.story-stamp{position:absolute;left:26px;bottom:25px;z-index:2;font-family:"Playfair Display",serif;font-size:1.15rem;line-height:1.05}.story-stamp strong{color:var(--accent)}.story-copy h2,.visit h2,.reservation h2{font-family:"Playfair Display",serif;font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.04em}.story-copy>p{max-width:560px;color:var(--muted);font-size:.9rem;margin-top:18px}.story-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.story-points div{padding:16px;border-top:1px solid var(--line)}.story-points strong{display:block;color:var(--warm);font-size:.64rem;letter-spacing:.08em;margin-bottom:4px}.story-points span{font-size:.72rem;color:#d4dfe0}
.gallery-section{padding:110px 0}.gallery-head{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;margin-bottom:44px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:14px}.gallery-item{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:var(--surface)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.6s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,12,15,.78));opacity:.85}.gallery-item figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.gallery-item figcaption span{display:block;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.56rem;font-weight:700}.gallery-item figcaption strong{display:block;margin-top:3px;font-family:"Playfair Display",serif;font-size:1rem}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}
.visit{padding:110px 0;background:linear-gradient(180deg,#0b171d,#09141a)}.visit-head{margin-bottom:45px}.visit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.visit-panel{display:grid;gap:15px}.visit-card{border:1px solid var(--line);border-radius:22px;background:rgba(16,37,45,.5);padding:28px}.card-kicker{display:block;text-transform:uppercase;letter-spacing:.13em;color:var(--accent);font-size:.58rem;font-weight:700;margin-bottom:10px}.visit-card h3{font-family:"Playfair Display",serif;font-size:1.7rem;line-height:1.05}.hours-list{margin-top:25px}.hours-list div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:.74rem}.hours-list div:first-child{border-top:0}.hours-list strong{color:var(--accent-2)}.location-card p{color:var(--muted);font-size:.77rem;margin:9px 0 18px}.mini-card{display:flex;align-items:center;gap:15px}.mini-card>i{font-size:1.65rem;color:var(--accent)}.mini-card span{display:block;color:var(--muted);font-size:.64rem}.mini-card strong{display:block;font-size:.76rem}.mini-card>a{margin-left:auto;color:var(--accent)}.map-shell{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--surface);min-height:510px}.map-top{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#d7e2e3;font-size:.66rem;border-bottom:1px solid var(--line)}.map-top span:first-child{color:var(--accent)}.map-top i{margin-right:7px}.map-shell iframe{width:100%;height:calc(100% - 56px);min-height:450px;display:block;filter:saturate(.88) contrast(1.04);border:0}
.reservation{padding:110px 0;background:#071116}.reservation-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}.reservation-copy>p{max-width:500px;color:var(--muted);font-size:.9rem;margin:20px 0 30px}.contact-lines{display:grid;gap:11px}.contact-lines a,.contact-lines div{display:flex;align-items:center;gap:12px;font-size:.75rem;color:#d6e0e1}.contact-lines i{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--accent);background:rgba(158,227,220,.05)}.reservation-card{border:1px solid rgba(158,227,220,.17);border-radius:26px;background:linear-gradient(145deg,rgba(16,37,45,.78),rgba(8,22,28,.95));padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.22)}.reservation-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:#e5efef;font-size:.78rem;font-weight:700}.reservation-card-head i{color:var(--accent);font-size:1rem}.contact-form{display:grid;gap:16px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:grid;gap:7px}.contact-form label>span{font-size:.64rem;color:#c7d4d5}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid rgba(222,242,240,.13);background:rgba(4,14,18,.7);color:var(--text);border-radius:12px;padding:13px 14px;outline:none;transition:.2s;font-size:.75rem}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:rgba(158,227,220,.55);box-shadow:0 0 0 3px rgba(158,227,220,.06)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#718185}.form-note{color:#77888b;font-size:.62rem;display:flex;align-items:flex-start;gap:7px}.form-note i{color:var(--accent);margin-top:2px}
.social-strip{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;align-items:center;padding:55px max(20px,calc((100vw - var(--max))/2));background:#0c1b22;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.social-intro h2{font-family:"Playfair Display",serif;font-size:2rem}.social-intro p{color:var(--muted);font-size:.7rem}.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.social-grid a{position:relative;height:120px;overflow:hidden}.social-grid img{width:100%;height:100%;object-fit:cover}.social-grid span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.32);opacity:0;transition:.2s}.social-grid a:hover span{opacity:1}.social-grid i{font-size:1.2rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px 0;color:#708084;font-size:.64rem}.footer-inner>div:first-child span{display:block;margin-top:4px}.footer-inner strong{color:#edf4f4}.footer-socials{display:flex;gap:16px}.footer-socials a:hover{color:var(--accent)}footer{background:#071116}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1100;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#fff;font-size:1.45rem;box-shadow:0 15px 35px rgba(0,0,0,.35);transition:.22s}.whatsapp-float:hover{transform:translateY(-2px) scale(1.05)}
@media(max-width:980px){.nav-links{gap:14px}.nav-reserve{display:none}.split-intro,.gallery-head,.story-grid,.visit-grid,.reservation-grid,.social-strip{grid-template-columns:1fr}.story-image{min-height:470px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-wide{grid-column:span 2}.social-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.container,.nav-wrap{width:min(var(--max),calc(100% - 28px))}.navbar{background:rgba(7,17,22,.72)}.nav-wrap{min-height:68px}.nav-links,.nav-reserve{display:none}.menu-toggle{display:block}.nav-links.open{position:absolute;left:14px;right:14px;top:68px;display:grid;gap:0;padding:8px;border:1px solid var(--line);border-radius:15px;background:rgba(7,17,22,.98);box-shadow:0 20px 50px rgba(0,0,0,.35)}.nav-links.open a{display:block;padding:12px}.hero-content{width:min(var(--max),calc(100% - 28px));padding:110px 0 60px}.hero{min-height:88vh}.hero h1{font-size:clamp(2.8rem,14vw,4.1rem)}.hero-subtitle{font-size:.9rem}.hero-actions .btn{width:100%}.hero-meta{margin-top:28px;gap:11px;font-size:.64rem}.scroll-cue{display:none}.section-vh-soft{min-height:auto}.section,.story,.gallery-section,.visit,.reservation{padding:78px 0}.split-intro h2,.gallery-head h2,.story-copy h2,.visit h2,.reservation h2{font-size:2.55rem}.specialty-grid{grid-template-columns:1fr;margin-top:36px}.specialty-image{height:245px}.story-image{min-height:360px}.story-points{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.visit-card{padding:23px}.map-shell{min-height:390px}.map-shell iframe{min-height:330px}.field-grid{grid-template-columns:1fr}.social-strip{padding:44px 14px}.social-grid{grid-template-columns:repeat(4,1fr)}.social-grid a{height:82px}.footer-inner{align-items:flex-start;flex-direction:column}.whatsapp-float{right:15px;bottom:15px;width:54px;height:54px}}
