:root{--bg:#fbf7ef;--paper:#fffdf8;--ink:#241b14;--muted:#6e6259;--line:#e8dccb;--accent:#9b5f34;--accent-dark:#754423;--shadow:0 18px 55px rgba(36,27,20,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,72px);background:rgba(251,247,239,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,220,203,.65)}.brand{font-family:"Playfair Display",serif;font-size:28px;font-weight:800}.site-header nav{display:flex;gap:22px;align-items:center;font-weight:650;font-size:14px}.nav-cta{padding:10px 16px;border:1px solid var(--accent);border-radius:999px}.hero{min-height:92vh;display:grid;align-items:center;position:relative;padding:130px clamp(22px,6vw,90px) 80px;background:url('images/foto-1.webp') center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,14,8,.76),rgba(22,14,8,.38),rgba(22,14,8,.12))}.hero-content{position:relative;max-width:780px;color:#fff}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:800;color:#d9b188}.hero h1,.section h2,.contact h2{font-family:"Playfair Display",serif;line-height:.98;margin:14px 0 18px}.hero h1{font-size:clamp(48px,8vw,92px)}.hero-text{font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:640px;color:rgba(255,255,255,.9)}.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:800}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 25px rgba(117,68,35,.28)}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:rgba(255,255,255,.88);color:var(--ink);border:1px solid rgba(255,255,255,.6)}.section{padding:86px clamp(22px,6vw,90px)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;align-items:start}.section h2,.contact h2{font-size:clamp(36px,5vw,64px)}.text-block{font-size:18px;line-height:1.75;color:var(--muted)}.section-soft{margin:0 clamp(16px,4vw,52px);padding:52px clamp(18px,4vw,54px);background:var(--paper);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.features article{padding:20px}.features span{font-size:34px}.features h3{font-size:20px;margin:14px 0 8px}.features p{color:var(--muted);line-height:1.55}.centered{text-align:center;max-width:760px;margin:0 auto 36px}.centered p:last-child{color:var(--muted);font-size:17px;line-height:1.6}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery figure{margin:0;position:relative;min-height:330px;border-radius:26px;overflow:hidden;background:#e9ddcc;box-shadow:var(--shadow)}.gallery img{width:100%;height:100%;object-fit:cover;display:block}.gallery figcaption{position:absolute;left:16px;bottom:16px;padding:9px 13px;border-radius:999px;background:rgba(255,253,248,.88);font-weight:800;font-size:13px}.placeholder{display:grid;place-items:center}.placeholder div{font-family:"Playfair Display",serif;font-size:42px;color:var(--accent)}.section-border{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.clean-list{padding-left:20px}.clean-list li{margin:10px 0}.contact{text-align:center}.contact-card{max-width:860px;margin:0 auto}.contact-card p{color:var(--muted);font-size:18px;line-height:1.65}.contact .btn-secondary{background:#fff;border-color:var(--line)}.contact-details{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}footer{padding:34px 20px;text-align:center;color:var(--muted)}@media(max-width:900px){.site-header{position:sticky}.site-header nav{display:none}.hero{min-height:78vh}.split{grid-template-columns:1fr;gap:20px}.features,.gallery{grid-template-columns:1fr 1fr}.gallery figure{min-height:260px}}@media(max-width:560px){.hero{padding-top:90px}.features,.gallery{grid-template-columns:1fr}.section,.section-soft{padding:48px 20px}.section-soft{margin:0 14px;border-radius:24px}.btn{width:100%}.hero h1{font-size:46px}}

/* Selector d'idioma */
.language-menu {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-left: 0.85rem;
}

.language-menu button {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid rgba(43, 33, 25, 0.18);
  background: rgba(255, 255, 255, 0.42);
  color: #2b2119;
  border-radius: 999px;
  padding: 0.48rem 0.72rem;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.language-menu .flag {
  letter-spacing: 0.02em;
}

.language-menu .lang-name {
  display: none;
}

.language-menu button:hover {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(166, 101, 55, 0.35);
}

.language-menu button.active {
  background: #ffffff;
  border-color: #a66537;
  color: #2b2119;
  box-shadow: 0 8px 22px rgba(43, 33, 25, 0.10);
  padding-inline: 0.9rem;
}

.language-menu button.active .flag {
  color: #a66537;
}

.language-menu button.active .lang-name {
  display: inline;
}

@media (max-width: 760px) {
  .site-header {
    gap: 0.75rem;
  }

  .site-header nav {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .language-menu {
    width: 100%;
    justify-content: flex-end;
    margin-left: 0;
  }

  .language-menu button {
    font-size: 0.74rem;
    padding: 0.4rem 0.55rem;
  }

  .language-menu button.active .lang-name {
    display: none;
  }
}
