/* zuresusa — hotel index. Bright system, flat selectors only. */

/* 1 — reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
h1,h2,h3,h4,p,figure,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
table{border-collapse:collapse;width:100%}

/* 2 — tokens */
:root{
  --paper:#FFFBF2;
  --card:#FFFFFF;
  --ink:#171226;
  --muted:#5F5878;
  --line:#E7E0D2;
  --art:#F0327E;
  --cap:#3B5BFF;
  --cas:#FF7A1A;
  --ice:#00A9CC;
  --sun:#FFD24A;
  --leaf:#12B47C;
  --accent:var(--art);
  --tint:#FFE9F2;
  --r-lg:26px;
  --r-md:18px;
  --r-sm:12px;
  --shadow:0 14px 34px rgba(23,18,38,.09);
  --shadow-sm:0 6px 16px rgba(23,18,38,.07);
  --sp:8px;
  --display:"Bricolage Grotesque","Trebuchet MS",Verdana,sans-serif;
  --body:"Manrope","Segoe UI",Helvetica,Arial,sans-serif;
}
.t-art{--accent:var(--art);--tint:#FFE7F1}
.t-cap{--accent:var(--cap);--tint:#E6EBFF}
.t-cas{--accent:var(--cas);--tint:#FFEEDF}
.t-ice{--accent:var(--ice);--tint:#DEF6FB}

/* 3 — base */
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.02rem;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.7rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
h4{font-size:1.02rem;letter-spacing:.02em}
p{color:var(--ink)}
.zx-wrap{width:100%;max-width:1180px;margin:0 auto;padding-left:calc(var(--sp)*2.5);padding-right:calc(var(--sp)*2.5)}
@media (min-width:820px){.zx-wrap{padding-left:calc(var(--sp)*5);padding-right:calc(var(--sp)*5)}}
.zx-sec{padding-top:calc(var(--sp)*8);padding-bottom:calc(var(--sp)*8)}
@media (min-width:820px){.zx-sec{padding-top:calc(var(--sp)*13);padding-bottom:calc(var(--sp)*13)}}
.zx-lede{font-size:1.12rem;color:var(--muted);max-width:64ch}
.zx-eyebrow{display:inline-flex;align-items:center;gap:calc(var(--sp)*1);font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.zx-skip{position:absolute;left:-9999px}
.zx-skip:focus{left:calc(var(--sp)*2);top:calc(var(--sp)*2);z-index:80;background:var(--ink);color:#fff;padding:calc(var(--sp)*1.5) calc(var(--sp)*2);border-radius:var(--r-sm)}
:focus-visible{outline:3px solid var(--cap);outline-offset:3px}

/* 4 — header */
.zx-top{position:sticky;top:0;z-index:50;background:rgba(255,251,242,.94);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(8px)}
.zx-top-in{display:flex;align-items:center;gap:calc(var(--sp)*2);padding-top:calc(var(--sp)*1.5);padding-bottom:calc(var(--sp)*1.5)}
.zx-brand{display:flex;align-items:center;gap:calc(var(--sp)*1.25);text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.22rem;letter-spacing:-.03em;margin-right:auto}
.zx-mark{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--art),var(--cas) 45%,var(--sun));flex:0 0 30px}
.zx-burger{display:inline-flex;align-items:center;gap:calc(var(--sp)*1);border:1.5px solid var(--ink);border-radius:999px;padding:calc(var(--sp)*.75) calc(var(--sp)*2);font-weight:700;font-size:.82rem}
.zx-nav{display:none}
.zx-nav.is-open{display:block;position:absolute;left:calc(var(--sp)*2);right:calc(var(--sp)*2);top:calc(100% + var(--sp));background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:calc(var(--sp)*1.5)}
.zx-nav ul{display:flex;flex-direction:column;gap:calc(var(--sp)*.5)}
.zx-nav a{display:block;text-decoration:none;font-weight:700;font-size:.95rem;padding:calc(var(--sp)*1.25) calc(var(--sp)*1.5);border-radius:var(--r-sm)}
.zx-nav a:hover{background:var(--tint)}
.zx-nav a[aria-current="page"]{background:var(--ink);color:#fff}
@media (min-width:960px){
  .zx-burger{display:none}
  .zx-nav{display:block}
  .zx-nav ul{flex-direction:row;align-items:center;gap:calc(var(--sp)*.25)}
  .zx-nav a{padding:calc(var(--sp)*1) calc(var(--sp)*1.75)}
}

/* 5 — hero */
.zx-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:
  radial-gradient(900px 420px at 12% 8%,var(--tint),transparent 70%),
  radial-gradient(700px 380px at 88% 0%,#FFF3D6,transparent 65%),
  var(--paper)}
.zx-hero-in{padding-top:calc(var(--sp)*8);padding-bottom:calc(var(--sp)*8);position:relative;z-index:2}
@media (min-width:820px){.zx-hero-in{padding-top:calc(var(--sp)*14);padding-bottom:calc(var(--sp)*13)}}
.zx-hero.has-art .zx-hero-in{display:grid;gap:calc(var(--sp)*4);align-items:center}
@media (min-width:900px){.zx-hero.has-art .zx-hero-in{grid-template-columns:minmax(0,1.2fr) minmax(240px,.75fr);gap:calc(var(--sp)*6)}}
.zx-hero-copy{min-width:0}
.zx-hero-art{margin:0;display:flex;justify-content:center;order:-1}
@media (min-width:900px){.zx-hero-art{order:0;justify-content:flex-end}}
.zx-hero-art img{width:min(200px,52vw);height:auto}
@media (min-width:900px){.zx-hero-art img{width:min(100%,420px)}}
.zx-hero h1{max-width:16ch}
.zx-hero-lede{margin-top:calc(var(--sp)*2.5);font-size:1.15rem;color:var(--muted);max-width:58ch}
.zx-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;z-index:1}
.zx-blob-1{width:230px;height:230px;right:-60px;top:40px;background:var(--sun)}
.zx-blob-2{width:150px;height:150px;right:150px;bottom:-50px;background:var(--accent);opacity:.28}
.zx-stats{display:grid;gap:calc(var(--sp)*1.5);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:calc(var(--sp)*5)}
@media (min-width:760px){.zx-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.zx-stat{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:calc(var(--sp)*2);box-shadow:var(--shadow-sm)}
.zx-stat b{display:block;font-family:var(--display);font-size:1.9rem;line-height:1.1}
.zx-stat span{font-size:.82rem;color:var(--muted);font-weight:600}

/* 6 — buttons, chips */
.zx-btn{display:inline-flex;align-items:center;gap:calc(var(--sp)*1);background:var(--ink);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:calc(var(--sp)*1.75) calc(var(--sp)*3.25);box-shadow:var(--shadow-sm);transition:transform .18s ease}
.zx-btn:hover{transform:translateY(-2px)}
.zx-btn-2{background:var(--card);color:var(--ink);border:1.5px solid var(--ink)}
.zx-btns{display:flex;flex-wrap:wrap;gap:calc(var(--sp)*1.5);margin-top:calc(var(--sp)*4)}
.zx-chips{display:flex;flex-wrap:wrap;gap:calc(var(--sp)*1)}
.zx-chip{text-decoration:none;display:inline-flex;align-items:center;gap:calc(var(--sp)*1);border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:calc(var(--sp)*1) calc(var(--sp)*2);font-size:.84rem;font-weight:700;color:var(--muted);transition:transform .16s ease}
.zx-chip:hover{transform:translateY(-1px);border-color:var(--ink);color:var(--ink)}
.zx-chip svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.zx-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.zx-tag{display:inline-flex;align-items:center;gap:calc(var(--sp)*.75);border-radius:999px;padding:calc(var(--sp)*.5) calc(var(--sp)*1.5);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--tint);color:var(--ink)}
.zx-tag svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.zx-tags{display:flex;flex-wrap:wrap;gap:calc(var(--sp)*.75)}

/* 7 — category cards */
.zx-cats{display:grid;gap:calc(var(--sp)*2.5);grid-template-columns:minmax(0,1fr);margin-top:calc(var(--sp)*5)}
@media (min-width:700px){.zx-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.zx-cats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.zx-cat{position:relative;display:block;text-decoration:none;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--sp)*3);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.zx-cat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.zx-cat-bar{position:absolute;left:0;right:0;top:0;height:8px;background:var(--accent)}
.zx-cat-n{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--accent)}
.zx-cat h3{margin-top:calc(var(--sp)*1)}
.zx-cat p{margin-top:calc(var(--sp)*1.5);color:var(--muted);font-size:.95rem}
.zx-cat-go{margin-top:calc(var(--sp)*2.5);font-weight:800;color:var(--accent)}

/* 8 — index grid (home) */
.zx-toolbar{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--sp)*3);box-shadow:var(--shadow-sm);margin-top:calc(var(--sp)*4)}
.zx-search{width:100%;border:1.5px solid var(--line);border-radius:999px;padding:calc(var(--sp)*1.75) calc(var(--sp)*2.5);background:var(--paper)}
.zx-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--sp)*1.5);margin-top:calc(var(--sp)*2.5)}
.zx-result{font-weight:800;font-size:.88rem;color:var(--muted);margin-left:auto}
.zx-mini{display:grid;gap:calc(var(--sp)*2);grid-template-columns:minmax(0,1fr);margin-top:calc(var(--sp)*4)}
@media (min-width:620px){.zx-mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.zx-mini{grid-template-columns:repeat(3,minmax(0,1fr))}}
.zx-m{display:block;text-decoration:none;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:calc(var(--sp)*2.5);box-shadow:var(--shadow-sm);transition:transform .18s ease,border-color .18s ease}
.zx-m:hover{transform:translateY(-3px);border-color:var(--accent)}
.zx-m-top{display:flex;align-items:center;gap:calc(var(--sp)*1.5)}
.zx-m-dot{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:.9rem}
.zx-m-cat{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.zx-m h3{font-size:1.15rem;margin-top:calc(var(--sp)*1.5)}
.zx-m-place{font-size:.85rem;color:var(--muted);font-weight:600;margin-top:calc(var(--sp)*.5)}
.zx-m .zx-tags{margin-top:calc(var(--sp)*2)}
.zx-none{display:none;text-align:center;background:var(--card);border:1.5px dashed var(--line);border-radius:var(--r-lg);padding:calc(var(--sp)*5);margin-top:calc(var(--sp)*4)}
.zx-none.is-on{display:block}
.is-off{display:none}

/* 9 — hotel entries */
.zx-list{display:grid;gap:calc(var(--sp)*4);margin-top:calc(var(--sp)*5)}
.zx-entry{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.zx-entry-grid{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.zx-entry-grid:has(.zx-cover){grid-template-columns:minmax(0,42%) minmax(0,58%)}}
.zx-cover{position:relative;background:var(--tint);min-height:230px;overflow:hidden}
.zx-cover svg{width:100%;height:100%;display:block;aspect-ratio:600/420;object-fit:cover}
.zx-cover picture,.zx-cover img{display:block;width:100%;height:100%}
.zx-cover img{object-fit:cover;aspect-ratio:600/420}
.zx-cover-n{position:absolute;left:calc(var(--sp)*2);top:calc(var(--sp)*2);background:var(--card);color:var(--accent);font-family:var(--display);font-weight:800;border-radius:999px;padding:calc(var(--sp)*.75) calc(var(--sp)*2);font-size:.85rem;box-shadow:var(--shadow-sm)}
.zx-body{padding:calc(var(--sp)*3)}
@media (min-width:820px){.zx-body{padding:calc(var(--sp)*5)}}
.zx-place{font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.zx-entry h3{margin-top:calc(var(--sp)*1)}
.zx-hook{margin-top:calc(var(--sp)*2);font-size:1.12rem;font-weight:600}
.zx-text{margin-top:calc(var(--sp)*2);color:var(--muted)}
.zx-text p + p{margin-top:calc(var(--sp)*1.5)}
.zx-entry .zx-tags{margin-top:calc(var(--sp)*2.5)}
.zx-facts{margin-top:calc(var(--sp)*3);border-top:1px solid var(--line)}
.zx-facts tr{border-bottom:1px solid var(--line)}
.zx-facts th{text-align:left;vertical-align:top;padding:calc(var(--sp)*1.5) calc(var(--sp)*1.5) calc(var(--sp)*1.5) 0;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);width:34%}
.zx-facts td{padding:calc(var(--sp)*1.5) 0;font-size:.95rem}
.zx-flag{display:flex;gap:calc(var(--sp)*1.5);align-items:flex-start;margin-top:calc(var(--sp)*3);background:var(--tint);border-radius:var(--r-md);padding:calc(var(--sp)*2)}
.zx-flag b{font-family:var(--display)}
.zx-checked{margin-top:calc(var(--sp)*2.5);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* 10 — bands, steps, notes */
.zx-band{background:var(--ink);color:#FFFBF2;border-radius:var(--r-lg);padding:calc(var(--sp)*4);box-shadow:var(--shadow)}
@media (min-width:820px){.zx-band{padding:calc(var(--sp)*7)}}
.zx-band p{color:#EDE7FA}
.zx-band .zx-btn{background:var(--sun);color:var(--ink)}
.zx-steps{display:grid;gap:calc(var(--sp)*2.5);grid-template-columns:minmax(0,1fr);margin-top:calc(var(--sp)*4)}
@media (min-width:760px){.zx-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.zx-step{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:calc(var(--sp)*3)}
.zx-step b{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--sun);font-family:var(--display);font-size:1.1rem}
.zx-step h3{font-size:1.15rem;margin-top:calc(var(--sp)*2)}
.zx-step p{margin-top:calc(var(--sp)*1);color:var(--muted);font-size:.95rem}
.zx-note{background:var(--card);border:1.5px solid var(--line);border-left:6px solid var(--accent);border-radius:var(--r-md);padding:calc(var(--sp)*3);margin-top:calc(var(--sp)*5)}
.zx-note p{color:var(--muted)}
.zx-care{background:#FFF4E6;border:1.5px solid #FFD9AE;border-radius:var(--r-lg);padding:calc(var(--sp)*4);margin-top:calc(var(--sp)*5)}
.zx-care h2{font-size:1.5rem}
.zx-care p{margin-top:calc(var(--sp)*2);color:#5A4632}
.zx-care ul{margin-top:calc(var(--sp)*2);display:grid;gap:calc(var(--sp)*1)}
.zx-care li{font-weight:700}
.zx-age{display:inline-flex;align-items:center;gap:calc(var(--sp)*1);background:var(--ink);color:#fff;border-radius:999px;padding:calc(var(--sp)*1) calc(var(--sp)*2.5);font-weight:800;font-size:.85rem;margin-top:calc(var(--sp)*3)}
.zx-glossary{display:grid;gap:calc(var(--sp)*2.5);grid-template-columns:minmax(0,1fr);margin-top:calc(var(--sp)*4)}
@media (min-width:700px){.zx-glossary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.zx-gl{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:calc(var(--sp)*3);display:flex;gap:calc(var(--sp)*2);align-items:flex-start}
.zx-gl svg{width:30px;height:30px;flex:0 0 30px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.zx-gl h3{font-size:1.05rem}
.zx-gl p{color:var(--muted);font-size:.93rem;margin-top:calc(var(--sp)*.75)}
.zx-gl span{display:inline-block;margin-top:calc(var(--sp)*1.25);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}

/* 11 — form */
.zx-form{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--sp)*3);box-shadow:var(--shadow-sm);margin-top:calc(var(--sp)*4)}
@media (min-width:820px){.zx-form{padding:calc(var(--sp)*5)}}
.zx-row{display:grid;gap:calc(var(--sp)*2.5);grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.zx-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.zx-f{margin-top:calc(var(--sp)*2.5)}
.zx-f label{display:block;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:calc(var(--sp)*1)}
.zx-f input,.zx-f select,.zx-f textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper);padding:calc(var(--sp)*1.75)}
.zx-f textarea{min-height:150px;resize:vertical}
.zx-agree{display:flex;gap:calc(var(--sp)*1.5);align-items:flex-start;margin-top:calc(var(--sp)*3)}
.zx-agree input{width:auto;margin-top:calc(var(--sp)*.75)}
.zx-agree label{font-size:.95rem;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink);margin:0}

/* 12 — legal text */
.zx-doc{max-width:74ch}
.zx-doc h2{margin-top:calc(var(--sp)*6)}
.zx-doc h3{margin-top:calc(var(--sp)*4);font-size:1.2rem}
.zx-doc p{margin-top:calc(var(--sp)*2);color:var(--muted)}
.zx-doc ul{margin-top:calc(var(--sp)*2);display:grid;gap:calc(var(--sp)*1)}
.zx-doc li{color:var(--muted);padding-left:calc(var(--sp)*2.5);position:relative}
.zx-doc li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;background:var(--accent)}

/* 13 — footer */
.zx-foot{background:var(--ink);color:#F3EFFF;margin-top:calc(var(--sp)*6)}
.zx-foot-in{display:grid;gap:calc(var(--sp)*4);grid-template-columns:minmax(0,1fr);padding-top:calc(var(--sp)*7);padding-bottom:calc(var(--sp)*5)}
@media (min-width:820px){.zx-foot-in{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr))}}
.zx-foot h4{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#B9AEE0}
.zx-foot ul{margin-top:calc(var(--sp)*2);display:grid;gap:calc(var(--sp)*1.25)}
.zx-foot a{text-decoration:none;font-weight:600}
.zx-foot a:hover{color:var(--sun)}
.zx-foot p{color:#C9C1E4;font-size:.95rem;margin-top:calc(var(--sp)*2);max-width:44ch}
.zx-ack{border-top:1px solid rgba(255,255,255,.16);padding-top:calc(var(--sp)*3);padding-bottom:calc(var(--sp)*5);font-size:.86rem;color:#C9C1E4}
.zx-ack p{max-width:none}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}html{scroll-behavior:auto}}
