:root{
  --bg:#f7f4ef;
  --paper:#fffdf9;
  --ink:#1b1714;
  --muted:#72695f;
  --line:#ddd4c8;
  --gold:#b79a6a;
  --dark:#14110f;
  --font-title:'Cormorant Garamond', Georgia, serif;
  --font-body:'Montserrat', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:300;line-height:1.65}
img{max-width:100%;display:block} a{color:inherit;text-decoration:none}
.site-header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:22px 42px;transition:.35s ease;background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.05));color:white}
.site-header.scrolled{background:rgba(255,253,249,.97);box-shadow:0 8px 30px rgba(0,0,0,.08);color:var(--ink);padding:14px 42px}
.brand{display:flex;align-items:center;background:rgba(255,255,255,.88);padding:8px 14px;border-radius:2px;box-shadow:0 12px 34px rgba(0,0,0,.12)}
.brand img{width:190px;filter:none;transition:.35s}.site-header.scrolled .brand{background:transparent;box-shadow:none;padding:0}.site-header.scrolled .brand img{width:160px}
.site-nav{display:flex;align-items:center;gap:26px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:500}.site-nav a{opacity:.94}.site-nav a:hover{opacity:1;color:var(--gold)}.nav-cta{border:1px solid currentColor;padding:11px 16px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;color:inherit;text-transform:uppercase;letter-spacing:.14em}
.hero{min-height:100vh;position:relative;overflow:hidden;display:grid;place-items:center;color:white;background:#111}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroFade 14s infinite;transform:scale(1.02)}.hero-bg-a{background-image:url('../img/interior-pergola.jpg');opacity:1}.hero-bg-b{background-image:url('../img/llum-espelmes.jpg');animation-delay:7s}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,0,0,.15),rgba(0,0,0,.62)),linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.66))}@keyframes heroFade{0%,46%{opacity:1}52%,94%{opacity:0}100%{opacity:1}}
.hero-content{position:relative;z-index:2;text-align:center;max-width:1050px;padding:130px 24px 70px}.hero-logo{width:min(540px,84vw);margin:0 auto 42px;background:rgba(255,255,255,.90);padding:20px 32px;box-shadow:0 26px 80px rgba(0,0,0,.25)}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:0 0 18px}h1,h2,h3{font-family:var(--font-title);font-weight:500;line-height:1.05;margin:0;color:inherit}h1{font-size:clamp(44px,7vw,92px);letter-spacing:-.02em;text-wrap:balance}h2{font-size:clamp(36px,5vw,70px);letter-spacing:-.02em;text-wrap:balance}h3{font-size:34px}.hero-text{max-width:640px;margin:24px auto 0;font-size:17px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:500;border:1px solid transparent;cursor:pointer}.btn-light{background:#fff;color:#111}.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff}.btn-dark{background:var(--ink);color:#fff;border:0}.scroll-cue{position:absolute;z-index:3;bottom:26px;left:50%;transform:translateX(-50%);font-size:26px;opacity:.75}
.intro-section,.gastronomy,.why-section,.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:110px 7vw;background:var(--paper)}.intro-image img{height:760px;width:100%;object-fit:cover}.intro-copy p,.gastronomy-copy p,.why-copy p,.contact-copy p{font-size:16px;color:var(--muted);max-width:640px}.intro-copy h2,.gastronomy-copy h2,.why-copy h2,.contact-copy h2{margin-bottom:26px}
.statement{padding:110px 7vw;background:var(--bg);position:relative}.statement-media img{width:100%;height:72vh;object-fit:cover}.statement-text{margin-top:-170px;margin-left:auto;margin-right:6vw;position:relative;background:rgba(20,17,15,.9);color:white;padding:54px;width:min(520px,88%);display:flex;flex-direction:column;gap:10px}.statement-text span{font-family:var(--font-title);font-size:clamp(34px,5vw,60px);line-height:.98}
.cards-section,.experience-section,.gallery{padding:110px 7vw}.section-heading{text-align:center;max-width:800px;margin:0 auto 56px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.feature-card{background:var(--paper);min-height:650px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:white}.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1s ease}.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,.06))}.feature-card:hover img{transform:scale(1.05)}.feature-card div{position:relative;z-index:2;padding:34px}.feature-card p{color:rgba(255,255,255,.82)}
.night-block{position:relative;min-height:88vh;display:grid;place-items:center;overflow:hidden;color:white}.night-block img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}.night-copy{position:relative;z-index:2;max-width:780px;text-align:center;padding:30px}.night-copy p{color:rgba(255,255,255,.85)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.timeline div{padding:34px 28px;border-right:1px solid var(--line)}.timeline div:last-child{border-right:0}.timeline strong{display:block;font-family:var(--font-title);font-size:34px;font-weight:500}.timeline span{display:block;color:var(--muted);margin-top:12px}
.gastronomy{background:var(--dark);color:white}.gastronomy-copy p{color:rgba(255,255,255,.72)}.food-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px}.food-mosaic img{height:260px;width:100%;object-fit:cover}.food-mosaic img:first-child{grid-row:span 2;height:534px}.family-block{position:relative;min-height:75vh;display:grid;place-items:end start;color:white;overflow:hidden}.family-block img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}.family-copy{position:relative;max-width:620px;margin:0 0 8vw 7vw;background:rgba(20,17,15,.72);padding:42px}.family-copy p{color:rgba(255,255,255,.78)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-grid img{height:330px;width:100%;object-fit:cover}.gallery-grid .wide{grid-column:span 2}.gallery-grid .tall{grid-row:span 2;height:674px}.why-section{background:var(--paper)}.why-image img{height:620px;width:100%;object-fit:cover}.why-copy ul{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:13px}.why-copy li{padding-left:28px;position:relative;color:var(--muted)}.why-copy li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:600}
.contact-section{background:#eee7dc}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--paper);padding:34px;border:1px solid var(--line)}.contact-form label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;color:var(--muted)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 2px 10px;font:inherit;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form .full{grid-column:1/-1}.privacy{display:flex!important;gap:10px;align-items:center;text-transform:none!important;letter-spacing:0!important}.privacy input{width:auto}.privacy a{text-decoration:underline}.site-footer{padding:56px 7vw;text-align:center;background:var(--paper);border-top:1px solid var(--line)}.site-footer img{width:260px;margin:0 auto 18px}.site-footer p{color:var(--muted)}.site-footer nav{display:flex;justify-content:center;gap:24px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-top:24px}
.cookie-banner{position:fixed;z-index:50;left:22px;right:22px;bottom:22px;background:rgba(255,253,249,.98);box-shadow:0 20px 60px rgba(0,0,0,.18);padding:20px;display:none;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--line)}.cookie-banner.show{display:flex}.cookie-banner p{margin:4px 0 0;color:var(--muted);font-size:13px}.cookie-actions{display:flex;gap:10px}.cookie-actions button{border:1px solid var(--ink);background:transparent;padding:11px 16px;border-radius:999px;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.cookie-actions button:last-child{background:var(--ink);color:#fff}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:translateY(0)}
@media(max-width:900px){.site-header{padding:14px 18px}.brand{padding:7px 10px}.brand img{width:135px}.menu-toggle{display:block}.site-nav{position:fixed;inset:66px 16px auto 16px;background:var(--paper);color:var(--ink);display:none;flex-direction:column;padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.14)}.site-nav.open{display:flex}.intro-section,.gastronomy,.why-section,.contact-section{grid-template-columns:1fr;padding:76px 22px;gap:40px}.intro-image img,.why-image img{height:480px}.statement{padding:76px 22px}.statement-media img{height:55vh}.statement-text{margin:-80px auto 0;padding:30px}.feature-grid,.timeline{grid-template-columns:1fr}.feature-card{min-height:520px}.timeline div{border-right:0;border-bottom:1px solid var(--line)}.food-mosaic{grid-template-columns:1fr}.food-mosaic img,.food-mosaic img:first-child{height:330px;grid-row:auto}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .wide,.gallery-grid .tall{grid-column:auto;grid-row:auto;height:300px}.contact-form{grid-template-columns:1fr}.cookie-banner{align-items:flex-start;flex-direction:column}.hero-logo{width:min(420px,86vw);padding:14px 20px}h1{font-size:44px}.site-footer nav{flex-direction:column;gap:12px}}
.lang-switch{display:flex;gap:10px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.lang-switch a{opacity:.86}.lang-switch a.active{color:var(--gold);font-weight:600}.site-header.scrolled .lang-switch a.active{color:var(--gold)}
@media(max-width:900px){.lang-switch{position:absolute;right:76px;top:23px}.site-header.scrolled .lang-switch{top:19px}}
