#regno-app {
  --regno-ink:#173e36;
  --regno-orange:#bf521c;
  --regno-cream:#fcf5e8;
  --regno-line:#dfd5c4;
  box-sizing:border-box;
  min-height:100vh;
  min-height:100dvh;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#f5eddd;
  color:var(--regno-ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:normal;
  scroll-behavior:smooth;
}
#regno-app *,#regno-app *::before,#regno-app *::after { box-sizing:border-box; }
#regno-app button,#regno-app input { font:inherit; }
#regno-app a { color:inherit; }
#regno-app [hidden] { display:none !important; }
#regno-app .topline {
  min-height:75px;padding:17px clamp(20px,4.5vw,84px);
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  background:#173e36;color:#fff4df;font-size:13px;font-weight:800;
  letter-spacing:.12em;position:relative;overflow:hidden;
}
#regno-app .topline::after {
  content:"";position:absolute;bottom:0;left:-45%;width:45%;height:3px;
  background:linear-gradient(90deg,transparent,#e89845,transparent);
  animation:regno-glide 8s ease-in-out infinite;
}
#regno-app .topline span:first-child { font-size:20px;letter-spacing:-.035em;white-space:nowrap; }
#regno-app .page-grid {
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(470px,.95fr);
  min-height:calc(100vh - 128px);max-width:1800px;margin:auto;
  box-shadow:0 14px 60px #54311111;
}
#regno-app .story-panel {
  background:#170e10;color:#fff4df;display:flex;flex-direction:column;
  overflow:hidden;position:relative;
}
#regno-app .official-poster { width:100%;height:auto;display:block; }
#regno-app .form-panel {
  background:#fffaf0;padding:clamp(38px,4.8vw,86px) clamp(25px,5.4vw,95px);
  animation:regno-reveal .7s .1s ease-out both;
}
#regno-app .event-summary { border-bottom:1px solid var(--regno-line);padding-bottom:26px;margin-bottom:34px; }
#regno-app .eyebrow {
  margin:0 0 23px;font-size:13px;letter-spacing:.15em;font-weight:800;color:#f3b870;
}
#regno-app .event-summary .eyebrow { margin-bottom:11px; }
#regno-app .event-summary p:last-child {
  max-width:570px;font-family:Georgia,Times,serif;
  font-size:clamp(19px,1.6vw,24px);line-height:1.42;margin:0;color:#294a3e;
}
#regno-app .eyebrow.accent { color:#b84a1d;margin-bottom:13px; }
#regno-app .form-panel h1,#regno-app .regno-success h2 {
  font-family:Georgia,Times,serif;font-size:clamp(36px,3.1vw,55px);
  font-weight:500;line-height:1.1;letter-spacing:-.055em;margin:0;
}
#regno-app .form-intro {
  max-width:480px;font-size:17px;line-height:1.55;color:#51655e;margin:18px 0 38px;
}
#regno-app fieldset { border:0;padding:0;margin:0 0 26px;min-width:0; }
#regno-app legend { font-weight:800;font-size:16px;margin-bottom:13px;padding:0; }
#regno-app legend span { font-size:14px;font-weight:400;color:#66756e; }
#regno-app .day-options { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
#regno-app .day-button {
  border:1.5px solid #d9c7ac;border-radius:17px;background:#fffefa;color:var(--regno-ink);
  min-height:98px;cursor:pointer;display:grid;grid-template-columns:auto 1fr;
  align-content:center;align-items:baseline;column-gap:8px;padding:14px 18px;text-align:left;
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;position:relative;
}
#regno-app .day-button:hover { border-color:#aa5b27;transform:translateY(-2px); }
#regno-app .day-button.selected {
  border-color:#b94b20;background:#fae8d1;
  box-shadow:0 0 0 2px #b94b2040 inset,0 10px 20px #8c4a1b18;
  transform:translateY(-3px);
}
#regno-app .day-button.selected::after {
  content:"✓";position:absolute;top:11px;right:12px;width:23px;height:23px;
  display:grid;place-items:center;border-radius:50%;background:#b94b20;color:white;font-size:13px;
}
#regno-app .day-button b { grid-row:span 2;font-family:Georgia,serif;font-size:43px;line-height:1;letter-spacing:-.07em; }
#regno-app .day-button span { text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:12px; }
#regno-app .day-button small { color:#586a5d;font-size:13px; }
#regno-app .day-hint { color:#6d675b;font-size:13px;line-height:1.45;margin:11px 0 0; }
#regno-app .count-group {
  border-top:1px solid var(--regno-line);padding-top:20px;margin-top:19px;
  animation:regno-reveal .35s ease-out both;
}
#regno-app .count-group legend { padding-top:20px;margin-bottom:3px; }
#regno-app .count-row {
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:8px 0;border-bottom:1px solid #eee4d4;
}
#regno-app .count-row small { display:block;font-weight:400;color:#6c776f;padding-top:2px; }
#regno-app .count-label { min-width:0;flex:1;font-weight:700; }
#regno-app .count-stepper {
  display:inline-flex;align-items:center;flex:none;border:1px solid #cdbfa8;
  border-radius:11px;background:#fffefa;overflow:hidden;
}
#regno-app .count-stepper button {
  width:46px;height:48px;border:0;background:transparent;color:#173e36;
  font-size:26px;cursor:pointer;line-height:1;padding:0;border-radius:0;
}
#regno-app .count-stepper button:hover:not(:disabled) { background:#fae8d1; }
#regno-app .count-stepper button:disabled { opacity:.32;cursor:default; }
#regno-app .count-stepper output {
  min-width:38px;text-align:center;font-size:19px;font-weight:800;
  font-variant-numeric:tabular-nums;
}
#regno-app input:not([type="checkbox"]) {
  height:49px;background:#fffefa;border:1px solid #cdbfa8;color:var(--regno-ink);
  border-radius:9px;padding:0 13px;outline:none;
}
#regno-app input:focus-visible,#regno-app button:focus-visible,#regno-app a:focus-visible {
  outline:3px solid #ec923a;outline-offset:3px;
}
#regno-app .contact { display:grid;gap:16px;margin-top:31px; }
#regno-app .contact label { display:block;font-weight:800;margin:0 0 9px; }
#regno-app .contact input { width:100%; }
#regno-app .contact input::placeholder { color:#858e83;opacity:1; }
#regno-app .privacy-check,#regno-app .whatsapp-check {
  display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.45;
}
#regno-app .privacy-check { color:#53645b;margin:22px 0 27px; }
#regno-app .whatsapp-check { color:#36574d;margin:24px 0 0; }
#regno-app .privacy-check input,#regno-app .whatsapp-check input {
  width:19px;height:19px;margin:1px 0 0;flex:none;
}
#regno-app .privacy-check input { accent-color:#ac4a1c; }
#regno-app .whatsapp-check input { accent-color:#167047; }
#regno-app .whatsapp-check + .privacy-check { margin-top:15px; }
#regno-app .privacy-check a { text-decoration:underline;text-underline-offset:3px;font-weight:700; }
#regno-app .form-bottom {
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:20px 0 0;border-top:1px solid var(--regno-line);
}
#regno-app .price-summary {
  background:#f7e8d3;border:1px solid #eacba7;border-radius:12px;
  padding:12px 16px;flex:1;display:flex;flex-direction:column;gap:4px;
}
#regno-app .form-bottom small { color:#68776d; }
#regno-app .form-bottom strong { font-family:Georgia,serif;font-size:33px;font-weight:400; }
#regno-app .form-bottom button {
  background:#b84f21;color:white;border:0;padding:15px 23px;border-radius:11px;
  font-weight:800;cursor:pointer;min-height:52px;
}
#regno-app .form-bottom button:hover { background:#943b16; }
#regno-app .form-bottom button:disabled { opacity:.6;cursor:wait; }
#regno-app .fineprint,#regno-app .small {
  color:#64736a;line-height:1.5;font-size:13px;margin:20px 0 0;
}
#regno-app .form-error { color:#a32020;background:#fff0ec;padding:12px;border-radius:8px;font-weight:700; }
#regno-app .regno-success {
  border:1px solid #c3d4b4;border-radius:18px;padding:30px;
  background:#f2f8e8;line-height:1.55;
}
#regno-app .regno-success-icon {
  width:42px;height:42px;background:#247356;color:white;border-radius:50%;
  display:grid;place-items:center;margin-bottom:20px;font-size:25px;
}
#regno-app .regno-success h2 { font-size:38px; }
#regno-app .regno-success strong { color:#ae491c;white-space:nowrap; }
#regno-app .trap { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
#regno-app footer {
  padding:18px clamp(20px,4.5vw,84px);background:#173e36;color:#e9e8d7;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;
}
#regno-app footer a { text-decoration:underline;text-underline-offset:3px; }
@keyframes regno-reveal { from { opacity:0;transform:translateY(12px); } to { opacity:1;transform:translateY(0); } }
@keyframes regno-glide { 0%,20% { left:-45%; } 45%,100% { left:100%; } }
@media (prefers-reduced-motion:reduce) {
  #regno-app .topline::after,#regno-app .official-poster,
  #regno-app .form-panel,#regno-app .count-group { animation:none; }
  #regno-app .day-button { transition:none; }
}
@media (max-width:1050px) {
  #regno-app .page-grid { grid-template-columns:1fr; }
  #regno-app .form-panel { padding:56px 7vw; }
}
@media (max-width:600px) {
  #regno-app .topline { min-height:62px;padding:13px 20px; }
  #regno-app .topline span:first-child { font-size:15px; }
  #regno-app .topline span:last-child { font-size:9px;text-align:right;letter-spacing:.07em; }
  #regno-app .form-panel { padding:42px 22px 145px;animation:none;transform:none; }
  #regno-app .form-intro { margin-bottom:29px; }
  #regno-app .day-button { padding:12px; }
  #regno-app .day-button b { font-size:36px; }
  #regno-app .day-button span { font-size:10px; }
  #regno-app .form-bottom {
    position:fixed;z-index:20;bottom:0;left:0;right:0;
    display:flex;flex-wrap:nowrap;gap:12px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:#fffaf0;border-top:1px solid #dbc4a8;
    box-shadow:0 -8px 28px #173e3629;
  }
  #regno-app .price-summary { min-width:0;padding:0;background:transparent;border:0; }
  #regno-app .price-summary small:first-child { display:none; }
  #regno-app .form-bottom strong { font-size:29px;line-height:1; }
  #regno-app .price-summary small:last-child { font-size:11px;line-height:1.2; }
  #regno-app .form-bottom button { flex:none;min-height:48px;padding:11px 13px;font-size:14px; }
}
@media (max-width:380px) {
  #regno-app .topline { gap:8px;padding-inline:12px; }
  #regno-app .topline span:first-child { font-size:13px; }
  #regno-app .topline span:last-child { font-size:8px; }
}
