
:root {
  --yellow: #ffc21c;
  --yellow-soft: #ffe48a;
  --red: #087bff;
  --green: #1e8cff;
  --green-bright: #37a4ff;
  --dark: #041225;
  --dark-card: rgba(7, 29, 55, 0.86);
  --cream: #f7fbff;
  --white: #ffffff;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: "Inter", Arial, sans-serif;
  color: var(--white);
  background: var(--dark);
}

button,
input,
textarea {
  font: inherit;
}

.page {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 35%, rgba(8, 123, 255, 0.24), transparent 28%),
    radial-gradient(circle at 87% 18%, rgba(255, 194, 28, 0.18), transparent 26%),
    linear-gradient(145deg, #020a14 0%, #071b33 47%, #041225 100%);
}

.texture {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.13;
  background-image:
    linear-gradient(rgba(255, 210, 31, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 210, 31, 0.08) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 95%);
}

.glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(75px);
  opacity: 0.4;
  pointer-events: none;
}

.glow-one {
  width: 360px;
  height: 360px;
  top: -160px;
  right: -80px;
  background: var(--yellow);
}

.glow-two {
  width: 330px;
  height: 330px;
  left: -150px;
  bottom: 70px;
  background: #087bff;
}

.content {
  position: relative;
  z-index: 2;
  width: min(940px, calc(100% - 36px));
  margin: 0 auto;
  padding: 28px 0 34px;
  text-align: center;
}

.brand img {
  width: 170px;
  max-height: 150px;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.48));
}

.hero {
  margin-top: 4px;
}

.hero h1 {
  margin: 0;
  font-size: clamp(2.75rem, 7vw, 5.6rem);
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: -0.055em;
  color: var(--cream);
  text-shadow:
    0 0 18px rgba(255, 210, 31, 0.18),
    0 3px 0 rgba(0,0,0,.35);
}

.hero p {
  margin: 13px 0 0;
  font-size: clamp(1rem, 2.4vw, 1.28rem);
  color: rgba(255,255,255,.78);
}

.rating-card {
  width: min(780px, 100%);
  margin: 34px auto 0;
  padding: 28px 24px 24px;
  border: 1px solid rgba(255, 210, 31, 0.52);
  border-radius: 21px;
  background:
    linear-gradient(135deg, rgba(255,210,31,.09), rgba(239,63,47,.05)),
    var(--dark-card);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 0 30px rgba(255, 210, 31, 0.11),
    0 18px 45px rgba(0,0,0,.35);
  backdrop-filter: blur(12px);
}

.rating-label {
  margin: 0 0 17px;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .19em;
  color: var(--yellow);
}

.stars {
  display: flex;
  justify-content: center;
  gap: clamp(8px, 2vw, 20px);
}

.star {
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: transparent;
  background: transparent;
  -webkit-text-stroke: 2px var(--yellow);
  filter: drop-shadow(0 0 7px rgba(255,210,31,.17));
  transition: transform .16s ease, color .16s ease, filter .16s ease;
}

.star span {
  display: block;
  font-size: clamp(2.65rem, 8vw, 4.7rem);
  line-height: 1;
}

.star:hover,
.star:focus-visible {
  transform: translateY(-4px) scale(1.04);
  outline: none;
  filter: drop-shadow(0 0 12px rgba(255,210,31,.55));
}

.star.active {
  color: var(--yellow);
  filter: drop-shadow(0 0 11px rgba(255,210,31,.56));
}

.helper-text {
  margin: 18px 0 0;
  color: rgba(255,255,255,.65);
  font-size: .92rem;
}

.redirect-text {
  min-height: 20px;
  margin: 8px 0 0;
  color: var(--yellow-soft);
  font-size: .84rem;
  font-weight: 700;
}

.features {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  width: min(760px, 100%);
  margin: 35px auto 0;
}

.feature {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.feature-icon svg {
  width: 39px;
  height: 39px;
  fill: none;
  stroke: var(--yellow);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px rgba(255,210,31,.2));
}

.feature p {
  margin: 0;
  text-align: left;
  font-size: .78rem;
  line-height: 1.28;
  letter-spacing: .06em;
}

.feature strong,
.feature span {
  display: block;
}

.feature strong {
  color: var(--cream);
}

.feature span {
  color: rgba(255,255,255,.56);
}

.feature-divider {
  width: 1px;
  height: 42px;
  margin: 0 22px;
  background: linear-gradient(transparent, rgba(255,210,31,.5), transparent);
}

footer {
  width: min(780px, 100%);
  margin: 32px auto 0;
}

.footer-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,210,31,.72), transparent);
  box-shadow: 0 0 10px rgba(255,210,31,.2);
}

.thanks {
  margin: 23px 0 0;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .11em;
  color: var(--yellow);
}

.appreciate {
  margin: 7px 0 0;
  font-size: .86rem;
  color: rgba(255,255,255,.62);
}

.secure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 23px 0 0;
  font-size: .7rem;
  color: rgba(255,255,255,.38);
}

