:root{--bg:#faf9f7;--card:#fff;--text:#1c1c1e;--text2:#55555a;--accent:#8b7142;--accent-ink:#6f5a34;--accent-soft:#8b714217;--border:#e5e3df;--danger:#a3261e;--danger-bg:#a3261e12;--radius:14px;--max-w:34rem;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.55}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem 3rem}.top{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#faf9f7f0;position:sticky;top:0}.top-inner{max-width:var(--max-w);align-items:center;gap:.75rem;margin:0 auto;padding:.6rem 1.25rem;display:flex}.hotel-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.langs{flex-shrink:0;gap:.15rem;display:flex}.lang{text-transform:uppercase;min-width:2.4rem;min-height:2.4rem;color:var(--text2);border-radius:8px;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.lang[aria-current=true]{background:var(--accent);color:#fff}h1{margin:1.75rem 0 .5rem;font-size:1.5rem;font-weight:700;line-height:1.25}h2{margin:2.25rem 0 .75rem;font-size:1.05rem;font-weight:600}.intro{color:var(--text2);margin-bottom:1.5rem;font-size:.94rem}.sections{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);list-style:none;overflow:hidden}.sections li+li{border-top:1px solid var(--border)}.sections li{padding:.9rem 1.1rem}.sections h3{margin-bottom:.15rem;font-size:.93rem;font-weight:600}.sections p{color:var(--text2);font-size:.9rem}fieldset{border:0;margin:0 0 1rem}legend{margin-bottom:.35rem;font-size:.9rem;font-weight:600;line-height:1.3}.options{grid-template-columns:repeat(4,1fr);gap:.3rem;display:grid}.options.pair{grid-template-columns:1fr 1fr;gap:.5rem}.opt{text-align:center;border:1px solid var(--border);background:var(--card);cursor:pointer;-webkit-hyphens:auto;hyphens:auto;border-radius:10px;justify-content:center;align-items:center;min-height:2.9rem;padding:.4rem .15rem;font-size:.78rem;font-weight:500;line-height:1.15;display:flex;position:relative}.options.pair .opt{min-height:3rem;font-size:.92rem}.opt.wide{min-height:2.4rem;color:var(--text2);grid-column:1/-1;font-size:.8rem}.section-head{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);border-bottom:1px solid var(--border);margin:1.75rem 0 .75rem;padding-bottom:.35rem;font-size:.75rem;font-weight:700}.progress{z-index:9;background:var(--bg);color:var(--text2);padding:.5rem 0 .6rem;font-size:.75rem;position:sticky;top:3.1rem}.progress-track{background:var(--border);border-radius:2px;height:4px;margin-bottom:.3rem;overflow:hidden}.progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .25s}@media (prefers-reduced-motion:reduce){.progress-fill{transition:none}}.opt:focus-within{outline:2px solid var(--accent);outline-offset:2px}.opt input{opacity:0;width:1px;height:1px;position:absolute}.opt.on{border-color:var(--accent);background:var(--accent-soft)}label.field{color:var(--text2);margin-bottom:.3rem;font-size:.82rem;font-weight:500;display:block}input[type=text],input[type=date],textarea{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:12px;padding:.8rem .9rem;font-family:inherit;font-size:1rem}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical;min-height:6rem;line-height:1.5}.field-group{margin-bottom:1rem}.btn{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:3.1rem;margin-top:.5rem;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:600;display:flex}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{color:var(--text2);border-color:var(--border);background:0 0;font-weight:500}.btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.error{background:var(--danger-bg);color:var(--danger);border:1px solid #a3261e40;border-radius:12px;margin-bottom:1.25rem;padding:.75rem .9rem;font-size:.9rem}.privacy{color:var(--text2);margin-top:1.5rem;font-size:.85rem;display:inline-block}.thanks{text-align:center;padding:3rem 0}.code-box{border:1px dashed var(--accent);border-radius:var(--radius);background:var(--card);margin:1.75rem 0;padding:1.25rem 1rem}.code{letter-spacing:.35rem;color:var(--accent);font-variant-numeric:tabular-nums;margin-top:.4rem;font-size:2.4rem;font-weight:700}.muted{color:var(--text2);font-size:.9rem}footer{border-top:1px solid var(--border);color:var(--text2);text-align:center;margin-top:3rem;padding-top:1.5rem;font-size:.8rem}.prose h2{margin:1.75rem 0 .4rem;font-size:1rem}.prose p,.prose li{color:var(--text2);font-size:.92rem}.prose ul{margin:.4rem 0;padding-left:1.15rem}a{color:var(--accent-ink)}.letter p{color:var(--text2);margin-bottom:.9rem;font-size:.95rem}.signature{color:var(--text);margin-top:1.5rem;font-size:.95rem;font-weight:600}.signature span{color:var(--text2);font-size:.82rem;font-weight:400;display:block}.cta{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--text);margin:2rem 0 .5rem;padding:1.1rem 1.2rem;text-decoration:none;display:block}.cta:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.cta-title{font-size:1.05rem;font-weight:700;display:block}.cta-sub{color:var(--text2);margin-top:.3rem;font-size:.88rem;display:block}.cta-action{color:var(--accent-ink);margin-top:.7rem;font-size:.9rem;font-weight:600;display:block}.back{margin-top:1.25rem;font-size:.88rem}.back a{text-decoration:none}.q.missing{border-left:3px solid var(--danger);margin-left:-.7rem;padding-left:.7rem}.q.missing legend{color:var(--danger)}.hint{color:var(--danger);margin-top:.6rem;font-size:.85rem}input.invalid,textarea.invalid{border-color:var(--danger)}
