:root { --bg:#F5F2EC; --bg2:#EBE6DC; --ink:#0D1210; --ink2:rgba(13,18,16,.72); --rule:rgba(13,18,16,.12); --btn:#1A4D2E; --btnInk:#F5F2EC; --lab:#1A4D2E; --amber:#D4A843; --green2:#2A7A4A; --px:clamp(20px,4.4vw,56px); color-scheme:light; }
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) { --bg:#0D1210; --bg2:rgba(245,242,236,.06); --ink:#F5F2EC; --ink2:rgba(245,242,236,.76); --rule:rgba(245,242,236,.14); --btn:#F5F2EC; --btnInk:#0D1210; --lab:#E8C36A; color-scheme:dark; }
  :root:not([data-theme="light"]) .mark-light { display:none; }
  :root:not([data-theme="light"]) .mark-dark { display:block; }
}
:root[data-theme="dark"] { --bg:#0D1210; --bg2:rgba(245,242,236,.06); --ink:#F5F2EC; --ink2:rgba(245,242,236,.76); --rule:rgba(245,242,236,.14); --btn:#F5F2EC; --btnInk:#0D1210; --lab:#E8C36A; color-scheme:dark; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,sans-serif; font-weight:400; }
a { color:inherit; text-decoration:none; }
button, summary { color:inherit; font:inherit; cursor:pointer; }
a, button, summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--lab); outline-offset:4px; }
.pie :focus-visible { outline-color:#E8C36A; }
.skip { position:absolute; z-index:3; top:8px; left:var(--px); padding:12px; background:var(--btn); color:var(--btnInk); transform:translateY(-180%); }
.skip:focus { transform:none; }
.cabecera { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:clamp(12px,1.6vw,20px) var(--px); border-bottom:1px solid var(--rule); background:var(--bg); }
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.brand img { display:block; flex-shrink:0; }
.brand .mark-dark { display:none; }
:root[data-theme="dark"] .brand .mark-light { display:none; }
:root[data-theme="dark"] .brand .mark-dark { display:block; }
.brand-divider { height:26px; width:1px; background:var(--rule); }
.wordmark { font-family:'Playfair Display',serif; font-size:clamp(20px,1.8vw,23px); font-weight:500; letter-spacing:.5px; white-space:nowrap; }
.wordmark i { font-weight:400; color:var(--amber); }
.header-actions, .desktop-nav { display:flex; align-items:center; gap:clamp(12px,1.8vw,24px); }
.desktop-nav { font-size:15px; }
.desktop-nav > a { padding:6px 0; }
.desktop-nav > a[aria-current="page"], .menu-panel > a[aria-current="page"] { border-bottom:2px solid var(--ink); }
.language { display:inline-flex; align-items:center; gap:5px; font:400 13px 'JetBrains Mono',monospace; }
.language a { display:inline-flex; align-items:center; justify-content:center; min-height:34px; }
[aria-current="true"] { font-weight:500; }
.theme { display:none; border:1px solid var(--rule); border-radius:50%; width:34px; height:34px; padding:0; background:transparent; font-size:20px; }
.js .theme { display:inline-flex; justify-content:center; align-items:center; }
.button { display:inline-flex; align-items:center; justify-content:center; border-radius:3px; background:var(--btn); color:var(--btnInk); font-weight:500; }
.header-wa { min-height:42px; padding:0 16px; font-size:14px; }
.menu { display:none; }
.hero { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(24px,4vw,56px); align-items:end; padding:clamp(40px,5.6vw,72px) var(--px) clamp(36px,4.4vw,56px); }
.eyebrow { margin:0 0 24px; color:var(--lab); font:400 12px/1.6 'JetBrains Mono',monospace; letter-spacing:.06em; text-transform:uppercase; }
h1 { margin:0; font:500 clamp(40px,5.6vw,72px)/1.03 'Playfair Display',serif; text-wrap:balance; }
.hero-copy > p { margin:0 0 24px; color:var(--ink2); font-size:clamp(16px,1.4vw,18px); line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; }
.hero-actions .button { min-height:52px; padding:12px 22px; font-size:16px; }
.visit { display:inline-flex; align-items:center; min-height:44px; font-size:15px; line-height:1.6; text-decoration:underline; text-underline-offset:5px; }
.pie { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:28px 56px; padding:clamp(32px,4vw,48px) var(--px) clamp(36px,4vw,52px); background:#0D1210; color:#F5F2EC; border-top:1px solid rgba(245,242,236,.12); font-size:13px; line-height:1.6; }
.pie .wordmark { font-size:20px; }
.pie p { margin:16px 0 0; }
.footer-operator { color:rgba(245,242,236,.75); }
.footer-wa { display:inline-flex; align-items:center; min-height:34px; font-size:15px; font-weight:500; }
.footer-contact > p { margin:0; }
.footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:0 22px; margin-top:20px; font:400 12px/1.6 'JetBrains Mono',monospace; }
.footer-links > a { display:inline-flex; align-items:center; min-height:34px; }
.footer-links .language { font-size:12px; }
@media (min-width:761px) and (max-width:1000px) {
  .cabecera, .header-actions, .desktop-nav { gap:8px; }
  .brand { gap:7px; }
  .header-wa { padding:0 10px; }
}
@media (max-width:760px) {
  .cabecera { gap:8px; }
  .brand { gap:7px; min-height:44px; }
  .cabecera .brand img { width:32px; height:32px; }
  .header-actions { gap:8px; }
  .desktop-nav { display:none; }
  .header-wa { min-height:44px; padding:0 10px; font-size:13px; }
  .menu { display:block; }
  .menu summary { display:flex; align-items:center; justify-content:center; list-style:none; width:44px; height:44px; font-size:28px; }
  .menu summary::-webkit-details-marker { display:none; }
  .menu-panel { position:absolute; z-index:2; top:76px; left:var(--px); right:var(--px); display:grid; padding:16px; border:1px solid var(--rule); background:var(--bg); }
  .menu:not([open]) .menu-panel { display:none; }
  .menu-panel > a { display:flex; align-items:center; min-height:44px; }
  .theme { width:44px; height:44px; }
  .language a { min-height:44px; min-width:34px; }
  .hero, .pie { grid-template-columns:minmax(0,1fr); }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-actions .button { max-width:100%; }
  .footer-links > a, .footer-wa { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