.secure svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.modal[hidden] {
  display: none;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 18px;
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1,8,18,.84);
  backdrop-filter: blur(7px);
}

.modal-card {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  padding: 30px;
  border: 1px solid rgba(255,210,31,.48);
  border-radius: 22px;
  color: var(--cream);
  background:
    linear-gradient(145deg, rgba(255,210,31,.08), transparent 35%),
    #07182e;
  box-shadow: 0 28px 70px rgba(0,0,0,.58);
}

.modal-logo {
  display: block;
  width: 112px;
  height: 95px;
  margin: 0 auto 10px;
  object-fit: contain;
}

.modal-card h2 {
  margin: 0;
  text-align: center;
  font-size: 1.55rem;
}

.modal-card > p {
  margin: 9px 0 20px;
  text-align: center;
  line-height: 1.5;
  color: rgba(255,255,255,.69);
}

.close-button {
  position: absolute;
  top: 12px;
  right: 14px;
  border: 0;
  cursor: pointer;
  font-size: 1.8rem;
  color: rgba(255,255,255,.62);
  background: transparent;
}

.modal-card label {
  display: block;
  margin: 13px 0 6px;
  font-size: .82rem;
  font-weight: 700;
  color: var(--yellow-soft);
}

.modal-card label span {
  font-weight: 400;
  color: rgba(255,255,255,.45);
}

.modal-card input,
.modal-card textarea {
  width: 100%;
  border: 1px solid rgba(255,210,31,.28);
  border-radius: 11px;
  padding: 12px;
  color: var(--white);
  background: rgba(0,0,0,.28);
  outline: none;
}

.modal-card input:focus,
.modal-card textarea:focus {
  border-color: var(--yellow);
  box-shadow: 0 0 0 3px rgba(255,210,31,.13);
}

.submit-feedback {
  width: 100%;
  margin-top: 16px;
  border: 0;
  border-radius: 11px;
  padding: 14px;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: .07em;
  color: #2d1d00;
  background: linear-gradient(180deg, #ffe04b, #f5b900);
  box-shadow: 0 10px 24px rgba(255,183,0,.16);
}

.form-status {
  min-height: 18px;
  margin: 12px 0 0 !important;
  font-size: .8rem;
  color: var(--yellow-soft) !important;
}

@media (max-width: 700px) {
  .content {
    width: min(100% - 24px, 940px);
    padding-top: 18px;
  }

  .brand img {
    width: 138px;
    max-height: 122px;
  }

  .rating-card {
    margin-top: 25px;
    padding: 23px 12px 20px;
  }

  .features {
    gap: 9px;
  }

  .feature {
    display: block;
  }

  .feature p {
    margin-top: 7px;
    text-align: center;
    font-size: .66rem;
  }

  .feature-icon svg {
    width: 31px;
    height: 31px;
    margin: auto;
  }

  .feature-divider {
    height: 50px;
    margin: 0 2px;
  }
}

@media (max-width: 430px) {
  .hero h1 {
    font-size: 2.65rem;
  }

  .hero p {
    font-size: .94rem;
  }

  .stars {
    gap: 2px;
  }

  .star span {
    font-size: 3.05rem;
  }

  .thanks {
    font-size: .67rem;
    line-height: 1.45;
  }

  .modal-card {
    padding: 25px 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}


.submit-feedback:disabled {
  cursor: wait;
  opacity: .72;
}

.thank-you-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.thank-you-card {
  position: relative;
  z-index: 2;
  width: min(650px, 100%);
  padding: 44px 34px 34px;
  border: 1px solid rgba(255, 210, 31, 0.52);
  border-radius: 24px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(255,210,31,.09), rgba(239,63,47,.05)),
    var(--dark-card);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 0 30px rgba(255, 210, 31, 0.11),
    0 18px 45px rgba(0,0,0,.35);
  backdrop-filter: blur(12px);
  animation: thankYouIn .45s ease both;
}

.thank-you-logo {
  width: 150px;
  max-height: 130px;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.48));
}

