.cta { text-decoration: none; }
.public-nav { justify-self:end; }
.public-nav a { text-decoration:none; }
.whats-on { padding:64px 0 80px; }
.shows-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:40px; }
.shows-heading .micro { color:var(--slate); margin:0 0 16px; }
.shows-heading h2 { font-size:clamp(44px,6vw,80px); letter-spacing:-.055em; line-height:1; margin:0; }
.shows-heading h2 span { color:#009fb4; }
.shows-heading > p { margin:0 0 3px; color:var(--slate); line-height:1.5; font-size:17px; }
.show-row { position:relative; display:grid; grid-template-columns:130px minmax(0,1fr) auto; align-items:center; gap:40px; padding:42px 0; min-height:225px; }
.show-wave { position:absolute; width:100%; height:24px; top:-12px; left:0; color:var(--rule); pointer-events:none; }
.show-date { display:flex; flex-direction:column; gap:5px; }
.show-date strong { font-size:60px; font-weight:400; line-height:1; letter-spacing:-.055em; }
.show-date .micro { color:var(--slate); }
.show-info > .micro { font-size:10px; letter-spacing:.12em; color:var(--slate); margin:0 0 10px; }
.show-info h3 { margin:0 0 12px; font-size:clamp(27px,3vw,42px); font-weight:500; line-height:1.1; letter-spacing:-.04em; overflow-wrap:anywhere; }
.show-lineup { margin:0 0 16px; color:var(--slate); font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.show-venue { margin:0; font-size:13px; display:flex; align-items:center; gap:8px; line-height:1.5; overflow-wrap:anywhere; }
.show-venue svg { flex-shrink:0; }
.show-action { text-align:right; }
.show-action p { color:var(--slate); font-size:10px; margin:14px 0 0; }
.ticket-cta { background:var(--navy); color:var(--ivory); }
@media(hover:hover) { .ticket-cta:hover { background:var(--cyan); color:var(--navy); } }
.preview-note { padding:12px 0 20px; font-size:10px; color:var(--slate); }
.empty-state { position:relative; padding:44px 0; }
.empty-state h3,.empty-state h2 { font-size:28px; letter-spacing:-.03em; font-weight:500; }
.empty-state p,.muted { color:var(--slate); line-height:1.6; }
.quiet-link { display:inline-block; margin-top:12px; }
.admin-label { justify-self:end; color:var(--slate); }
.admin-main { min-height:70vh; padding:40px 0 72px; }
.admin-main h1 { font-size:clamp(34px,5vw,58px); text-transform:none; letter-spacing:-.055em; line-height:1.1; }
.admin-nav { display:flex; gap:28px; align-items:center; margin-bottom:40px; font-size:14px; flex-wrap:wrap; }
.admin-nav form { margin-left:auto; }
.admin-nav a[aria-current] { font-weight:700; text-decoration-color:#009fb4; text-decoration-thickness:2px; }
.admin-title { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.admin-title .micro { color:var(--slate); }
.text-button { padding:0; border:0; background:none; cursor:pointer; color:var(--slate); text-decoration:underline; text-underline-offset:4px; font:inherit; }
.login-panel { max-width:440px; margin:32px auto 60px; }
.login-panel form { margin-top:32px; }
.admin-main label { display:block; margin-bottom:24px; font-size:14px; font-weight:600; }
.admin-main input:not([type=radio]):not([type=hidden]), .admin-main textarea, .admin-main select { display:block; width:100%; margin-top:10px; padding:14px; border:1px solid var(--rule); border-radius:0; background:transparent; color:var(--navy); font:400 16px/1.5 Arial,sans-serif; }
.admin-main input:focus,.admin-main textarea:focus,.admin-main select:focus { outline:2px solid #009fb4; outline-offset:3px; }
.admin-main textarea { resize:vertical; }
.editor { max-width:760px; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.help { color:var(--slate); font-size:13px; line-height:1.6; margin:-12px 0 28px; }
.action-choice { border:1px solid var(--rule); padding:20px; margin:0 0 24px; }
.action-choice legend { font-size:14px; padding:0 8px; }
.action-choice label { display:flex; align-items:center; gap:10px; margin:10px 0; font-weight:400; }
.action-choice input { width:18px; height:18px; accent-color:var(--navy); }
.form-actions { display:flex; align-items:center; gap:24px; margin-top:32px; }
.notice { padding:18px 20px; background:#e9e2d3; border-left:3px solid var(--navy); font-size:14px; line-height:1.6; margin:20px 0 32px; }
.notice.success { background:#e0efeb; border-color:#08776a; }
.admin-show { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:30px 0; position:relative; }
.admin-shows { margin-top:40px; }
.admin-show h2 { font-size:26px; letter-spacing:-.035em; font-weight:500; margin:12px 0 8px; overflow-wrap:anywhere; }
.admin-show p { color:var(--slate); margin:0; font-size:14px; }
.badge { font:10px 'Courier New',monospace; letter-spacing:.1em; text-transform:uppercase; border:1px solid var(--rule); padding:5px 8px; }
.row-actions { display:flex; gap:24px; align-items:center; font-size:14px; flex-shrink:0; }
button:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:800px) { .show-row { grid-template-columns:80px minmax(0,1fr); gap:20px; } .show-action { grid-column:2; text-align:left; } .show-date { align-self:start; } .show-action p { display:none; } .show-date strong { font-size:48px; } .whats-on { padding-top:48px; } }
@media(max-width:520px) { .shows-heading { align-items:start; margin-bottom:32px; } .shows-heading > p { display:none; } .show-row { grid-template-columns:60px minmax(0,1fr); gap:18px; padding:32px 0; } .show-date .micro { font-size:10px; } .show-date strong { font-size:42px; } .show-info h3 { font-size:27px; } .form-pair { grid-template-columns:1fr; gap:0; } .admin-title { align-items:start; flex-direction:column; } .admin-show { align-items:start; flex-direction:column; } .admin-nav { gap:18px; } .admin-label { font-size:10px; } .admin-main { padding-top:24px; } }
.mailchimp-guide { border:1px solid var(--rule); padding:24px; margin:28px 0; }
.mailchimp-guide h2 { margin:0 0 12px; font-size:22px; letter-spacing:-.03em; }
.mailchimp-guide p { font-size:14px; line-height:1.6; color:var(--slate); }
.mailchimp-guide .help { margin:12px 0 24px; }
.mailchimp-guide .help:last-child { margin-bottom:0; }
.tag-list { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:20px 0; }
.tag-list li { border:1px solid var(--rule); padding:8px 10px; font:12px/1.5 'Courier New',monospace; overflow-wrap:anywhere; max-width:100%; }
.show-city { color:var(--slate); }
.signup-page { max-width:660px; margin:0 auto; padding:64px 0 80px; min-height:70vh; }
.signup-page h1 { font-size:clamp(36px,5vw,60px); line-height:1.05; letter-spacing:-.045em; text-transform:none; overflow-wrap:anywhere; }
.signup-page > p { font-size:16px; color:var(--slate); line-height:1.6; }
.signup-page > .micro { font-size:11px; margin-bottom:20px; }
.signup-page .signup-event { font-weight:600; color:var(--navy); }
.onsite-signup { margin-top:32px; }
.onsite-signup > label { display:block; font-size:14px; margin-bottom:10px; }
.onsite-signup input[type=email] { border:1px solid var(--rule); padding:16px; width:100%; background:transparent; font:16px Arial,sans-serif; color:var(--navy); }
.onsite-signup label { line-height:1.6; font-size:14px; }
.onsite-signup .signup-small { font-size:12px; line-height:1.7; color:var(--slate); margin-bottom:24px; }
.onsite-signup input:focus-visible { outline:2px solid var(--navy); outline-offset:3px; }
@media(max-width:600px) { .signup-page { padding-top:40px; } }

.show-blurb { max-width:65ch; font-size:15px; line-height:1.7; color:var(--slate); overflow-wrap:anywhere; margin:16px 0; }

.support-form { margin-top:32px; }
.support-form > label { display:block; margin:0 0 24px; font-size:14px; font-weight:600; line-height:1.5; }
.support-form > label > input, .support-form > label > textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; margin-top:10px; padding:14px 16px; border:1px solid var(--rule); border-radius:0; background:transparent; color:var(--navy); font:400 16px/1.5 Arial,sans-serif; }
.support-form textarea { min-height:180px; resize:vertical; }
.support-form input:focus-visible, .support-form textarea:focus-visible { outline:2px solid #009fb4; outline-offset:3px; }
.support-form > .help { margin:0 0 28px; }
.support-form > .cta { max-width:100%; }

.additional-dates { border:1px solid var(--rule); margin:32px 0; padding:24px; min-width:0; }
.additional-dates > .help { margin:12px 0 24px; }
.extra-date { padding:20px 0; border-top:1px solid var(--rule); }
.extra-date .remove-date { margin-bottom:20px; }
.performance-ticket + .performance-ticket { margin-top:12px; }
.show-performance-dates { font-size:14px; line-height:1.7; font-weight:600; }
.show-action .ticket-cta { white-space:normal; }

/* Supplied Ultrasound identity, with the SVG canvas trimmed to the artwork. */
.header { min-height:156px; padding-block:16px; }
.brand .brand-logo { display:block; width:132px; max-width:100%; height:auto; }
.art { aspect-ratio:1; margin-top:0; }
.art img { width:94%; max-width:560px; height:auto; transform:none; }
@media(max-width:600px) { .header { min-height:132px; } .brand .brand-logo { width:110px; } .art img { width:90%; } }
