:root {
  --bg: #101A22;
  --card-bg: #15212b;
  --primary: #00B4FF;
  --text: #fff;
  --text-muted: #a0b0bd;
  --input-bg: #1c2b33;
  --border: #2e3e47;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
    button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

* {
  box-sizing: border-box;
}


/*
@font-face {
  font-family: 'TangoSans';
  src: url('PapernotesBold.woff2') format('woff');
  font-weight: normal;
  font-style: normal;
}
*/

body {
  background: radial-gradient(circle, #101A22, #000A12 80%) no-repeat;
  color: var(--text);
  font-family: 'TangoSans', sans-serif;
  padding: 2rem;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  min-height: 100vh;
}

body.rsvp-active {
  background: radial-gradient(circle at top center, #101A22, #000A12 80%) no-repeat;
}

.container {
  background: var(--card-bg);
  border-radius: 12px;
  padding: 2rem;
  width: 100%;
  max-width: 500px;
}

@media(max-width:500px) {
  body {
    padding:2rem 1rem;
  }
  .container {
    padding:2rem 1.5rem;
  }
}

h1 {
  text-align: center;
  color: var(--primary);
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: normal;
}

h2 {
  margin: 1rem 0;
  font-weight: normal;
}

#success-message h2,
#success-message p {
  text-align: center;
}

label {
  display: block;
  font-size: 1rem;
  padding-bottom: 0.5rem;
  color: var(--primary);
  font-family: 'TangoSans', sans-serif;
  font-weight: normal;
  opacity: 0.5;
  margin-bottom: 0;
}

input, textarea {
  width: 100%;
  padding: 0.75rem;
  margin-bottom: 1.2rem;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--input-bg);
  color: var(--text);
  font-size: 1rem;
  transition: all 0.2s;
}

textarea:hover {
  background-color: var(--border);
}

input:focus, textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0, 180, 255, 0.2);
}

.button-group {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.button-group button {
  flex: 1;
  padding: 0;
  height: 64px;
  background: var(--input-bg);
  border: none;
  color: var(--text-muted);
  border-radius: 8px;
  font-size: 1.25rem;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'TangoSans', sans-serif;
  font-weight: normal;
}

.button-group button:hover {
  background-color: var(--border);
  color: #fff;
}

.button-group button.active {
  background-color: #fff;
  color: var(--primary);
}

button[type="submit"] {
  background-color: var(--primary);
  color: #fff;
  padding: 0 0.9rem;
  border: none;
  width: 100%;
  height: 4rem;
  border-radius: 8px;
  font-size: 1.25rem;
  font-weight: normal;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'TangoSans', sans-serif;
}

button[type="submit"]:hover {
  background-color: #00c8ff;
}

.hidden {
  display: none;
}

textarea {
  font-family: 'TangoSans', sans-serif;
  width: 100%;
  height: 64px;
  min-height: 64px;
  max-height: 64px;
  transition: all 0.2s;
}

input.error, textarea.error, select.error {
  border-color: #f66 !important;
  box-shadow: 0 0 0 2px rgba(255, 50, 50, 0.3);
}




.logo {
  position:absolute;width:90px;height:auto;top:calc(50% - 40px);left:50%;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle at top right, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.025) 75%);
  border:1px solid rgba(255,255,255,0.05);box-shadow:1px 1px 5px rgba(0,0,0,0.1);opacity:0.85;
}
.logo svg {display:block;position:relative;width:100%;height:auto;border-radius:50%;}
.logo ellipse {fill:url('#gradient_ellipse') #fff;}
.logo path {fill:url('#gradient_path') #fff;}
#gradient_ellipse {
  --color-bot: #101A22;
  --color-stop: #0A0B18;
}
#gradient_path {
  --color-stop: #101A22;
  --color-bot: #0A0B18;
}

.rsvp-active .logo {
  display: none;
}

