.checkmark {
  width: 74px;
  height: 74px;
  margin: 20px auto 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 2.25rem;
  font-weight: 900;
  color: #241700;
  background: linear-gradient(180deg, #ffe35c, #f5b900);
  box-shadow: 0 12px 28px rgba(255,183,0,.22);
}

.thank-you-card h1 {
  margin: 0;
  color: var(--cream);
  font-size: clamp(2.2rem, 7vw, 3.6rem);
  letter-spacing: -0.045em;
}

.posted-heading {
  margin: 13px 0 0;
  color: var(--yellow);
  font-size: clamp(1.25rem, 4vw, 1.7rem);
}

.thank-you-message {
  margin: 15px auto 0;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
}

.management-section {
  margin-top: 25px;
  padding: 20px 18px;
  border: 1px solid rgba(255,210,31,.22);
  border-radius: 14px;
  background: rgba(255,210,31,.055);
}

.management-label {
  margin: 0 0 8px;
  color: var(--yellow);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.management-section p:last-child {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.6;
}

.back-home {
  display: inline-block;
  margin-top: 25px;
  border-radius: 11px;
  padding: 14px 22px;
  color: #2d1d00;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .07em;
  background: linear-gradient(180deg, #ffe04b, #f5b900);
  box-shadow: 0 10px 24px rgba(255,183,0,.16);
  transition: transform .16s ease, box-shadow .16s ease;
}

.back-home:hover,
.back-home:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(255,183,0,.24);
  outline: none;
}

.copyright {
  margin: 25px 0 0;
  color: rgba(255,255,255,.35);
  font-size: .68rem;
}

@keyframes thankYouIn {
  from { opacity: 0; transform: translateY(14px) scale(.985); }
  to { opacity: 1; transform: none; }
}
.demo-ribbon{position:relative;z-index:50;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:10px 18px;background:#fff;color:#17130a;font:600 12px Inter,Arial,sans-serif;border-bottom:1px solid #ddd}.demo-ribbon b{font-weight:900}.demo-ribbon span{color:#655d4e}.demo-ribbon a{color:#8a6900;text-decoration:none;font-weight:800}.demo-logo{display:inline-grid;place-items:center;color:#ffd21f;font-weight:900;line-height:.95;text-shadow:0 2px 0 #9b1b1b;transform:rotate(-2deg);padding:12px 18px}.demo-logo span{font-size:25px;letter-spacing:.04em}.demo-logo small{margin-top:5px;background:#c82424;color:white;border-radius:99px;padding:4px 14px;font-size:10px;letter-spacing:.16em}.modal-logo{display:inline-grid;width:auto;height:auto;margin:0 auto 10px}.route-explain{width:min(780px,100%);margin:26px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.route-explain>div{border:1px solid rgba(255,210,31,.24);border-radius:14px;padding:16px;background:rgba(255,255,255,.04)}.route-explain b{display:block;color:#ffd21f;font-size:12px;letter-spacing:.12em}.route-explain span{display:block;margin-top:7px;color:rgba(255,255,255,.68);font-size:13px;line-height:1.5}.demo-actions{margin-top:18px}.admin-button{display:inline-flex;padding:13px 18px;border:1px solid rgba(255,210,31,.45);border-radius:11px;color:#ffd21f;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.06em}.path-badge{display:inline-flex;margin:8px 0 12px;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.1em}.path-badge.private{background:rgba(200,36,36,.14);color:#ff998f}.path-badge.google{background:rgba(40,170,90,.14);color:#8ce9aa}.google-g{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:white;color:#4285f4;font-weight:900;font-size:30px}.google-preview{margin:18px 0;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#fff;color:#262626}.google-preview strong,.google-preview span,.google-preview small{display:block}.google-preview span{margin:8px 0;color:#e9ad00;letter-spacing:3px;font-size:21px}.google-preview small{color:#777}@media(max-width:700px){.route-explain{grid-template-columns:1fr}.demo-ribbon span{width:100%;text-align:center}}

/* Corner business logo + drag rating animation */
.corner-logo{position:absolute;top:18px;left:20px;z-index:8;display:grid;place-items:center;color:#ffd21f;font-weight:900;line-height:.95;text-shadow:0 2px 0 #9b1b1b;transform:rotate(-2deg);padding:9px 12px;border:1px solid rgba(255,210,31,.25);border-radius:12px;background:rgba(10,7,0,.72);backdrop-filter:blur(8px)}
.corner-logo span{font-size:15px;letter-spacing:.04em}.corner-logo small{margin-top:4px;background:#c82424;color:#fff;border-radius:99px;padding:3px 9px;font-size:7px;letter-spacing:.16em}
.star.drag-pop span{animation:starPop .24s ease both}@keyframes starPop{0%{transform:scale(.72) rotate(-8deg)}65%{transform:scale(1.18) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
.stars{touch-action:none;user-select:none;-webkit-user-select:none}
.google-review-shot{margin:18px 0;padding:22px;text-align:left;border-radius:16px;background:#fff;color:#202124;box-shadow:0 5px 20px rgba(0,0,0,.18)}.google-shot-head{display:flex;align-items:center;gap:12px}.google-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#1a73e8;color:#fff;font-weight:800}.google-shot-head strong,.google-shot-head small{display:block}.google-shot-head small{margin-top:3px;color:#5f6368;font-size:11px}.google-shot-stars{margin:20px 0 16px;color:#fbbc04;font-size:32px;letter-spacing:5px}.google-shot-input{min-height:86px;padding:14px 0;border-bottom:1px solid #dadce0;color:#80868b;font-size:13px}.google-shot-actions{display:flex;justify-content:flex-end;align-items:center;gap:24px;margin-top:16px;color:#1a73e8}.google-shot-actions b{padding:9px 20px;border-radius:5px;background:#1a73e8;color:#fff}
@media(max-width:700px){.corner-logo{position:relative;top:auto;left:auto;width:max-content;margin:12px auto -6px}.google-shot-stars{font-size:26px;letter-spacing:3px}}
