/* Palette from the owner's swatches (src/data/palette.json); body[data-drink] switches the accent.
   Style references (owner, 2026-10-04): heavy display serif in cream on deep colour; cream ground;
   pill buttons and tags with a dark-brown primary and 1px outlined secondary. Light theme only.
   Type: Playfair Display (display) + Outfit (text), both variable, self-hosted, SIL OFL.
   Shape rule: buttons and tags are pills; panels, photos and tiles are 12px. */
@font-face{font-family:"Outfit";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/outfit-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/playfair-display-latin-wght-normal.woff2) format("woff2")}
:root{
  --ink:#180F0C;--ink-2:#4F382B;--deep:#33251C;--accent:#7F6140;--mid:#A38D7D;--sand:#C8BAA0;--dark:#452A17;
  --cream:#F6EFE3;--bg:#FAF7F1;--tint:#EFE8DB;--line:#D9CDB7;--r:12px;--pill:999px;--ease:cubic-bezier(.16,1,.3,1);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;--sans:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color-scheme:light}
body[data-drink="tequila"]{--accent:#2B4C60;--ink-2:#192B37;--deep:#0A131A;--mid:#488294;--sand:#9FC0CC;--tint:#E8EEF1;--line:#C5D3DA}
body[data-drink="wine"]{--accent:#543990;--ink-2:#211D32;--deep:#211D32;--mid:#7B64B5;--sand:#CFC6E2;--tint:#ECE8F3;--line:#CFC6E2}
body[data-drink="cacao"],body[data-drink="rum"]{--accent:#452A17}
*{box-sizing:border-box}
html{font:16px/1.55 var(--sans);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0}
a{color:var(--accent)}
img{display:block;max-width:100%;height:auto}
header.top{display:flex;align-items:center;gap:32px;height:68px;padding:0 28px;background:var(--ink);color:var(--cream)}
.brand{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--cream);text-decoration:none;letter-spacing:-.01em}
header.top nav{display:flex;gap:8px;margin-left:auto}
header.top nav a{color:var(--cream);text-decoration:none;font-size:15px;font-weight:500;padding:8px 14px;border-radius:var(--pill);border:1px solid transparent}
header.top nav a:hover{border-color:rgba(246,239,227,.45)}
main{max-width:1120px;margin:0 auto;padding:40px 28px 72px}
.crumbs{font-size:14px;color:var(--ink-2);margin-bottom:18px}
.crumbs a{color:var(--ink-2)}
h1,h2,h3{font-family:var(--serif);font-weight:800;color:var(--deep);letter-spacing:-.01em}
h1{font-size:46px;line-height:1.05;margin:0 0 14px;max-width:18ch}
h2{font-size:28px;line-height:1.15;margin:0 0 16px}
h3{font-size:22px;line-height:1.2;margin:0 0 4px}
section{margin:56px 0 0}
.lede{font-size:19px;line-height:1.5;color:var(--ink-2);margin:0 0 22px;max-width:58ch}
p{max-width:65ch}
.btn{display:inline-block;padding:12px 22px;border-radius:var(--pill);background:var(--ink);color:var(--cream);text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap;border:1px solid var(--ink);transition:transform .2s var(--ease),background .2s var(--ease)}
.btn:hover{background:var(--deep)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--tint)}
.btn.small{padding:9px 16px;font-size:14px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}
.tag{display:inline-block;padding:3px 10px;border-radius:var(--pill);background:var(--ink);color:var(--cream);font-size:12px;font-weight:600;letter-spacing:.01em;vertical-align:middle}
/* home */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:var(--ink);color:var(--cream);border-radius:var(--r);overflow:hidden;margin:0}
.hero>div{padding:56px 48px 52px}
.hero h1{font-size:60px;color:var(--cream);max-width:12ch;margin-bottom:18px}
.hero .lede{color:var(--sand);max-width:36ch}
.hero .btn{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.hero .btn:hover{background:#fff}
.hero .btn.ghost{background:transparent;color:var(--cream)}
.hero .btn.ghost:hover{background:rgba(246,239,227,.12)}
.hero figure{margin:0;min-height:420px;background:var(--deep)}
.hero img{width:100%;height:100%;object-fit:cover}
.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tiles li:first-child{grid-column:span 2}
.tiles a{position:relative;display:flex;align-items:flex-end;min-height:230px;padding:20px;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;background:var(--deep);isolation:isolate}
.tiles li:first-child a{min-height:310px}
.tiles a::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,15,12,.85),rgba(24,15,12,.08) 60%);z-index:-1}
.tiles strong{display:block;font-family:var(--serif);font-size:30px;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.tiles span{font-size:15px;color:rgba(255,255,255,.85)}
.tiles img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s var(--ease)}
.tiles a:hover img{transform:scale(1.03)}
.strip{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.strip a{display:inline-block;padding:12px 20px;border-radius:var(--pill);border:1px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:600;font-size:16px}
.strip a span{color:var(--ink-2);font-weight:400;margin-left:8px}
.strip a:hover{background:var(--ink);color:var(--cream)}
.strip a:hover span{color:var(--sand)}
.band{background:var(--tint);border-radius:var(--r);padding:34px 36px 30px}
.band dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;margin:0}
.band dt{font-weight:600;color:var(--deep);font-size:17px}
.band dd{margin:2px 0 0;color:var(--ink-2);max-width:40ch}
/* listings (locator style) */
.rows{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rows li{padding:22px 0;border-bottom:1px solid var(--line)}
.rows h3 a{color:var(--deep);text-decoration:none}
.rows h3 a:hover{color:var(--accent)}
.rows .addr{color:var(--ink-2);margin:6px 0 4px}
.rows .links{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px}
.rows .links a:not(.btn){font-weight:500}
.rows .tag{margin-left:8px}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;border-bottom:1px solid var(--line)}
thead th{font-size:13px;color:var(--ink-2);font-weight:500;padding-top:0}
tbody tr:last-child td{border-bottom:0}
table.facts{background:var(--tint);border-radius:var(--r);margin:0 0 8px}
table.facts th{width:150px;font-weight:500;padding-left:18px;color:var(--ink-2)}
table.facts td{padding-right:18px}
table.facts tr:last-child th,table.facts tr:last-child td{border-bottom:0}
table.tours td:nth-child(2),table.tours td:nth-child(3){white-space:nowrap}
figure.photo{margin:0 0 28px;border-radius:var(--r);overflow:hidden;aspect-ratio:16/7;background:var(--tint)}
figure.photo img{width:100%;height:100%;object-fit:cover}
ul.plain{padding-left:20px}
ul.plain li{margin:6px 0;max-width:65ch}
.meta{font-size:14px;color:var(--ink-2);margin-top:44px;padding-top:16px;border-top:1px solid var(--line);max-width:none}
footer{max-width:1120px;margin:0 auto;padding:0 28px 40px;font-size:14px;color:var(--ink-2)}
@media (max-width:900px){.hero{grid-template-columns:1fr}.hero>div{padding:40px 28px 36px}.hero h1{font-size:44px}.hero figure{min-height:0;aspect-ratio:16/10}.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:640px){main{padding:24px 16px 56px}header.top{padding:0 16px;gap:12px}header.top nav a{padding:8px 10px;font-size:14px}h1{font-size:36px}.hero>div{padding:32px 20px 30px}.hero h1{font-size:38px}.tiles{grid-template-columns:1fr}.tiles li:first-child{grid-column:auto}.band{padding:24px 18px}.band dl{grid-template-columns:1fr}table.facts th{width:104px}figure.photo{aspect-ratio:16/9}}
@media (prefers-reduced-motion:reduce){.btn,.tiles img{transition:none}.tiles a:hover img{transform:none}}
