:root{--ink:#173e59;--sand:#fcfaf5;--gold:#ae772d;--line:#d2e1e9}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:inherit}header{padding:20px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.brand{text-decoration:none;font:28px Georgia,serif}.brand small{display:block;font:9px system-ui;letter-spacing:3px;margin-top:4px}select,button,input,textarea{font:inherit}select{padding:10px;border:1px solid var(--line);background:transparent;color:var(--ink)}main{max-width:1080px;margin:auto;padding:55px 24px}.intro{max-width:740px;margin-bottom:45px}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#895c22}h1{font:clamp(44px,7vw,76px)/1.08 Georgia,serif;margin:18px 0 22px;letter-spacing:-2px}h2{font:32px/1.2 Georgia,serif;margin-top:0}.intro>p:not(.eyebrow){font-size:18px;max-width:560px;color:#486579}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 22px;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;cursor:pointer;border-radius:3px}.outline{background:transparent;color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}.card,form{background:#ffffff;border:1px solid var(--line);padding:28px;border-radius:6px}.card{margin-bottom:18px;overflow-wrap:anywhere}.card .name{font-weight:650;margin:0}.card .origin{color:#526f82;font-size:13px;margin:1px 0 20px}.card .message{white-space:pre-wrap;font:22px/1.5 Georgia,serif}.card .tip{border-top:1px solid var(--line);padding-top:16px;font-size:14px}.empty{padding:34px;border:1px dashed #b3cedc;border-radius:6px;background:#eaf4f8}.empty h3{font:25px Georgia,serif;margin-top:0}label{display:block;font-size:14px;font-weight:600;margin:18px 0 6px}input,textarea{display:block;width:100%;padding:12px;border:1px solid #aac3d2;background:white;color:var(--ink);border-radius:3px}textarea{resize:vertical;min-height:125px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px}.check input{width:18px;min-width:18px;margin:5px 0}small,.note{font-size:12px;color:#4b687a}.hp{position:absolute;left:-10000px}.status{padding:12px 0;font-weight:600}.error{color:#9c342d}footer{max-width:1080px;margin:auto;padding:25px 24px 40px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;font-size:12px}.hidden,[hidden]{display:none!important}.admin .actions button{padding:8px 12px}.badge{font-size:12px;background:#f7e9d0;padding:3px 9px;border-radius:20px}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.qr{max-width:270px;width:100%;display:block;margin:25px auto}.print-card{text-align:center;max-width:500px;margin:35px auto;padding:40px;border:1px solid var(--line);background:white}.print-card h1{font-size:44px}.print-card .url{font-size:11px;overflow-wrap:anywhere}@media(max-width:720px){main{padding:35px 20px}.grid{grid-template-columns:1fr;gap:30px}form{padding:22px}.intro{margin-bottom:32px}header{padding:15px 20px}.brand{font-size:25px}h1{letter-spacing:-1px}footer{flex-wrap:wrap}}@media print{header,footer,.no-print{display:none!important}main{padding:0}.print-card{margin:0 auto;break-inside:avoid}.print-card a{text-decoration:none}}
.welcome-options{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0 55px}.welcome-option{position:relative;display:block;text-decoration:none;border:1px solid var(--line);background:#ffffff;border-radius:8px;padding:30px 26px 48px;min-height:260px;transition:transform .15s,border-color .15s}.welcome-option:hover{transform:translateY(-3px);border-color:var(--gold)}.welcome-option:first-child{background:var(--ink);color:#ffffff}.option-number{font-size:12px;letter-spacing:2px;opacity:.7}.welcome-option h2{margin:28px 0 12px;font-size:30px}.welcome-option p{font-size:14px;opacity:.85}.arrow{position:absolute;right:24px;bottom:18px;font-size:24px}.back-link{display:inline-block;font-size:14px;margin-top:12px}.stay-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:30px}.stay-layout details{border-bottom:1px solid var(--line);padding:18px 0}.stay-layout summary{cursor:pointer;font-weight:600;padding:4px 0;min-height:44px}.stay-layout details p{color:#486579;padding-right:14px}.help-card{padding:28px;background:#e6f2f8;border-radius:6px;align-self:start}.help-card h2{font-size:27px}.help-card p{font-size:15px}.places{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.place-card{padding:24px;background:#ffffff;border:1px solid var(--line);border-radius:6px}.place-card h2{font-size:28px;margin-top:25px}.place-card p{font-size:15px}.place-card .actions{font-size:13px}.useful{padding:40px 0}.useful>a{font-size:12px}.guest-welcome{display:inline-block;margin-top:20px}@media(max-width:760px){.welcome-options,.stay-layout,.places{grid-template-columns:1fr}.welcome-options{gap:14px}.welcome-option{min-height:0;padding:22px 55px 22px 22px}.welcome-option h2{margin:8px 0;font-size:28px}.welcome-option p{margin:6px 0}.welcome-option .arrow{bottom:26px}.places{gap:16px}.place-card .actions{margin-bottom:0}}@media(prefers-reduced-motion:reduce){.welcome-option{transition:none}}

/* Coastal palette: sea blue, pale sky, warm sand and restrained amber. */
body{background:linear-gradient(180deg,#e8f4fa 0,#f4f9fb 430px,var(--sand) 900px);min-height:100vh}
header{background:#ffffffb8;border-color:#cddfe9}.brand{color:#173e59}.brand small{color:#526f82}
select{background:#fff;border-color:#c8dce8;border-radius:6px}
.intro h1{color:#173e59;max-width:780px}.intro>p.location{font-size:16px;letter-spacing:.13em;color:#356e90;margin:-6px 0 22px;font-weight:500}
.welcome-option{border:1px solid #c9dee9;box-shadow:0 8px 24px #17456005;border-radius:12px}
.welcome-option:first-child{background:#dceef8;color:var(--ink);border-color:#b4d4e8}
.welcome-option:nth-child(2){background:#f3f9fc;border-color:#c6dfea}
.welcome-option:nth-child(3){background:#fcf3e3;border-color:#e8d8b9}
.welcome-option .option-number{color:#3b6f8f;opacity:1}.welcome-option:nth-child(3) .option-number{color:#895c22}
.welcome-option p{opacity:1;color:#486579}.welcome-option .arrow{color:#286d99}.welcome-option:nth-child(3) .arrow{color:#895c22}
.welcome-option:hover{border-color:#7aabc8;box-shadow:0 10px 25px #1745600c}
.button:not(.outline),button:not(.outline){background:#246b96;border-color:#246b96;color:white}
.outline{border-color:#7eacc5;color:#194e70;background:#ffffff70}
.card,form,.place-card{border-color:#d2e1e9;border-radius:10px}.help-card{border:1px solid #c8e0ed;border-radius:10px}
footer{border-color:#d2e1e9;color:#49697e}.print-card{border:1px solid #c8dce8;border-top:4px solid #ae772d;border-radius:8px}.print-card h1{color:#173e59}
@media(max-width:720px){.intro>p.location{font-size:14px;letter-spacing:.09em;margin-top:-7px}.welcome-option{border-radius:10px}}
@media print{body{background:white}.print-card{box-shadow:none}}
