:root{--navy:#102c3c;--blue:#164f63;--gold:#bb8537;--ink:#18333e;--muted:#536771;--line:#dce4e7;--pale:#f2f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:white}a{color:var(--blue);text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{position:sticky;top:0;background:var(--navy);color:white;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1120px)/2));gap:20px}.brand{display:flex;gap:13px;align-items:center;color:white;text-decoration:none;font-size:15px;letter-spacing:2px;font-weight:650;line-height:1.4}.brand small{display:block;font-size:12px;letter-spacing:4px;color:#e0b77a;margin-top:3px}.crest{border:1px solid #d4a565;padding:1px 13px;font:36px Georgia,serif;color:#e0b77a}.contact{color:white;font-size:14px;text-decoration:none;border-bottom:1px solid #b88b52;padding:6px 0}main{max-width:1120px;margin:auto;padding:32px 24px 0}h1,h2{font-family:Georgia,serif;font-weight:normal;letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(38px,5vw,62px);margin:12px 0 20px}h2{font-size:clamp(30px,3.5vw,42px);margin:8px 0}h3{font-size:21px;line-height:1.35;margin:8px 0 12px}p{margin:0 0 14px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:var(--gold);margin:0}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;margin:0 0 28px;padding:0}.intro p:not(.eyebrow){color:var(--muted)}.intro img{width:100%;height:280px;object-fit:cover;border-radius:2px}.address{font-size:14px;font-weight:650}.quick{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin:26px 0 52px}.quick a{padding:17px 13px;border-right:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:650;font-size:15px}.quick a:last-child{border:0}.quick a:hover{background:var(--pale)}.quick span{display:block;font-size:12px;color:var(--gold);margin-bottom:6px}section{margin-bottom:54px;scroll-margin-top:100px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.outline{border:1px solid var(--line);padding:10px 16px;text-decoration:none;font-size:14px;white-space:nowrap}.arrivals{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}details{border:1px solid var(--line);background:white}summary{padding:20px;font-size:18px;font-weight:650;cursor:pointer}summary span{margin-right:12px}.inside{padding:0 22px 22px;color:var(--muted);font-size:16px}.inside strong{color:var(--ink)}.links{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}.links a{font-size:14px;font-weight:700}.access{background:var(--navy);color:white;padding:32px}.access .eyebrow{color:#e5bb7b}.pill{font-size:12px;border:1px solid #557078;border-radius:20px;padding:6px 12px;white-space:nowrap}.light{border-color:var(--line);color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}.steps article>span{display:flex;align-items:center;justify-content:center;border:1px solid #bd925b;color:#e5bb7b;width:35px;height:35px;margin-bottom:18px}.steps p{color:#d5e2e7;font-size:16px}.access-help{border-top:1px solid #47606a;margin-top:18px;padding-top:26px;display:flex;gap:24px;align-items:center;justify-content:space-between}.button{display:inline-block;background:var(--gold);color:white;padding:13px 19px;text-decoration:none;font-size:15px;font-weight:750;white-space:nowrap}.small{font-size:14px;color:var(--muted)}.access .small{color:#b8cbd4;margin:18px 0 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{border-top:3px solid var(--gold);padding:23px;background:var(--pale);display:flex;flex-direction:column}.cards p{font-size:16px;color:var(--muted)}.cards .tag{font-size:12px;font-weight:750;letter-spacing:1px;color:var(--blue)}.cards .links{margin-top:auto;padding-top:12px}.day{margin-top:22px}.food-number{font:30px Georgia,serif;color:var(--gold);margin-bottom:10px}.food{margin-bottom:20px}.practical{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.practical article{border-bottom:1px solid var(--line);padding:10px 0 18px}.practical p{font-size:16px;color:var(--muted)}.help{display:flex;justify-content:space-between;gap:40px;padding:30px;background:var(--pale)}.help-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.help p{max-width:520px;color:var(--muted)}footer{max-width:1120px;margin:auto;padding:0 24px 28px;color:var(--muted);font-size:13px}footer details{border:0;margin-top:12px}footer summary{font-size:13px;padding:8px 0}footer p{font-size:13px}@media(max-width:760px){header{padding:14px 18px}.brand{font-size:12px;letter-spacing:1px}.crest{font-size:30px}.contact{font-size:13px}.intro{grid-template-columns:1fr;gap:18px}.intro img{height:185px}.quick{grid-template-columns:repeat(2,1fr);margin-bottom:36px}.quick a{border-bottom:1px solid var(--line)}.quick a:last-child{grid-column:1/-1}.section-head{align-items:flex-start;flex-direction:column;gap:12px}.arrivals,.cards,.practical{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:14px}.steps article{display:grid;grid-template-columns:35px 1fr;gap:0 15px}.steps p{grid-column:2}.access{padding:24px 20px}.access-help,.help{flex-direction:column;align-items:flex-start}.button{white-space:normal}.help{padding:24px}.cards article{padding:21px}main{padding:26px 18px 0}.outline{white-space:normal}section{margin-bottom:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header{position:static}.quick,.help-actions{display:none}details .inside{display:block}.access{background:white;color:var(--ink)}.access p,.access .small{color:var(--ink)}section{break-inside:avoid}a{color:var(--ink)}}
/* Misma estructura de aplicación móvil que la demo de Venecia. */
body{background:#e9eff1;padding:30px 0;min-height:100vh}.frame{max-width:480px;margin:auto;min-height:100vh;background:#f8faf9;box-shadow:0 15px 55px #10293c1a;overflow:hidden}header{position:static;padding:24px 22px;background:#10293c;gap:15px}.brand{font-size:13px;letter-spacing:1px}.brand small{font-size:12px}.contact{font-size:13px}.boat-wrap{margin:16px 20px 0;height:164px;overflow:hidden;border-radius:16px;box-shadow:0 8px 22px #10293c1a}.boat-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}main{padding:22px 20px 30px}.intro{display:block;margin:0}.intro>div{padding:22px;background:white;border:1px solid #dce5e8;border-radius:20px;box-shadow:0 4px 22px #10293c09}.intro h1{font-family:system-ui,sans-serif;font-size:27px;letter-spacing:-.03em;font-weight:750;margin:12px 0}.intro .eyebrow{color:#39728b}.intro p{font-size:16px}.address{font-size:14px}.quick{display:grid;grid-template-columns:1fr;gap:11px;border:0;margin:20px 0 28px}.quick a,.quick a:last-child{display:flex;align-items:center;gap:17px;grid-column:auto;background:white;border:1px solid #dae5e8;padding:17px;border-radius:15px;font-size:17px;line-height:1.4}.quick .menu-icon{font-size:26px;display:inline;margin:0;min-width:30px}.quick strong{display:block;font-weight:700}.quick small{font-size:14px;color:#5e727b;font-weight:400;display:block;margin-top:3px}.section-head{display:block;margin:22px 0}.section-head h2{font:750 27px/1.25 system-ui,sans-serif;letter-spacing:-.03em;margin:8px 0 18px}.outline,.pill{display:inline-block;font-size:14px}.arrivals,.cards,.steps,.practical{display:grid;grid-template-columns:1fr;gap:15px}section{margin:0 0 25px;scroll-margin-top:0}.arrivals details,.day{border-radius:15px;overflow:hidden}.cards article{border:1px solid #dce5e8;border-radius:20px;padding:23px;background:white;box-shadow:0 4px 22px #10293c09}.cards h3{font-size:22px}.access{background:white;border:1px solid #dce5e8;border-radius:20px;padding:22px;color:#10293c}.access .eyebrow{color:#39728b}.access .pill{border-color:#dce5e8;color:#536771}.steps p,.access .small{color:#5c6b72}.steps article{display:grid;grid-template-columns:35px 1fr;gap:0 14px}.steps p{grid-column:2}.steps article>span{border-radius:10px;color:#194c66;border-color:#bdcfd6}.access-help{display:block;border-color:#e4e9e8}.button{background:#194c66;border-radius:12px;display:block;width:100%;text-align:center;min-height:52px;padding:14px;font-size:16px;white-space:normal}.back{display:block;font-size:15px;color:#225672;margin:0 0 20px;text-align:left}.help{display:block;background:white;border:1px solid #dce5e8;border-radius:20px;padding:23px}.help h2{font:750 25px/1.25 system-ui,sans-serif}.help-actions{display:flex;gap:12px;margin-top:20px;align-items:stretch}.help-actions a:not(.button){font-size:15px}.help .eyebrow{color:#39728b}footer{padding:0 20px 26px;font-size:13px}footer details{background:transparent}summary{font-size:17px}.practical article{padding:20px;background:white;border:1px solid #dce5e8;border-radius:15px}.small{font-size:14px}.food-number{font-size:28px}.links a{font-size:15px}[hidden]{display:none!important}@media(max-width:600px){body{padding:0}.frame{box-shadow:none}header{padding:22px 20px}}@media print{body{padding:0}.frame{max-width:none}section[hidden]{display:block!important}.quick,.back{display:none}}
.personal-panel{border:1px solid #dce5e8;background:#f2f7f8;border-radius:15px;padding:20px;margin:22px 0}.personal-panel>p{font-size:16px}.pin-card{border:1px solid #dce5e8;border-radius:15px;background:white;padding:20px;margin:15px 0}.pin{font-size:34px;letter-spacing:4px;color:#10293c;display:block;margin:14px 0;font-family:ui-monospace,monospace;overflow-wrap:anywhere}.copy-pin{border:1px solid #bdcfd6;border-radius:10px;background:white;color:#194c66;padding:10px 14px;font:650 15px system-ui;cursor:pointer}.copy-pin:focus-visible{outline:3px solid #bb8537;outline-offset:4px}#accessRelease{color:#194c66;font-weight:650}#copyStatus{font-size:14px;color:#194c66}
.demo-open{margin-top:18px}.demo-notice{background:#fff0cf;border:1px solid #dfc780;color:#684d18;border-radius:12px;padding:16px;font-size:15px;margin:20px 0}.demo-notice p{margin:8px 0 0}.welcome-example{padding:23px;background:white;border:1px solid #dce5e8;border-radius:20px;margin:18px 0}.stay-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #e4e9e8;border-bottom:1px solid #e4e9e8;margin:20px 0;padding:18px 0}.stay-summary span{display:block;font-size:12px;font-weight:750;color:#39728b;letter-spacing:.03em}.stay-summary strong,.stay-summary small{display:block}.stay-summary strong{font-size:16px;margin:7px 0 3px}.stay-summary small{font-size:16px;color:#5c6b72}.demo-switch{border:1px solid #bdcfd6;border-radius:12px;padding:14px 16px;margin:24px 0 14px;font-size:15px}.demo-switch legend{font-weight:700;padding:0 5px}.demo-switch label{display:flex;align-items:center;gap:9px;padding:8px 0;cursor:pointer}.demo-switch input{width:18px;height:18px;accent-color:#194c66}#demoTiming{font-size:15px;color:#39728b}.visual-reference{border:0;margin-top:14px;background:transparent}.visual-reference summary{padding:12px 0;color:#225672;font-size:15px}.visual-reference img{display:block;width:100%;height:auto;border-radius:12px;margin:8px 0 12px}.pin-instructions{font-size:16px;white-space:pre-line}.demo-pin{font-size:28px;letter-spacing:2px}.pin-card #wifiPassword{overflow-wrap:anywhere}

.reception-help{border:1px solid #dce5e8;background:#f2f7f8;border-radius:15px;padding:20px;margin:22px 0}.wifi-password{overflow-wrap:anywhere}.copy-feedback{color:#194c66;font-size:14px;margin:10px 0 0;min-height:1.5em}

.checkin-card{border:1px solid #bdcfd6;border-radius:15px;background:#edf5f7;padding:20px;margin:20px 0}.checkin-card .button{margin:16px 0}.language-picker{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 20px;background:#10293c;color:white;font-size:14px;border-top:1px solid #264253}.language-picker select{font:inherit;color:#10293c;background:white;border:1px solid #bdcfd6;border-radius:8px;padding:8px 10px;max-width:65%}.language-picker select:focus-visible{outline:3px solid #bb8537;outline-offset:3px}

.receipt-confirmation{margin:20px 20px 0;padding:16px;background:white;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}.receipt-confirmation .button{width:100%;margin:0;text-align:center;overflow-wrap:anywhere}.receipt-confirmation p{margin:0;font-size:14px;line-height:1.5;color:var(--muted);text-align:center;overflow-wrap:anywhere}
