:root { color-scheme: dark; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #f1f1f3; background: #0b0d11; }
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(ellipse at 50% 0, #22161d, transparent 52%); }
main { max-width: 780px; margin: 0 auto; padding: 28px 26px 48px; }
.build-note { color: #e8c594; background: #201c18; border: 1px solid #584632; border-radius: 8px; padding: 12px 16px; font-size: 12px; line-height: 1.5; }
.brand { width: 180px; height: auto; display: block; margin: 36px 0; }
.eyebrow { text-transform: uppercase; font-size: 12px; letter-spacing: .16em; color: #bdb8bf; }
.buoy { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #ed434c; box-shadow: 0 0 14px #ed434c; margin-right: 8px; }
h1 { font-size: clamp(32px, 6vw, 46px); font-weight: 650; letter-spacing: -.045em; line-height: 1.13; margin: 18px 0; }
.intro { color: #bbbcc6; line-height: 1.6; max-width: 580px; margin-bottom: 28px; }
form { border: 1px solid #33333e; border-radius: 18px; padding: 28px; background: #14161dd9; }
fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
label { display: block; font-size: 14px; line-height: 1.5; }
label > span:not(#notice) { color: #a9aab8; }
input:not([type=radio]):not([type=checkbox]), textarea { width: 100%; min-width: 0; border: 1px solid #444651; border-radius: 8px; background: #0e1016; color: #fff; padding: 12px; margin-top: 7px; font: inherit; }
textarea { resize: vertical; }
input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid #f47c84; outline-offset: 4px; }
input[type=radio], input[type=checkbox] { accent-color: #ed434c; width: 18px; height: 18px; flex-shrink: 0; margin: 3px 10px 0 0; }
.routes { margin-top: 28px; }
.routes legend { font-size: 14px; margin-bottom: 12px; }
.route { display: flex; padding: 15px; border: 1px solid #3b3d49; border-radius: 10px; margin-bottom: 10px; cursor: pointer; }
.route:has(input:checked) { background: #301d24; border-color: #d7525d; }
.route strong { color: #f1f1f3; font-weight: 550; }
.route small { display: block; color: #b5b6c3; margin-top: 4px; }
#contact-fields { margin-top: 24px; }
.phone-field { margin-top: 20px; }
#demo-text-updates{margin-top:24px}#demo-text-updates h2{font-family:Garamond,Georgia,serif;font-size:30px;line-height:1.15;margin:14px 0}#demo-text-updates [data-text-note]{line-height:1.6;color:#d8bac5}#demo-text-updates [data-text-skip]{background:transparent;border-color:#66565e;box-shadow:none}
#sms-fields { margin-top: 20px; }
.consent { display: flex; font-size: 12px; line-height: 1.7; margin-top: 18px; color: #bbbcc6; overflow-wrap: anywhere; }
.legal { font-size: 12px; margin-left: 28px; }
a { color: #f3a6af; }
.interest { margin-top: 24px; }
.interest-actions{display:flex;gap:12px;flex-wrap:wrap}.interest-actions button{width:auto;flex:1;white-space:nowrap;font-size:14px}.interest-actions [data-interest-skip]{background:transparent;border-color:#514652;box-shadow:none}
#demo-interest{margin-top:24px}#demo-interest label>span{display:block;color:#f1e7e9;font-size:22px;line-height:1.4;letter-spacing:-.02em;margin-bottom:14px}#demo-interest blockquote{white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #c55262;margin:14px 0;padding:8px 16px;color:#dcd2dc}#demo-interest [data-interest-note]{line-height:1.6;font-size:14px;color:#d8bac5}
.hint { color: #999baa; font-size: 12px; line-height: 1.5; }
button { width: 100%; padding: 15px 20px; margin-top: 24px; border: 1px solid #f5707e; border-radius: 999px; color: #fff; background: linear-gradient(#bc283b, #791427); box-shadow: inset 0 1px #ffb1bd55, 0 8px 28px #b4223433; font: inherit; font-weight: 550; cursor: pointer; }
button span { float: right; }
button:disabled { opacity: .5; cursor: wait; }
#status { min-height: 24px; font-size: 14px; line-height: 1.7; margin: 22px 0; }
#status[data-tone=error] { color: #ffc0c2; }
#status[data-tone=saved] { padding: 24px; border: 1px solid #566457; border-radius: 12px; background: #17201b; }
footer { color: #8e8f9d; font-size: 12px; margin-top: 28px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
[hidden] { display: none !important; }
#time-picker { border:1px solid #393440; border-radius:16px; padding:24px; margin-top:24px; background:#15161e; }
#time-picker h2 { font-size:25px; letter-spacing:-.035em; }
.demo-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:20px; }
.demo-times button { margin:0; border-radius:9px; font-size:13px; padding:14px 8px; background:#26202c; border-color:#805265; box-shadow:none; }
#refresh-times { font-size:12px; background:#1c1d27; border-color:#4b4654; box-shadow:none; }
#refresh-booking { font-size:13px; background:#1c1d27; border-color:#4b4654; box-shadow:none; margin:0 0 20px; }
.meeting-link { display:block; padding:16px; margin:0 0 18px; border:1px solid #805265; border-radius:10px; text-align:center; text-decoration:none; }
@media(max-width: 540px) { main { padding: 16px 18px 32px; } form { padding: 20px; } .grid { grid-template-columns: 1fr; gap: 16px; } .brand { margin: 28px 0; } }
