.visitor-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; margin:1.25rem 0; }
.visitor-actions a, .visitor-actions button, .visitor-form button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:44px; padding:.7rem 1rem; border-radius:10px; border:1px solid #e9cf91; background:#eed398; color:#172b3b; font:600 1rem/1.3 'Segoe UI',sans-serif; text-decoration:none; cursor:pointer; box-sizing:border-box; }
.visitor-actions .visitor-secondary { background:#20394b; border-color:#a2b9b1; color:white; }
.visitor-eyebrow { text-transform:uppercase; font-weight:700; letter-spacing:.12em; font-size:.8rem; color:#eed398; }
.visitor-intro { max-width:680px; margin:0 auto; text-align:center; }
.visitor-intro h1 { font-family:Georgia,serif; font-size:clamp(2rem,6vw,3rem); line-height:1.14; }
.visitor-intro p { line-height:1.65; }
.visitor-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:1rem; margin:1.5rem 0; }
.visitor-info-card { padding:1.25rem; border:1px solid #ffffff38; background:#152c3dd9; border-radius:12px; line-height:1.6; min-width:0; }
.visitor-info-card h2, .visitor-info-card h3 { margin-top:0; color:#eed398; }
.visitor-page { color:#f5f4ec; overflow-wrap:anywhere; }
.visitor-page a { color:#f4dca9; }
.visitor-page .visitor-actions a { color:#172b3b; }
.visitor-page .visitor-actions .visitor-secondary { color:white; }
.visitor-page .loading-placeholder { color:inherit; font-style:normal; }
.visitor-page details { padding:1rem 0; border-bottom:1px solid #ffffff38; }
.visitor-page summary { cursor:pointer; font-weight:600; padding:.25rem 0; }
.visitor-page details p { line-height:1.6; }
.visitor-form { max-width:680px; margin:1rem auto; padding:1.25rem; background:#142c3dea; border:1px solid #ffffff38; border-radius:12px; text-align:left; }
.visitor-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.visitor-form label { display:block; font-weight:600; margin:1rem 0 .4rem; }
.visitor-form input:not([type=checkbox]), .visitor-form select, .visitor-form textarea { display:block; width:100%; max-width:100%; box-sizing:border-box; font:inherit; padding:.75rem; background:#fffdf7; border:1px solid #adb9bd; color:#172b3b; border-radius:7px; }
.visitor-form textarea { resize:vertical; min-height:110px; }
.visitor-form .visitor-check { display:flex; gap:.65rem; align-items:flex-start; line-height:1.5; font-weight:400; }
.visitor-check input { margin-top:.3rem; min-width:18px; min-height:18px; }
.visitor-form .visitor-help { font-size:.9rem; color:#d7e1e4; line-height:1.55; }
.visitor-form button { margin-top:1rem; }
.visitor-form button:disabled { opacity:.65; cursor:wait; }
.visitor-status { padding:.75rem 0; line-height:1.6; }
.visitor-status[data-error=true] { color:#ffb8ad; }
.visitor-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.visitor-event-description { white-space:pre-wrap; line-height:1.7; }
.visitor-page :focus-visible, .visitor-actions :focus-visible { outline:3px solid #eed398; outline-offset:4px; }
@media(max-width:600px) { .visitor-actions > a, .visitor-actions > button { flex:1 1 100%; } .visitor-page.glass-box { padding:1rem; } }
