@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#341425;background:#fff5f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 95% 80%,#ffd5e3 0,transparent 55%),#fff5f8}header,footer{display:flex;align-items:center;justify-content:space-between;padding:30px 6vw}.brand{font-weight:700;font-size:20px;letter-spacing:-.6px;color:inherit;text-decoration:none}.brand span{font-weight:400;font-size:15px;letter-spacing:0;margin-left:8px}.tiny,footer{font-size:12px;letter-spacing:2px}main{flex:1;display:grid;place-items:center;padding:35px 20px}.card{width:min(780px,100%);text-align:center}.eyebrow{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:#b52254;margin-bottom:24px}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(45px,7.3vw,82px);font-weight:600;letter-spacing:-2px;line-height:1.09;margin:0 auto 25px;max-width:730px}h1 em{color:#dc285e;font-weight:600}.subtitle{font-size:18px;line-height:1.6;margin:0 0 32px;color:#75515f}.buttons{display:flex;justify-content:center;gap:15px;position:relative;min-height:64px;margin-bottom:25px}button,.button{font:600 16px 'DM Sans',sans-serif;border:0;border-radius:100px;padding:19px 35px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;background:#e52a63;color:#fff;box-shadow:0 8px 24px #ce22532b;transition:background .2s,transform .2s}button:hover,.button:hover{background:#c81950;transform:translateY(-2px)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #681137;outline-offset:4px}.no{color:#6e4d59;background:#fff;border:1px solid #e7cdd7;box-shadow:none;width:116px;touch-action:none}.no:hover{background:#fff;transform:none}.no.gliding{transition:left .42s cubic-bezier(.2,.75,.3,1),top .42s cubic-bezier(.2,.75,.3,1);will-change:left,top}.note{font-size:14px;color:#896675;margin-top:22px}.back{font-size:14px;color:#795365;text-underline-offset:5px;display:block;margin-top:28px}.planner h1,.confirmed h1{font-size:clamp(42px,6vw,64px)}form{width:min(500px,100%);margin:35px auto 0;text-align:left}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}label{font-size:14px;font-weight:600;display:block;margin-bottom:10px}input,select{font:16px 'DM Sans',sans-serif;color:#341425;background:#fff;border:1px solid #dec4ce;border-radius:14px;padding:17px 14px;width:100%;min-height:58px}form button{width:100%}.ticket{background:white;border:1px solid #e9cbd7;border-radius:20px;padding:30px;margin:30px auto;width:min(460px,100%);box-shadow:0 15px 50px #7d1b3a0a}.ticket .label{font-size:12px;letter-spacing:2px;color:#a9637d;margin-bottom:13px}.ticket strong{font-family:Georgia,serif;font-size:27px;display:block;line-height:1.4}.ticket .time{font-size:18px;margin-top:10px;color:#8c405c}footer nav{display:flex;gap:9px}footer nav span{height:6px;width:23px;background:#e3c2ce;border-radius:4px}footer nav span.active{background:#de295f}footer{color:#9a677a}.error{color:#ba1746;font-size:14px;min-height:20px}@media(max-width:600px){header,footer{padding:24px}.tiny{display:none}.brand span{font-size:14px}h1{letter-spacing:-1.5px}.fields{grid-template-columns:1fr}main{padding:28px 24px}.eyebrow{margin-bottom:20px}footer{font-size:10px;letter-spacing:1px}.subtitle{font-size:16px}.card{padding-bottom:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

button:disabled{opacity:.65;cursor:wait;transform:none}

.name-field{margin-bottom:22px}.optional{font-weight:400;color:#896675}
