:root {
  --ink: #160a11;
  --wine: #5d102d;
  --berry: #a4144d;
  --pink: #ff4f91;
  --cream: #fff8f2;
  --paper: #f6ece8;
  --muted: #6f6267;
  --line: rgba(22, 10, 17, 0.14);
}

/* Founding member and partner pre-launch experiences */
.prelaunch-bar{align-items:center;background:#f0aa7d;color:#2e111b;display:flex;font-size:.88rem;gap:10px;justify-content:center;padding:9px 18px;position:relative;z-index:45}.prelaunch-bar a{color:#2e111b;font-weight:800;margin-left:8px;text-decoration:underline}.prelaunch-bar strong{font-weight:800}@media(max-width:640px){.prelaunch-bar{align-items:flex-start;display:grid;gap:2px;padding:9px 14px}.prelaunch-bar a{margin-left:0}}
.founding-page{background:#fbf7f5;color:#24151c;font-family:"DM Sans",sans-serif}.founding-page *{box-sizing:border-box}.founding-nav{align-items:center;background:rgba(21,8,15,.96);display:flex;justify-content:space-between;padding:14px clamp(18px,4vw,64px);position:sticky;top:0;z-index:30}.founding-nav .brand{position:static}.founding-nav nav{align-items:center;display:flex;gap:22px}.founding-nav nav a{color:#fff;text-decoration:none}.founding-nav .nav-login{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 16px}.founding-hero{align-items:center;background:#170a11;color:#fff;display:grid;gap:clamp(36px,6vw,90px);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);min-height:680px;overflow:hidden;padding:clamp(72px,10vw,130px) clamp(22px,7vw,110px);position:relative}.founding-hero:before{background:radial-gradient(circle at 70% 30%,rgba(232,85,93,.28),transparent 38%),radial-gradient(circle at 8% 90%,rgba(227,169,94,.18),transparent 32%);content:"";inset:0;position:absolute}.founding-hero>*{position:relative}.founding-kicker{color:#f5bd87;font-size:.79rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.founding-hero h1{font-family:"Italiana",serif;font-size:clamp(3.2rem,7vw,7.2rem);font-weight:400;letter-spacing:-.04em;line-height:.92;margin:18px 0 28px;max-width:900px}.founding-hero h1 em{color:#f17c83;font-style:italic}.founding-hero-copy>p:not(.founding-kicker){color:#eadfe4;font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.7;max-width:760px}.founding-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.founding-actions .secondary{border-color:rgba(255,255,255,.4);color:#fff}.founding-proof{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px}.founding-proof span{color:#d8c9d0;font-size:.9rem}.founding-proof span:before{color:#f17c83;content:"✓";font-weight:700;margin-right:7px}.melt-preview-card{align-items:center;background:linear-gradient(145deg,#fff5ef,#f5d6d4);border:1px solid rgba(255,255,255,.55);border-radius:30px;box-shadow:0 35px 80px rgba(0,0,0,.35);color:#361621;display:flex;flex-direction:column;min-height:370px;justify-content:center;padding:46px 30px;text-align:center;transform:rotate(2deg)}.melt-preview-card small{font-size:.7rem;font-weight:700;letter-spacing:.14em}.melt-preview-card strong{font-family:"Italiana",serif;font-size:clamp(3.8rem,7vw,6.4rem);font-weight:400;line-height:1;margin:28px 0 10px}.melt-preview-card span{font-weight:700}.melt-preview-card a{color:#7e2935;font-weight:700;margin-top:28px}.founding-benefits{padding:clamp(70px,9vw,120px) clamp(22px,7vw,110px)}.founding-benefits .section-heading{max-width:850px}.benefit-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);margin-top:46px}.benefit-grid article{background:#fff;border:1px solid #ecdeda;border-radius:22px;box-shadow:0 15px 40px rgba(54,22,33,.06);padding:30px}.benefit-grid article>b{color:#c54b59;font-size:.8rem;letter-spacing:.14em}.benefit-grid h3{font-family:"Italiana",serif;font-size:1.65rem;font-weight:400;margin:18px 0 10px}.benefit-grid p{color:#6d5b62;line-height:1.65;margin:0}.referral-program,.partner-earnings{background:#411724;color:#fff;display:grid;gap:50px;grid-template-columns:.8fr 1.2fr;padding:clamp(64px,8vw,105px) clamp(22px,7vw,110px)}.referral-program h2,.partner-earnings h2{font-family:"Italiana",serif;font-size:clamp(2.5rem,4vw,4.5rem);font-weight:400;line-height:1;margin:15px 0 24px}.referral-program p,.partner-earnings p{color:#eadde1;line-height:1.7}.milestones{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.milestones>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;display:grid;gap:4px;padding:22px}.milestones strong{color:#f4ae83;font-family:"Italiana",serif;font-size:2.3rem}.milestones span{color:#decbd1}.milestones b{font-size:.95rem;margin-top:6px}.founding-form-section{display:grid;gap:60px;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);padding:clamp(72px,10vw,130px) clamp(22px,7vw,110px)}.form-intro{position:sticky;top:110px;align-self:start}.form-intro h2,.founding-success h2{font-family:"Italiana",serif;font-size:clamp(2.7rem,4.5vw,5rem);font-weight:400;line-height:1;margin:16px 0 25px}.form-intro>p:last-child{color:#6d5b62;line-height:1.7}.founding-form{background:#fff;border:1px solid #eadbd8;border-radius:26px;box-shadow:0 22px 60px rgba(54,22,33,.08);padding:clamp(24px,4vw,48px)}.form-grid{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.founding-form label{color:#3b2830;display:grid;font-size:.92rem;font-weight:700;gap:8px}.founding-form label small{color:#8a747c;font-weight:500}.founding-form input,.founding-form select,.founding-form textarea,.founding-success input{background:#fff;border:1px solid #ccbabe;border-radius:12px;color:#25151b;font:inherit;min-height:50px;padding:12px 14px;width:100%}.founding-form textarea{min-height:130px;resize:vertical}.founding-form input:focus,.founding-form select:focus,.founding-form textarea:focus{border-color:#b83c4d;box-shadow:0 0 0 3px rgba(184,60,77,.14);outline:none}.form-wide{grid-column:1/-1}.priority-picker{border:0;margin:35px 0 25px;padding:0}.priority-picker legend{font-family:"Italiana",serif;font-size:1.65rem;margin-bottom:18px}.priority-picker legend small{color:#816c74;font-family:"DM Sans",sans-serif;font-size:.85rem}.priority-picker label{align-items:center;background:#fbf6f4;border:1px solid #eadbd8;border-radius:999px;display:inline-flex;font-weight:600;margin:0 7px 9px 0;padding:9px 14px}.priority-picker input{accent-color:#b83c4d;min-height:0;width:auto}.consent-line{align-items:flex-start!important;display:flex!important;font-weight:500!important;line-height:1.45;margin:14px 0}.consent-line input{accent-color:#b83c4d;flex:0 0 auto;margin-top:2px;min-height:0;width:auto}.honeypot{height:0!important;left:-9999px;overflow:hidden;position:absolute;width:0!important}.founding-submit{margin-top:18px;width:100%}.form-status{color:#576d43;font-weight:600;min-height:24px;text-align:center}.form-status.is-error{color:#a32637}.founding-success{align-self:start;background:#fff;border:1px solid #eadbd8;border-radius:26px;box-shadow:0 22px 60px rgba(54,22,33,.08);padding:clamp(30px,5vw,60px);text-align:center}.success-mark{align-items:center;background:#e9f1df;border-radius:50%;color:#47642d;display:inline-flex;font-size:1.8rem;height:64px;justify-content:center;width:64px}.founding-success label{display:grid;font-weight:700;gap:8px;margin:28px auto 14px;max-width:620px;text-align:left}.founding-success .primary{display:inline-flex;margin-top:16px}.success-note{color:#6d5b62;font-size:.9rem}.partner-orbit{aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);max-width:460px;place-items:center;position:relative;width:100%}.partner-orbit:before{border:1px solid rgba(255,255,255,.25);border-radius:50%;content:"";inset:8%;position:absolute}.partner-orbit span{background:#fff0e8;border-radius:999px;color:#5f2430;font-size:.78rem;font-weight:700;padding:10px 13px;z-index:2}.partner-orbit strong{align-items:center;background:#e85b67;border-radius:50%;box-shadow:0 15px 40px rgba(232,91,103,.35);display:flex;grid-column:2;grid-row:2;height:130px;justify-content:center;text-align:center;width:130px;z-index:2}.partner-orbit span:nth-child(1){grid-column:2}.partner-orbit span:nth-child(2){grid-column:1;grid-row:2}.partner-orbit span:nth-child(3){grid-column:3;grid-row:2}.partner-orbit span:nth-child(5){grid-column:1;grid-row:3}.partner-orbit span:nth-child(6){grid-column:2;grid-row:3}.partner-orbit span:nth-child(7){grid-column:3;grid-row:3}.earning-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.earning-grid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;display:grid;padding:22px}.earning-grid span{color:#e7d6dc}.earning-grid strong{color:#f4ae83;font-family:"Italiana",serif;font-size:2.25rem;font-weight:400;margin:10px 0}.earning-grid small{color:#d8c4cb;line-height:1.4}.partner-types{padding:70px clamp(22px,7vw,110px)}.partner-types>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.partner-types span{background:#fff;border:1px solid #e8d8d5;border-radius:999px;padding:12px 18px}.founding-footer{align-items:center;background:#15080f;color:#cfbec5;display:grid;gap:24px;grid-template-columns:auto 1fr auto;padding:38px clamp(22px,7vw,110px)}.founding-footer .brand{position:static}.founding-footer p{margin:0;text-align:center}.founding-footer>div{display:flex;gap:16px}.founding-footer a{color:#fff;text-decoration:none}
@media(max-width:900px){.founding-nav nav a:not(.nav-login){display:none}.founding-hero{grid-template-columns:1fr;min-height:0}.melt-preview-card{justify-self:center;max-width:430px;width:100%}.benefit-grid{grid-template-columns:repeat(2,1fr)}.referral-program,.partner-earnings,.founding-form-section{grid-template-columns:1fr}.form-intro{position:static}.founding-footer{grid-template-columns:1fr;text-align:center}.founding-footer .brand{justify-self:center}.founding-footer>div{justify-content:center}.partner-orbit{justify-self:center}.founding-form-section{gap:34px}}
@media(max-width:600px){.founding-nav{padding:10px 14px}.founding-nav .brand img{height:42px}.founding-nav .brand span{font-size:1.35rem}.founding-nav .brand small{font-size:.48rem}.founding-nav .nav-login{font-size:.78rem;padding:8px 10px}.founding-hero{padding:68px 18px}.founding-hero h1{font-size:3.35rem}.founding-actions{display:grid}.founding-actions a{justify-content:center;text-align:center}.melt-preview-card{min-height:300px;transform:none}.founding-benefits,.founding-form-section{padding:64px 18px}.benefit-grid,.milestones,.earning-grid,.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.referral-program,.partner-earnings{padding:60px 18px}.founding-form{padding:22px 17px}.priority-picker label{border-radius:14px;display:flex;margin-right:0}.founding-footer{padding:38px 18px}.founding-footer>div{flex-wrap:wrap}.partner-orbit strong{height:104px;width:104px}.partner-orbit span{font-size:.67rem;padding:8px 9px}}

.secure-test-button {
  display: flex;
  align-items: center;
  gap: 8px;
}
.secure-test-button > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffbdcf;
  box-shadow: 0 0 0 4px rgba(255, 189, 207, 0.12);
}
.secure-test-button > span.connected {
  background: #52dfb0;
  box-shadow: 0 0 0 4px rgba(82, 223, 176, 0.14);
}
.session-dialog {
  width: min(660px, 94vw);
  background: var(--cream);
}
.session-card {
  position: relative;
  padding: 42px;
}
.session-card > img {
  width: 62px;
  height: 62px;
  object-fit: contain;
}
.session-card h2 {
  font-size: 2.7rem;
  line-height: 1;
  margin-top: 16px;
}
.session-card > p {
  color: var(--muted);
  line-height: 1.6;
}
.session-identity {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 14px;
  align-items: center;
  background: white;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 15px;
  margin: 22px 0;
}
.session-initials {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--pink), var(--wine));
  color: white;
  font-family: "Italiana";
  font-size: 1.45rem;
}
.session-identity strong,
.session-identity small {
  display: block;
}
.session-identity small {
  color: var(--muted);
  margin-top: 3px;
}
.session-role {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #246451;
  background: #dff2ec;
  padding: 7px 9px;
  border-radius: 999px;
}
.foundation-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin: 20px 0;
}
.foundation-grid article {
  background: var(--paper);
  border-radius: 14px;
  padding: 15px;
}
.foundation-grid strong {
  display: block;
  font-size: 0.88rem;
}
.foundation-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.77rem;
  line-height: 1.4;
  margin-top: 5px;
}
.session-result {
  min-height: 22px;
  color: var(--berry);
  font-weight: 700;
  text-align: center;
}
.session-disclosure {
  display: block;
  color: var(--muted);
  line-height: 1.45;
  margin-top: 15px;
}
.session-card button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@media (max-width: 650px) {
  .topbar-actions [data-open-session] {
    display: none;
  }
  .session-card {
    padding: 30px 22px;
  }
  .session-card h2 {
    font-size: 2.25rem;
  }
  .foundation-grid {
    grid-template-columns: 1fr;
  }
  .session-identity {
    grid-template-columns: 48px 1fr;
  }
  .session-role {
    grid-column: 2;
    justify-self: start;
  }
  .session-initials {
    width: 48px;
    height: 48px;
  }
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
}
button,
input,
select {
  font: inherit;
}
button,
a {
  cursor: pointer;
}
.topbar {
  height: 82px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--ink);
  color: white;
  position: relative;
  z-index: 5;
}
.brand {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.brand span {
  font-family: "Italiana", serif;
  font-size: 2rem;
  letter-spacing: -0.04em;
}
.brand small {
  font-size: 0.62rem;
  letter-spacing: 0.23em;
}
.topbar nav {
  display: flex;
  gap: 22px;
  align-items: center;
}
.topbar nav a,
.topbar .nav-link {
  color: #f6e8ed;
  text-decoration: none;
  font-size: 0.88rem;
  white-space: nowrap;
}
.topbar .nav-link {
  border: 0;
  background: none;
  padding: 0;
}
.topbar .nav-login {
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  color: #fff;
  border-radius: 999px;
  padding: 10px 17px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
}
.ghost,
.secondary {
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  padding: 12px 18px;
  border-radius: 999px;
}
.hero {
  min-height: 720px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--ink);
}
.hero-carousel,
.hero-slide,
.hero-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-slide {
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 700ms ease, visibility 700ms ease;
}
.hero-slide.active {
  opacity: 1;
  visibility: visible;
}
.hero-slide img {
  object-fit: cover;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(12, 4, 9, 0.97) 0%,
    rgba(12, 4, 9, 0.78) 35%,
    rgba(12, 4, 9, 0.12) 70%
  );
}
.hero-compatibility {
  position: absolute;
  z-index: 2;
  right: 14vw;
  bottom: 14%;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  color: #fff;
  background: radial-gradient(
    circle at 35% 25%,
    rgba(255, 111, 164, 0.9),
    rgba(117, 5, 48, 0.9)
  );
  box-shadow:
    0 18px 50px rgba(14, 0, 7, 0.55),
    0 0 0 10px rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
.hero-compatibility span {
  font-size: 0.56rem;
  letter-spacing: 0.15em;
  font-weight: 800;
  line-height: 1.35;
}
.hero-compatibility strong {
  font-family: "Italiana", serif;
  font-size: 3.7rem;
  font-weight: 400;
  line-height: 0.9;
  margin: 7px 0 4px;
}
.hero-compatibility strong small {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}
.hero-compatibility em {
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 700;
  color: #ffe4ef;
}
.hero-copy {
  position: relative;
  z-index: 2;
  color: white;
  width: min(630px, 90%);
  margin-left: 7vw;
  padding: 80px 0;
}
.hero-melt-search {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) 125px auto;
  gap: 8px;
  width: min(620px, 100%);
  margin-top: 22px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 18px;
  background: rgba(20, 5, 12, .72);
  box-shadow: 0 18px 45px rgba(10, 0, 5, .3);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.hero-melt-search input,
.hero-melt-search select {
  min-width: 0;
  min-height: 48px;
  border: 0;
  border-radius: 11px;
  padding: 10px 13px;
  background: rgba(255, 255, 255, .96);
  color: #241019;
  font: inherit;
}
.hero-melt-search input::placeholder { color: #6c5360; opacity: 1; }
.hero-melt-search button { min-height: 48px; padding: 11px 18px; white-space: nowrap; }
.hero-search-note { margin: 7px 3px 0; color: #e5d2da; font-size: .75rem; letter-spacing: .025em; }
.hero-melt-search + .hero-search-note + .actions { margin-top: 18px; }
.hero-carousel-controls {
  position: absolute;
  z-index: 3;
  left: 7vw;
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
}
.hero-carousel-controls > span {
  margin-left: 5px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero-carousel-arrow {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 50%;
  color: #fff;
  background: rgba(12,4,9,.48);
  font-size: 1.7rem;
  line-height: 1;
  backdrop-filter: blur(8px);
}
.hero-carousel-toggle {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 999px;
  color: #fff;
  background: rgba(12,4,9,.48);
  font-size: .78rem;
  font-weight: 700;
  backdrop-filter: blur(8px);
}
.hero-carousel-dots {
  display: flex;
  gap: 7px;
}
.hero-carousel-dots button {
  width: 9px;
  height: 9px;
  min-width: 9px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: transparent;
}
.hero-carousel-dots button.active {
  width: 26px;
  border-radius: 999px;
  background: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide {
    transition: none;
  }
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.17em;
  font-weight: 700;
  font-size: 0.78rem;
  color: #ff9cc1;
}
.eyebrow.dark {
  color: var(--berry);
}
h1,
h2 {
  font-family: "Italiana", serif;
  font-weight: 400;
  margin: 0.2em 0;
}
h1 {
  font-size: clamp(3.8rem, 7vw, 7.4rem);
  line-height: 0.84;
  letter-spacing: -0.045em;
}
h1 em {
  font-weight: 400;
  color: #ffafca;
}
.lede {
  font-size: 1.16rem;
  line-height: 1.65;
  max-width: 540px;
  color: #f0dfe5;
}
.actions {
  display: flex;
  gap: 12px;
  margin: 32px 0 22px;
}
.primary {
  border: 0;
  border-radius: 999px;
  padding: 15px 22px;
  background: linear-gradient(120deg, var(--pink), #d81b60);
  color: white;
  font-weight: 700;
  box-shadow: 0 9px 30px rgba(255, 79, 145, 0.25);
}
.secondary {
  color: white;
}
.trustline {
  font-size: 0.8rem;
  letter-spacing: 0.07em;
  color: #d7bec7;
}
.pulse {
  background: var(--pink);
  padding: 23px 6vw;
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.pulse p,
.pulse strong {
  margin: 0;
}
.experience,
.demo,
.safety,
.night {
  padding: 100px 7vw;
}
.section-heading {
  display: grid;
  grid-template-columns: 0.5fr 1.5fr;
  gap: 40px;
  align-items: start;
}
.section-heading h2,
.demo h2,
.safety h2,
.night h2 {
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: 0.98;
  max-width: 850px;
}
.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 65px;
}
.steps article {
  background: var(--cream);
  padding: 35px;
  min-height: 260px;
}
.steps span {
  font-family: "Italiana";
  font-size: 2.4rem;
  color: var(--berry);
}
.steps h3 {
  font-size: 1.2rem;
  margin-top: 42px;
}
.steps p {
  color: var(--muted);
  line-height: 1.6;
}
.demo {
  background: var(--ink);
  color: white;
}
.demo-intro {
  text-align: center;
  max-width: 690px;
  margin: 0 auto;
}
.demo-intro h2 {
  margin-left: auto;
  margin-right: auto;
}
.demo-intro > p:last-child {
  color: #cdbdc3;
  line-height: 1.6;
}
.sample-flow {
  max-width: 920px;
  margin: 34px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.sample-profile {
  max-width: 980px;
  margin: 38px auto 0;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.045);
}
.sample-profile-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
}
.sample-profile-heading > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  background: var(--pink);
  font-weight: 800;
}
.sample-profile-heading div { display: flex; flex-direction: column; gap: 3px; }
.sample-profile-heading strong { font-size: 1.08rem; }
.sample-profile-heading small { color: #cdbdc3; }
.sample-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.sample-fields label { display: grid; gap: 7px; font-size: .86rem; color: #eadde2; }
.sample-fields input, .sample-fields select, .sample-fields textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  background: #241019;
  color: white;
  font: inherit;
}
.sample-fields textarea { resize: vertical; }
.sample-fields .sample-wide { grid-column: 1 / -1; }
.sample-profile fieldset { border: 0; padding: 0; margin: 22px 0; }
.sample-profile legend { margin-bottom: 11px; font-weight: 700; }
.sample-values { display: flex; flex-wrap: wrap; gap: 9px; }
.sample-values label { padding: 10px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; }
.profile-level-heading { display: flex; align-items: flex-start; gap: 14px; margin: 24px 0 18px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.14); }
.profile-level-heading > b, .profile-level summary > b { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; background: #ff4f91; color: white; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.profile-level-heading div, .profile-level summary span { display: flex; flex-direction: column; gap: 3px; }
.profile-level-heading strong, .profile-level summary strong { font-size: 1.08rem; }
.profile-level-heading span, .profile-level summary small { color: #cdbdc3; }
.profile-level { margin: 18px 0; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,255,255,.035); overflow: hidden; }
.profile-level summary { display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px; cursor: pointer; }
.profile-level summary::-webkit-details-marker { display: none; }
.profile-level summary:after { content: "+"; margin-left: auto; color: #ff8ab5; font-size: 1.5rem; line-height: 1; }
.profile-level[open] summary:after { content: "−"; }
.profile-level summary > b { background: rgba(255,255,255,.12); }
.deep-level summary > b { background: #6c2340; }
.profile-level-fields { padding: 4px 20px 22px; }
.profile-level-note { margin: 0 20px 18px; padding: 13px; border-left: 3px solid #ff4f91; background: rgba(255,79,145,.08); color: #eadde2; line-height: 1.5; }
.sample-form-message { min-height: 1.4em; margin: 12px 0 0; color: #ffacc9; }
.sample-verification { margin: 24px 0; padding: 20px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,255,255,.04); }
.sample-verification > div { display: flex; flex-direction: column; gap: 3px; }
.sample-verification > div span, .sample-verification small { color: #cdbdc3; }
.sample-verification ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin: 16px 0; padding: 0; list-style: none; }
.sample-verification li { display: grid; grid-template-columns: 26px 1fr; gap: 2px 8px; padding: 11px; background: #241019; border-radius: 12px; }
.sample-verification li b { grid-row: 1 / 3; color: #8ce3bc; }
.sample-verification li small { grid-column: 2; }
.sample-verification li.pending b { color: #ffd37a; }
.sample-verification > p { margin: 0; color: #e7d9df; line-height: 1.5; }
.sample-profile-summary { max-width: 920px; margin: 24px auto 0; padding: 20px; display: flex; align-items: center; gap: 18px; background: #28121c; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; }
.sample-profile-summary[hidden] { display: none; }
.sample-profile-summary .portrait { width: 74px; height: 74px; flex: 0 0 74px; font-size: 1.5rem; }
.sample-profile-summary small { color: #ff8ab5; font-weight: 700; letter-spacing: .1em; }
.sample-profile-summary h3 { margin: 4px 0; }
.sample-profile-summary p { margin: 0 0 6px; color: #eadde2; }
.sample-profile-summary span { color: #ffd37a; font-size: .88rem; }
.sample-partner-heading { max-width: 920px; margin: 38px auto 18px; }
.sample-targets { max-width: 920px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sample-targets button { display: grid; gap: 5px; padding: 17px; text-align: left; color: white; background: #241019; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; }
.sample-targets button.active { border-color: var(--pink); box-shadow: 0 0 0 2px rgba(255,79,145,.18); }
.sample-targets b { color: #ff8ab5; }
.sample-targets small { color: #cdbdc3; }
.sample-flow span {
  padding: 14px 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  color: #eadde2;
  text-align: center;
  font-size: 0.88rem;
}
.sample-flow b {
  color: #ff8ab5;
  margin-right: 6px;
}
.melt-stage {
  display: grid;
  grid-template-columns: 1fr 170px 1fr;
  align-items: center;
  max-width: 820px;
  margin: 42px auto 20px;
}
.person {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}
.person span {
  font-size: 0.85rem;
  color: #cdbdc3;
}
.portrait {
  width: 118px;
  height: 118px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(140deg, #c23b6d, #421127);
  border: 4px solid rgba(255, 255, 255, 0.15);
  font-family: "Italiana";
  font-size: 2.1rem;
}
.right .portrait {
  background: linear-gradient(140deg, #bb795d, #4e2433);
}
.melt-button {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 1px solid #ff8ab5;
  background: radial-gradient(circle at 35% 30%, #ff6aa1, #9d1048 70%);
  color: white;
  box-shadow:
    0 0 0 12px rgba(255, 79, 145, 0.08),
    0 0 70px rgba(255, 79, 145, 0.32);
  transition: 0.25s;
}
.melt-button:hover {
  transform: scale(1.04);
}
.melt-button span {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
}
.melt-button strong {
  font-family: "Italiana";
  font-size: 2rem;
}
.melt-button.loading {
  animation: pulse 1s infinite;
}
@keyframes pulse {
  50% {
    box-shadow:
      0 0 0 25px rgba(255, 79, 145, 0),
      0 0 90px rgba(255, 79, 145, 0.55);
  }
}
.result {
  max-width: 980px;
  margin: 50px auto 0;
  padding: 38px;
  background: #28121c;
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: grid;
  grid-template-columns: 150px 1fr 230px;
  gap: 32px;
  align-items: center;
  border-radius: 24px;
}
.score-ring {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--pink) 0 87%, #482634 87%);
  position: relative;
}
.score-ring:before {
  content: "";
  position: absolute;
  inset: 10px;
  background: #28121c;
  border-radius: 50%;
}
.score-ring span,
.score-ring small,
.score-ring b {
  z-index: 1;
}
.score-ring span {
  font-family: "Italiana";
  font-size: 2.9rem;
  transform: translate(-5px, 7px);
}
.score-ring small {
  position: absolute;
  right: 27px;
  top: 61px;
}
.score-ring b {
  position: absolute;
  top: 27px;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #ff9dc1;
}
.result h3 {
  font-size: 1.6rem;
  margin: 0.25em 0;
}
.result p {
  color: #cdbdc3;
  line-height: 1.5;
}
.melt-details {
  margin-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  padding-top: 14px;
}
.melt-details summary {
  width: fit-content;
  cursor: pointer;
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.melt-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0 12px;
}
.melt-detail-grid section {
  padding: 14px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 12px;
}
.melt-detail-grid strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
}
.melt-detail-grid ul {
  margin: 0;
  padding-left: 18px;
  color: #e7d9df;
  line-height: 1.5;
}
.melt-detail-grid p,
.melt-details > small {
  margin: 0;
  color: #cdbdc3;
  line-height: 1.5;
}
.choice-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.small {
  padding: 11px 15px;
}
.text-button {
  background: none;
  border: 0;
  color: #d4c2ca;
  padding: 8px;
}
.choice-message {
  text-align: center;
  color: #ffafca;
  min-height: 24px;
}
.safety {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  background: var(--paper);
}
.safety > div > p:last-child {
  line-height: 1.7;
  color: var(--muted);
  font-size: 1.08rem;
}
.safety ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.safety li {
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.safety li span {
  color: var(--muted);
}
.night {
  background: var(--wine);
  color: white;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 7vw;
  align-items: center;
}
.night > div > p:last-child {
  color: #ead4dd;
  line-height: 1.7;
}
.night form {
  background: white;
  color: var(--ink);
  padding: 32px;
  border-radius: 22px;
}
.night label {
  font-weight: 700;
  display: block;
  margin-bottom: 15px;
}
.night form > div {
  display: flex;
  gap: 8px;
}
.night input {
  flex: 1;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
}
.night small {
  display: block;
  margin-top: 12px;
  color: var(--muted);
}
.site-footer {
  padding: 0;
  background: #0d0509;
  color: white;
  display: block;
  text-align: left;
}
.footer-main {
  padding: 64px 7vw 45px;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 1.7fr;
  gap: 9vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.footer-brand-block {
  max-width: 420px;
}
.footer-brand-block .brand {
  width: max-content;
}
.footer-brand-block .brand img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}
.footer-brand-block > p {
  color: #cdbdc3;
  font-size: 1rem;
  line-height: 1.65;
  margin: 20px 0;
}
.footer-trust {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.footer-trust span {
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 999px;
  padding: 8px 10px;
  color: #f0dfe5;
  font-size: 0.78rem;
}
.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}
.footer-links > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}
.footer-links strong {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #ff9cc1;
  margin-bottom: 6px;
}
.footer-links a,
.footer-links button {
  color: #eee1e6;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  font-size: 0.9rem;
  text-align: left;
}
.footer-links a:hover,
.footer-links button:hover {
  color: #ff9cc1;
}
.footer-action-bar {
  padding: 25px 7vw;
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  background: #170a11;
}
.footer-action-bar button {
  min-height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  color: white;
  padding: 12px 20px;
  border-radius: 999px;
  font-weight: 700;
}
.footer-action-bar .back-office-button {
  background: var(--pink) !important;
  border-color: var(--pink) !important;
}
.footer-action-bar .secure-test-button {
  display: flex;
}
.footer-bottom {
  padding: 21px 7vw 28px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
}
.footer-bottom p {
  color: #aa969f;
  font-size: 0.76rem;
  margin: 0;
}
.footer-bottom p:nth-child(2) {
  text-align: center;
}
.footer-bottom a {
  color: #ffafca;
  text-decoration: none;
  font-size: 0.8rem;
}
dialog {
  border: 0;
  border-radius: 24px;
  padding: 0;
  width: min(620px, 92vw);
  box-shadow: 0 25px 100px rgba(0, 0, 0, 0.35);
}
dialog::backdrop {
  background: rgba(12, 4, 9, 0.8);
  backdrop-filter: blur(5px);
}
#profileForm {
  padding: 42px;
  position: relative;
}
.close {
  position: absolute;
  right: 20px;
  top: 18px;
  border: 0;
  background: none;
  font-size: 1.8rem;
}
.form-note {
  color: var(--muted);
  line-height: 1.5;
}
fieldset {
  border: 0;
  padding: 0;
  margin: 25px 0;
}
legend,
.select-label {
  font-weight: 700;
  margin-bottom: 11px;
  display: block;
}
fieldset > label {
  display: block;
  margin: 10px 0;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chips label {
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
}
.select-label select {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
}
.full {
  width: 100%;
}
.saved {
  text-align: center;
  color: var(--berry);
  font-weight: 700;
}
.info-page {
  min-height: 100vh;
  background: #fff;
  color: var(--ink);
}
.info-page .topbar {
  position: relative;
}
.info-page main {
  overflow: hidden;
}
.info-hero {
  padding: 110px 7vw 90px;
  background:
    radial-gradient(
      circle at 85% 15%,
      rgba(255, 79, 145, 0.24),
      transparent 28%
    ),
    linear-gradient(135deg, #16070f, #3f0a21);
  color: #fff;
}
.info-hero > div {
  max-width: 920px;
}
.info-hero h1 {
  font-size: clamp(3.4rem, 7vw, 7.2rem);
  line-height: 0.93;
}
.info-hero p:last-child {
  max-width: 690px;
  color: #ead5dd;
  font-size: 1.15rem;
  line-height: 1.7;
}
.safety-principles,
.support-actions {
  padding: 90px 7vw;
}
.safety-principles > header,
.support-actions > header {
  max-width: 820px;
  margin-bottom: 44px;
}
.safety-principles h2,
.support-actions h2,
.download-copy h1 {
  font-size: clamp(3rem, 5.5vw, 5.8rem);
  line-height: 0.96;
}
.principle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.principle-grid article {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--cream);
}
.principle-grid span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--wine);
  color: #fff;
  font-weight: 800;
}
.principle-grid h3 {
  font-size: 1.18rem;
  margin: 25px 0 8px;
}
.principle-grid p,
.support-actions p {
  color: var(--muted);
  line-height: 1.65;
}
.support-band {
  padding: 70px 7vw;
  background: var(--ink);
  color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  align-items: start;
}
.support-band h2 {
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 0.98;
}
.support-band ol {
  margin: 0;
  padding-left: 24px;
}
.support-band li {
  padding: 14px 0;
  color: #e9d7df;
  line-height: 1.55;
}
.support-band strong {
  color: #fff;
}
.resource-note {
  padding: 25px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
}
.download-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #11060d, #31091b);
  color: #fff;
}
.download-hero {
  min-height: calc(100vh - 82px);
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: center;
  gap: 5vw;
  padding: 70px 6vw;
}
.download-copy .eyebrow {
  margin-bottom: 18px;
}
.download-copy p {
  max-width: 590px;
  color: #ead5dd;
  font-size: 1.08rem;
  line-height: 1.7;
}
.download-visual img {
  display: block;
  width: 100%;
  border-radius: 30px;
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.55);
}
.store-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 32px 0 20px;
}
.store-button {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 14px;
  padding: 12px 18px;
  color: #fff;
  text-decoration: none;
  background: #050505;
}
.store-button b {
  font-size: 1.55rem;
}
.store-button span {
  display: grid;
  font-size: 0.7rem;
}
.store-button strong {
  font-size: 1rem;
}
.download-note {
  font-size: 0.82rem !important;
  color: #cdb8c1 !important;
}

@media (max-width: 1100px) {
  .topbar nav {
    gap: 13px;
  }
  .topbar nav a,
  .topbar .nav-link {
    font-size: 0.76rem;
  }
  .topbar .nav-login {
    padding: 8px 12px;
  }
}
@media (max-width: 800px) {
  .sample-verification ul { grid-template-columns: 1fr; }
  .sample-profile-summary { align-items: flex-start; }
  .principle-grid {
    grid-template-columns: 1fr;
  }
  .support-band,
  .download-hero {
    grid-template-columns: 1fr;
  }
  .download-hero {
    padding-top: 60px;
  }
  .download-visual {
    order: -1;
  }
  .info-hero {
    padding-top: 80px;
  }
}

@media (max-width: 800px) {
  .topbar nav {
    display: none;
  }
  .topbar {
    height: 70px;
  }
  .ghost {
    padding: 9px 13px;
  }
  .hero {
    min-height: 780px;
    align-items: flex-end;
  }
  .hero-slide img {
    object-position: 64% center;
  }
  .hero-shade {
    background: linear-gradient(
      0deg,
      rgba(12, 4, 9, 0.98) 0%,
      rgba(12, 4, 9, 0.72) 58%,
      rgba(12, 4, 9, 0.1) 100%
    );
  }
  .hero-compatibility {
    right: 8vw;
    top: 96px;
    bottom: auto;
    width: 118px;
    height: 118px;
  }
  .hero-compatibility strong {
    font-size: 2.8rem;
  }
  .hero-compatibility span {
    font-size: 0.46rem;
  }
  .hero-compatibility em {
    font-size: 0.6rem;
  }
  .hero-copy {
    margin: 0;
    padding: 250px 6vw 55px;
    width: 100%;
  }
  .hero-melt-search { grid-template-columns: 1fr 115px; }
  .hero-melt-search button { grid-column: 1 / -1; }
  .hero-carousel-controls {
    left: 6vw;
    bottom: 15px;
  }
  .hero-carousel-controls > span {
    display: none;
  }
  h1 {
    font-size: 3.8rem;
  }
  .actions {
    flex-direction: column;
    align-items: stretch;
  }
  .section-heading,
  .safety,
  .night {
    grid-template-columns: 1fr;
  }
  .experience,
  .demo,
  .safety,
  .night {
    padding: 70px 6vw;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
  }
  .sample-flow {
    grid-template-columns: 1fr 1fr;
  }
  .sample-fields { grid-template-columns: 1fr; }
  .steps article {
    min-height: 230px;
    padding: 25px;
  }
  .melt-stage {
    grid-template-columns: 1fr 110px 1fr;
  }
  .melt-button {
    width: 100px;
    height: 100px;
  }
  .melt-button strong {
    font-size: 1.45rem;
  }
  .portrait {
    width: 86px;
    height: 86px;
  }
  .person span {
    text-align: center;
  }
  .result {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .score-ring {
    margin: auto;
  }
  .choice-panel {
    max-width: 260px;
    margin: auto;
    width: 100%;
  }
  .melt-details summary {
    margin: auto;
  }
  .melt-detail-grid {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 45px;
  }
  .footer-links {
    gap: 24px;
  }
  .footer-bottom {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .footer-bottom p:nth-child(2) {
    text-align: center;
  }
  .night form > div {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .brand span {
    font-size: 1.55rem;
  }
  .brand small {
    font-size: 0.53rem;
  }
  .hero-compatibility {
    right: 6vw;
    top: 82px;
    width: 96px;
    height: 96px;
    box-shadow:
      0 12px 35px rgba(14, 0, 7, 0.5),
      0 0 0 7px rgba(255, 255, 255, 0.09);
  }
  .hero-compatibility strong {
    font-size: 2.25rem;
    margin: 5px 0 3px;
  }
  .hero-compatibility span {
    font-size: 0.42rem;
  }
  .hero-compatibility em {
    font-size: 0.56rem;
  }
  .hero { min-height: 980px; }
  .hero-copy { padding: 215px 6vw 60px; }
  .hero-copy > .eyebrow {
    max-width: 21rem;
    font-size: 0.7rem;
    line-height: 1.55;
    letter-spacing: 0.14em;
  }
  .hero-copy h1 {
    font-size: clamp(2.75rem, 13.5vw, 3.35rem);
    line-height: 0.9;
    letter-spacing: -0.035em;
  }
  .hero-copy .lede {
    font-size: 1rem;
    line-height: 1.55;
  }
  .hero-melt-search { grid-template-columns: 1fr; }
  .hero-melt-search button { grid-column: auto; }
  .hero-carousel-arrow {
    width: 34px;
    height: 34px;
  }
  .hero-carousel-toggle {
    min-height: 34px;
  }
  .steps {
    grid-template-columns: 1fr;
  }
  .sample-flow {
    grid-template-columns: 1fr;
  }
  .sample-targets { grid-template-columns: 1fr; }
  .sample-profile { padding: 20px; }
  .steps article {
    min-height: auto;
  }
  .melt-stage {
    grid-template-columns: 1fr 86px 1fr;
  }
  .melt-button {
    width: 78px;
    height: 78px;
  }
  .melt-button strong {
    font-size: 1.1rem;
  }
  .melt-button span {
    font-size: 0.52rem;
  }
  .portrait {
    width: 68px;
    height: 68px;
  }
  .person span {
    font-size: 0.7rem;
  }
  #profileForm {
    padding: 32px 22px;
  }
}

.members {
  padding: 100px 7vw;
  background: #fff;
}
.members-heading {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 7vw;
  align-items: end;
}
.members-heading h2 {
  font-family: "Italiana", serif;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  font-weight: 400;
  line-height: 0.98;
  margin: 0.2em 0;
}
.members-heading > p {
  color: var(--muted);
  line-height: 1.7;
}
.member-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 50px;
}
.member-card {
  position: relative;
  text-align: left;
  border: 1px solid var(--line);
  background: var(--cream);
  border-radius: 20px;
  padding: 22px;
  display: grid;
  gap: 7px;
  transition: 0.2s;
  color: var(--ink);
}
.member-card:hover,
.member-card.active {
  transform: translateY(-3px);
  border-color: var(--berry);
  box-shadow: 0 16px 35px rgba(93, 16, 45, 0.1);
}
.member-card.active:after {
  content: "SELECTED";
  position: absolute;
  right: 16px;
  bottom: 16px;
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: var(--berry);
}
.demo-label {
  position: absolute;
  right: 14px;
  top: 14px;
  background: #f1dce4;
  color: var(--wine);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  padding: 5px 7px;
  border-radius: 999px;
}
.member-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-family: "Italiana";
  font-size: 1.35rem;
  margin-bottom: 8px;
}
.member-avatar.rose {
  background: linear-gradient(140deg, #bb795d, #4e2433);
}
.member-avatar.gold {
  background: linear-gradient(140deg, #d7a24a, #814229);
}
.member-avatar.plum {
  background: linear-gradient(140deg, #8365a8, #351c55);
}
.member-avatar.coral {
  background: linear-gradient(140deg, #ed7b79, #a6274b);
}
.member-avatar.blue {
  background: linear-gradient(140deg, #4a8aa2, #223c63);
}
.member-avatar.berry {
  background: linear-gradient(140deg, #c23b6d, #421127);
}
.member-card small,
.member-tags {
  color: var(--muted);
}
.member-tags {
  font-size: 0.78rem;
  margin-top: 9px;
  max-width: 75%;
}
.member-prompt {
  text-align: center;
  color: var(--berry);
  font-weight: 700;
  margin: 24px 0 0;
}

@media (max-width: 800px) {
  .members {
    padding: 70px 6vw;
  }
  .members-heading {
    grid-template-columns: 1fr;
  }
  .member-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .member-grid {
    grid-template-columns: 1fr;
  }
  .member-card {
    min-height: 180px;
  }
}

.night {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "lead journey" "bump journey" "form form";
  gap: 34px 7vw;
  align-items: start;
}
.night-lead {
  grid-area: lead;
}
.night-journey {
  grid-area: journey;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.night-journey article {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.night-journey time {
  font-family: "Italiana";
  font-size: 1.55rem;
  color: #ffafca;
}
.night-journey strong {
  font-size: 1.05rem;
}
.night-journey p {
  margin: 5px 0 0;
  color: #dac5ce;
  line-height: 1.5;
}
.bump-card {
  grid-area: bump;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 24px;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  padding: 24px;
}
.bump-card h3 {
  margin: 0.25em 0;
  font-size: 1.35rem;
}
.bump-card p:last-child {
  color: #dac5ce;
  line-height: 1.55;
}
.bump-orbit {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 35% 30%, #ff76aa, #b11551);
  font-family: "Italiana";
  box-shadow:
    0 0 0 9px rgba(255, 79, 145, 0.12),
    0 0 35px rgba(255, 79, 145, 0.3);
}
.night form {
  grid-area: form;
  max-width: 830px;
  width: 100%;
  justify-self: center;
}
.partners {
  padding: 100px 7vw;
  background: #fff;
}
.partner-head {
  max-width: 900px;
  margin-bottom: 55px;
}
.partner-head h2 {
  font-family: "Italiana", serif;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  font-weight: 400;
  line-height: 0.98;
  margin: 0.2em 0;
}
.partner-head > p:last-of-type {
  max-width: 680px;
  color: var(--muted);
  line-height: 1.7;
  font-size: 1.06rem;
}
.partner-types {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.partner-types article {
  background: var(--cream);
  padding: 30px;
  min-height: 275px;
}
.partner-types span {
  font-family: "Italiana";
  font-size: 2rem;
  color: var(--berry);
}
.partner-types h3 {
  margin-top: 32px;
}
.partner-types p {
  color: var(--muted);
  line-height: 1.6;
}
.partner-value {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.partner-value strong {
  margin-right: 12px;
}
.partner-value span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 13px;
  color: var(--muted);
}
.footer-link {
  border: 0;
  background: none;
  color: #ffafca;
  text-decoration: underline;
  text-underline-offset: 5px;
}
#partnerForm {
  padding: 42px;
  position: relative;
}
#partnerForm input,
#partnerForm textarea {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
}
#partnerForm textarea {
  resize: vertical;
}

@media (max-width: 900px) {
  .partner-types {
    grid-template-columns: 1fr 1fr;
  }
  .night {
    grid-template-columns: 1fr;
    grid-template-areas: "lead" "journey" "bump" "form";
  }
  .bump-card {
    max-width: none;
  }
}

@media (max-width: 600px) {
  .partners {
    padding: 70px 6vw;
  }
  .partner-types {
    grid-template-columns: 1fr;
  }
  .partner-types article {
    min-height: auto;
  }
  .bump-card {
    grid-template-columns: 1fr;
  }
  .night-journey article {
    grid-template-columns: 58px 1fr;
  }
  .footer-main {
    padding: 50px 6vw 35px;
  }
  .footer-links {
    grid-template-columns: 1fr 1fr;
  }
  .footer-links > div:last-child {
    grid-column: 1/-1;
  }
  .footer-action-bar {
    padding: 22px 6vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .footer-action-bar button {
    width: 100%;
  }
  .footer-link {
    font-size: 0.9rem;
  }
}

.festival,
.secure-steps,
.formats {
  padding: 100px 7vw;
}
.festival {
  background: #12080e;
  color: white;
  display: grid;
  grid-template-columns: 1fr minmax(340px, 480px);
  gap: 8vw;
  align-items: center;
}
.festival h2,
.secure-steps h2,
.formats h2 {
  font-family: "Italiana", serif;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  font-weight: 400;
  line-height: 0.98;
  margin: 0.2em 0;
}
.festival-copy > p:last-of-type {
  color: #cfbdc5;
  line-height: 1.7;
  max-width: 640px;
}
.mode-picker {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 34px;
}
.mode {
  text-align: left;
  color: white;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  padding: 16px;
  border-radius: 16px;
  display: grid;
  grid-template-columns: 15px 1fr;
  gap: 3px 10px;
}
.mode > span {
  width: 10px;
  height: 10px;
  background: #82747a;
  border-radius: 50%;
  grid-row: 1/3;
  margin-top: 5px;
}
.mode strong,
.mode small {
  grid-column: 2;
}
.mode small {
  color: #bbaab1;
}
.mode.active {
  border-color: #ff7caf;
  background: rgba(255, 79, 145, 0.1);
}
.mode.active > span {
  background: #4cdbad;
  box-shadow: 0 0 0 4px rgba(76, 219, 173, 0.14);
}
.radar-phone {
  background: #fff8f4;
  color: var(--ink);
  border-radius: 34px;
  padding: 18px;
  box-shadow: 0 35px 100px rgba(0, 0, 0, 0.4);
  border: 7px solid #34232b;
  min-height: 570px;
}
.phone-top {
  display: flex;
  justify-content: space-between;
  padding: 4px 9px 22px;
  font-size: 0.75rem;
}
.radar-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  padding: 10px 6px 20px;
}
.radar-title small {
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  color: var(--berry);
  font-weight: 700;
}
.radar-title h3 {
  margin: 4px 0;
  font-size: 1.55rem;
}
.live-dot {
  font-size: 0.62rem;
  font-weight: 700;
  color: #2c8069;
  background: #dcefe9;
  padding: 7px 9px;
  border-radius: 999px;
}
.radar-note {
  color: var(--muted);
  line-height: 1.5;
  font-size: 0.88rem;
  margin: 0 6px 14px;
}
.possibility {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 11px;
  margin: 9px 0;
  align-items: center;
}
.mini-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(140deg, #d7a24a, #814229);
  display: grid;
  place-items: center;
  color: white;
  font-family: "Italiana";
}
.mini-avatar.alt {
  background: linear-gradient(140deg, #c23b6d, #421127);
}
.possibility div:nth-child(2) {
  display: flex;
  flex-direction: column;
}
.possibility small {
  color: var(--muted);
  margin-top: 3px;
}
.possibility button {
  grid-column: 1/3;
  border: 0;
  border-radius: 999px;
  background: #f6dbe5;
  color: var(--wine);
  font-weight: 700;
  padding: 11px;
}
.possibility button.accepted {
  background: #dcefe9;
  color: #185d49;
}
.radar-privacy {
  display: flex;
  gap: 10px;
  align-items: start;
  background: #e8f3ef;
  border-radius: 14px;
  padding: 12px;
  margin-top: 15px;
  color: #225f4f;
}
.radar-privacy p {
  font-size: 0.76rem;
  line-height: 1.4;
  margin: 0;
}
.mode-state {
  margin: 50px 6px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 30px;
  text-align: center;
}
.mode-state p {
  color: var(--muted);
  line-height: 1.55;
}
.secure-steps {
  background: white;
}
.secure-track {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 55px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.secure-track article {
  padding: 28px 20px;
  border-right: 1px solid var(--line);
}
.secure-track article:last-child {
  border: 0;
}
.secure-track b {
  display: block;
  font-family: "Italiana";
  font-size: 1.8rem;
  color: var(--pink);
}
.secure-track span {
  display: block;
  font-weight: 700;
  margin: 22px 0 10px;
}
.secure-track p {
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.55;
}
.principle {
  background: #eef6f3;
  color: #225f4f;
  border-left: 4px solid #2c8069;
  padding: 18px 22px;
  margin: 30px 0 0;
}
.shield-help {
  margin-top: 18px;
  border: 1px solid #ff9cc1;
  background: transparent;
  color: white;
  border-radius: 999px;
  padding: 12px 17px;
  font-weight: 700;
}
.help-message {
  color: #ffb4cf !important;
  min-height: 52px;
  font-size: 0.9rem !important;
}
.formats {
  background: var(--paper);
}
.format-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 12px;
  margin-top: 50px;
}
.format-grid article {
  background: white;
  border: 1px solid var(--line);
  padding: 28px;
  border-radius: 18px;
  min-height: 210px;
}
.format-grid .featured-format {
  grid-row: span 2;
  background: var(--wine);
  color: white;
  min-height: 432px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.format-grid small {
  color: var(--berry);
  letter-spacing: 0.13em;
  font-weight: 700;
}
.featured-format small {
  color: #ff9cc1;
}
.format-grid h3 {
  font-family: "Italiana";
  font-size: 2rem;
  margin: 12px 0;
}
.format-grid p {
  line-height: 1.6;
  color: var(--muted);
}
.featured-format p {
  color: #ead4dd;
}
.featured-format span {
  font-size: 0.8rem;
  color: #ffb4cf;
  margin-top: 25px;
}
.host-path {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 35px;
}
.host-path div {
  background: white;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.host-path b {
  font-family: "Italiana";
  font-size: 1.7rem;
  color: var(--pink);
}
.host-path span {
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--muted);
}
.partner-check {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
  margin: 20px 0;
}
.partner-check input {
  width: auto !important;
  margin: 3px 0 0 !important;
}
.select-label input,
.select-label textarea {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  font: inherit;
}
.select-label textarea {
  resize: vertical;
}
.partners {
  padding: 100px 7vw;
  background: #fff;
}
.partner-head {
  max-width: 900px;
}
.partner-head h2 {
  font-family: "Italiana", serif;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  font-weight: 400;
  line-height: 0.98;
  margin: 0.2em 0;
}
.partner-head > p {
  color: var(--muted);
  line-height: 1.7;
}
.partner-types {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 48px;
}
.partner-types article {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 18px;
}
.partner-types span {
  font-family: "Italiana";
  font-size: 1.8rem;
  color: var(--pink);
}
.partner-types p {
  color: var(--muted);
  line-height: 1.55;
}
.partner-value {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 25px;
  padding: 18px;
  background: var(--paper);
  border-radius: 16px;
}
.partner-value span {
  padding: 8px 12px;
  background: white;
  border-radius: 999px;
  font-size: 0.84rem;
}

@media (max-width: 1000px) {
  .secure-track {
    grid-template-columns: repeat(3, 1fr);
  }
  .secure-track article:nth-child(3) {
    border-right: 0;
  }
  .host-path {
    grid-template-columns: 1fr 1fr;
  }
  .host-path div:last-child {
    grid-column: 1/3;
  }
  .partner-types {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 800px) {
  .festival {
    grid-template-columns: 1fr;
  }
  .radar-phone {
    width: min(100%, 480px);
    justify-self: center;
  }
  .festival,
  .secure-steps,
  .formats {
    padding: 70px 6vw;
  }
  .format-grid {
    grid-template-columns: 1fr 1fr;
  }
  .format-grid .featured-format {
    grid-column: 1/3;
    grid-row: auto;
    min-height: 320px;
  }
}

@media (max-width: 520px) {
  .mode-picker,
  .format-grid,
  .host-path,
  .partner-types {
    grid-template-columns: 1fr;
  }
  .format-grid .featured-format,
  .host-path div:last-child {
    grid-column: auto;
  }
  .secure-track {
    grid-template-columns: 1fr;
  }
  .secure-track article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .radar-phone {
    min-height: 540px;
    border-width: 5px;
  }
  .possibility {
    grid-template-columns: 42px 1fr;
  }
  .mini-avatar {
    width: 42px;
    height: 42px;
  }
}

.onboarding-callout {
  padding: 90px 7vw;
  background: linear-gradient(135deg, #f7ebe7, #fff 60%);
  display: grid;
  grid-template-columns: 1.1fr 0.7fr;
  gap: 8vw;
  align-items: center;
}
.onboarding-callout h2 {
  font-family: "Italiana", serif;
  font-size: clamp(2.7rem, 4.7vw, 5rem);
  font-weight: 400;
  line-height: 1;
  margin: 0.2em 0;
}
.onboarding-callout > div:first-child > p:last-child {
  color: var(--muted);
  line-height: 1.7;
  max-width: 720px;
}
.verify-card {
  background: var(--ink);
  color: white;
  border-radius: 26px;
  padding: 30px;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  box-shadow: 0 24px 70px rgba(44, 11, 27, 0.2);
}
.verify-mark {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #dff3ec;
  color: #236c57;
  font-size: 1.6rem;
}
.verify-card > div:nth-child(2) {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.verify-card > div:nth-child(2) small {
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  color: #ff9cc1;
}
.verify-card > div:nth-child(2) strong {
  font-size: 1.25rem;
}
.verify-card > div:nth-child(2) span {
  color: #c9b6bf;
  font-size: 0.84rem;
}
.verify-card ul {
  grid-column: 1/3;
  list-style: none;
  padding: 16px 0;
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.verify-card li {
  font-size: 0.84rem;
  color: #e8d9df;
}
.verify-card li:before {
  content: "✓";
  color: #58d3ae;
  margin-right: 8px;
}
.verify-card .primary,
.demo-privacy {
  grid-column: 1/3;
}
.demo-privacy {
  text-align: center;
  color: #a9979f;
  font-size: 0.72rem;
  line-height: 1.4;
}
.onboarding-dialog {
  width: min(680px, 94vw);
  max-height: 92vh;
}
.onboarding-dialog #onboardingForm {
  padding: 34px 42px 38px;
  position: relative;
}
.onboarding-progress {
  height: 5px;
  background: #eddfe4;
  border-radius: 99px;
  overflow: hidden;
  margin: 3px 42px 18px 0;
}
.onboarding-progress span {
  display: block;
  height: 100%;
  width: 20%;
  background: linear-gradient(90deg, var(--pink), var(--berry));
  transition: width 0.3s;
}
.onboarding-meta {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.onboarding-step {
  display: none;
  padding-top: 20px;
}
.onboarding-step.active {
  display: block;
  animation: stepIn 0.25s ease;
}
@keyframes stepIn {
  from {
    opacity: 0;
    transform: translateX(8px);
  }
}
.onboarding-step h2 {
  font-family: "Italiana";
  font-weight: 400;
  font-size: 2.7rem;
  line-height: 1;
  margin: 0.18em 0;
}
.field-note {
  display: block;
  color: #246c57;
  background: #e4f3ee;
  padding: 10px 12px;
  border-radius: 10px;
}
.consent-check,
.commitments label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
  margin-top: 20px;
  color: #4f4449;
}
.consent-check input,
.commitments input {
  margin-top: 4px;
  flex: 0 0 auto;
}
.verification-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  padding: 16px;
  border-radius: 14px;
  margin: 12px 0;
}
.verification-row button {
  border: 0;
  border-radius: 999px;
  background: #f3dce5;
  color: var(--wine);
  padding: 9px 12px;
  font-weight: 700;
}
.verification-row b {
  grid-column: 1/3;
  color: #8b7b82;
  font-size: 0.76rem;
}
.verification-row b.confirmed {
  color: #23715a;
}
.capture-box,
.selfie-check {
  width: 100%;
  border: 1px dashed #bca8b0;
  background: #fff9f7;
  border-radius: 18px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--ink);
}
.capture-box > span {
  font-size: 2rem;
  color: var(--berry);
}
.capture-box small,
.selfie-check small {
  color: var(--muted);
}
.capture-box.complete,
.selfie-check.complete {
  border: 1px solid #55a98f;
  background: #eef8f4;
}
.retention-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 15px;
  margin-top: 15px;
  border-left: 3px solid #2c8069;
  background: #eef6f3;
}
.retention-note span {
  font-size: 0.82rem;
  color: #4c6b62;
}
.face-frame {
  width: 120px;
  height: 145px;
  border: 3px solid #d99ab2;
  border-radius: 58px;
  position: relative;
  display: grid;
  place-items: center;
}
.face-frame i {
  width: 65px;
  height: 85px;
  border-radius: 50%;
  background: linear-gradient(#e6c2b3, #c98779);
  display: block;
}
.selfie-check.scanning .face-frame:after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  height: 2px;
  background: #38b58f;
  animation: scan 1s infinite alternate;
}
@keyframes scan {
  from {
    top: 15px;
  }
  to {
    top: 125px;
  }
}
.commitments {
  margin: 25px 0;
}
.commitments label {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  margin: 9px 0;
}
.verified-preview {
  display: flex;
  align-items: center;
  gap: 13px;
  background: #e9f6f1;
  color: #205e4d;
  padding: 15px;
  border-radius: 14px;
}
.verified-preview > span {
  width: 36px;
  height: 36px;
  background: #2c8069;
  color: white;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.verified-preview div {
  display: flex;
  flex-direction: column;
}
.verified-preview small {
  margin-top: 2px;
}
.onboarding-controls {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
}
.dark-button {
  color: var(--ink);
}
.onboarding-error {
  color: #a11242;
  font-size: 0.85rem;
  min-height: 20px;
}
.onboarding-success {
  text-align: center;
  padding: 35px 10px 5px;
}
.onboarding-success > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.6;
}
.success-seal {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #dff3ec;
  color: #226b56;
  font-size: 2.5rem;
  margin: 0 auto 18px;
  box-shadow: 0 0 0 10px #eef8f4;
}

@media (max-width: 800px) {
  .onboarding-callout {
    grid-template-columns: 1fr;
    padding: 70px 6vw;
  }
  .onboarding-callout .verify-card {
    max-width: 520px;
    width: 100%;
    justify-self: center;
  }
}

.event-checkin {
  padding: 100px 7vw;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) 1fr;
  gap: 9vw;
  align-items: center;
}
.check-ticket,
.event-ticket {
  position: relative;
  background: linear-gradient(155deg, #5d102d, #230b17);
  color: white;
  border-radius: 26px;
  padding: 36px;
  box-shadow: 0 28px 70px rgba(65, 12, 35, 0.24);
  overflow: hidden;
}
.event-ticket:after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  right: -70px;
  top: -70px;
}
.ticket-ribbon {
  position: absolute;
  right: -37px;
  top: 25px;
  background: #ff4f91;
  color: white;
  padding: 7px 42px;
  transform: rotate(38deg);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.ticket-head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.ticket-head > span {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  color: #ffb4cf;
}
.ticket-head strong {
  font-family: "Italiana";
  font-size: 2.8rem;
  line-height: 0.92;
  font-weight: 400;
}
.ticket-details {
  display: grid;
  gap: 18px;
  padding: 25px 0;
}
.ticket-details div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ticket-details small {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  color: #d5bfc8;
}
.ticket-details b {
  font-size: 0.9rem;
}
.ticket-code {
  height: 58px;
  background: white;
  padding: 8px;
  display: flex;
  gap: 4px;
  border-radius: 7px;
}
.ticket-code span {
  display: block;
  background: #1b0a12;
  height: 100%;
  flex: 1;
}
.ticket-code span:nth-child(3n) {
  flex: 0.4;
}
.ticket-code span:nth-child(4n) {
  flex: 1.7;
}
.ticket-status {
  display: flex;
  gap: 11px;
  align-items: center;
  margin-top: 20px;
}
.ticket-status > span {
  width: 34px;
  height: 34px;
  background: #dff3ec;
  color: #1e6b54;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.ticket-status div {
  display: flex;
  flex-direction: column;
}
.ticket-status small {
  color: #d6c3cb;
  margin-top: 2px;
}
.checkin-copy h2 {
  font-family: "Italiana";
  font-size: clamp(2.8rem, 4.8vw, 5rem);
  font-weight: 400;
  line-height: 0.98;
  margin: 0.2em 0;
}
.checkin-copy > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.7;
  max-width: 690px;
}
.checkin-promises {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 27px 0;
}
.checkin-promises span {
  border: 1px solid var(--line);
  border-radius: 99px;
  padding: 9px 12px;
  font-size: 0.78rem;
  color: var(--wine);
}
.checkin-dialog {
  width: min(710px, 94vw);
  max-height: 92vh;
}
.checkin-dialog #checkinForm {
  position: relative;
  padding: 35px 42px 38px;
}
.checkin-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 40px;
}
.checkin-header > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.checkin-header small {
  letter-spacing: 0.12em;
  color: var(--berry);
  font-weight: 700;
}
.checkin-header strong {
  font-size: 1.15rem;
}
.checkin-header > span {
  font-size: 0.75rem;
  color: var(--muted);
}
.checkin-bar {
  height: 4px;
  background: #eee1e6;
  margin: 18px 0 10px;
  border-radius: 99px;
  overflow: hidden;
}
.checkin-bar span {
  display: block;
  height: 100%;
  width: 25%;
  background: var(--pink);
  transition: width 0.3s;
}
.checkin-step {
  display: none;
  padding-top: 16px;
}
.checkin-step.active {
  display: block;
  animation: stepIn 0.25s ease;
}
.checkin-step h2 {
  font-family: "Italiana";
  font-size: 2.65rem;
  font-weight: 400;
  line-height: 1;
  margin: 0.18em 0;
}
.mini-ticket {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  align-items: center;
  background: var(--ink);
  color: white;
  padding: 17px;
  border-radius: 15px;
  margin: 23px 0;
}
.mini-ticket-mark {
  width: 58px;
  height: 58px;
  background: var(--berry);
  border-radius: 13px;
  display: grid;
  place-items: center;
  font-family: "Italiana";
  font-size: 2rem;
}
.mini-ticket > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.mini-ticket span {
  font-size: 0.77rem;
  color: #ceb9c2;
}
.check-line {
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.check-line > span,
.venue-confirm > span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #dff3ec;
  color: #1e6b54;
  display: grid;
  place-items: center;
}
.check-line div,
.venue-confirm div {
  display: flex;
  flex-direction: column;
}
.check-line small,
.venue-confirm small {
  color: var(--muted);
  margin-top: 2px;
}
.entrance-scan {
  width: 100%;
  min-height: 235px;
  border: 1px dashed #bd9eaa;
  border-radius: 20px;
  background: #fff9f7;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--ink);
  margin-top: 22px;
}
.scan-corners {
  font-size: 4.5rem;
  line-height: 1;
  color: var(--berry);
}
.entrance-scan small {
  max-width: 380px;
  color: var(--muted);
}
.entrance-scan.scanning .scan-corners {
  animation: pulse 1s infinite;
}
.entrance-scan.complete {
  border: 1px solid #5aa98f;
  background: #eef8f4;
}
.venue-confirm {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #eef8f4;
  padding: 13px;
  border-radius: 12px;
  margin-top: 12px;
}
.briefing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 22px;
}
.briefing-grid article {
  display: flex;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
}
.briefing-grid article > span {
  color: var(--pink);
  font-size: 1.2rem;
}
.briefing-grid p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.45;
}
.briefing-consent {
  background: #fff1f6;
  padding: 13px;
  border-radius: 12px;
}
.arrival-modes {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}
.arrival-modes label {
  display: grid;
  grid-template-columns: 16px 14px 1fr;
  gap: 4px 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 16px;
  cursor: pointer;
}
.arrival-modes label:has(input:checked) {
  border-color: var(--berry);
  background: #fff2f7;
}
.arrival-modes input {
  grid-row: 1/3;
}
.arrival-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  grid-row: 1/3;
}
.arrival-dot.open {
  background: #38b58f;
}
.arrival-dot.friends {
  background: #e1a331;
}
.arrival-dot.private {
  background: #756970;
}
.arrival-modes small {
  grid-column: 3;
  color: var(--muted);
}
.checkin-success {
  text-align: center;
  padding-top: 32px;
}
.checkin-success > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.55;
}
.active-pass {
  display: flex;
  gap: 12px;
  text-align: left;
  align-items: center;
  background: var(--ink);
  color: white;
  border-radius: 14px;
  padding: 15px;
  margin: 22px 0;
}
.active-pass > span {
  font-size: 0.63rem;
  background: #2c8069;
  padding: 7px;
  border-radius: 99px;
}
.active-pass div {
  display: flex;
  flex-direction: column;
}
.active-pass small {
  color: #cdbbc3;
  margin-top: 3px;
}

@media (max-width: 850px) {
  .event-checkin {
    grid-template-columns: 1fr;
    padding: 70px 6vw;
  }
  .event-ticket {
    width: min(100%, 500px);
    justify-self: center;
  }
  .checkin-copy {
    order: -1;
  }
}

@media (max-width: 520px) {
  .checkin-dialog #checkinForm {
    padding: 30px 21px;
  }
  .briefing-grid {
    grid-template-columns: 1fr;
  }
  .ticket-head strong {
    font-size: 2.35rem;
  }
  .event-ticket {
    padding: 28px;
  }
  .checkin-step h2 {
    font-size: 2.2rem;
  }
  .checkin-header {
    margin-right: 30px;
  }
}

.event-ticket {
  position: relative;
  background: linear-gradient(155deg, #5d102d, #230b17);
  color: white;
  border-radius: 26px;
  padding: 36px;
  box-shadow: 0 28px 70px rgba(65, 12, 35, 0.24);
  overflow: hidden;
}

.passport-section {
  padding: 100px 7vw;
  background: #160a11;
  color: white;
  display: grid;
  grid-template-columns: 1fr minmax(360px, 0.8fr);
  gap: 9vw;
  align-items: center;
}
.passport-copy h2 {
  font-family: "Italiana";
  font-size: clamp(3rem, 5vw, 5.3rem);
  font-weight: 400;
  line-height: 0.96;
  margin: 0.2em 0;
}
.passport-copy > p:not(.eyebrow) {
  color: #d2c0c8;
  line-height: 1.7;
  max-width: 680px;
}
.passport-rule {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 30px;
  padding: 18px;
  border-left: 3px solid #57cba8;
  background: rgba(87, 203, 168, 0.09);
}
.passport-rule strong {
  color: #8ae1c5;
}
.passport-rule span {
  font-size: 0.84rem;
  color: #c7b5bd;
  line-height: 1.5;
}
.passport-preview {
  background: #fff9f5;
  color: var(--ink);
  border-radius: 28px;
  padding: 20px;
  border: 7px solid #38232d;
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.38);
}
.passport-cover {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  align-items: center;
  gap: 13px;
  background: linear-gradient(135deg, #71133a, #35101f);
  color: white;
  border-radius: 17px;
  padding: 18px;
}
.passport-cover > span {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: #ff4f91;
  display: grid;
  place-items: center;
  font-family: "Italiana";
  font-size: 2rem;
}
.passport-cover > div {
  display: flex;
  flex-direction: column;
}
.passport-cover small {
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  color: #ffb3ce;
}
.passport-cover strong {
  font-size: 1.2rem;
}
.passport-cover p {
  font-size: 0.73rem;
  color: #d4bec7;
  margin: 3px 0;
}
.passport-cover > b {
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  background: #dff3ec;
  color: #226c56;
  padding: 7px 9px;
  border-radius: 99px;
}
.passport-readiness {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 25px 7px;
}
.readiness-ring {
  width: 88px;
  height: 88px;
  border: 8px solid #53b998;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
}
.readiness-ring strong {
  font-family: "Italiana";
  font-size: 2rem;
}
.readiness-ring small {
  position: absolute;
  right: 13px;
  top: 35px;
}
.passport-readiness > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.passport-readiness > div:last-child small {
  font-size: 0.61rem;
  letter-spacing: 0.14em;
  color: var(--berry);
  font-weight: 700;
}
.passport-readiness > div:last-child span {
  font-size: 0.78rem;
  color: var(--muted);
}
.passport-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.passport-badges span {
  font-size: 0.76rem;
  background: #e9f5f1;
  color: #256752;
  padding: 9px;
  border-radius: 8px;
}
.passport-next {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding: 18px 5px 5px;
}
.passport-next > div {
  display: flex;
  flex-direction: column;
}
.passport-next small {
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  color: var(--muted);
}
.passport-next > span {
  font-size: 0.67rem;
  background: #f5dce6;
  color: var(--wine);
  padding: 7px 9px;
  border-radius: 99px;
}
.passport-dialog {
  width: min(780px, 96vw);
  max-height: 94vh;
  background: #f7eeea;
}
.passport-app {
  position: relative;
  padding: 30px;
}
.passport-close {
  position: fixed;
}
.passport-app-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 40px;
}
.passport-app-head > div {
  display: flex;
  flex-direction: column;
}
.passport-app-head small {
  font-size: 0.62rem;
  color: var(--berry);
  letter-spacing: 0.13em;
  font-weight: 700;
}
.passport-app-head strong {
  font-family: "Italiana";
  font-size: 2rem;
}
.passport-lock {
  font-size: 0.63rem;
  background: #e5f3ee;
  color: #236650;
  padding: 7px 10px;
  border-radius: 99px;
  font-weight: 700;
}
.passport-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  background: #eadfe2;
  padding: 5px;
  border-radius: 12px;
  margin: 24px 0;
}
.passport-tabs button {
  border: 0;
  background: transparent;
  padding: 11px 8px;
  border-radius: 9px;
  color: #6f6267;
  font-weight: 700;
}
.passport-tabs button.active {
  background: white;
  color: var(--wine);
  box-shadow: 0 3px 12px rgba(34, 10, 20, 0.08);
}
.passport-panel {
  display: none;
}
.passport-panel.active {
  display: block;
  animation: stepIn 0.22s ease;
}
.passport-identity {
  display: grid;
  grid-template-columns: 74px 1fr auto;
  align-items: center;
  gap: 15px;
  background: white;
  border-radius: 18px;
  padding: 18px;
}
.passport-avatar {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(140deg, #bb795d, #4e2433);
  color: white;
  font-family: "Italiana";
  font-size: 1.55rem;
  position: relative;
}
.passport-avatar span {
  position: absolute;
  right: 0;
  bottom: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #2f9677;
  border: 2px solid white;
  display: grid;
  place-items: center;
  font-family: "DM Sans";
  font-size: 0.7rem;
}
.passport-identity h2 {
  font-family: "Italiana";
  font-size: 2rem;
  font-weight: 400;
  margin: 0;
}
.passport-identity p {
  margin: 3px 0;
  color: var(--muted);
  font-size: 0.84rem;
}
.passport-identity > div:nth-child(2) > strong {
  font-size: 0.75rem;
  color: #26705a;
}
.passport-identity > button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 9px 12px;
}
.readiness-card {
  background: white;
  border-radius: 16px;
  padding: 18px;
  margin-top: 10px;
}
.readiness-card > div:first-child {
  display: flex;
  justify-content: space-between;
}
.readiness-card small {
  letter-spacing: 0.11em;
  color: var(--muted);
  font-size: 0.63rem;
}
.readiness-card > div:first-child strong {
  color: #26705a;
}
.readiness-line {
  height: 8px;
  background: #e6dedf;
  border-radius: 99px;
  margin: 10px 0;
}
.readiness-line span {
  display: block;
  width: 100%;
  height: 100%;
  background: #45ac8b;
  border-radius: inherit;
}
.readiness-card p {
  font-size: 0.78rem;
  color: var(--muted);
  margin: 0;
}
.passport-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  margin: 25px 3px 9px;
}
.passport-list,
.private-settings {
  background: white;
  border-radius: 16px;
  overflow: hidden;
}
.passport-list article,
.private-settings article {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}
.passport-list article:last-child,
.private-settings article:last-child {
  border: 0;
}
.passport-list article > span {
  width: 28px;
  height: 28px;
  background: #e6f4ef;
  color: #26705a;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.passport-list article > div,
.private-settings article > div {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.passport-list small,
.private-settings small {
  color: var(--muted);
  font-size: 0.76rem;
  margin-top: 2px;
}
.passport-list article > b {
  font-size: 0.7rem;
  color: #26705a;
}
.passport-toggle {
  width: 45px;
  height: 25px;
  border: 0;
  background: #bcaeb4;
  border-radius: 99px;
  padding: 3px;
}
.passport-toggle span {
  display: block;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: white;
  transition: 0.2s;
}
.passport-toggle.active {
  background: #329979;
}
.passport-toggle.active span {
  transform: translateX(20px);
}
.passport-toggle.locked {
  opacity: 0.65;
  cursor: not-allowed;
}
.visibility-intro {
  color: var(--muted);
  line-height: 1.55;
  text-align: center;
}
.member-view-card {
  background: white;
  border-radius: 20px;
  padding: 28px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.member-view-card h2 {
  font-family: "Italiana";
  font-size: 2.4rem;
  font-weight: 400;
  margin: 12px 0 0;
}
.member-view-card > p {
  color: var(--muted);
  margin: 3px 0 15px;
}
.member-view-card > div {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}
.member-view-card > div span {
  background: #f5e4ea;
  border-radius: 99px;
  padding: 7px 10px;
  font-size: 0.76rem;
}
.member-view-card > strong {
  color: #26705a;
  margin-top: 18px;
}
.member-view-card > small {
  color: var(--muted);
  margin-top: 4px;
}
.never-shared {
  margin-top: 12px;
  background: #251019;
  color: white;
  border-radius: 17px;
  padding: 19px;
}
.never-shared > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}
.never-shared span {
  font-size: 0.72rem;
  border: 1px solid rgba(255, 255, 255, 0.17);
  padding: 7px 9px;
  border-radius: 99px;
  color: #d5c2ca;
}
.restricted-banner {
  display: flex;
  gap: 13px;
  background: #fff4df;
  border: 1px solid #e3c686;
  border-radius: 16px;
  padding: 17px;
  color: #6f4c13;
}
.restricted-banner > span {
  font-size: 1.5rem;
}
.restricted-banner p {
  margin: 4px 0 0;
  line-height: 1.45;
  font-size: 0.8rem;
}
.access-table {
  background: white;
  border-radius: 16px;
  margin-top: 12px;
  overflow: hidden;
}
.access-table article {
  display: grid;
  grid-template-columns: 1fr 1.3fr auto;
  gap: 12px;
  align-items: center;
  padding: 15px;
  border-bottom: 1px solid var(--line);
}
.access-table article:last-child {
  border: 0;
}
.access-table span {
  color: var(--muted);
  font-size: 0.78rem;
}
.access-table b {
  font-size: 0.68rem;
  color: var(--berry);
  text-align: right;
}
.retention-policy {
  background: #e9f5f1;
  border-left: 3px solid #2c8069;
  padding: 15px;
  color: #315e51;
  font-size: 0.82rem;
  line-height: 1.5;
}

@media (max-width: 850px) {
  .passport-section {
    grid-template-columns: 1fr;
    padding: 70px 6vw;
  }
  .passport-preview {
    width: min(100%, 530px);
    justify-self: center;
  }
}

@media (max-width: 560px) {
  .passport-app {
    padding: 25px 17px;
  }
  .passport-tabs button {
    font-size: 0.76rem;
  }
  .passport-identity {
    grid-template-columns: 62px 1fr;
  }
  .passport-identity > button {
    grid-column: 1/3;
  }
  .passport-avatar {
    width: 60px;
    height: 60px;
  }
  .access-table article {
    grid-template-columns: 1fr;
  }
  .access-table b {
    text-align: left;
  }
  .passport-cover {
    grid-template-columns: 52px 1fr;
  }
  .passport-cover > b {
    grid-column: 1/3;
    justify-self: start;
  }
  .passport-badges {
    grid-template-columns: 1fr;
  }
  .passport-section {
    grid-template-columns: 1fr minmax(0, 1fr);
  }
}

.passport-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 25px;
}
.passport-cover.premium {
  background: linear-gradient(135deg, #7a173e, #25101a 65%, #9c6a20);
}
.passport-benefits {
  padding: 100px 7vw;
  background: #fff;
}
.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 11px;
  margin-top: 50px;
}
.benefit-grid article {
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 24px;
  min-height: 225px;
}
.benefit-grid b {
  font-family: "Italiana";
  font-size: 1.8rem;
  color: #d49735;
}
.benefit-grid h3 {
  font-size: 1.05rem;
  margin: 28px 0 8px;
}
.benefit-grid p {
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.88rem;
}
.safety-included {
  display: flex;
  gap: 14px;
  align-items: center;
  background: #eaf6f2;
  color: #235e4d;
  border-radius: 17px;
  padding: 19px;
  margin-top: 18px;
}
.safety-included > span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #2c8069;
  color: white;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.safety-included p {
  margin: 3px 0 0;
  font-size: 0.84rem;
  line-height: 1.5;
}
.passport-tabs {
  grid-template-columns: repeat(4, 1fr);
}
.invitation-card {
  background: linear-gradient(145deg, #631333, #2a0d1a);
  color: white;
  border-radius: 19px;
  padding: 26px;
  position: relative;
  overflow: hidden;
}
.invitation-card:after {
  content: "✦";
  position: absolute;
  right: 22px;
  top: 4px;
  font-size: 7rem;
  color: rgba(255, 255, 255, 0.07);
}
.invitation-card > small {
  letter-spacing: 0.13em;
  color: #ffc0d7;
  font-size: 0.63rem;
}
.invitation-card h2 {
  font-family: "Italiana";
  font-size: 2.7rem;
  font-weight: 400;
  margin: 14px 0 5px;
}
.invitation-card p {
  color: #d7c3cb;
}
.invitation-card > span {
  display: block;
  color: #92e0c6;
  font-size: 0.78rem;
  margin-top: 9px;
  min-height: 18px;
}
.passport-access-list {
  background: white;
  border-radius: 16px;
  overflow: hidden;
}
.passport-access-list article {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}
.passport-access-list article:last-child {
  border: 0;
}
.passport-access-list article > span {
  color: #d49735;
  font-size: 1.2rem;
}
.passport-access-list article > div {
  display: flex;
  flex-direction: column;
}
.passport-access-list small {
  color: var(--muted);
  font-size: 0.75rem;
  margin-top: 2px;
}
.passport-access-list b {
  font-size: 0.7rem;
  color: var(--berry);
}
.passport-stamps {
  display: flex;
  gap: 12px;
  margin-top: 18px;
}
.passport-stamps > div {
  width: 88px;
  height: 88px;
  border: 2px solid #b77b27;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotate(-7deg);
  color: #8a5c1c;
}
.passport-stamps > div:nth-child(2) {
  transform: rotate(5deg);
  border-style: dashed;
}
.passport-stamps span {
  font-family: "Italiana";
  font-size: 1.4rem;
}
.passport-stamps small {
  font-size: 0.56rem;
}
.passport-stamps .empty-stamp {
  border-color: #c8bbc0;
  color: #8a7b81;
  transform: none;
}
.upgrade-dialog {
  width: min(620px, 94vw);
}
.upgrade-dialog form {
  padding: 38px;
  position: relative;
}
.upgrade-dialog h2 {
  font-family: "Italiana";
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 400;
  margin: 0.2em 0;
}
.upgrade-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, #651435, #241018);
  color: white;
  border-radius: 17px;
  padding: 19px;
  margin: 22px 0;
}
.upgrade-summary > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.upgrade-summary small {
  font-size: 0.63rem;
  color: #ffc0d7;
  letter-spacing: 0.13em;
}
.upgrade-summary span {
  font-size: 0.76rem;
  color: #cfbdc4;
}
.upgrade-summary > b {
  font-size: 2rem;
  color: #e9bd6c;
}
.upgrade-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.upgrade-highlights span {
  background: #f6e9ed;
  padding: 11px;
  border-radius: 10px;
  font-size: 0.81rem;
  color: var(--wine);
}
.upgrade-highlights span:before {
  content: "✦";
  color: #c3882d;
  margin-right: 7px;
}

@media (max-width: 900px) {
  .benefit-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .passport-actions {
    flex-direction: column;
  }
  .benefit-grid {
    grid-template-columns: 1fr;
  }
  .passport-benefits {
    padding: 70px 6vw;
  }
  .passport-tabs {
    grid-template-columns: 1fr 1fr;
  }
  .passport-access-list article {
    grid-template-columns: 25px 1fr;
  }
  .passport-access-list b {
    grid-column: 2;
  }
  .upgrade-dialog form {
    padding: 32px 21px;
  }
  .upgrade-highlights {
    grid-template-columns: 1fr;
  }
}

.festival-launch {
  margin-top: 22px;
}
.festival-dialog {
  width: min(1180px, 97vw);
  max-height: 95vh;
  border-radius: 28px;
  background: #f4ece9;
}
.festival-app {
  min-height: 720px;
}
.festival-app-head {
  height: 78px;
  background: #160a11;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 25px;
  position: relative;
}
.festival-brand,
.festival-session {
  display: flex;
  align-items: center;
  gap: 11px;
}
.festival-brand > span {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: var(--pink);
  display: grid;
  place-items: center;
  font-family: "Italiana";
  font-size: 1.5rem;
}
.festival-brand > div,
.festival-session > div {
  display: flex;
  flex-direction: column;
}
.festival-brand small,
.festival-session small {
  font-size: 0.61rem;
  letter-spacing: 0.11em;
  color: #cdbac2;
}
.festival-brand strong {
  font-family: "Italiana";
  font-size: 1.4rem;
}
.festival-session > span {
  font-size: 0.61rem;
  background: #267b63;
  padding: 6px 8px;
  border-radius: 99px;
}
.festival-session strong {
  font-size: 0.86rem;
}
.festival-app-head > button {
  border: 0;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 1.3rem;
}
.festival-nav {
  width: 170px;
  position: absolute;
  top: 78px;
  bottom: 0;
  background: #251019;
  padding: 22px 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.festival-nav button {
  border: 0;
  background: transparent;
  color: #cdbac2;
  text-align: left;
  padding: 13px;
  border-radius: 10px;
  display: flex;
  gap: 9px;
  align-items: center;
}
.festival-nav button.active {
  background: #4a1730;
  color: white;
}
.festival-nav button b {
  margin-left: auto;
  background: var(--pink);
  color: white;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.65rem;
}
.festival-workspace {
  margin-left: 170px;
  padding: 30px;
  background: #f4ece9;
  min-height: 642px;
}
.festival-panel {
  display: none;
}
.festival-panel.active {
  display: block;
  animation: stepIn 0.22s ease;
}
.festival-welcome {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 30px;
}
.festival-welcome p,
.panel-heading small {
  font-size: 0.66rem;
  letter-spacing: 0.13em;
  color: var(--berry);
  font-weight: 700;
  margin: 0;
}
.festival-welcome h2,
.panel-heading h2 {
  font-family: "Italiana";
  font-size: 2.7rem;
  font-weight: 400;
  line-height: 1;
  margin: 7px 0;
}
.live-mode-control {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 200px;
}
.live-mode-control > small {
  font-size: 0.6rem;
  letter-spacing: 0.11em;
  color: var(--muted);
}
.live-mode-control button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 12px;
  padding: 11px;
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: 8px;
  text-align: left;
}
.live-mode-control i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #35a985;
}
.live-mode-control span {
  font-size: 0.68rem;
  color: var(--berry);
}
.festival-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 25px 0;
}
.festival-stats article {
  background: white;
  border-radius: 13px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.festival-stats strong {
  font-family: "Italiana";
  font-size: 1.8rem;
}
.festival-stats span {
  font-size: 0.73rem;
  color: var(--muted);
}
.tonight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.tonight-grid > article {
  background: white;
  border-radius: 16px;
  padding: 19px;
}
.tonight-grid small {
  font-size: 0.62rem;
  letter-spacing: 0.11em;
  color: var(--berry);
  font-weight: 700;
}
.tonight-grid h3 {
  margin: 8px 0 5px;
}
.tonight-grid p {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.5;
}
.next-moment {
  background: linear-gradient(135deg, #641535, #2b0d1b) !important;
  color: white;
}
.next-moment p {
  color: #d6c2cb !important;
}
.next-moment button,
.melt-point-card button {
  border: 0;
  background: #f5dbe5;
  color: var(--wine);
  padding: 9px 11px;
  border-radius: 99px;
  font-weight: 700;
}
.zone-card {
  display: grid;
  grid-template-columns: 1fr 110px;
  align-items: center;
}
.zone-card > b {
  grid-column: 1/3;
  font-size: 0.66rem;
  color: #2c8069;
}
.zone-orbit {
  width: 100px;
  height: 100px;
  border: 1px solid #d9c8cf;
  border-radius: 50%;
  position: relative;
  display: grid;
  place-items: center;
}
.zone-orbit:before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px dashed #d9c8cf;
  border-radius: 50%;
}
.zone-orbit span {
  z-index: 1;
  background: #2c8069;
  color: white;
  border-radius: 50%;
  padding: 7px;
  font-size: 0.57rem;
}
.zone-orbit i {
  position: absolute;
  width: 7px;
  height: 7px;
  background: #d9a449;
  border-radius: 50%;
}
.zone-orbit i:nth-of-type(1) {
  top: 16px;
  left: 29px;
}
.zone-orbit i:nth-of-type(2) {
  right: 15px;
  bottom: 28px;
}
.zone-orbit i:nth-of-type(3) {
  left: 12px;
  bottom: 20px;
}
.hello-preview > div:nth-of-type(1) {
  display: flex;
  gap: 11px;
  align-items: center;
}
.hello-preview > div:nth-of-type(1) > span {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #d16c75;
  color: white;
}
.hello-preview h3,
.hello-preview p {
  margin: 0;
}
.hello-preview > div:nth-of-type(2) {
  display: flex;
  gap: 7px;
  margin-top: 15px;
}
.hello-preview button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 9px 11px;
}
.hello-preview .accept-hello {
  background: var(--pink);
  color: white;
  border-color: var(--pink);
}
.hello-preview > b {
  display: block;
  color: var(--muted);
  font-size: 0.67rem;
  margin-top: 10px;
}
.melt-point-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #e7f4ef !important;
  color: #205f4d;
}
.melt-point-card > span {
  font-size: 2rem;
}
.melt-point-card > div {
  flex: 1;
}
.melt-point-card h3,
.melt-point-card p {
  margin: 3px 0;
}
.panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
  margin-bottom: 25px;
}
.panel-heading p {
  color: var(--muted);
  line-height: 1.5;
  max-width: 650px;
  margin: 5px 0;
}
.panel-heading > span {
  font-size: 0.68rem;
  background: white;
  border-radius: 99px;
  padding: 8px 10px;
  color: var(--muted);
}
.festival-people {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.festival-people > article {
  background: white;
  border-radius: 18px;
  padding: 22px;
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 15px;
}
.festival-person {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: white;
  font-family: "Italiana";
  font-size: 1.5rem;
  position: relative;
}
.festival-person.gold {
  background: linear-gradient(140deg, #d7a24a, #814229);
}
.festival-person.berry {
  background: linear-gradient(140deg, #c23b6d, #421127);
}
.festival-person.coral {
  background: linear-gradient(140deg, #ed7b79, #a6274b);
}
.festival-person > span {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #2c8069;
  border: 2px solid white;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  font-family: "DM Sans";
  font-size: 0.65rem;
}
.festival-people small,
.incoming-hello small {
  font-size: 0.59rem;
  color: var(--berry);
  letter-spacing: 0.1em;
  font-weight: 700;
}
.festival-people h3 {
  font-size: 1.25rem;
  margin: 4px 0;
}
.festival-people p {
  font-size: 0.79rem;
  color: var(--muted);
  margin: 0;
}
.festival-people article > div:nth-child(2) > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 12px 0;
}
.festival-people article > div:nth-child(2) > div span {
  font-size: 0.67rem;
  background: #f5e4ea;
  padding: 6px 8px;
  border-radius: 99px;
}
.festival-people article > div:nth-child(2) > b {
  font-size: 0.71rem;
  color: #2c8069;
}
.festival-people article > button {
  grid-column: 1/3;
  border: 0;
  border-radius: 99px;
  background: #f4d9e4;
  color: var(--wine);
  padding: 11px;
  font-weight: 700;
}
.incoming-hello {
  background: white;
  border-radius: 18px;
  padding: 25px;
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 18px;
  align-items: center;
}
.incoming-hello h3 {
  margin: 5px 0;
}
.incoming-hello p {
  color: var(--muted);
  font-size: 0.83rem;
}
.incoming-hello > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.festival-action-message {
  color: var(--berry);
  text-align: center;
}
.moments-timeline {
  border-left: 1px solid #cdbbc2;
  margin-left: 50px;
}
.moments-timeline article {
  display: grid;
  grid-template-columns: 75px 1fr;
  gap: 20px;
  margin-left: -38px;
  padding: 0 0 28px;
}
.moments-timeline time {
  width: 75px;
  height: 42px;
  border-radius: 99px;
  background: white;
  display: grid;
  place-items: center;
  font-family: "Italiana";
  font-size: 1.15rem;
}
.moments-timeline article > div {
  background: white;
  border-radius: 15px;
  padding: 17px;
}
.moments-timeline small {
  font-size: 0.6rem;
  letter-spacing: 0.11em;
  color: var(--berry);
}
.moments-timeline h3 {
  margin: 5px 0;
}
.moments-timeline p {
  color: var(--muted);
  font-size: 0.81rem;
}
.moments-timeline button {
  border: 0;
  background: var(--pink);
  color: white;
  padding: 9px 12px;
  border-radius: 99px;
}
.moments-timeline b {
  display: block;
  color: #2c8069;
  font-size: 0.72rem;
  margin-top: 8px;
}
.moments-timeline .next time {
  background: var(--berry);
  color: white;
}
.safety-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.safety-actions button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 17px;
  padding: 22px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--ink);
}
.safety-actions button > span {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e6f4ef;
  color: #236c56;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  margin-bottom: 12px;
}
.safety-actions small {
  color: var(--muted);
  line-height: 1.4;
}
.safety-actions .urgent {
  border-color: #d77a7a;
  background: #fff4f3;
}
.safety-actions .urgent > span {
  background: #a92d36;
  color: white;
}
.safety-response {
  margin-top: 16px;
  background: #251019;
  color: #eadce2;
  border-radius: 13px;
  padding: 15px;
  font-size: 0.82rem;
}

@media (max-width: 820px) {
  .festival-app {
    min-height: 780px;
  }
  .festival-app-head {
    padding: 0 15px;
  }
  .festival-session {
    display: none;
  }
  .festival-nav {
    position: static;
    width: auto;
    height: auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 7px;
    background: #251019;
  }
  .festival-nav button {
    flex-direction: column;
    text-align: center;
    font-size: 0.63rem;
    padding: 8px 4px;
    gap: 3px;
  }
  .festival-nav button b {
    position: absolute;
    margin-left: 25px;
  }
  .festival-workspace {
    margin-left: 0;
    padding: 20px;
    min-height: 630px;
  }
  .festival-welcome {
    flex-direction: column;
  }
  .live-mode-control {
    width: 100%;
  }
  .tonight-grid,
  .festival-people {
    grid-template-columns: 1fr;
  }
  .safety-actions {
    grid-template-columns: 1fr;
  }
  .incoming-hello {
    grid-template-columns: 60px 1fr;
  }
  .incoming-hello > div:last-child {
    grid-column: 1/3;
  }
  .festival-welcome h2,
  .panel-heading h2 {
    font-size: 2.2rem;
  }
}

@media (max-width: 520px) {
  .festival-dialog {
    width: 100vw;
    max-width: none;
    height: 100vh;
    max-height: none;
    border-radius: 0;
  }
  .festival-app {
    min-height: 100vh;
  }
  .festival-workspace {
    padding: 16px;
  }
  .festival-stats {
    grid-template-columns: 1fr;
  }
  .zone-card {
    grid-template-columns: 1fr;
  }
  .zone-orbit {
    display: none;
  }
  .zone-card > b {
    grid-column: 1;
  }
  .festival-people > article {
    grid-template-columns: 56px 1fr;
  }
  .festival-person {
    width: 56px;
    height: 56px;
  }
  .panel-heading {
    flex-direction: column;
  }
  .moments-timeline {
    margin-left: 35px;
  }
  .moments-timeline article {
    grid-template-columns: 62px 1fr;
    margin-left: -32px;
    gap: 12px;
  }
  .moments-timeline time {
    width: 62px;
  }
  .festival-brand > div small {
    display: none;
  }
}

.hello-heading {
  align-items: center;
}
.hello-cap {
  background: #251019;
  color: white;
  border-radius: 15px;
  padding: 13px 16px;
  display: flex;
  flex-direction: column;
  min-width: 175px;
}
.hello-cap strong {
  font-family: "Italiana";
  font-size: 1.5rem;
}
.hello-cap span {
  font-size: 0.75rem;
}
.hello-cap small {
  color: #bfaab3;
  margin-top: 4px;
  letter-spacing: 0;
  font-weight: 400;
}
.hello-control-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: white;
  border-radius: 14px;
  padding: 13px 16px;
  margin-bottom: 12px;
}
.hello-control-bar > div {
  display: flex;
  align-items: center;
  gap: 10px;
}
.hello-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #36a780;
  box-shadow: 0 0 0 5px #e3f3ed;
}
.hello-status-dot.paused {
  background: #83777c;
  box-shadow: 0 0 0 5px #eee9eb;
}
.hello-control-bar p {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.hello-control-bar small {
  color: var(--muted);
  font-size: 0.7rem;
}
.hello-control-bar button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 9px 12px;
  color: var(--wine);
  font-weight: 700;
}
.hello-request {
  background: white;
  border-radius: 18px;
  padding: 22px;
}
.hello-profile {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 15px;
  align-items: center;
}
.hello-profile small {
  font-size: 0.59rem;
  color: var(--berry);
  letter-spacing: 0.09em;
}
.hello-profile h3 {
  font-size: 1.35rem;
  margin: 5px 0;
}
.hello-profile p {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
}
.hello-profile > div:last-child > div {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 9px;
}
.hello-profile > div:last-child > div span {
  background: #f5e4ea;
  border-radius: 99px;
  padding: 6px 8px;
  font-size: 0.67rem;
}
.hello-boundary {
  display: flex;
  gap: 11px;
  align-items: center;
  background: #fff2f6;
  border-radius: 12px;
  padding: 13px;
  margin: 18px 0;
}
.hello-boundary > span {
  font-size: 1.3rem;
  color: var(--pink);
}
.hello-boundary p {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.hello-boundary small {
  color: var(--muted);
  line-height: 1.4;
  margin-top: 3px;
}
.hello-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.hello-actions button {
  padding: 10px 13px;
}
.hello-pass {
  border: 0;
  background: transparent;
  color: var(--muted);
}
.hello-more {
  border: 0;
  background: transparent;
  color: var(--berry);
  font-size: 0.72rem;
  margin-top: 13px;
  padding: 3px;
}
.hello-options {
  border-top: 1px solid var(--line);
  margin-top: 10px;
  padding-top: 10px;
}
.hello-options button {
  border: 0;
  background: transparent;
  display: block;
  color: #71374c;
  padding: 7px;
  font-size: 0.76rem;
}
.hello-empty {
  text-align: center;
  padding: 50px 20px;
}
.hello-empty > span {
  font-size: 2rem;
  color: #c28ba0;
}
.hello-empty h3 {
  font-family: "Italiana";
  font-size: 2rem;
  margin: 10px 0;
}
.hello-empty p {
  color: var(--muted);
}
.hello-empty button {
  border: 0;
  background: #f4dce5;
  color: var(--wine);
  border-radius: 99px;
  padding: 10px 13px;
}
.hello-result {
  background: linear-gradient(135deg, #e5f4ef, #fff);
  border: 1px solid #8bc8b4;
  border-radius: 18px;
  padding: 24px;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 15px;
}
.hello-result-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #2d9474;
  color: white;
  font-size: 1.3rem;
}
.hello-result small {
  color: #26705a;
  letter-spacing: 0.12em;
  font-weight: 700;
}
.hello-result h3 {
  font-size: 1.35rem;
  margin: 5px 0;
}
.hello-result p {
  color: var(--muted);
  font-size: 0.82rem;
}
.meeting-details {
  display: flex;
  gap: 10px;
  background: white;
  padding: 12px;
  border-radius: 12px;
}
.meeting-details > span {
  font-size: 1.3rem;
  color: #26705a;
}
.meeting-details > div {
  display: flex;
  flex-direction: column;
}
.meeting-details small {
  letter-spacing: 0;
  color: var(--muted);
  font-weight: 400;
}
.hello-result button {
  border: 0;
  background: transparent;
  color: var(--berry);
  padding: 10px 0 0;
}
.hello-policy {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.hello-policy strong {
  font-size: 0.75rem;
  margin-right: 5px;
}
.hello-policy span {
  font-size: 0.66rem;
  background: white;
  border-radius: 99px;
  padding: 7px 9px;
  color: var(--muted);
}

@media (max-width: 600px) {
  .hello-cap {
    width: 100%;
  }
  .hello-control-bar {
    align-items: flex-start;
    gap: 10px;
  }
  .hello-control-bar button {
    font-size: 0.7rem;
  }
  .hello-profile {
    grid-template-columns: 56px 1fr;
  }
  .hello-actions {
    flex-direction: column;
  }
  .hello-result {
    grid-template-columns: 1fr;
  }
  .hello-result-icon {
    margin: auto;
  }
}

.hello-result[hidden],
.hello-empty[hidden],
.hello-options[hidden] {
  display: none;
}

.bump-flow {
  background: white;
  border-radius: 20px;
  padding: 23px;
}
.bump-flow-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
  padding-bottom: 18px;
  margin-bottom: 22px;
}
.bump-flow-steps span {
  color: #998b91;
  font-size: 0.69rem;
  display: flex;
  align-items: center;
  gap: 7px;
}
.bump-flow-steps b {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ded4d8;
  display: grid;
  place-items: center;
}
.bump-flow-steps span.active {
  color: var(--wine);
  font-weight: 700;
}
.bump-flow-steps span.active b {
  background: var(--berry);
  color: white;
}
.bump-screen {
  display: none;
  text-align: center;
}
.bump-screen.active {
  display: block;
  animation: stepIn 0.25s ease;
}
.bump-pair {
  display: grid;
  grid-template-columns: 1fr 50px 1fr;
  align-items: center;
  max-width: 580px;
  margin: 35px auto;
}
.bump-pair > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}
.bump-pair .festival-person {
  width: 82px;
  height: 82px;
}
.festival-person.rose {
  background: linear-gradient(140deg, #bb795d, #4e2433);
}
.bump-pair .festival-person small,
.identity-confirm .festival-person small {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #2c8069;
  border: 2px solid white;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  font-family: "DM Sans";
}
.bump-pair button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 9px 12px;
  color: var(--wine);
}
.bump-pair button.ready {
  background: #e5f4ef;
  color: #246a55;
  border-color: #85c5b0;
}
.pair-line {
  font-family: "Italiana";
  font-size: 2rem;
  color: #c4b4ba;
}
.double-consent,
.pairing-privacy {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #eef7f4;
  text-align: left;
  padding: 13px;
  border-radius: 12px;
  max-width: 600px;
  margin: 0 auto 18px;
  color: #245f4f;
}
.double-consent > span,
.pairing-privacy > span {
  font-size: 1.4rem;
}
.double-consent p,
.pairing-privacy p {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.double-consent small,
.pairing-privacy small {
  color: #54766d;
  margin-top: 3px;
}
.device-bridge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 auto 17px;
}
.device-bridge > span {
  display: flex;
  flex-direction: column;
  min-width: 145px;
  padding: 10px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #faf6f7;
}
.device-bridge b {
  color: var(--wine);
}
.device-bridge small {
  font-size: 0.68rem;
  color: var(--muted);
  margin-top: 2px;
}
.device-bridge > i {
  font-style: normal;
  color: var(--berry);
  font-size: 1.3rem;
}
.session-clock {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 3px 12px;
  background: #28101a;
  color: white;
  border-radius: 12px;
  padding: 10px 15px;
  margin: 8px auto 15px;
  text-align: left;
}
.session-clock span {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  color: #ff9fc1;
  font-weight: 800;
}
.session-clock strong {
  grid-row: 1 / 3;
  grid-column: 2;
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
}
.session-clock small {
  font-size: 0.67rem;
  color: #cdbdc4;
}
.bump-continue:disabled {
  background: #b9adb2;
  box-shadow: none;
}
.pair-animation {
  display: grid;
  grid-template-columns: 100px 130px 100px;
  align-items: center;
  justify-content: center;
  margin: 45px auto 25px;
}
.pair-animation > div {
  width: 100px;
  height: 150px;
  background: #231019;
  border: 6px solid #48313b;
  border-radius: 20px;
  display: grid;
  place-items: center;
}
.pair-animation > div span {
  width: 52px;
  height: 52px;
  background: var(--berry);
  color: white;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.pair-animation > div:last-child span {
  background: #c95c6d;
}
.pair-animation > i {
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--pink), transparent);
  animation: pairPulse 0.8s infinite alternate;
}
@keyframes pairPulse {
  from {
    opacity: 0.25;
    transform: scaleX(0.65);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
.bump-screen > h3 {
  font-family: "Italiana";
  font-size: 2.2rem;
  margin: 8px 0;
}
.bump-screen > p {
  color: var(--muted);
}
.qr-fallback {
  border: 0;
  background: transparent;
  color: var(--berry);
  padding: 10px;
}
.qr-pair {
  display: flex;
  gap: 18px;
  align-items: center;
  text-align: left;
  background: #f5edef;
  padding: 15px;
  border-radius: 14px;
  max-width: 500px;
  margin: 8px auto;
}
.demo-qr {
  width: 92px;
  height: 92px;
  background: white;
  border: 6px solid white;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.demo-qr i {
  background: #251019;
}
.demo-qr i:nth-child(2),
.demo-qr i:nth-child(6),
.demo-qr i:nth-child(8) {
  background: white;
}
.qr-pair > div:last-child {
  display: flex;
  flex-direction: column;
}
.qr-pair small {
  color: var(--muted);
}
.qr-pair p {
  font-size: 0.74rem;
  color: var(--muted);
  margin: 5px 0;
}
.identity-confirm {
  display: flex;
  gap: 17px;
  align-items: center;
  text-align: left;
  background: #f8f0ed;
  border-radius: 15px;
  padding: 18px;
  max-width: 610px;
  margin: 25px auto;
}
.identity-confirm h3 {
  font-size: 1.45rem;
  margin: 4px 0;
}
.identity-confirm p {
  color: var(--muted);
  font-size: 0.8rem;
  margin: 0;
}
.identity-confirm small {
  font-size: 0.6rem;
  color: var(--berry);
  letter-spacing: 0.11em;
  font-weight: 700;
}
.pair-code {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 24px 0;
}
.pair-code small {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  color: var(--muted);
}
.pair-code strong {
  font-family: "Italiana";
  font-size: 3.5rem;
  letter-spacing: 0.22em;
  margin-left: 0.22em;
  color: var(--wine);
}
.pair-code span {
  font-size: 0.72rem;
  color: #8a7a81;
}
.confirm-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.wrong-person-copy {
  font-size: 0.72rem;
  max-width: 570px;
  margin: 15px auto !important;
}
.bump-success-mark,
.stop-mark {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 28px auto 15px;
  font-size: 2.5rem;
}
.bump-success-mark {
  background: #dff3ec;
  color: #26705a;
}
.stop-mark {
  background: #f8dfe1;
  color: #a52f3b;
}
.bump-screen[data-bump-screen="success"] > small {
  font-size: 0.63rem;
  letter-spacing: 0.14em;
  color: #26705a;
  font-weight: 700;
}
.session-protections {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  max-width: 570px;
  margin: 18px auto;
}
.session-protections span {
  background: #e9f5f1;
  color: #24634f;
  padding: 9px;
  border-radius: 9px;
  font-size: 0.75rem;
}
.cancel-session {
  border: 0;
  background: transparent;
  color: var(--muted);
  display: block;
  margin: 9px auto;
}
.bump-architecture {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.bump-architecture strong {
  font-size: 0.72rem;
  margin-right: 5px;
}
.bump-architecture span {
  background: white;
  border-radius: 99px;
  padding: 7px 9px;
  font-size: 0.66rem;
  color: var(--muted);
}

@media (max-width: 820px) {
  .festival-nav {
    grid-template-columns: repeat(6, 1fr);
  }
  .bump-flow-steps span {
    flex-direction: column;
    text-align: center;
  }
  .bump-flow-steps span {
    font-size: 0.6rem;
  }
  .pair-animation {
    grid-template-columns: 75px 70px 75px;
  }
  .pair-animation > div {
    width: 75px;
    height: 125px;
  }
  .bump-pair {
    grid-template-columns: 1fr 35px 1fr;
  }
}

@media (max-width: 520px) {
  .bump-flow {
    padding: 16px;
  }
  .device-bridge > span {
    min-width: 0;
    padding: 9px;
  }
  .bump-pair .festival-person {
    width: 64px;
    height: 64px;
  }
  .bump-pair button {
    font-size: 0.68rem;
  }
  .confirm-actions {
    flex-direction: column;
  }
  .session-protections {
    grid-template-columns: 1fr;
  }
  .pair-code strong {
    font-size: 2.7rem;
  }
  .qr-pair {
    flex-direction: column;
    text-align: center;
  }
}

.qr-pair[hidden] {
  display: none;
}

.attribution-credit[hidden] {
  display: none;
}

.partner-tracking {
  margin-top: 30px;
  background: linear-gradient(135deg, #f8eee9, #fff);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 28px;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 40px;
  align-items: center;
}
.partner-tracking h3 {
  font-family: "Italiana";
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
  margin: 0.25em 0;
}
.partner-tracking > div:first-child > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.6;
}
.tracking-path {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--line);
}
.tracking-path article {
  background: white;
  padding: 16px;
  display: flex;
  flex-direction: column;
  min-height: 145px;
}
.tracking-path b {
  font-family: "Italiana";
  font-size: 1.5rem;
  color: var(--pink);
}
.tracking-path span {
  font-weight: 700;
  font-size: 0.82rem;
  margin-top: 20px;
}
.tracking-path small {
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.4;
  margin-top: 5px;
}
.partner-console-dialog {
  width: min(1160px, 97vw);
  max-height: 95vh;
  border-radius: 26px;
  background: #f3ece9;
}
.partner-console {
  min-height: 700px;
}
.partner-console > header {
  height: 78px;
  background: #160a11;
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
}
.partner-console-brand,
.partner-console-event {
  display: flex;
  align-items: center;
  gap: 11px;
}
.partner-console-brand > span {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--pink);
  display: grid;
  place-items: center;
  font-family: "Italiana";
  font-size: 1.5rem;
}
.partner-console-brand > div,
.partner-console-event > div {
  display: flex;
  flex-direction: column;
}
.partner-console-brand small,
.partner-console-event small {
  font-size: 0.61rem;
  letter-spacing: 0.11em;
  color: #cdbac2;
}
.partner-console-brand strong {
  font-size: 1.1rem;
}
.partner-console-event > span {
  font-size: 0.6rem;
  background: #796a70;
  padding: 6px 8px;
  border-radius: 99px;
}
.partner-console-event > span.live {
  background: #277a62;
}
.partner-console > header > button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 1.3rem;
}
.partner-console > nav {
  display: flex;
  gap: 4px;
  padding: 9px 22px;
  background: white;
  border-bottom: 1px solid var(--line);
}
.partner-console > nav button {
  border: 0;
  background: transparent;
  padding: 10px 13px;
  border-radius: 9px;
  color: var(--muted);
  font-weight: 700;
}
.partner-console > nav button.active {
  background: #f5dfe7;
  color: var(--wine);
}
.partner-console > main {
  padding: 28px;
}
.partner-panel {
  display: none;
}
.partner-panel.active {
  display: block;
  animation: stepIn 0.22s ease;
}
.partner-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  margin-bottom: 23px;
}
.partner-panel-head small {
  font-size: 0.63rem;
  color: var(--berry);
  letter-spacing: 0.13em;
  font-weight: 700;
}
.partner-panel-head h2 {
  font-family: "Italiana";
  font-size: 2.7rem;
  font-weight: 400;
  line-height: 1;
  margin: 6px 0;
}
.partner-panel-head p {
  color: var(--muted);
  margin: 5px 0;
}
.start-activation {
  border: 0;
  border-radius: 99px;
  padding: 13px 17px;
  background: var(--pink);
  color: white;
  font-weight: 700;
}
.start-activation:disabled {
  background: #2c8069;
}
.activation-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 11px;
}
.stage-script,
.live-qr {
  background: white;
  border-radius: 17px;
  padding: 20px;
}
.stage-script small,
.live-qr small {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  color: var(--berry);
  font-weight: 700;
}
.stage-script blockquote {
  font-family: "Italiana";
  font-size: 1.5rem;
  line-height: 1.25;
  margin: 15px 0;
}
.stage-script > span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  border-top: 1px solid var(--line);
  padding-top: 11px;
}
.live-qr {
  display: flex;
  gap: 17px;
  align-items: center;
}
.live-qr > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.live-qr > div:last-child span {
  font-size: 0.72rem;
  color: var(--muted);
}
.activation-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 11px;
}
.activation-metrics article {
  background: #251019;
  color: white;
  border-radius: 13px;
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.activation-metrics strong {
  font-family: "Italiana";
  font-size: 1.8rem;
}
.activation-metrics span {
  font-size: 0.7rem;
  color: #cbb8c0;
}
.activation-message {
  color: #2c8069;
  text-align: center;
  font-size: 0.8rem;
}
.partner-panel-head select {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
}
.funnel-bars {
  background: white;
  border-radius: 17px;
  padding: 20px;
}
.funnel-bars article {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 20px;
  align-items: center;
  margin: 14px 0;
}
.funnel-bars article > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.funnel-bars article span {
  font-size: 0.76rem;
  color: var(--muted);
}
.funnel-bars i {
  height: 13px;
  background: #eee5e8;
  border-radius: 99px;
  overflow: hidden;
}
.funnel-bars i:after {
  content: "";
  display: block;
  width: var(--width);
  height: 100%;
  background: linear-gradient(90deg, var(--berry), var(--pink));
  border-radius: inherit;
}
.attribution-method {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 13px;
}
.attribution-method strong {
  font-size: 0.76rem;
}
.attribution-method span {
  background: white;
  border-radius: 99px;
  padding: 8px 10px;
  font-size: 0.69rem;
  color: var(--muted);
}
.commission-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.commission-summary article {
  background: #251019;
  color: white;
  border-radius: 16px;
  padding: 19px;
  display: flex;
  flex-direction: column;
}
.commission-summary small {
  font-size: 0.6rem;
  color: #d7bdc7;
  letter-spacing: 0.11em;
}
.commission-summary strong {
  font-family: "Italiana";
  font-size: 2rem;
  margin: 6px 0;
}
.commission-summary span {
  font-size: 0.7rem;
  color: #baa4ad;
}
.commission-table {
  background: white;
  border-radius: 15px;
  overflow: hidden;
  margin-top: 12px;
}
.commission-row {
  display: grid;
  grid-template-columns: 1fr 1.3fr 0.7fr 0.7fr;
  gap: 10px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
  font-size: 0.78rem;
  align-items: center;
}
.commission-row.heading {
  background: #eadfe3;
  font-weight: 700;
  font-size: 0.68rem;
}
.commission-row b {
  font-size: 0.67rem;
  padding: 6px 8px;
  border-radius: 99px;
  justify-self: start;
}
.commission-row b.approved {
  background: #ddf1eb;
  color: #20634f;
}
.commission-row b.pending {
  background: #fff0cf;
  color: #795b13;
}
.commission-row b.reversed {
  background: #f6dfe1;
  color: #8b2933;
}
.commission-note {
  font-size: 0.73rem;
  color: var(--muted);
  line-height: 1.5;
}
.asset-list {
  background: white;
  border-radius: 16px;
  overflow: hidden;
}
.asset-list article {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid var(--line);
}
.asset-list article:last-child {
  border: 0;
}
.asset-list article > div {
  display: flex;
  flex-direction: column;
}
.asset-list small {
  font-size: 0.59rem;
  color: var(--muted);
  letter-spacing: 0.11em;
}
.asset-list button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 8px 11px;
  color: var(--wine);
}
.asset-message {
  color: #2c8069;
  text-align: center;
}
.partner-rules {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.partner-rules article {
  display: flex;
  gap: 11px;
  background: white;
  border-radius: 15px;
  padding: 18px;
}
.partner-rules article > span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #dff2ec;
  color: #246850;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.partner-rules p {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.5;
  margin: 5px 0;
}

@media (max-width: 900px) {
  .partner-tracking {
    grid-template-columns: 1fr;
  }
  .tracking-path {
    grid-template-columns: repeat(5, 1fr);
  }
  .activation-grid {
    grid-template-columns: 1fr;
  }
  .partner-console-event {
    display: none;
  }
}

@media (max-width: 650px) {
  .tracking-path {
    grid-template-columns: 1fr;
  }
  .tracking-path article {
    min-height: auto;
  }
  .partner-console-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .partner-console > nav {
    overflow-x: auto;
    padding: 7px;
  }
  .partner-console > nav button {
    white-space: nowrap;
    font-size: 0.72rem;
  }
  .partner-console > main {
    padding: 18px;
  }
  .partner-panel-head {
    flex-direction: column;
  }
  .activation-metrics,
  .commission-summary,
  .partner-rules {
    grid-template-columns: 1fr 1fr;
  }
  .live-qr {
    flex-direction: column;
    text-align: center;
  }
  .funnel-bars article {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .commission-row {
    grid-template-columns: 1fr 1fr;
  }
  .commission-row.heading {
    display: none;
  }
  .commission-row b {
    justify-self: end;
  }
  .partner-console-brand small {
    display: none;
  }
}

.partner-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.actions a, .membership-card a, .founding-meter a, .partner-actions a, .event-pricing a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.secondary.dark {
  border: 1px solid var(--wine);
  color: var(--wine);
  background: transparent;
  border-radius: 99px;
  padding: 12px 16px;
  font-weight: 700;
}
.admin-console-dialog {
  width: min(1240px, 98vw);
  max-height: 96vh;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #f2edef;
}
.admin-console {
  min-height: 760px;
}
.admin-console > header {
  height: 72px;
  background: #170b11;
  color: white;
  display: flex;
  align-items: center;
  padding: 0 22px;
  gap: 22px;
}
.admin-brand {
  display: flex;
  gap: 10px;
  align-items: center;
}
.admin-brand > span {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: var(--pink);
  font-family: "Italiana";
  font-size: 1.4rem;
}
.admin-brand > div {
  display: flex;
  flex-direction: column;
}
.admin-brand small {
  font-size: 0.62rem;
  color: #cdbac2;
  letter-spacing: 0.12em;
}
.admin-status {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}
.admin-status > span {
  background: #f5c45a;
  color: #27190a;
  border-radius: 99px;
  padding: 4px 9px;
  font-weight: 800;
}
.admin-status small {
  color: #d6c6cc;
}
.admin-console > header > button {
  border: 0;
  background: #37232c;
  color: white;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 1.25rem;
}
.admin-shell {
  display: grid;
  grid-template-columns: 210px 1fr;
  min-height: 688px;
}
.admin-shell > nav {
  background: #25131c;
  padding: 18px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.admin-shell > nav button {
  display: flex;
  justify-content: space-between;
  border: 0;
  background: transparent;
  color: #d5c5cc;
  border-radius: 9px;
  text-align: left;
  padding: 12px;
  font-weight: 700;
}
.admin-shell > nav button.active {
  background: #f05c88;
  color: white;
}
.admin-shell > nav b {
  background: #593744;
  border-radius: 99px;
  padding: 2px 7px;
}
.admin-shell > main {
  padding: 28px;
  overflow: auto;
  max-height: 688px;
}
.admin-panel {
  display: none;
}
.admin-panel.active {
  display: block;
  animation: stepIn 0.22s ease;
}
.admin-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
  margin-bottom: 22px;
}
.admin-heading small {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  color: var(--berry);
  font-weight: 800;
}
.admin-heading h2 {
  font-family: "Italiana";
  font-weight: 400;
  font-size: 2.6rem;
  line-height: 1;
  margin: 7px 0;
}
.admin-heading p {
  color: var(--muted);
  max-width: 650px;
  line-height: 1.5;
}
.admin-heading button,
.payout-batch button,
#createActivation,
#saveRule {
  border: 0;
  background: var(--pink);
  color: white;
  border-radius: 99px;
  padding: 12px 15px;
  font-weight: 800;
}
.admin-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}
.admin-kpis article {
  background: white;
  border-radius: 15px;
  padding: 17px;
  display: flex;
  flex-direction: column;
}
.admin-kpis span {
  font-size: 0.76rem;
  color: var(--muted);
}
.admin-kpis strong {
  font-family: "Italiana";
  font-size: 2rem;
  margin: 5px 0;
}
.admin-kpis small {
  font-size: 0.7rem;
  color: #8c7d83;
}
.admin-overview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}
.admin-overview-grid > article {
  background: white;
  border-radius: 15px;
  padding: 18px;
}
.card-title {
  display: flex;
  justify-content: space-between;
}
.card-title small {
  color: var(--muted);
}
.mini-bars p {
  display: grid;
  grid-template-columns: 70px 1fr 40px;
  gap: 8px;
  align-items: center;
  font-size: 0.75rem;
}
.mini-bars i {
  height: 9px;
  border-radius: 99px;
  background: #eee4e8;
  overflow: hidden;
}
.mini-bars i:after {
  content: "";
  display: block;
  width: var(--bar);
  height: 100%;
  background: var(--pink);
}
.safeguard-list {
  list-style: none;
  padding: 0;
}
.safeguard-list li {
  border-bottom: 1px solid var(--line);
  padding: 11px 0;
  font-size: 0.82rem;
}
.safeguard-list span {
  color: #28745f;
  margin-right: 8px;
}
.review-card,
.risk-case,
.payout-batch {
  background: white;
  border-radius: 17px;
  padding: 20px;
}
.review-card.approved {
  box-shadow: inset 4px 0 #2c8069;
}
.review-profile {
  display: flex;
  align-items: center;
  gap: 11px;
}
.review-profile > span {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0dbe3;
  color: var(--wine);
  font-weight: 800;
}
.review-profile > div {
  display: flex;
  flex-direction: column;
}
.review-profile small {
  color: var(--muted);
}
.review-profile > b {
  margin-left: auto;
  background: #fff0cf;
  color: #795b13;
  padding: 6px 9px;
  border-radius: 99px;
  font-size: 0.7rem;
}
.review-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 18px 0;
}
.review-facts span {
  background: #f5f0f2;
  padding: 12px;
  border-radius: 10px;
  font-weight: 700;
}
.review-facts small {
  display: block;
  color: var(--muted);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
.review-checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.review-checks label {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px;
  font-size: 0.78rem;
}
.review-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 17px;
}
.review-actions button {
  border: 0;
  border-radius: 99px;
  padding: 10px 14px;
  font-weight: 700;
}
.review-actions .quiet {
  background: #eee6e9;
}
.review-actions .primary:disabled {
  opacity: 0.45;
}
.review-card > p,
.risk-case > p,
.payout-batch > p,
.rule-message {
  font-size: 0.75rem;
  color: var(--muted);
  text-align: right;
}
.activation-form,
.rule-builder {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  background: white;
  border-radius: 17px;
  padding: 20px;
}
.activation-form label,
.rule-builder label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.73rem;
  font-weight: 800;
  color: var(--muted);
}
.activation-form input,
.activation-form select,
.rule-builder input,
.rule-builder select {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 11px;
  background: white;
  color: var(--ink);
}
.activation-result {
  margin-top: 10px;
  border: 1px dashed #bcaab1;
  border-radius: 14px;
  padding: 18px;
  display: flex;
  gap: 30px;
  align-items: center;
  color: var(--muted);
}
.activation-result > div {
  display: flex;
  flex-direction: column;
}
.activation-result strong {
  color: var(--wine);
}
.money-input {
  display: flex;
  border: 1px solid var(--line);
  border-radius: 9px;
  align-items: center;
  padding-left: 11px;
}
.money-input input {
  border: 0;
  flex: 1;
}
.risk-case > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.risk-level {
  align-self: flex-start;
  background: #fff0cf;
  color: #795b13;
  padding: 5px 8px;
  border-radius: 99px;
  font-size: 0.65rem;
  font-weight: 800;
}
.risk-case small {
  color: var(--muted);
}
.risk-evidence {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 18px 0;
}
.risk-evidence span {
  background: #f5f0f2;
  border-radius: 10px;
  padding: 12px;
  display: flex;
  flex-direction: column;
}
.risk-evidence b {
  font-family: "Italiana";
  font-size: 1.5rem;
}
.risk-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.risk-actions button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 10px 13px;
}
.risk-actions .danger {
  background: #8b2933;
  color: white;
  border-color: #8b2933;
}
.payout-batch > div {
  display: grid;
  grid-template-columns: 1.2fr 0.6fr 1fr auto;
  align-items: center;
  gap: 18px;
}
.payout-batch > div > span {
  display: flex;
  flex-direction: column;
}
.payout-batch > div small {
  font-size: 0.62rem;
  color: var(--muted);
  letter-spacing: 0.1em;
}
.payout-batch ul {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}
.payout-batch li {
  display: grid;
  grid-template-columns: 1fr 1.3fr 0.5fr 0.4fr;
  padding: 12px;
  border-top: 1px solid var(--line);
  align-items: center;
}
.payout-batch li small {
  color: var(--muted);
}
.payout-batch em {
  font-style: normal;
  color: #28745f;
  font-size: 0.72rem;
  font-weight: 800;
}

@media (max-width: 900px) {
  .admin-shell {
    grid-template-columns: 1fr;
  }
  .admin-shell > nav {
    flex-direction: row;
    overflow: auto;
  }
  .admin-shell > nav button {
    white-space: nowrap;
    gap: 8px;
  }
  .admin-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .admin-overview-grid {
    grid-template-columns: 1fr;
  }
  .review-facts,
  .risk-evidence {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 650px) {
  .admin-console-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .admin-console {
    min-height: 100vh;
  }
  .admin-shell > main {
    padding: 18px;
    max-height: none;
  }
  .admin-heading {
    flex-direction: column;
  }
  .admin-kpis,
  .review-facts,
  .review-checks,
  .activation-form,
  .rule-builder,
  .risk-evidence {
    grid-template-columns: 1fr;
  }
  .admin-overview-grid {
    grid-template-columns: 1fr;
  }
  .payout-batch > div {
    grid-template-columns: 1fr 1fr;
  }
  .payout-batch li {
    grid-template-columns: 1fr 1fr;
  }
  .admin-status small {
    display: none;
  }
}

.ledger-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}
.ledger-flow article {
  background: #25131c;
  color: white;
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.ledger-flow strong {
  font-family: "Italiana";
  font-size: 2rem;
}
.ledger-flow span {
  font-weight: 800;
}
.ledger-flow small {
  color: #cdbac2;
  font-size: 0.75rem;
}
.ledger-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 10px;
  margin-top: 10px;
}
.ledger-grid > article {
  background: white;
  border-radius: 16px;
  padding: 18px;
  min-width: 0;
}
.data-records,
.audit-records {
  margin-top: 13px;
  max-height: 330px;
  overflow: auto;
}
.data-records > div {
  display: grid;
  grid-template-columns: 1.2fr 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}
.data-records span {
  display: flex;
  flex-direction: column;
}
.data-records small,
.audit-records small {
  color: var(--muted);
  font-size: 0.75rem;
}
.data-records b {
  font-size: 0.75rem;
  border-radius: 99px;
  padding: 5px 8px;
}
.data-records b.approved {
  background: #ddf1eb;
  color: #20634f;
}
.data-records b.pending {
  background: #fff0cf;
  color: #795b13;
}
.data-records b.reversed {
  background: #f6dfe1;
  color: #8b2933;
}
.audit-records > div {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.audit-records > div > span {
  font-size: 0.75rem;
  color: var(--muted);
}
.audit-records p {
  display: flex;
  flex-direction: column;
  margin: 0;
  font-size: 0.82rem;
}
.audit-records .reset-note {
  display: block;
  background: #ddf1eb;
  color: #20634f;
  border: 0;
  border-radius: 8px;
  padding: 9px;
  text-align: center;
}
.privacy-boundary {
  display: flex;
  gap: 18px;
  align-items: center;
  background: #f2dfe6;
  border-left: 4px solid var(--pink);
  border-radius: 10px;
  padding: 14px 16px;
  margin-top: 10px;
}
.privacy-boundary strong {
  white-space: nowrap;
}
.privacy-boundary span {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .ledger-flow {
    grid-template-columns: 1fr 1fr;
  }
  .ledger-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .ledger-flow {
    grid-template-columns: 1fr 1fr;
  }
  .data-records > div {
    grid-template-columns: 1fr auto;
  }
  .data-records > div > span:nth-child(2) {
    display: none;
  }
  .privacy-boundary {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}

@media (max-width: 520px) {
  .onboarding-dialog #onboardingForm {
    padding: 30px 20px;
  }
  .onboarding-step h2 {
    font-size: 2.2rem;
  }
  .onboarding-meta {
    font-size: 0.58rem;
  }
  .verify-card ul {
    grid-template-columns: 1fr;
  }
  .verification-row {
    grid-template-columns: 1fr;
  }
  .verification-row button,
  .verification-row b {
    grid-column: 1;
  }
  .onboarding-controls {
    flex-direction: column-reverse;
  }
  .onboarding-controls button {
    width: 100%;
  }
}

#partnerDialog {
  width: min(900px, 96vw);
  max-height: 94vh;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #f7f1f3;
}
.partner-application {
  padding: 34px 40px;
  position: relative;
  min-height: 650px;
  display: flex;
  flex-direction: column;
}
.partner-application-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 30px;
  margin-bottom: 24px;
}
.partner-application-head h2 {
  font-size: 2.7rem;
}
.application-progress {
  width: 190px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  align-items: flex-end;
  color: var(--muted);
  font-size: 0.8rem;
}
.application-progress i {
  display: block;
  width: 100%;
  height: 7px;
  background: #eadfe3;
  border-radius: 99px;
  overflow: hidden;
}
.application-progress b {
  display: block;
  width: 20%;
  height: 100%;
  background: linear-gradient(90deg, var(--berry), var(--pink));
  transition: 0.25s;
}
.partner-app-step {
  display: none;
  animation: stepIn 0.22s ease;
}
.partner-app-step.active {
  display: block;
}
.partner-app-step > h3 {
  font-family: "Italiana";
  font-size: 2rem;
  font-weight: 400;
  margin: 0 0 6px;
}
.partner-app-step > p {
  color: var(--muted);
  margin: 0 0 20px;
  line-height: 1.5;
}
.partner-type-picker,
.activity-picker,
.trust-requirements {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.partner-type-picker label,
.activity-picker label,
.trust-requirements label {
  display: block;
  position: relative;
}
.partner-type-picker input,
.activity-picker input,
.trust-requirements input {
  position: absolute;
  opacity: 0;
}
.partner-type-picker span,
.activity-picker span,
.trust-requirements span {
  display: flex;
  flex-direction: column;
  min-height: 92px;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 15px 16px;
  background: white;
  font-weight: 800;
  transition: 0.18s;
}
.partner-type-picker small,
.activity-picker small,
.trust-requirements small {
  color: var(--muted);
  font-weight: 400;
  line-height: 1.4;
  margin-top: 6px;
}
.partner-type-picker input:checked + span,
.activity-picker input:checked + span,
.trust-requirements input:checked + span {
  border-color: var(--pink);
  box-shadow: inset 0 0 0 2px var(--pink);
  background: #fff7fa;
}
.partner-type-picker input:focus-visible + span,
.activity-picker input:focus-visible + span,
.trust-requirements input:focus-visible + span {
  outline: 3px solid rgba(255, 79, 145, 0.25);
}
.application-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}
.application-fields label,
.application-textarea {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}
.application-fields input,
.application-fields select,
.application-textarea textarea {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  padding: 12px;
  color: var(--ink);
}
.application-textarea {
  margin-top: 13px;
}
.trust-requirements span {
  min-height: 105px;
  padding-left: 46px;
}
.trust-requirements span:before {
  content: "";
  position: absolute;
  left: 16px;
  top: 17px;
  width: 20px;
  height: 20px;
  border: 1px solid #bba9b0;
  border-radius: 6px;
  background: white;
}
.trust-requirements input:checked + span:before {
  content: "✓";
  display: grid;
  place-items: center;
  background: var(--pink);
  border-color: var(--pink);
  color: white;
}
.terms-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.terms-summary article {
  background: white;
  border-radius: 13px;
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.terms-summary span {
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.45;
  margin-top: 5px;
}
.partner-application .partner-check {
  display: flex;
  gap: 10px;
  align-items: start;
  margin-top: 16px;
  background: #efe4e8;
  padding: 13px;
  border-radius: 10px;
  font-size: 0.82rem;
  line-height: 1.45;
}
.application-error {
  color: #9c264d;
  text-align: center;
  min-height: 20px;
  margin: 12px 0 0;
}
.application-controls {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 16px;
}
.application-controls .secondary {
  color: var(--wine);
}
.application-success {
  text-align: center;
  padding: 10px 20px;
}
.application-success > span {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ddf1eb;
  color: #20634f;
  font-size: 1.5rem;
  margin: 0 auto 15px;
}
.application-success h3 {
  font-family: "Italiana";
  font-size: 2.4rem;
  font-weight: 400;
  margin: 7px 0;
}
.application-success > p:not(.eyebrow) {
  color: var(--muted);
  max-width: 600px;
  margin: 0 auto 20px;
  line-height: 1.5;
}
.application-timeline {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--line);
  margin: 20px 0;
}
.application-timeline article {
  background: white;
  padding: 13px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 122px;
}
.application-timeline b {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e8dfe2;
}
.application-timeline article.done b {
  background: #2c8069;
  color: white;
}
.application-timeline span {
  display: flex;
  flex-direction: column;
  margin-top: 8px;
}
.application-timeline small {
  font-size: 0.72rem;
  color: var(--muted);
  margin-top: 4px;
  line-height: 1.3;
}

@media (max-width: 700px) {
  #partnerDialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .partner-application {
    padding: 28px 20px;
    min-height: 100vh;
  }
  .partner-application-head {
    flex-direction: column;
    gap: 8px;
  }
  .application-progress {
    width: 100%;
    align-items: flex-start;
  }
  .partner-type-picker,
  .activity-picker,
  .trust-requirements,
  .application-fields,
  .terms-summary {
    grid-template-columns: 1fr;
  }
  .application-timeline {
    grid-template-columns: 1fr;
  }
  .application-timeline article {
    min-height: auto;
    flex-direction: row;
    text-align: left;
    gap: 10px;
    align-items: center;
  }
  .application-timeline span {
    margin: 0;
  }
  .application-controls {
    position: sticky;
    bottom: 0;
    background: #f7f1f3;
    padding: 13px 0;
  }
  .partner-app-step {
    padding-bottom: 10px;
  }
}

.brand img {
  width: 46px;
  height: 46px;
  object-fit: contain;
  flex: 0 0 auto;
}
.topbar .brand {
  gap: 8px;
}
.topbar .brand span {
  font-size: 1.85rem;
}
footer .brand img {
  width: 52px;
  height: 52px;
}
.passport-cover > span,
.festival-brand > span,
.admin-brand > span,
.partner-console-brand > span {
  background: white;
  overflow: visible;
}
.passport-cover > span img,
.festival-brand > span img,
.admin-brand > span img,
.partner-console-brand > span img {
  width: 88%;
  height: 88%;
  object-fit: contain;
}
.festival-brand > span,
.admin-brand > span,
.partner-console-brand > span {
  padding: 3px;
}

@media (max-width: 650px) {
  .topbar .brand img {
    width: 40px;
    height: 40px;
  }
  .topbar .brand span {
    font-size: 1.55rem;
  }
  .topbar .brand small {
    display: none;
  }
}

.pricing-section {
  padding: 100px 7vw;
  background: #f6eff2;
}
.pricing-heading {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 50px;
  align-items: end;
}
.pricing-heading h2 {
  font-family: "Italiana";
  font-size: clamp(2.8rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 0.98;
  margin: 0.2em 0;
}
.pricing-heading > p {
  color: var(--muted);
  line-height: 1.65;
}
.membership-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
  margin-top: 48px;
}
.membership-card {
  position: relative;
  background: white;
  border: 1px solid var(--line);
  border-radius: 19px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  min-height: 440px;
}
.membership-card.featured {
  background: #251019;
  color: white;
  border-color: #251019;
  transform: translateY(-10px);
}
.membership-card > b {
  position: absolute;
  right: 18px;
  top: 17px;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--berry);
}
.membership-card.featured > b {
  color: #ffadca;
}
.membership-card > div {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--line);
  padding: 25px 0 20px;
}
.membership-card > div span {
  font-weight: 800;
}
.membership-card > div > strong {
  font-family: "Italiana";
  font-size: 2.7rem;
  margin: 8px 0;
}
.membership-card > div > strong small {
  font-family: "DM Sans";
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--muted);
}
.membership-card.featured > div > strong small,
.membership-card.featured > div > small {
  color: #cdbac2;
}
.membership-card > div > small {
  color: var(--muted);
}
.membership-card ul {
  list-style: none;
  padding: 10px 0;
  margin: 0 0 18px;
}
.membership-card li {
  padding: 8px 0;
  font-size: 0.88rem;
}
.membership-card li:before {
  content: "✓";
  color: #2c8069;
  margin-right: 8px;
}
.membership-card.featured li:before {
  color: #ff94ba;
}
.membership-card > button {
  margin-top: auto;
}
.founding-offer {
  margin-top: 16px;
  padding: 24px;
  border-radius: 18px;
  background: linear-gradient(120deg, #72143b, #241019);
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
.founding-offer > div:first-child {
  display: flex;
  align-items: center;
  gap: 17px;
}
.founding-offer > div:first-child > span {
  width: 72px;
  height: 72px;
  background: white;
  border-radius: 16px;
  display: grid;
  place-items: center;
}
.founding-offer img {
  width: 90%;
  height: 90%;
  object-fit: contain;
}
.founding-offer h3 {
  font-family: "Italiana";
  font-size: 1.8rem;
  font-weight: 400;
  margin: 3px 0;
}
.founding-offer p {
  color: #d8c5cd;
  margin: 3px 0;
}
.founding-meter {
  width: min(310px, 100%);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.founding-meter i {
  height: 8px;
  background: #5c3e49;
  border-radius: 99px;
  overflow: hidden;
}
.founding-meter i b {
  display: block;
  width: 35%;
  height: 100%;
  background: #ff71a6;
}
.event-pricing {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  gap: 10px;
  margin-top: 12px;
}
.event-pricing > div,
.event-pricing article {
  background: white;
  border-radius: 16px;
  padding: 20px;
}
.event-pricing h3 {
  font-family: "Italiana";
  font-size: 1.8rem;
  font-weight: 400;
  margin: 4px 0;
}
.event-pricing p {
  color: var(--muted);
  line-height: 1.5;
}
.event-pricing article {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.event-pricing article strong {
  font-family: "Italiana";
  font-size: 1.7rem;
}
.event-pricing article small {
  color: var(--muted);
}
.event-pricing article button {
  margin-top: auto;
  border: 1px solid var(--wine);
  background: white;
  color: var(--wine);
  border-radius: 99px;
  padding: 10px;
  font-weight: 800;
}
.pricing-promise {
  display: flex;
  gap: 18px;
  background: #e0f1ec;
  border-left: 4px solid #28745f;
  border-radius: 10px;
  padding: 15px 18px;
  margin-top: 12px;
}
.pricing-promise span {
  color: #47645b;
}
.checkout-dialog {
  width: min(860px, 96vw);
  max-height: 94vh;
  border: 0;
  border-radius: 22px;
  padding: 0;
  background: #f6eff2;
}
.checkout-shell {
  padding: 36px;
  position: relative;
  min-height: 570px;
}
.checkout-step {
  display: none;
}
.checkout-step.active {
  display: block;
  animation: stepIn 0.2s ease;
}
.checkout-step > h2,
.checkout-success h2 {
  font-family: "Italiana";
  font-size: 2.7rem;
  font-weight: 400;
  margin: 5px 0 22px;
}
.checkout-layout {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 14px;
}
.order-card {
  background: #251019;
  color: white;
  border-radius: 15px;
  padding: 18px;
  display: flex;
  flex-direction: column;
}
.order-card strong {
  font-family: "Italiana";
  font-size: 2.3rem;
  margin: 7px 0;
}
.order-card small {
  color: #cdbac2;
}
.attribution-credit {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #e0f1ec;
  border-radius: 11px;
  padding: 12px;
  margin: 10px 0;
}
.attribution-credit > span {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #28745f;
  color: white;
  display: grid;
  place-items: center;
}
.attribution-credit > div {
  display: flex;
  flex-direction: column;
}
.attribution-credit small {
  color: #527066;
}
.attribution-credit button {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--wine);
  text-decoration: underline;
}
.demo-payment {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}
.demo-payment > span {
  background: white;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px;
  color: var(--ink);
}
.demo-payment small {
  float: right;
  color: var(--muted);
  font-weight: 400;
}
.checkout-layout .consent-check {
  display: flex;
  align-items: start;
  gap: 8px;
  margin: 14px 0;
  font-size: 0.82rem;
  line-height: 1.4;
}
.checkout-layout aside {
  background: white;
  border-radius: 14px;
  padding: 18px;
}
.checkout-layout aside ul {
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.8;
  font-size: 0.82rem;
}
.checkout-success {
  text-align: center;
  padding: 35px 10px;
}
.checkout-success > span {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #2c8069;
  color: white;
  font-size: 1.6rem;
  margin: auto;
}
.checkout-success > p:not(.eyebrow) {
  color: var(--muted);
}
.receipt {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  margin: 24px auto;
  max-width: 560px;
}
.receipt > div {
  background: white;
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.receipt small {
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}
.pricing-admin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
  background: white;
  border-radius: 16px;
  padding: 20px;
}
.pricing-admin-grid > label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 800;
}
.pricing-admin-grid > label > input {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 11px;
}
.nonnegotiable-rule {
  display: flex;
  gap: 11px;
  background: #e0f1ec;
  border-radius: 12px;
  padding: 14px;
  margin-top: 10px;
}
.nonnegotiable-rule > span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #28745f;
  color: white;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.nonnegotiable-rule p {
  margin: 4px 0;
  color: #527066;
  font-size: 0.82rem;
}

@media (max-width: 900px) {
  .pricing-heading {
    grid-template-columns: 1fr;
  }
  .membership-cards {
    grid-template-columns: 1fr;
  }
  .membership-card.featured {
    transform: none;
  }
  .membership-card {
    min-height: auto;
  }
  .event-pricing {
    grid-template-columns: 1fr;
  }
  .founding-offer {
    flex-direction: column;
    align-items: flex-start;
  }
  .checkout-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .pricing-section {
    padding: 75px 5vw;
  }
  .pricing-promise {
    flex-direction: column;
    gap: 5px;
  }
  .checkout-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .checkout-shell {
    padding: 30px 18px;
  }
  .receipt,
  .pricing-admin-grid {
    grid-template-columns: 1fr;
  }
  .demo-payment small {
    float: none;
    display: block;
    margin-top: 4px;
  }
}

.certification-dialog {
  width: min(920px, 96vw);
  max-height: 94vh;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #f7f1f3;
  color: var(--ink);
}
.certification-dialog::backdrop {
  background: rgba(28, 10, 19, 0.76);
  backdrop-filter: blur(6px);
}
.certification-shell {
  padding: 34px 40px;
  min-height: 650px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.certification-shell > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 25px;
}
.certification-shell > header h2 {
  font-family: "Italiana";
  font-size: clamp(2.3rem, 5vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
  margin: 5px 0;
}
.certification-shell > header > div > p:last-child {
  color: var(--muted);
  margin: 8px 0;
}
.certification-progress {
  width: 210px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
  color: var(--muted);
  font-size: 0.8rem;
  flex: 0 0 auto;
}
.certification-progress i {
  display: block;
  width: 100%;
  height: 7px;
  background: #e6dbe0;
  border-radius: 99px;
  overflow: hidden;
}
.certification-progress b {
  display: block;
  width: 16.666%;
  height: 100%;
  background: linear-gradient(90deg, var(--berry), var(--pink));
  transition: width 0.25s;
}
.certification-step {
  display: none;
  animation: stepIn 0.22s ease;
}
.certification-step.active {
  display: block;
}
.certification-step > h3 {
  font-family: "Italiana";
  font-size: 2rem;
  font-weight: 400;
  margin: 0 0 6px;
}
.certification-step > p {
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 20px;
}
.identity-cert-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: white;
  border-radius: 15px;
  padding: 18px;
}
.identity-cert-card > span {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0dbe3;
  color: var(--wine);
  font-weight: 800;
}
.identity-cert-card > div {
  display: flex;
  flex-direction: column;
}
.identity-cert-card small {
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}
.identity-cert-card p {
  margin: 4px 0;
  color: var(--muted);
}
.identity-cert-card > b {
  margin-left: auto;
  background: #ddf1eb;
  color: #20634f;
  border-radius: 99px;
  padding: 7px 10px;
  font-size: 0.7rem;
}
.cert-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 17px;
  padding: 14px;
  border-radius: 11px;
  background: #eadfe3;
  font-size: 0.84rem;
  line-height: 1.45;
}
.training-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}
.training-grid article {
  background: #e0f1ec;
  border-left: 4px solid #28745f;
  border-radius: 12px;
  padding: 17px;
}
.training-grid article.never {
  background: #f6dfe1;
  border-color: #9b3648;
}
.training-grid b {
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.training-grid p {
  line-height: 1.55;
  margin: 8px 0;
}
.safety-sequence {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.safety-sequence article {
  background: white;
  border-radius: 13px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  min-height: 130px;
}
.safety-sequence span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--wine);
  color: white;
  font-weight: 800;
  margin-bottom: 10px;
}
.safety-sequence small {
  color: var(--muted);
  line-height: 1.4;
  margin-top: 6px;
}
.cert-boundary {
  background: #251019;
  color: white;
  border-radius: 13px;
  padding: 16px;
  margin-top: 11px;
}
.cert-boundary p {
  color: #d2c0c8;
  margin: 5px 0;
  line-height: 1.45;
}
.certification-step fieldset {
  border: 1px solid var(--line);
  border-radius: 13px;
  background: white;
  padding: 14px 17px;
  margin: 9px 0;
}
.certification-step legend {
  font-weight: 800;
  padding: 0 5px;
}
.certification-step fieldset label {
  display: block;
  padding: 6px 0;
  font-size: 0.84rem;
}
.quiz-message {
  color: #20634f !important;
  font-weight: 800;
  min-height: 20px;
  margin: 12px 0 !important;
}
.agreement-rates {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.agreement-rates article {
  background: #251019;
  color: white;
  border-radius: 13px;
  padding: 17px;
  display: flex;
  flex-direction: column;
}
.agreement-rates small {
  color: #cdbac2;
}
.agreement-rates strong {
  font-family: "Italiana";
  font-size: 2rem;
}
.agreement-terms {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 9px;
}
.agreement-terms span {
  background: white;
  border-radius: 9px;
  padding: 11px;
  font-size: 0.78rem;
}
.agreement-terms span:before {
  content: "✓";
  color: #28745f;
  margin-right: 7px;
}
.payout-readiness {
  display: grid;
  gap: 8px;
}
.payout-readiness article {
  display: flex;
  align-items: center;
  gap: 12px;
  background: white;
  border-radius: 12px;
  padding: 15px;
}
.payout-readiness article > span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ddf1eb;
  color: #20634f;
}
.payout-readiness article > div {
  display: flex;
  flex-direction: column;
}
.payout-readiness small {
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}
.certification-success {
  text-align: center;
  padding: 8px;
}
.certification-success > span {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #28745f;
  color: white;
  font-size: 1.6rem;
  margin: auto;
}
.certification-success h3 {
  font-family: "Italiana";
  font-size: 2.5rem;
  font-weight: 400;
  margin: 6px 0;
}
.certification-success > p:not(.eyebrow) {
  color: var(--muted);
}
.unlock-assets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  text-align: left;
  margin: 22px 0;
}
.unlock-assets article {
  background: white;
  border-radius: 12px;
  padding: 15px;
  display: grid;
  grid-template-columns: 1fr auto;
}
.unlock-assets small {
  grid-column: 1/-1;
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}
.unlock-assets button {
  border: 0;
  background: #eee4e8;
  color: var(--wine);
  border-radius: 99px;
  padding: 7px 10px;
  font-weight: 800;
}
.unlock-assets .locked {
  grid-column: 1/-1;
  background: #eadfe3;
}
.unlock-assets .locked span {
  font-size: 0.72rem;
  color: var(--muted);
}
.certification-error {
  color: #9c264d;
  text-align: center;
  min-height: 20px;
  margin: 10px 0;
}
.certification-controls {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 12px;
}
.certification-controls button {
  min-width: 110px;
}
.certification-controls button[hidden] {
  display: none;
}
.review-actions {
  flex-wrap: wrap;
}

@media (max-width: 700px) {
  .certification-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .certification-shell {
    padding: 28px 20px;
    min-height: 100vh;
  }
  .certification-shell > header {
    flex-direction: column;
    gap: 8px;
  }
  .certification-progress {
    width: 100%;
    align-items: flex-start;
  }
  .training-grid,
  .agreement-rates,
  .agreement-terms,
  .unlock-assets {
    grid-template-columns: 1fr;
  }
  .safety-sequence {
    grid-template-columns: 1fr 1fr;
  }
  .identity-cert-card {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .identity-cert-card > b {
    margin-left: 0;
  }
  .certification-controls {
    position: sticky;
    bottom: 0;
    background: #f7f1f3;
    padding: 13px 0;
  }
  .unlock-assets .locked {
    grid-column: auto;
  }
}

.topbar-actions {
  display: flex;
  gap: 7px;
}
.member-dashboard-dialog {
  width: min(1180px, 97vw);
  height: min(820px, 95vh);
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #f5eef1;
  color: var(--ink);
}
.member-dashboard-dialog::backdrop {
  background: rgba(26, 8, 17, 0.76);
  backdrop-filter: blur(7px);
}
.member-dashboard {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.member-dashboard > header {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #241019;
  color: white;
  padding: 16px 20px;
}
.member-dashboard-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.member-dashboard-brand > span {
  width: 49px;
  height: 49px;
  border-radius: 13px;
  background: white;
  display: grid;
  place-items: center;
}
.member-dashboard-brand img {
  width: 90%;
  height: 90%;
  object-fit: contain;
}
.member-dashboard-brand > div,
.member-plan > div {
  display: flex;
  flex-direction: column;
}
.member-dashboard-brand small,
.member-plan small {
  color: #cdbac2;
  font-size: 0.7rem;
  letter-spacing: 0.07em;
}
.member-plan {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-left: auto;
}
.member-plan > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #641638;
  color: #ff9dc0;
}
.member-dashboard > header > button {
  border: 0;
  background: transparent;
  color: white;
  font-size: 1.8rem;
}
.member-dashboard-shell {
  display: grid;
  grid-template-columns: 190px 1fr;
  flex: 1;
  min-height: 0;
}
.member-dashboard-shell > nav {
  background: #30151f;
  padding: 18px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.member-dashboard-shell > nav button {
  border: 0;
  background: transparent;
  color: #d9c7ce;
  border-radius: 9px;
  padding: 11px 13px;
  text-align: left;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
}
.member-dashboard-shell > nav button.active {
  background: #fff;
  color: var(--wine);
}
.member-dashboard-shell > nav b {
  background: var(--pink);
  color: white;
  border-radius: 99px;
  padding: 1px 6px;
  font-size: 0.7rem;
}
.member-dashboard-shell > main {
  padding: 30px;
  overflow: auto;
}
.member-dashboard-panel {
  display: none;
}
.member-dashboard-panel.active {
  display: block;
  animation: stepIn 0.2s ease;
}
.member-dash-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 25px;
  margin-bottom: 20px;
}
.member-dash-heading small {
  color: var(--berry);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.member-dash-heading h2 {
  font-family: "Italiana";
  font-size: clamp(2.3rem, 4vw, 3.6rem);
  font-weight: 400;
  line-height: 1;
  margin: 6px 0;
}
.member-dash-heading p {
  color: var(--muted);
  margin: 7px 0;
  max-width: 650px;
}
.verified-pill {
  background: #ddf1eb;
  color: #20634f;
  border-radius: 99px;
  padding: 8px 11px;
  font-size: 0.76rem;
  font-weight: 800;
  white-space: nowrap;
}
.melt-search-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, .7fr) auto;
  gap: 12px;
  align-items: end;
  padding: 20px;
  background: #fff;
  border: 1px solid rgba(64, 16, 38, .14);
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(43, 8, 25, .06);
}
.melt-search-form label { display: grid; gap: 7px; color: #351521; font-weight: 800; }
.melt-search-form input,
.melt-search-form select {
  min-height: 48px;
  border: 1px solid rgba(64, 16, 38, .28);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: #241019;
  font: inherit;
}
.melt-search-form button { min-height: 48px; white-space: nowrap; }
.melt-search-privacy {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 14px 0 6px;
  padding: 13px 16px;
  border-radius: 12px;
  background: #edf7f3;
  color: #215a4b;
}
.melt-search-privacy > span { font-size: 1.4rem; }
.melt-search-privacy p, .melt-search-beta { margin: 0; font-size: .88rem; line-height: 1.45; }
.melt-search-beta { color: var(--muted); padding: 5px 2px 12px; }
.melt-search-results { display: grid; gap: 11px; }
.melt-search-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 15px;
  align-items: center;
  padding: 18px;
  background: #fff;
  border: 1px solid rgba(64, 16, 38, .12);
  border-radius: 15px;
}
.melt-search-card .member-avatar { width: 54px; height: 54px; }
.melt-search-card-copy > div { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.melt-search-card h3 { margin: 0; font-family: "Italiana"; font-size: 1.55rem; font-weight: 400; }
.melt-search-card-copy > div span { color: #20634f; font-size: .74rem; font-weight: 800; }
.melt-search-card p { margin: 5px 0; color: var(--muted); }
.melt-search-card .melt-distance { color: var(--berry); font-size: .82rem; font-weight: 800; }
.melt-search-card button { max-width: 210px; line-height: 1.25; }
.melt-search-card button:disabled { opacity: .65; cursor: default; }
.melt-search-empty { padding: 26px; text-align: center; background: #fff; border: 1px dashed rgba(64,16,38,.25); border-radius: 14px; }
.invite-melt-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 14px; }
.invite-melt-card, .invite-history { padding: 22px; border: 1px solid rgba(64,16,38,.13); border-radius: 16px; background: #fff; }
.invite-melt-card h3, .invite-history h3 { margin: 0 0 7px; font-family: "Italiana"; font-size: 1.65rem; font-weight: 400; }
.invite-melt-card > p { color: var(--muted); }
.invite-melt-card > label { display: grid; gap: 6px; margin-top: 13px; color: #351521; font-weight: 800; }
.invite-melt-card label small { color: var(--muted); font-weight: 500; }
.invite-melt-card input { min-height: 46px; border: 1px solid rgba(64,16,38,.25); border-radius: 10px; padding: 10px 12px; font: inherit; }
.invite-channel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 17px; }
.invite-channel-grid button { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-height: 78px; padding: 12px; border: 1px solid rgba(64,16,38,.16); border-radius: 12px; background: #fbf7f9; color: #351521; font-weight: 800; text-align: left; }
.invite-channel-grid button:hover { border-color: var(--pink); background: #fff4f8; }
.invite-channel-grid span { color: var(--berry); font-size: .72rem; letter-spacing: .08em; }
.invite-privacy { padding: 11px 13px; border-radius: 10px; background: #edf7f3; color: #215a4b !important; font-size: .84rem; }
.invite-history > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.invite-history > div:first-child button { border: 0; background: transparent; color: var(--berry); font-weight: 800; }
.invite-history-item { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; padding: 12px 0; border-top: 1px solid rgba(64,16,38,.1); }
.invite-history-item strong { text-transform: capitalize; }
.invite-history-item small { grid-column: 1 / -1; color: var(--muted); }
.invite-status { align-self: start; border-radius: 99px; padding: 4px 8px; background: #f5e9ee; color: var(--berry); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.invite-status.accepted { background: #ddf1eb; color: #20634f; }
.invite-history > small { display: block; margin-top: 16px; color: var(--muted); line-height: 1.45; }
.melt-invite-dialog { width: min(520px, calc(100% - 28px)); border: 0; border-radius: 22px; padding: 0; box-shadow: 0 30px 90px rgba(20,2,10,.35); }
.melt-invite-dialog::backdrop { background: rgba(16,4,10,.76); backdrop-filter: blur(5px); }
.melt-invite-landing { position: relative; padding: 38px; text-align: center; background: #fff; }
.melt-invite-landing > button[data-close-melt-invite] { position: absolute; right: 15px; top: 12px; border: 0; background: transparent; color: #351521; font-size: 1.8rem; }
.melt-invite-landing > img { width: 72px; height: 72px; object-fit: contain; }
.melt-invite-landing h2 { margin: 7px 0 10px; font-size: clamp(2rem, 7vw, 3rem); }
.melt-invite-landing > p { color: var(--muted); line-height: 1.55; }
.invite-consent-points { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: 20px 0; }
.invite-consent-points span { padding: 7px 10px; border-radius: 99px; background: #f5e9ee; color: var(--berry); font-size: .75rem; font-weight: 800; }
.melt-invite-landing > .primary, .melt-invite-landing > a { display: inline-flex; justify-content: center; text-decoration: none; }
@media (max-width: 760px) {
  .melt-search-form { grid-template-columns: 1fr; }
  .melt-search-card { grid-template-columns: auto 1fr; }
  .melt-search-card button { grid-column: 1 / -1; width: 100%; max-width: none; }
  .invite-melt-layout { grid-template-columns: 1fr; }
  .invite-channel-grid { grid-template-columns: repeat(2, 1fr); }
}
.member-home-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: 11px;
}
.next-event-card {
  background: linear-gradient(130deg, #70143b, #241019);
  color: white;
  border-radius: 18px;
  padding: 25px;
}
.next-event-card > small {
  color: #ffabc9;
  letter-spacing: 0.1em;
}
.next-event-card h3 {
  font-family: "Italiana";
  font-size: 2.4rem;
  font-weight: 400;
  margin: 7px 0;
}
.next-event-card > p {
  color: #d8c5cd;
}
.next-event-card > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 20px 0;
}
.next-event-card > div span {
  border: 1px solid #795365;
  border-radius: 99px;
  padding: 6px 9px;
  font-size: 0.74rem;
}
.member-readiness {
  background: white;
  border-radius: 18px;
  padding: 21px;
}
.member-readiness > small {
  color: var(--muted);
  font-weight: 800;
}
.member-readiness > strong {
  display: block;
  font-family: "Italiana";
  font-size: 1.8rem;
  margin: 8px 0;
}
.member-readiness > i {
  height: 7px;
  background: #eadfe3;
  border-radius: 99px;
  display: block;
  overflow: hidden;
}
.member-readiness > i b {
  display: block;
  width: 75%;
  height: 100%;
  background: #28745f;
}
.member-readiness ul {
  list-style: none;
  padding: 6px 0;
  margin: 8px 0;
}
.member-readiness li {
  padding: 6px 0;
  font-size: 0.8rem;
  color: var(--muted);
}
.member-readiness li:before {
  content: "○";
  margin-right: 7px;
}
.member-readiness li.done {
  color: #20634f;
}
.member-readiness li.done:before {
  content: "✓";
}
.member-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 10px;
}
.member-quick-grid button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 14px;
  padding: 16px;
  text-align: left;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3px 10px;
}
.member-quick-grid button > span {
  grid-row: 1/3;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0dbe3;
  color: var(--wine);
}
.member-quick-grid small {
  color: var(--muted);
}
.connection-list {
  display: grid;
  gap: 9px;
}
.connection-list article {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  background: white;
  border-radius: 15px;
  padding: 16px;
}
.connection-center {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 12px;
}
.notification-layout {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 12px;
}
.notification-feed {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.notification-feed article {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  background: white;
  border-radius: 14px;
  padding: 15px;
  border-left: 4px solid transparent;
}
.notification-feed article.safety-notice {
  border-left-color: #28745f;
  background: #f4fbf8;
}
.notice-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f3dce5;
  color: var(--wine);
  font-weight: 800;
}
.notification-feed article > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.notification-feed small {
  font-size: 0.68rem;
  color: var(--berry);
  letter-spacing: 0.06em;
}
.notification-feed p {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
}
.notification-feed button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 8px 11px;
  color: var(--wine);
  font-weight: 700;
}
.notification-feed article.read {
  opacity: 0.58;
}
.notification-settings {
  background: white;
  border-radius: 14px;
  padding: 17px;
}
.notification-settings h3 {
  font-family: "Italiana";
  font-size: 1.6rem;
  font-weight: 400;
  margin: 0 0 10px;
}
.notification-settings > label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.notification-settings > label > span {
  display: flex;
  flex-direction: column;
}
.notification-settings small {
  color: var(--muted);
  font-size: 0.7rem;
  margin-top: 2px;
}
.notification-settings input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--berry);
}
.quiet-hours {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 13px 0;
}
.quiet-hours > strong {
  grid-column: 1/-1;
}
.quiet-hours label {
  font-size: 0.75rem;
  color: var(--muted);
}
.quiet-hours input {
  display: block;
  width: 100%;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 4px;
}
.always-on-safety {
  display: flex;
  gap: 9px;
  background: #e6f3ef;
  border-radius: 10px;
  padding: 10px;
  margin: 12px 0;
}
.always-on-safety p {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.always-on-safety > span {
  color: #28745f;
}
.connection-rail,
.connection-workspace {
  background: white;
  border-radius: 16px;
}
.connection-rail {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.connection-rail > button {
  border: 0;
  background: transparent;
  border-radius: 12px;
  padding: 11px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  color: var(--ink);
}
.connection-rail > button.active {
  background: #f5e8ed;
}
.connection-rail > button > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.connection-rail small,
.connection-workspace header small {
  color: var(--muted);
  font-size: 0.72rem;
}
.connection-workspace {
  padding: 18px;
  position: relative;
}
.connection-workspace header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding-bottom: 13px;
}
.connection-workspace header > div {
  display: flex;
  align-items: center;
  gap: 10px;
}
.connection-workspace header > div > div {
  display: flex;
  flex-direction: column;
}
.connection-workspace header > button,
.connection-tools button,
.connection-safety-menu button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 9px 13px;
  color: var(--wine);
  font-weight: 700;
}
.private-chat {
  min-height: 190px;
  padding: 18px 3px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.system-note {
  align-self: center;
  background: #eef7f4;
  color: #38685b;
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 0.75rem;
  text-align: center;
}
.chat-bubble {
  max-width: 72%;
  padding: 11px 14px;
  border-radius: 15px;
  font-size: 0.88rem;
  line-height: 1.4;
}
.chat-bubble.theirs {
  background: #f1e9ec;
  align-self: flex-start;
}
.chat-bubble.mine {
  background: var(--wine);
  color: white;
  align-self: flex-end;
}
#connectionMessageForm {
  display: flex;
  gap: 8px;
  border-top: 1px solid var(--line);
  padding-top: 13px;
}
#connectionMessageForm input {
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 99px;
  padding: 12px 16px;
  font: inherit;
  min-width: 0;
}
.connection-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 14px;
}
.connection-tools article {
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 12px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3px 10px;
}
.connection-tools article > span {
  grid-row: 1/3;
  color: var(--berry);
  font-size: 1.2rem;
}
.connection-tools article > div {
  display: flex;
  flex-direction: column;
}
.connection-tools article small {
  color: var(--muted);
  margin-top: 3px;
}
.connection-tools article button {
  grid-column: 2;
  justify-self: start;
  margin-top: 7px;
}
.safe-plan-builder {
  margin-top: 10px;
  background: #f5edef;
  border-radius: 13px;
  padding: 14px;
  display: grid;
  gap: 10px;
}
.safe-plan-builder[hidden] {
  display: none;
}
.safe-plan-builder label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.safe-plan-builder select {
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}
.safe-plan-builder p {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
}
.safe-plan-builder button {
  justify-self: start;
}
.connection-safety-menu {
  position: absolute;
  right: 18px;
  top: 68px;
  background: white;
  box-shadow: 0 12px 35px #3b152430;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  z-index: 2;
}
.connection-safety-menu[hidden] {
  display: none;
}
.connection-safety-menu button {
  border: 0;
  border-radius: 8px;
  text-align: left;
}
.connection-list article > div:nth-child(2) {
  display: flex;
  flex-direction: column;
}
.connection-list small {
  color: #28745f;
}
.connection-list p {
  color: var(--muted);
  margin: 4px 0;
}
.connection-actions {
  display: flex;
  gap: 6px;
}
.connection-actions button,
.dashboard-event-list button,
.passport-invitations button,
.safety-dashboard-grid article > button:not(.dashboard-toggle),
.member-data-actions button,
.dashboard-outline {
  border: 1px solid var(--line);
  background: white;
  color: var(--wine);
  border-radius: 99px;
  padding: 9px 12px;
  font-weight: 800;
}
.connection-history {
  background: white;
  border-radius: 15px;
  padding: 18px;
  margin-top: 10px;
}
.connection-history h3 {
  font-family: "Italiana";
  font-size: 1.5rem;
  font-weight: 400;
}
.connection-history > div {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 13px;
  padding: 11px 0;
  border-top: 1px solid var(--line);
  align-items: center;
}
.connection-history > div span {
  display: flex;
  flex-direction: column;
}
.connection-history small,
.connection-history em {
  color: var(--muted);
  font-size: 0.75rem;
}
.connection-history em {
  font-style: normal;
}
.connection-history b {
  font-size: 0.77rem;
}
.dashboard-message {
  min-height: 20px;
  color: #20634f;
  font-size: 0.8rem;
  font-weight: 800;
}
.dashboard-event-list {
  display: grid;
  gap: 9px;
}
.event-filters {
  display: flex;
  gap: 7px;
  margin-bottom: 12px;
  overflow-x: auto;
}
.event-filters button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 8px 13px;
  color: var(--wine);
  font-weight: 700;
}
.event-filters button.active {
  background: var(--wine);
  color: white;
}
.event-discovery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.event-discovery-grid article {
  background: white;
  border-radius: 15px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  min-height: 205px;
}
.event-discovery-grid span {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  color: var(--berry);
  font-weight: 800;
}
.event-discovery-grid h3 {
  font-family: "Italiana";
  font-size: 1.65rem;
  font-weight: 400;
  margin: 8px 0;
}
.event-discovery-grid p {
  color: var(--muted);
  margin: 0 0 10px;
  line-height: 1.5;
}
.event-discovery-grid small {
  color: #28745f;
}
.event-discovery-grid button {
  margin-top: auto;
  border: 1px solid var(--wine);
  background: white;
  color: var(--wine);
  border-radius: 99px;
  padding: 10px;
  font-weight: 800;
}
.event-discovery-grid article[hidden] {
  display: none;
}
.event-privacy-rule {
  display: flex;
  gap: 12px;
  background: #e7f2ee;
  border-radius: 12px;
  padding: 13px;
  margin-top: 10px;
}
.event-privacy-rule span {
  color: #506e64;
  font-size: 0.8rem;
  line-height: 1.4;
}
.ticket-receipt-demo {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 15px;
  background: #27101a;
  color: white;
  border-radius: 14px;
  padding: 15px;
  margin-top: 10px;
}
.ticket-receipt-demo[hidden] {
  display: none;
}
.ticket-receipt-demo > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ticket-receipt-demo small {
  color: #ceb9c2;
}
.ticket-receipt-demo button {
  border: 1px solid #f4c4d5;
  background: transparent;
  color: white;
  border-radius: 99px;
  padding: 9px 12px;
}
.dashboard-event-list article {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 15px;
  align-items: center;
  background: white;
  border-radius: 15px;
  padding: 15px;
}
.dashboard-event-list time {
  width: 55px;
  height: 57px;
  background: #2a111b;
  color: white;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 0.66rem;
}
.dashboard-event-list time b {
  font-family: "Italiana";
  font-size: 1.6rem;
}
.dashboard-event-list article > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.dashboard-event-list small {
  color: var(--muted);
}
.dashboard-event-list span {
  color: #28745f;
  font-size: 0.76rem;
}
.passport-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.passport-dashboard-grid article {
  background: #251019;
  color: white;
  border-radius: 14px;
  padding: 17px;
  display: flex;
  flex-direction: column;
}
.passport-dashboard-grid small {
  color: #ffabc9;
}
.passport-dashboard-grid strong {
  font-family: "Italiana";
  font-size: 1.6rem;
  margin: 7px 0;
}
.passport-dashboard-grid span {
  color: #cdbac2;
  font-size: 0.76rem;
}
.passport-invitations {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 10px;
}
.passport-invitations article {
  background: white;
  border-radius: 15px;
  padding: 20px;
}
.passport-invitations article > span {
  color: var(--berry);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.passport-invitations h3 {
  font-family: "Italiana";
  font-size: 1.7rem;
  font-weight: 400;
  margin: 7px 0;
}
.passport-invitations p {
  color: var(--muted);
}
.safety-dashboard-grid,
.privacy-dashboard {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.safety-dashboard-grid article,
.privacy-dashboard article {
  display: flex;
  align-items: center;
  gap: 12px;
  background: white;
  border-radius: 14px;
  padding: 15px;
}
.safety-dashboard-grid article > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0dbe3;
  color: var(--wine);
}
.safety-dashboard-grid article > div,
.privacy-dashboard article > div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.safety-dashboard-grid small,
.privacy-dashboard small,
.blocked-list small {
  color: var(--muted);
}
.dashboard-toggle {
  width: 43px;
  height: 24px;
  border: 0;
  border-radius: 99px;
  background: #baaeb3;
  padding: 3px;
}
.dashboard-toggle i {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: white;
  transition: 0.18s;
}
.dashboard-toggle.active {
  background: #28745f;
}
.dashboard-toggle.active i {
  transform: translateX(19px);
}
.dashboard-toggle.locked {
  opacity: 0.65;
}
.urgent-safety {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  background: #8b2933;
  color: white;
  border-radius: 14px;
  padding: 17px;
  margin-top: 10px;
}
.urgent-safety p {
  color: #edd1d6;
  margin: 4px 0;
}
.urgent-safety button {
  border: 0;
  background: white;
  color: #8b2933;
  border-radius: 99px;
  padding: 10px 13px;
  font-weight: 800;
}
.privacy-dashboard {
  grid-template-columns: 1fr;
}
.blocked-list {
  background: white;
  border-radius: 15px;
  padding: 18px;
  margin-top: 10px;
}
.blocked-list h3 {
  font-family: "Italiana";
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0 0 10px;
}
.blocked-list article {
  display: flex;
  align-items: center;
  gap: 12px;
}
.blocked-list article > div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blocked-list button {
  border: 1px solid #9b3648;
  background: white;
  color: #9b3648;
  border-radius: 99px;
  padding: 8px 11px;
}
.member-data-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.member-data-actions button:last-child {
  color: #9b3648;
}
.member-avatar {
  flex: 0 0 auto;
}

@media (max-width: 900px) {
  .member-home-grid {
    grid-template-columns: 1fr;
  }
  .passport-dashboard-grid {
    grid-template-columns: 1fr 1fr;
  }
  .member-quick-grid {
    grid-template-columns: 1fr;
  }
  .member-dashboard-shell {
    grid-template-columns: 150px 1fr;
  }
}

@media (max-width: 650px) {
  .topbar-actions .ghost:first-child {
    display: none;
  }
  .member-dashboard-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .connection-center {
    grid-template-columns: 1fr;
  }
  .connection-rail {
    flex-direction: row;
    overflow-x: auto;
  }
  .connection-rail > button {
    min-width: 210px;
  }
  .connection-tools {
    grid-template-columns: 1fr;
  }
  .notification-layout {
    grid-template-columns: 1fr;
  }
  .notification-feed article {
    grid-template-columns: auto 1fr;
  }
  .notification-feed article > button {
    grid-column: 2;
    justify-self: start;
  }
  .event-discovery-grid {
    grid-template-columns: 1fr;
  }
  .ticket-receipt-demo {
    grid-template-columns: 1fr;
  }
  .ticket-receipt-demo button {
    justify-self: start;
  }
  .member-dashboard > header {
    gap: 9px;
    padding: 12px;
  }
  .member-plan {
    display: none;
  }
  .member-dashboard-shell {
    grid-template-columns: 1fr;
  }
  .member-dashboard-shell > nav {
    flex-direction: row;
    overflow: auto;
    padding: 8px;
  }
  .member-dashboard-shell > nav button {
    white-space: nowrap;
  }
  .member-dashboard-shell > main {
    padding: 20px;
  }
  .member-dash-heading {
    flex-direction: column;
    gap: 8px;
  }
  .passport-dashboard-grid,
  .passport-invitations,
  .safety-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-event-list article,
  .connection-list article {
    grid-template-columns: auto 1fr;
  }
  .dashboard-event-list button,
  .connection-actions {
    grid-column: 2;
  }
  .connection-history > div {
    grid-template-columns: 1fr auto;
  }
  .connection-history em {
    grid-column: 1/-1;
  }
  .urgent-safety {
    align-items: flex-start;
    flex-direction: column;
  }
  .member-data-actions {
    flex-direction: column;
  }
}

.host-console-dialog {
  width: min(1160px, 97vw);
  height: min(820px, 95vh);
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #f5eef1;
  color: var(--ink);
}
.host-console-dialog::backdrop {
  background: rgba(26, 8, 17, 0.76);
  backdrop-filter: blur(7px);
}
.host-console {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.host-console > header {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #241019;
  color: white;
  padding: 16px 20px;
}
.host-console-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.host-console-brand > span {
  width: 49px;
  height: 49px;
  border-radius: 13px;
  background: white;
  display: grid;
  place-items: center;
}
.host-console-brand img {
  width: 90%;
  height: 90%;
  object-fit: contain;
}
.host-console-brand > div,
.host-event-status {
  display: flex;
  flex-direction: column;
}
.host-console-brand small,
.host-event-status small {
  color: #cdbac2;
  font-size: 0.7rem;
  letter-spacing: 0.07em;
}
.host-event-status {
  margin-left: auto;
  align-items: flex-end;
}
.host-event-status b {
  font-family: "Italiana";
  font-size: 1.7rem;
}
.host-console > header > button {
  border: 0;
  background: transparent;
  color: white;
  font-size: 1.8rem;
}
.host-console-shell {
  display: grid;
  grid-template-columns: 185px 1fr;
  flex: 1;
  min-height: 0;
}
.host-console-shell > nav {
  background: #30151f;
  padding: 18px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.host-console-shell > nav button {
  border: 0;
  background: transparent;
  color: #d9c7ce;
  border-radius: 9px;
  padding: 11px 13px;
  text-align: left;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
}
.host-console-shell > nav button.active {
  background: white;
  color: var(--wine);
}
.host-console-shell > nav b {
  background: #a42d54;
  color: white;
  border-radius: 99px;
  padding: 1px 6px;
  font-size: 0.7rem;
}
.host-console-shell > main {
  padding: 30px;
  overflow: auto;
}
.host-panel {
  display: none;
}
.host-panel.active {
  display: block;
  animation: stepIn 0.2s ease;
}
.host-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 20px;
}
.host-heading small {
  color: var(--berry);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.host-heading h2 {
  font-family: "Italiana";
  font-size: clamp(2.3rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
  margin: 6px 0;
}
.host-heading p {
  color: var(--muted);
  margin: 7px 0;
  max-width: 680px;
}
.host-draft,
.host-needs,
.host-approved {
  border-radius: 99px;
  background: #fff0cf;
  color: #795b13;
  padding: 8px 11px;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
}
.host-needs.complete {
  background: #ddf1eb;
  color: #20634f;
}
.host-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.host-form-grid label,
.host-wide-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}
.host-form-grid input,
.host-form-grid select,
.host-wide-field textarea {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  background: white;
  color: var(--ink);
}
.host-wide-field {
  margin-top: 10px;
}
.host-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-top: 16px;
}
.host-controls > span {
  color: var(--muted);
  font-size: 0.8rem;
}
.experience-builder {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.experience-builder label {
  position: relative;
}
.experience-builder input {
  position: absolute;
  opacity: 0;
}
.experience-builder label > span {
  display: flex;
  flex-direction: column;
  background: white;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 15px;
  min-height: 78px;
}
.experience-builder input:checked + span {
  border-color: var(--pink);
  box-shadow: inset 0 0 0 2px var(--pink);
  background: #fff7fa;
}
.experience-builder small {
  color: var(--muted);
  margin-top: 5px;
}
.event-zones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.event-zones article {
  background: #251019;
  color: white;
  border-radius: 12px;
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.event-zones span {
  color: #cdbac2;
  font-size: 0.75rem;
  margin-top: 5px;
}
.safety-staff-list {
  display: grid;
  gap: 8px;
}
.safety-staff-list article {
  display: flex;
  align-items: center;
  gap: 12px;
  background: white;
  border-left: 4px solid #9b3648;
  border-radius: 12px;
  padding: 14px;
}
.safety-staff-list article.complete {
  border-left-color: #28745f;
}
.safety-staff-list article > span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f6dfe1;
  color: #9b3648;
  font-weight: 800;
}
.safety-staff-list article.complete > span {
  background: #ddf1eb;
  color: #20634f;
}
.safety-staff-list article > div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.safety-staff-list small {
  color: var(--muted);
}
.safety-staff-list button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 8px 10px;
  color: var(--wine);
}
.safety-capacity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  background: #251019;
  color: white;
  border-radius: 12px;
  padding: 14px;
  margin-top: 10px;
}
.safety-capacity strong {
  margin-right: 7px;
}
.safety-capacity span {
  border: 1px solid #6d4e5b;
  border-radius: 99px;
  padding: 5px 8px;
  font-size: 0.72rem;
}
.ticket-builder {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.ticket-builder article {
  background: white;
  border-radius: 14px;
  padding: 15px;
}
.ticket-builder label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
  margin-bottom: 8px;
}
.ticket-builder input {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  width: 100%;
}
.ticket-builder label > div {
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding-left: 9px;
}
.ticket-builder label > div input {
  border: 0;
}
.event-economics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.event-economics article {
  background: #251019;
  color: white;
  border-radius: 12px;
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.event-economics small {
  color: #cdbac2;
}
.event-economics strong {
  font-family: "Italiana";
  font-size: 1.6rem;
}
.host-disclaimer {
  color: var(--muted);
  font-size: 0.75rem;
}
.approval-gates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.approval-gates article {
  background: white;
  border-left: 4px solid #bcaeb4;
  border-radius: 11px;
  padding: 13px;
  display: flex;
  gap: 10px;
}
.approval-gates article.complete {
  border-left-color: #28745f;
}
.approval-gates article > span {
  color: #7c6670;
  font-weight: 800;
}
.approval-gates article.complete > span {
  color: #28745f;
}
.approval-gates article > div {
  display: flex;
  flex-direction: column;
}
.approval-gates small {
  color: var(--muted);
}
.host-attestation {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  background: #eadfe3;
  border-radius: 11px;
  padding: 13px;
  margin-top: 10px;
  font-size: 0.8rem;
  line-height: 1.45;
}
.runshow-timeline {
  display: grid;
  gap: 3px;
}
.runshow-timeline article {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 14px;
  align-items: center;
  background: white;
  padding: 14px;
  border-radius: 9px;
}
.runshow-timeline time {
  font-family: "Italiana";
  font-size: 1.3rem;
}
.runshow-timeline article > div {
  display: flex;
  flex-direction: column;
}
.runshow-timeline small {
  color: var(--muted);
}
.runshow-timeline b {
  color: #795b13;
  font-size: 0.72rem;
}
.runshow-timeline article.done b {
  color: #20634f;
}
.activation-lock {
  display: flex;
  gap: 13px;
  background: #eadfe3;
  border-left: 4px solid var(--wine);
  border-radius: 11px;
  padding: 15px;
  margin-top: 10px;
}
.activation-lock > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--wine);
  color: white;
}
.activation-lock p {
  color: var(--muted);
  margin: 4px 0;
}
.host-panel button:disabled {
  opacity: 0.45;
}

@media (max-width: 800px) {
  .host-console-shell {
    grid-template-columns: 150px 1fr;
  }
  .event-economics {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 650px) {
  .host-console-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .host-console > header {
    padding: 12px;
  }
  .host-console-shell {
    grid-template-columns: 1fr;
  }
  .host-console-shell > nav {
    flex-direction: row;
    overflow: auto;
    padding: 8px;
  }
  .host-console-shell > nav button {
    white-space: nowrap;
  }
  .host-console-shell > main {
    padding: 20px;
  }
  .host-heading {
    flex-direction: column;
    gap: 8px;
  }
  .host-form-grid,
  .experience-builder,
  .ticket-builder,
  .approval-gates {
    grid-template-columns: 1fr;
  }
  .event-zones {
    grid-template-columns: 1fr;
  }
  .host-controls {
    align-items: flex-start;
    flex-direction: column;
  }
  .host-controls button {
    width: 100%;
  }
  .event-economics {
    grid-template-columns: 1fr 1fr;
  }
  .runshow-timeline article {
    grid-template-columns: 55px 1fr;
  }
  .runshow-timeline b {
    grid-column: 2;
  }
}

.event-ops-dialog {
  width: min(1200px, 98vw);
  height: min(840px, 96vh);
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #eef1f0;
  color: var(--ink);
}
.event-ops-dialog::backdrop {
  background: rgba(18, 8, 13, 0.8);
  backdrop-filter: blur(7px);
}
.event-ops {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.event-ops > header {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #1d1117;
  color: white;
  padding: 15px 20px;
}
.event-ops-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.event-ops-brand > span {
  width: 48px;
  height: 48px;
  background: white;
  border-radius: 12px;
  display: grid;
  place-items: center;
}
.event-ops-brand img {
  width: 90%;
  height: 90%;
  object-fit: contain;
}
.event-ops-brand > div,
.ops-live-state > div {
  display: flex;
  flex-direction: column;
}
.event-ops-brand small,
.ops-live-state small {
  color: #cdbac2;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}
.ops-live-state {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 9px;
}
.ops-live-state > i {
  width: 8px;
  height: 8px;
  background: #d6a32a;
  border-radius: 50%;
}
.event-ops > header > button {
  border: 0;
  background: transparent;
  color: white;
  font-size: 1.8rem;
}
.event-ops-shell {
  display: grid;
  grid-template-columns: 190px 1fr;
  flex: 1;
  min-height: 0;
}
.event-ops-shell > nav {
  background: #291720;
  padding: 18px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.event-ops-shell > nav button {
  border: 0;
  background: transparent;
  color: #d9c7ce;
  border-radius: 9px;
  padding: 11px 13px;
  text-align: left;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
}
.event-ops-shell > nav button.active {
  background: white;
  color: var(--wine);
}
.event-ops-shell > nav b {
  background: #a42d54;
  color: white;
  border-radius: 99px;
  padding: 1px 6px;
  font-size: 0.7rem;
}
.event-ops-shell > main {
  padding: 28px;
  overflow: auto;
}
.ops-panel {
  display: none;
}
.ops-panel.active {
  display: block;
  animation: stepIn 0.2s ease;
}
.ops-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 25px;
  margin-bottom: 18px;
}
.ops-heading small {
  color: var(--berry);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.ops-heading h2 {
  font-family: "Italiana";
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
  margin: 6px 0;
}
.ops-heading p {
  color: var(--muted);
  margin: 7px 0;
  max-width: 700px;
}
.ops-heading > span {
  background: #fff0cf;
  color: #795b13;
  border-radius: 99px;
  padding: 8px 11px;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
}
.ops-event-summary {
  display: grid;
  grid-template-columns: 1.5fr 0.5fr 0.7fr;
  gap: 8px;
}
.ops-event-summary article,
.live-ops-kpis article,
.closeout-grid article {
  background: #211219;
  color: white;
  border-radius: 13px;
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.ops-event-summary small,
.live-ops-kpis span,
.closeout-grid small,
.closeout-grid span {
  color: #cdbac2;
  font-size: 0.72rem;
}
.ops-event-summary strong {
  margin: 5px 0;
}
.ops-gates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 9px;
}
.ops-gates article {
  background: white;
  border-left: 4px solid #a7959d;
  border-radius: 11px;
  padding: 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
}
.ops-gates article.complete {
  border-left-color: #28745f;
}
.ops-gates article > span {
  font-weight: 800;
  color: #7a6870;
}
.ops-gates article.complete > span {
  color: #28745f;
}
.ops-gates article > div {
  display: flex;
  flex-direction: column;
}
.ops-gates small {
  color: var(--muted);
}
.ops-gates b {
  color: #28745f;
  font-size: 0.72rem;
}
.ops-gates button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 7px 9px;
  color: var(--wine);
  font-weight: 700;
}
.dual-approval {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  background: #e5dce0;
  border-radius: 10px;
  padding: 12px;
  margin-top: 9px;
  font-size: 0.8rem;
}
.ops-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-top: 14px;
}
.ops-controls span,
.ops-message {
  color: var(--muted);
  font-size: 0.8rem;
}
.ops-staff-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.ops-staff-grid article {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  background: white;
  border-radius: 12px;
  padding: 13px;
}
.ops-staff-grid article > span {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eadfe3;
  color: var(--wine);
  font-weight: 800;
}
.ops-staff-grid article > div {
  display: flex;
  flex-direction: column;
}
.ops-staff-grid small {
  color: var(--muted);
}
.ops-staff-grid b {
  color: #28745f;
  font-size: 0.7rem;
}
.ops-permissions {
  background: #211219;
  color: white;
  border-radius: 12px;
  padding: 15px;
  margin-top: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.ops-permissions strong {
  width: 100%;
}
.ops-permissions span {
  border: 1px solid #604651;
  border-radius: 99px;
  padding: 5px 8px;
  color: #d9c7ce;
  font-size: 0.72rem;
}
.ops-activation-card {
  background: #211219;
  color: white;
  border-radius: 16px;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.ops-activation-card > div:first-child {
  display: flex;
  flex-direction: column;
}
.ops-activation-card small {
  color: #ffabc9;
}
.ops-activation-card strong {
  font-family: "Italiana";
  font-size: 2.2rem;
  margin: 6px 0;
}
.ops-activation-card span {
  color: #cdbac2;
}
.ops-activation-actions {
  display: flex;
  gap: 7px;
}
.ops-activation-actions button {
  border: 0;
  border-radius: 99px;
  padding: 10px 12px;
  font-weight: 800;
}
.ops-activation-actions button:last-child {
  background: var(--pink);
  color: white;
}
.ops-panel button:disabled {
  opacity: 0.45;
}
.activation-safeguards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 9px;
}
.activation-safeguards article {
  background: white;
  border-radius: 11px;
  padding: 13px;
  display: flex;
  gap: 10px;
}
.activation-safeguards article > span {
  color: #28745f;
}
.activation-safeguards article > div {
  display: flex;
  flex-direction: column;
}
.activation-safeguards small {
  color: var(--muted);
}
.ops-live-badge.live {
  background: #ddf1eb;
  color: #20634f;
}
.live-ops-kpis,
.closeout-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.live-ops-kpis strong,
.closeout-grid strong {
  font-family: "Italiana";
  font-size: 2rem;
}
.live-ops-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 9px;
}
.live-ops-grid > article {
  background: white;
  border-radius: 14px;
  padding: 16px;
}
.ops-card-title {
  display: flex;
  justify-content: space-between;
}
.ops-card-title small {
  color: var(--muted);
}
.flow-bars p {
  display: grid;
  grid-template-columns: 1fr 1.5fr auto;
  gap: 8px;
  align-items: center;
  font-size: 0.75rem;
}
.flow-bars i {
  height: 7px;
  background: #e6dde1;
  border-radius: 99px;
  overflow: hidden;
}
.flow-bars i b {
  display: block;
  width: var(--width, var(--bar, var(--flow)));
  height: 100%;
  background: #28745f;
}
.flow-bars em {
  font-style: normal;
  color: var(--muted);
}
.live-ops-grid > article > button {
  border: 0;
  background: var(--wine);
  color: white;
  border-radius: 99px;
  padding: 9px 11px;
  font-weight: 800;
}
.incident-card {
  border-left: 4px solid #a42d54;
}
.incident-card.resolved {
  border-left-color: #28745f;
  opacity: 0.72;
}
.incident-card h3 {
  font-family: "Italiana";
  font-size: 1.6rem;
  font-weight: 400;
  margin: 15px 0 5px;
}
.incident-card p {
  color: var(--muted);
}
.incident-card > div:nth-last-child(2) {
  display: flex;
  gap: 6px;
}
.incident-card button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 8px 10px;
}
.incident-card > small {
  display: block;
  color: var(--muted);
  margin-top: 12px;
}
.event-kill-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #f6dfe1;
  border-left: 4px solid #9b3648;
  border-radius: 11px;
  padding: 13px;
  margin-top: 9px;
}
.event-kill-switch p {
  color: var(--muted);
  margin: 4px 0;
}
.event-kill-switch button {
  border: 0;
  background: #9b3648;
  color: white;
  border-radius: 99px;
  padding: 9px 12px;
  font-weight: 800;
}
.event-kill-switch button.paused {
  background: #28745f;
}
.closeout-grid span {
  margin-top: 5px;
}
.closeout-checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 9px;
}
.closeout-checks label {
  background: white;
  border-radius: 10px;
  padding: 12px;
  font-size: 0.8rem;
}
.ops-audit {
  background: white;
  border-radius: 14px;
  padding: 8px 17px;
}
.ops-audit article {
  display: grid;
  grid-template-columns: 85px 1fr;
  gap: 12px;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}
.ops-audit article:first-child {
  border-top: 0;
}
.ops-audit article > div {
  display: flex;
  flex-direction: column;
}
.ops-audit time,
.ops-audit small {
  color: var(--muted);
  font-size: 0.75rem;
}

@media (max-width: 800px) {
  .event-ops-shell {
    grid-template-columns: 150px 1fr;
  }
  .live-ops-kpis,
  .closeout-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ops-event-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .topbar-actions [data-open-event-ops] {
    display: none;
  }
  .event-ops-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .event-ops > header {
    padding: 12px;
  }
  .ops-live-state {
    display: none;
  }
  .event-ops-shell {
    grid-template-columns: 1fr;
  }
  .event-ops-shell > nav {
    flex-direction: row;
    overflow: auto;
    padding: 8px;
  }
  .event-ops-shell > nav button {
    white-space: nowrap;
  }
  .event-ops-shell > main {
    padding: 20px;
  }
  .ops-heading {
    flex-direction: column;
    gap: 8px;
  }
  .ops-gates,
  .ops-staff-grid,
  .activation-safeguards,
  .live-ops-grid,
  .closeout-checks {
    grid-template-columns: 1fr;
  }
  .ops-controls,
  .ops-activation-card {
    align-items: flex-start;
    flex-direction: column;
  }
  .ops-controls button {
    width: 100%;
  }
  .ops-activation-actions {
    width: 100%;
    flex-direction: column;
  }
  .live-ops-kpis,
  .closeout-grid {
    grid-template-columns: 1fr 1fr;
  }
  .event-kill-switch {
    align-items: flex-start;
    flex-direction: column;
  }
}

.comms-dialog {
  width: min(1180px, 98vw);
  height: min(830px, 96vh);
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #f3eef0;
  color: var(--ink);
}
.comms-dialog::backdrop {
  background: rgba(20, 7, 13, 0.8);
  backdrop-filter: blur(7px);
}
.comms-center {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.comms-center > header {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #1e1017;
  color: white;
  padding: 15px 20px;
}
.comms-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.comms-brand > span {
  width: 48px;
  height: 48px;
  background: white;
  border-radius: 12px;
  display: grid;
  place-items: center;
}
.comms-brand img {
  width: 90%;
  height: 90%;
  object-fit: contain;
}
.comms-brand > div,
.comms-health > div {
  display: flex;
  flex-direction: column;
}
.comms-brand small,
.comms-health small {
  color: #cdbac2;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}
.comms-health {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 9px;
}
.comms-health > i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ec19a;
}
.comms-center > header > button {
  border: 0;
  background: transparent;
  color: white;
  font-size: 1.8rem;
}
.comms-shell {
  display: grid;
  grid-template-columns: 185px 1fr;
  flex: 1;
  min-height: 0;
}
.comms-shell > nav {
  background: #2c1721;
  padding: 18px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.comms-shell > nav button {
  border: 0;
  background: transparent;
  color: #dac9d0;
  border-radius: 9px;
  padding: 11px 13px;
  text-align: left;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
}
.comms-shell > nav button.active {
  background: white;
  color: var(--wine);
}
.comms-shell > nav b {
  background: #a42d54;
  color: white;
  border-radius: 99px;
  padding: 1px 6px;
  font-size: 0.7rem;
}
.comms-shell > main {
  padding: 28px;
  overflow: auto;
}
.comms-panel {
  display: none;
}
.comms-panel.active {
  display: block;
  animation: stepIn 0.2s ease;
}
.comms-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.comms-heading small {
  color: var(--berry);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.comms-heading h2 {
  font-family: "Italiana";
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
  margin: 6px 0;
}
.comms-heading p {
  color: var(--muted);
  max-width: 700px;
  margin: 7px 0;
}
.comms-heading > button,
.comms-heading > span {
  border: 0;
  background: var(--wine);
  color: white;
  border-radius: 99px;
  padding: 9px 12px;
  font-weight: 800;
}
.comms-heading > span {
  font-size: 0.72rem;
}
.comms-kpis,
.delivery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.comms-kpis article,
.delivery-grid article {
  background: #221219;
  color: white;
  border-radius: 12px;
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.comms-kpis strong,
.delivery-grid strong {
  font-family: "Italiana";
  font-size: 1.8rem;
}
.comms-kpis span,
.delivery-grid span {
  color: #cdbac2;
  font-size: 0.72rem;
}
.message-queue,
.journey-list {
  display: grid;
  gap: 7px;
  margin-top: 9px;
}
.message-queue article,
.journey-list article {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 11px;
  align-items: center;
  background: white;
  border-radius: 11px;
  padding: 12px;
}
.message-queue article {
  border-left: 4px solid #8e7a83;
}
.message-queue article.urgent {
  border-left-color: #a42d54;
}
.message-queue article > span,
.journey-icon {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eadfe3;
  color: var(--wine);
}
.message-queue article > div,
.journey-list article > div {
  display: flex;
  flex-direction: column;
}
.message-queue small,
.journey-list small {
  color: var(--muted);
}
.message-queue b {
  font-size: 0.7rem;
  color: #795b13;
}
.message-queue button,
.template-list button,
.consent-proof button {
  border: 1px solid var(--line);
  background: white;
  color: var(--wine);
  border-radius: 99px;
  padding: 7px 9px;
  font-weight: 700;
}
.comms-message {
  min-height: 20px;
  color: #20634f;
  font-size: 0.8rem;
  font-weight: 800;
}
.journey-list em {
  font-style: normal;
  color: #28745f;
  font-size: 0.72rem;
}
.journey-toggle {
  width: 43px;
  height: 24px;
  border: 0;
  border-radius: 99px;
  background: #b6a8ae;
  padding: 3px;
}
.journey-toggle i {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: white;
  transition: 0.18s;
}
.journey-toggle.active {
  background: #28745f;
}
.journey-toggle.active i {
  transform: translateX(19px);
}
.journey-toggle.locked {
  opacity: 0.65;
}
.journey-rules {
  background: #221219;
  color: white;
  border-radius: 12px;
  padding: 14px;
  margin-top: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.journey-rules strong {
  width: 100%;
}
.journey-rules span {
  border: 1px solid #654953;
  border-radius: 99px;
  padding: 5px 8px;
  color: #dac9d0;
  font-size: 0.72rem;
}
.compose-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 12px;
}
.compose-form {
  background: white;
  border-radius: 15px;
  padding: 17px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.compose-form > label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}
.compose-form input,
.compose-form textarea,
.compose-form select {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 11px;
  color: var(--ink);
  background: white;
}
.channel-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.channel-picker label {
  background: #f1e8eb;
  border-radius: 99px;
  padding: 7px 9px;
  color: var(--ink);
  font-size: 0.75rem;
}
.compose-form .comms-confirm {
  flex-direction: row;
  align-items: flex-start;
  background: #eee4e8;
  padding: 10px;
  border-radius: 9px;
}
.phone-preview {
  background: #1c1016;
  border: 8px solid #2d2227;
  border-radius: 32px;
  padding: 60px 22px 24px;
  color: white;
  min-height: 410px;
  position: relative;
}
.phone-preview:before {
  content: "";
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 20px;
  border-radius: 99px;
  background: #090608;
}
.phone-preview > div {
  background: #f6f3f4;
  color: var(--ink);
  border-radius: 15px;
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.phone-preview small {
  color: var(--muted);
}
.phone-preview strong {
  margin: 5px 0;
}
.phone-preview p {
  color: var(--muted);
  line-height: 1.45;
}
.phone-preview > span {
  display: block;
  color: #bfaeb6;
  font-size: 0.72rem;
  margin-top: 15px;
}
.consent-table,
.delivery-log {
  background: white;
  border-radius: 14px;
  overflow: hidden;
}
.consent-row {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 0.6fr);
  gap: 7px;
  align-items: center;
  padding: 12px;
  border-top: 1px solid var(--line);
}
.consent-row.heading {
  background: #221219;
  color: white;
  border: 0;
  font-size: 0.72rem;
}
.consent-row b {
  font-size: 0.7rem;
  color: #28745f;
}
.mini-consent {
  border: 0;
  background: #e4dce0;
  color: var(--muted);
  border-radius: 99px;
  padding: 6px;
}
.mini-consent.active {
  background: #ddf1eb;
  color: #20634f;
}
.consent-proof {
  display: flex;
  align-items: center;
  gap: 11px;
  background: #e4eee9;
  border-left: 4px solid #28745f;
  border-radius: 11px;
  padding: 13px;
  margin-top: 9px;
}
.consent-proof > span {
  color: #28745f;
  font-weight: 800;
}
.consent-proof > div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.consent-proof p {
  color: var(--muted);
  margin: 3px 0;
  font-size: 0.76rem;
}
.delivery-log {
  margin-top: 9px;
}
.delivery-log article {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 11px;
  align-items: center;
  padding: 12px;
  border-top: 1px solid var(--line);
}
.delivery-log article > span {
  font-size: 0.7rem;
  font-weight: 800;
  border-radius: 99px;
  padding: 5px 7px;
  text-align: center;
}
.delivery-log .delivered {
  background: #ddf1eb;
  color: #20634f;
}
.delivery-log .suppressed {
  background: #fff0cf;
  color: #795b13;
}
.delivery-log .failed {
  background: #f6dfe1;
  color: #8b2933;
}
.delivery-log article > div {
  display: flex;
  flex-direction: column;
}
.delivery-log small {
  color: var(--muted);
}
.delivery-log b {
  font-size: 0.7rem;
}
.delivery-rule {
  display: flex;
  gap: 15px;
  background: #eadfe3;
  border-radius: 10px;
  padding: 13px;
  margin-top: 9px;
}
.delivery-rule span {
  color: var(--muted);
  font-size: 0.8rem;
}
.template-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.template-list article {
  background: white;
  border-radius: 12px;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
}
.template-list article > span {
  grid-column: 1/-1;
  color: var(--berry);
  font-size: 0.68rem;
  font-weight: 800;
}
.template-list p {
  grid-column: 1/-1;
  color: var(--muted);
  margin: 6px 0;
  font-size: 0.8rem;
}

@media (max-width: 850px) {
  .comms-shell {
    grid-template-columns: 150px 1fr;
  }
  .compose-layout {
    grid-template-columns: 1fr;
  }
  .phone-preview {
    min-height: 300px;
  }
  .comms-kpis,
  .delivery-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 650px) {
  .topbar-actions [data-open-comms] {
    display: none;
  }
  .comms-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .comms-center > header {
    padding: 12px;
  }
  .comms-health {
    display: none;
  }
  .comms-shell {
    grid-template-columns: 1fr;
  }
  .comms-shell > nav {
    flex-direction: row;
    overflow: auto;
    padding: 8px;
  }
  .comms-shell > nav button {
    white-space: nowrap;
  }
  .comms-shell > main {
    padding: 20px;
  }
  .comms-heading {
    flex-direction: column;
    gap: 8px;
  }
  .message-queue article,
  .journey-list article {
    grid-template-columns: auto 1fr;
  }
  .message-queue b,
  .message-queue button,
  .journey-list em,
  .journey-list .journey-toggle {
    grid-column: 2;
  }
  .consent-row {
    grid-template-columns: 1.4fr repeat(4, 0.7fr);
    font-size: 0.72rem;
  }
  .consent-proof {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .template-list {
    grid-template-columns: 1fr;
  }
  .delivery-log article {
    grid-template-columns: 80px 1fr;
  }
  .delivery-log b {
    grid-column: 2;
  }
  .delivery-rule {
    flex-direction: column;
    gap: 4px;
  }
}

.bi-dialog {
  width: min(1240px, 98vw);
  height: min(850px, 96vh);
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 24px;
  padding: 0;
  background: #f0eff0;
  color: var(--ink);
}
.bi-dialog::backdrop {
  background: rgba(15, 6, 10, 0.82);
  backdrop-filter: blur(8px);
}
.bi-center {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.bi-center > header {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #170d12;
  color: white;
  padding: 15px 20px;
}
.bi-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bi-brand > span {
  width: 48px;
  height: 48px;
  background: white;
  border-radius: 12px;
  display: grid;
  place-items: center;
}
.bi-brand img {
  width: 90%;
  height: 90%;
  object-fit: contain;
}
.bi-brand > div {
  display: flex;
  flex-direction: column;
}
.bi-brand small {
  color: #cdbac2;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}
.bi-center > header > label {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #cdbac2;
  font-size: 0.75rem;
}
.bi-center > header select {
  background: #2e1b24;
  color: white;
  border: 1px solid #614a54;
  border-radius: 8px;
  padding: 8px;
}
.bi-center > header > button {
  border: 0;
  background: transparent;
  color: white;
  font-size: 1.8rem;
}
.bi-shell {
  display: grid;
  grid-template-columns: 190px 1fr;
  flex: 1;
  min-height: 0;
}
.bi-shell > nav {
  background: #26151d;
  padding: 18px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.bi-shell > nav button {
  border: 0;
  background: transparent;
  color: #dac9d0;
  border-radius: 9px;
  padding: 11px 13px;
  text-align: left;
  font-weight: 700;
}
.bi-shell > nav button.active {
  background: white;
  color: var(--wine);
}
.bi-shell > main {
  padding: 28px;
  overflow: auto;
}
.bi-panel {
  display: none;
}
.bi-panel.active {
  display: block;
  animation: stepIn 0.2s ease;
}
.bi-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.bi-heading small {
  color: var(--berry);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.bi-heading h2 {
  font-family: "Italiana";
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
  margin: 6px 0;
}
.bi-heading p {
  color: var(--muted);
  max-width: 720px;
  margin: 7px 0;
}
.bi-heading > button {
  border: 0;
  background: var(--wine);
  color: white;
  border-radius: 99px;
  padding: 9px 12px;
  font-weight: 800;
}
.bi-kpis,
.retention-grid,
.safety-bi-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.bi-kpis article,
.retention-grid article,
.safety-bi-kpis article {
  background: #1d1117;
  color: white;
  border-radius: 13px;
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.bi-kpis small,
.retention-grid small,
.safety-bi-kpis small {
  color: #cdbac2;
  font-size: 0.68rem;
  letter-spacing: 0.07em;
}
.bi-kpis strong,
.retention-grid strong,
.safety-bi-kpis strong {
  font-family: "Italiana";
  font-size: 2rem;
  margin: 6px 0;
}
.bi-kpis span,
.retention-grid span,
.safety-bi-kpis span {
  color: #70d3af;
  font-size: 0.72rem;
}
.bi-overview-grid {
  display: grid;
  grid-template-columns: 0.75fr 1fr 1.1fr;
  gap: 8px;
  margin-top: 9px;
}
.bi-overview-grid > article,
.cohort-card,
.safety-trends > article {
  background: white;
  border-radius: 14px;
  padding: 15px;
}
.bi-card-title {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.bi-card-title small {
  color: var(--muted);
}
.donut-chart {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: conic-gradient(
    #8e1745 0 52%,
    #f0568e 52% 85%,
    #d19d2a 85% 96%,
    #70616a 96%
  );
  margin: 16px auto;
  display: grid;
  place-items: center;
}
.donut-chart > div {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.donut-chart strong {
  font-family: "Italiana";
  font-size: 1.4rem;
}
.donut-chart small {
  color: var(--muted);
}
.chart-legend {
  list-style: none;
  padding: 0;
  margin: 0;
}
.chart-legend li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 7px;
  align-items: center;
  font-size: 0.75rem;
  padding: 3px;
}
.chart-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8e1745;
}
.chart-legend i.tickets {
  background: #f0568e;
}
.chart-legend i.partners {
  background: #d19d2a;
}
.chart-legend i.other {
  background: #70616a;
}
.column-chart {
  height: 180px;
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding-top: 30px;
}
.column-chart i {
  height: var(--h);
  background: linear-gradient(#ed6699, #74133a);
  border-radius: 6px 6px 0 0;
  flex: 1;
  position: relative;
}
.column-chart b {
  position: absolute;
  top: -22px;
  width: 100%;
  text-align: center;
  font-size: 0.7rem;
}
.chart-axis {
  display: flex;
  justify-content: space-around;
  color: var(--muted);
  font-size: 0.7rem;
}
.executive-actions button {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--line);
  background: white;
  text-align: left;
  padding: 12px 0;
  display: flex;
  justify-content: space-between;
}
.executive-actions button b {
  color: var(--berry);
}
.executive-actions p {
  color: #20634f;
  font-size: 0.75rem;
}
.bi-privacy-note,
.partner-boundary,
.market-rule {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #e0f1ec;
  border-left: 4px solid #28745f;
  border-radius: 11px;
  padding: 13px;
  margin-top: 9px;
}
.bi-privacy-note > span,
.market-rule > span {
  color: #28745f;
}
.bi-privacy-note p,
.market-rule p {
  color: var(--muted);
  margin: 3px 0;
}
.revenue-waterfall {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 8px;
}
.revenue-waterfall article {
  background: white;
  border-radius: 12px;
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.revenue-waterfall article.net {
  background: #1d1117;
  color: white;
}
.revenue-waterfall small {
  color: var(--muted);
}
.revenue-waterfall strong {
  font-family: "Italiana";
  font-size: 1.6rem;
}
.economics-table,
.event-bi-table {
  background: white;
  border-radius: 14px;
  overflow: hidden;
  margin-top: 9px;
}
.economics-table > div,
.event-bi-table > div {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 0.7fr);
  gap: 8px;
  padding: 12px;
  border-top: 1px solid var(--line);
  align-items: center;
}
.economics-table .heading,
.event-bi-table .heading {
  background: #1d1117;
  color: white;
  border: 0;
  font-size: 0.7rem;
}
.economics-table b,
.event-bi-table b {
  color: #28745f;
}
.economics-table em,
.event-bi-table em {
  font-style: normal;
  color: var(--muted);
}
.cash-controls {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 9px;
}
.cash-controls article {
  background: #e8dfe3;
  border-radius: 12px;
  padding: 13px;
  display: flex;
  flex-direction: column;
}
.cash-controls strong {
  font-family: "Italiana";
  font-size: 1.5rem;
}
.cash-controls small {
  color: var(--muted);
}
.member-funnel {
  display: grid;
  gap: 6px;
}
.member-funnel article {
  display: grid;
  grid-template-columns: 90px 1fr 2fr;
  gap: 12px;
  align-items: center;
}
.member-funnel i {
  height: 25px;
  width: var(--w);
  background: linear-gradient(90deg, #75133b, #ee6899);
  border-radius: 5px;
}
.retention-grid {
  margin-top: 10px;
}
.cohort-card {
  margin-top: 9px;
}
.cohort-row {
  display: grid;
  grid-template-columns: 80px repeat(3, 1fr);
  gap: 7px;
  margin-top: 7px;
}
.cohort-row b {
  background: color-mix(in srgb, #8e1745 var(--c, 8%), white);
  padding: 9px;
  text-align: center;
  border-radius: 6px;
}
.event-insights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 9px;
}
.event-insights article {
  background: white;
  border-radius: 12px;
  padding: 13px;
  display: flex;
  gap: 10px;
}
.event-insights article > span {
  color: #28745f;
}
.event-insights p {
  color: var(--muted);
  margin: 4px 0;
  font-size: 0.78rem;
}
.partner-bi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.partner-bi-grid article {
  background: white;
  border-radius: 14px;
  padding: 15px;
}
.partner-bi-grid article > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3px 9px;
}
.partner-bi-grid article > div > span {
  grid-row: 1/3;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eadfe3;
  color: var(--wine);
  font-weight: 800;
}
.partner-bi-grid small {
  color: var(--muted);
}
.partner-bi-grid dl {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px;
  margin: 15px 0;
  font-size: 0.78rem;
}
.partner-bi-grid dd {
  font-weight: 800;
}
.partner-bi-grid article > b {
  color: #28745f;
  font-size: 0.72rem;
}
.partner-boundary {
  justify-content: space-between;
}
.partner-boundary span {
  color: var(--muted);
  font-size: 0.8rem;
}
.safety-trends {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 9px;
}
.safety-trends article > p {
  display: grid;
  grid-template-columns: 1fr 1.5fr auto;
  gap: 8px;
  align-items: center;
  font-size: 0.75rem;
}
.safety-trends i,
.market-list > article > i {
  height: 7px;
  background: #e6dde1;
  border-radius: 99px;
  overflow: hidden;
}
.safety-trends i b {
  display: block;
  width: var(--s);
  height: 100%;
  background: #a42d54;
}
.safety-trends em {
  font-style: normal;
}
.safety-trends ul {
  list-style: none;
  padding: 0;
}
.safety-trends li {
  padding: 7px 0;
  border-top: 1px solid var(--line);
  font-size: 0.78rem;
}
.market-list {
  display: grid;
  gap: 7px;
}
.market-list article {
  display: grid;
  grid-template-columns: auto 1.2fr 1fr 120px;
  gap: 12px;
  align-items: center;
  background: white;
  border-radius: 12px;
  padding: 13px;
}
.market-rank {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #241019;
  color: white;
}
.market-list article > div {
  display: flex;
  flex-direction: column;
}
.market-list small {
  color: var(--muted);
}
.market-list > article > i b {
  display: block;
  width: var(--m);
  height: 100%;
  background: #28745f;
}
.market-list em {
  font-style: normal;
  color: #28745f;
  font-size: 0.75rem;
}
.bi-export-message {
  color: #20634f;
  font-size: 0.8rem;
  font-weight: 800;
}

.safety-duty {
  background: #e0f1ec;
  color: #20634f;
  border-radius: 99px;
  padding: 8px 11px;
  font-size: 0.68rem;
  font-weight: 800;
}
.safety-command-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 10px;
}
.safety-command-kpis article,
.safety-case,
.safety-side article,
.safety-audit {
  background: white;
  border-radius: 14px;
  padding: 15px;
}
.safety-command-kpis article {
  display: flex;
  flex-direction: column;
}
.safety-command-kpis strong {
  font-family: "Italiana";
  font-size: 1.8rem;
}
.safety-command-kpis small {
  color: var(--muted);
}
.safety-command-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 9px;
}
.safety-case.urgent {
  border-left: 5px solid #a42d54;
}
.safety-case.resolved {
  border-left-color: #28745f;
}
.safety-case-head,
.safety-card-title {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.safety-case-head span {
  color: #a42d54;
  font-weight: 800;
  font-size: 0.72rem;
}
.safety-case-head small,
.safety-card-title small {
  color: var(--muted);
}
.safety-case h3 {
  font-family: "Italiana";
  font-size: 1.8rem;
  margin: 13px 0 5px;
}
.safety-case > p,
.safety-side p {
  color: var(--muted);
}
.safety-case dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.safety-case dl div {
  background: #f5f0f2;
  border-radius: 9px;
  padding: 9px;
  display: flex;
  flex-direction: column;
}
.safety-case dt {
  color: var(--muted);
  font-size: 0.68rem;
}
.safety-case dd {
  margin: 2px 0;
  font-weight: 800;
}
.safety-case label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 0.7rem;
  font-weight: 800;
}
.safety-case textarea {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px;
  font: inherit;
  resize: vertical;
}
.safety-case-actions,
.appeal-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 9px;
}
.safety-case-actions button,
.appeal-actions button,
.danger-outline {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 9px 11px;
}
.safety-case-actions .danger {
  background: #8b2933;
  color: white;
}
.safety-case-actions .primary {
  background: var(--berry);
  color: white;
}
.safety-side {
  display: grid;
  gap: 9px;
}
.safety-side ol {
  list-style: none;
  padding: 0;
}
.safety-side li {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 0;
  border-top: 1px solid var(--line);
}
.safety-side li b {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #28121c;
  color: white;
  display: grid;
  place-items: center;
}
.danger-outline {
  border-color: #a42d54;
  color: #8b2933;
}
.safety-audit {
  margin-top: 9px;
}
.safety-audit p {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 8px;
  padding: 8px 0;
  margin: 0;
  border-top: 1px solid var(--line);
}
.safety-audit span {
  display: flex;
  flex-direction: column;
}
.safety-audit time,
.safety-audit small {
  color: var(--muted);
  font-size: 0.7rem;
}
.safety-boundary {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #e0f1ec;
  border-left: 4px solid #28745f;
  border-radius: 11px;
  padding: 12px;
  margin-top: 9px;
}
.safety-boundary > span {
  color: #28745f;
}
.safety-boundary p {
  margin: 2px 0;
  color: var(--muted);
}
.member-safety-dialog {
  border: 0;
  border-radius: 22px;
  padding: 0;
  width: min(94vw, 620px);
  box-shadow: 0 28px 80px #23091355;
}
.member-safety-dialog::backdrop {
  background: #180711bb;
  backdrop-filter: blur(5px);
}
.member-safety-card {
  position: relative;
  padding: 30px;
  background: #fff9f6;
}
.member-safety-card h2 {
  font-family: "Italiana";
  font-size: 2.2rem;
  margin: 8px 0;
}
.member-safety-card > p {
  color: var(--muted);
}
.member-safety-card > label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 13px;
  font-weight: 750;
  font-size: 0.8rem;
}
.member-safety-card select,
.member-safety-card textarea {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px;
  background: white;
  font: inherit;
}
.member-safety-card .report-check {
  flex-direction: row;
  align-items: center;
  font-weight: 600;
}
.dialog-x {
  position: absolute;
  right: 16px;
  top: 15px;
  border: 0;
  background: transparent;
  font-size: 1.6rem;
}
.report-block-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #f2e8ec;
  border-radius: 12px;
  padding: 12px;
  margin: 14px 0;
}
.report-block-choice div {
  display: flex;
  flex-direction: column;
}
.report-block-choice small {
  color: var(--muted);
}
.report-block-choice button,
.followup-choices button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 9px 13px;
}
.report-emergency {
  display: flex;
  flex-direction: column;
  background: #fff0e6;
  border-left: 4px solid #a42d54;
  padding: 10px;
  border-radius: 8px;
  margin-bottom: 14px;
}
.report-emergency span {
  font-size: 0.75rem;
  color: var(--muted);
}
.followup-choices {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.followup-choices button {
  padding: 13px;
}
.followup-choices .danger {
  background: #8b2933;
  color: white;
}
#memberSafetyResult,
#followupResult {
  color: #20634f;
  font-weight: 750;
  font-size: 0.8rem;
}

@media (max-width: 900px) {
  .bi-shell {
    grid-template-columns: 150px 1fr;
  }
  .bi-overview-grid {
    grid-template-columns: 1fr 1fr;
  }
  .executive-actions {
    grid-column: 1/-1;
  }
  .bi-kpis,
  .retention-grid,
  .safety-bi-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .partner-bi-grid {
    grid-template-columns: 1fr;
  }
  .event-insights {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .topbar-actions [data-open-bi] {
    display: none;
  }
  .bi-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .bi-center > header {
    padding: 12px;
  }
  .bi-center > header > label {
    display: none;
  }
  .bi-shell {
    grid-template-columns: 1fr;
  }
  .bi-shell > nav {
    flex-direction: row;
    overflow: auto;
    padding: 8px;
  }
  .bi-shell > nav button {
    white-space: nowrap;
  }
  .bi-shell > main {
    padding: 20px;
  }
  .bi-heading {
    flex-direction: column;
    gap: 8px;
  }
  .bi-overview-grid,
  .safety-trends {
    grid-template-columns: 1fr;
  }
  .bi-kpis,
  .retention-grid,
  .safety-bi-kpis,
  .cash-controls,
  .event-insights {
    grid-template-columns: 1fr 1fr;
  }
  .revenue-waterfall {
    grid-template-columns: 1fr;
  }
  .revenue-waterfall > span {
    display: none;
  }
  .economics-table > div,
  .event-bi-table > div {
    grid-template-columns: 1.4fr 1fr;
  }
  .economics-table > div > *:nth-child(4),
  .economics-table > div > *:nth-child(5),
  .event-bi-table > div > *:nth-child(4),
  .event-bi-table > div > *:nth-child(5) {
    display: none;
  }
  .member-funnel article {
    grid-template-columns: 70px 1fr;
  }
  .member-funnel i {
    grid-column: 1/-1;
  }
  .market-list article {
    grid-template-columns: auto 1fr;
  }
  .market-list > article > i,
  .market-list em {
    grid-column: 2;
  }
  .partner-boundary {
    align-items: flex-start;
    flex-direction: column;
  }
}
.back-office-button {
  background: #f22c73 !important;
  border-color: #f22c73 !important;
  font-weight: 800;
}
.super-admin-dialog {
  border: 0;
  padding: 0;
  width: min(96vw, 1120px);
  height: min(92vh, 820px);
  border-radius: 22px;
  box-shadow: 0 30px 90px #16061088;
}
.super-admin-dialog::backdrop {
  background: #160710cc;
  backdrop-filter: blur(6px);
}
.super-admin-hub {
  height: 100%;
  background: #f7f1f3;
  overflow: auto;
}
.super-admin-hub > header {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #1b0c13;
  color: white;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.super-admin-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: auto;
}
.super-admin-brand > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
}
.super-admin-brand img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.super-admin-brand div,
.super-admin-identity span {
  display: flex;
  flex-direction: column;
}
.super-admin-brand small,
.super-admin-identity small {
  color: #cdbbc3;
  font-size: 0.68rem;
}
.super-admin-brand strong {
  font-family: "Italiana";
  font-size: 1.55rem;
}
.super-admin-identity {
  display: flex;
  align-items: center;
  gap: 8px;
}
.super-admin-identity i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #52ce9e;
  box-shadow: 0 0 0 4px #52ce9e22;
}
.super-admin-identity strong {
  font-size: 0.78rem;
}
.super-admin-hub > header > button {
  border: 0;
  background: transparent;
  color: white;
  font-size: 1.7rem;
}
.super-admin-hub > main {
  padding: 24px;
}
.super-admin-welcome {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}
.super-admin-welcome h2 {
  font-family: "Italiana";
  font-size: 2.5rem;
  margin: 7px 0;
}
.super-admin-welcome p {
  color: var(--muted);
}
.super-admin-alerts {
  background: white;
  border-radius: 13px;
  padding: 13px;
  display: flex;
  flex-direction: column;
  min-width: 220px;
}
.super-admin-alerts b {
  font-family: "Italiana";
  font-size: 1.6rem;
  color: var(--berry);
}
.super-admin-alerts small {
  color: var(--muted);
}
.super-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin: 18px 0;
}
.super-admin-grid > button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 15px;
  padding: 15px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.super-admin-grid > button:hover {
  border-color: var(--berry);
  transform: translateY(-1px);
}
.super-admin-grid > button:disabled {
  opacity: 0.45;
}
.super-admin-grid > button > span {
  width: 39px;
  height: 39px;
  border-radius: 10px;
  background: #f1e3e9;
  color: var(--wine);
  display: grid;
  place-items: center;
  font-weight: 800;
}
.super-admin-grid > button > div {
  display: flex;
  flex-direction: column;
}
.super-admin-grid small {
  color: var(--muted);
  margin-top: 3px;
}
.super-admin-grid b {
  color: var(--berry);
  font-size: 0.72rem;
}
.super-admin-grid em {
  font-style: normal;
  background: #fff0dc;
  color: #7b5610;
  border-radius: 99px;
  padding: 5px 7px;
  font-size: 0.62rem;
  font-weight: 800;
}
.access-matrix {
  background: #25131c;
  color: white;
  border-radius: 14px;
  padding: 15px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 16px;
}
.access-matrix > div:first-child {
  display: flex;
  flex-direction: column;
}
.access-matrix small {
  color: #cdbbc3;
}
.access-matrix > div:last-child {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 8px;
  font-size: 0.72rem;
}
.access-matrix span {
  color: #cdbbc3;
}
.access-matrix b {
  color: #fff;
}
#superAdminMessage {
  color: #20634f;
  font-weight: 800;
  font-size: 0.78rem;
}
@media (max-width: 700px) {
  .super-admin-dialog {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
  .super-admin-identity {
    display: none;
  }
  .super-admin-hub > main {
    padding: 17px;
  }
  .super-admin-welcome {
    align-items: flex-start;
    flex-direction: column;
  }
  .super-admin-alerts {
    width: 100%;
  }
  .super-admin-grid {
    grid-template-columns: 1fr;
  }
  .super-admin-grid > button {
    grid-template-columns: auto 1fr;
  }
  .super-admin-grid > button > b,
  .super-admin-grid > button > em {
    grid-column: 2;
  }
  .access-matrix {
    grid-template-columns: 1fr;
  }
  .access-matrix > div:last-child {
    grid-template-columns: 1fr 1fr;
  }
}
.access-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 9px;
}
.access-kpis article {
  background: white;
  border-radius: 12px;
  padding: 13px;
  display: flex;
  flex-direction: column;
}
.access-kpis strong {
  font-family: "Italiana";
  font-size: 1.6rem;
}
.access-kpis small {
  color: var(--muted);
}
.staff-access-layout {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 9px;
}
.staff-access-layout > section,
.staff-access-layout > aside,
.access-audit {
  background: white;
  border-radius: 14px;
  padding: 15px;
}
.access-section-title {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.access-section-title small {
  color: var(--muted);
}
.staff-directory {
  display: grid;
  gap: 5px;
}
.staff-directory article {
  display: grid;
  grid-template-columns: auto 1.2fr 0.9fr 0.8fr auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding: 9px 0;
}
.staff-directory article > span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #eadfe3;
  color: var(--wine);
  display: grid;
  place-items: center;
  font-weight: 800;
}
.staff-directory article > div {
  display: flex;
  flex-direction: column;
}
.staff-directory small,
.staff-directory em {
  color: var(--muted);
  font-size: 0.68rem;
}
.staff-directory em {
  font-style: normal;
}
.staff-directory button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 7px 9px;
}
.role-catalog {
  display: grid;
  gap: 6px;
}
.role-catalog article {
  background: #f6f0f2;
  border-radius: 9px;
  padding: 9px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 8px;
}
.role-catalog article div {
  display: flex;
  flex-direction: column;
}
.role-catalog small {
  color: var(--muted);
  font-size: 0.64rem;
}
.role-catalog b {
  font-size: 0.68rem;
}
.role-catalog em {
  font-style: normal;
  color: #28745f;
  font-size: 0.65rem;
}
.access-rule {
  background: #24121b;
  color: white;
  border-radius: 10px;
  padding: 11px;
  margin-top: 9px;
}
.access-rule p {
  color: #d3c5cb;
  font-size: 0.72rem;
}
.access-audit {
  margin-top: 9px;
}
.access-audit p {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 8px;
  border-top: 1px solid var(--line);
  padding: 8px 0;
  margin: 0;
}
.access-audit p span {
  display: flex;
  flex-direction: column;
}
.access-audit time,
.access-audit small {
  color: var(--muted);
  font-size: 0.68rem;
}
.member-safety-card input {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px;
  font: inherit;
}
.invite-safeguards {
  display: grid;
  gap: 5px;
  background: #e0f1ec;
  border-radius: 10px;
  padding: 10px;
  margin: 13px 0;
  color: #20634f;
  font-size: 0.72rem;
}
@media (max-width: 850px) {
  .access-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .staff-access-layout {
    grid-template-columns: 1fr;
  }
  .staff-directory article {
    grid-template-columns: auto 1fr auto;
  }
  .staff-directory article > b,
  .staff-directory article > em {
    grid-column: 2;
  }
  .access-audit p {
    grid-template-columns: 1fr;
  }
}
.integration-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.integration-grid > article {
  background: white;
  border-radius: 13px;
  padding: 13px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}
.integration-grid article > div {
  display: flex;
  flex-direction: column;
}
.integration-grid small {
  color: var(--muted);
  text-transform: capitalize;
}
.integration-grid b {
  border-radius: 99px;
  background: #fff0dc;
  color: #7b5610;
  padding: 6px 8px;
  font-size: 0.65rem;
  text-transform: uppercase;
}
.integration-grid .configured ~ div ~ b {
  background: #e0f1ec;
  color: #20634f;
}
.integration-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d49835;
  box-shadow: 0 0 0 4px #d4983522;
}
.integration-dot.configured {
  background: #2a8b6e;
  box-shadow: 0 0 0 4px #2a8b6e22;
}
.integration-ops {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 9px;
}
.integration-ops > article {
  background: white;
  border-radius: 13px;
  padding: 14px;
}
.integration-actions {
  display: flex;
  gap: 7px;
  margin: 12px 0;
}
.integration-actions button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 99px;
  padding: 8px 11px;
}
.integration-ops p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.72rem;
}
.integration-ops p span,
#integrationTestMessage {
  color: var(--muted);
}
@media (max-width: 850px) {
  .integration-grid,
  .integration-ops {
    grid-template-columns: 1fr;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.melt-guide-launcher {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 20;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  background: #1a0a12;
  color: white;
  padding: 8px 17px 8px 8px;
  display: flex;
  align-items: center;
  gap: 9px;
  box-shadow: 0 16px 45px rgba(22, 5, 14, 0.34);
  font-size: 0.88rem;
}
.melt-guide-launcher > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #ff4f91, #721232);
}
.melt-guide-launcher img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.melt-guide-launcher:hover {
  transform: translateY(-2px);
}
.melt-guide {
  position: fixed;
  right: 24px;
  bottom: 88px;
  z-index: 21;
  width: min(390px, calc(100vw - 32px));
  max-height: min(670px, calc(100vh - 115px));
  background: #fffaf7;
  border: 1px solid rgba(93, 16, 45, 0.15);
  border-radius: 24px;
  box-shadow: 0 24px 80px rgba(22, 5, 14, 0.36);
  display: none;
  grid-template-rows: auto minmax(150px, 1fr) auto auto auto;
  overflow: hidden;
}
.melt-guide.open {
  display: grid;
}
.melt-guide > header {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 10px;
  background: #170a11;
  color: white;
  padding: 15px;
}
.melt-guide-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #ff5a98, #751334);
  position: relative;
}
.melt-guide-avatar img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}
.melt-guide-avatar i {
  position: absolute;
  right: 0;
  bottom: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #52ce9e;
  border: 2px solid #170a11;
}
.melt-guide header div:nth-child(2) {
  display: flex;
  flex-direction: column;
}
.melt-guide header small {
  color: #cdbbc3;
  font-size: 0.72rem;
}
.melt-guide > header button {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: transparent;
  color: white;
  border-radius: 999px;
  padding: 7px 9px;
  font-size: 0.72rem;
}
.melt-guide > header #meltGuideClose {
  border: 0;
  font-size: 1.35rem;
  padding: 4px;
}
.melt-guide-messages {
  overflow: auto;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.guide-message {
  align-self: flex-start;
  max-width: 88%;
}
.guide-message.user {
  align-self: flex-end;
}
.guide-message > span {
  display: block;
  font-size: 0.68rem;
  color: var(--muted);
  margin: 0 8px 4px;
}
.guide-message p {
  margin: 0;
  background: white;
  border: 1px solid var(--line);
  border-radius: 17px 17px 17px 5px;
  padding: 12px 14px;
  line-height: 1.5;
  font-size: 0.9rem;
}
.guide-message.user p {
  background: #741536;
  color: white;
  border: 0;
  border-radius: 17px 17px 5px 17px;
}
.melt-guide-prompts {
  padding: 0 16px 12px;
  display: flex;
  gap: 6px;
  overflow-x: auto;
}
.melt-guide-prompts button {
  flex: none;
  border: 1px solid #d8bcc7;
  background: white;
  color: #64112f;
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 0.76rem;
}
.melt-guide form {
  margin: 0 15px;
  display: grid;
  grid-template-columns: 1fr auto;
  border: 1px solid #cab2bc;
  background: white;
  border-radius: 999px;
  padding: 5px;
}
.melt-guide form input {
  border: 0;
  outline: 0;
  background: transparent;
  padding: 8px 10px;
  min-width: 0;
}
.melt-guide form button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: var(--pink);
  color: white;
  font-size: 1.2rem;
}
.melt-guide-note {
  margin: 10px 18px 14px;
  color: var(--muted);
  font-size: 0.69rem;
  line-height: 1.4;
}
.melt-guide-thinking {
  opacity: 0.65;
}
@media (max-width: 600px) {
  .melt-guide-launcher {
    right: 14px;
    bottom: 14px;
    width: 54px;
    height: 54px;
    padding: 6px;
    justify-content: center;
  }
  .melt-guide-launcher > span {
    width: 42px;
    height: 42px;
  }
  .melt-guide-launcher > b {
    display: none;
  }
  .melt-guide {
    right: 8px;
    bottom: 75px;
    width: calc(100vw - 16px);
    max-height: calc(100vh - 90px);
    border-radius: 20px;
  }
  .melt-guide > header {
    grid-template-columns: auto 1fr auto;
  }
  .melt-guide > header #meltGuideVoice {
    grid-column: 2;
  }
  .melt-guide > header #meltGuideClose {
    grid-column: 3;
    grid-row: 1;
  }
}
.training-manager {
  background: white;
  border-radius: 14px;
  padding: 15px;
  margin-top: 9px;
}
.training-manager > div:nth-child(2) {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
}
.training-manager span {
  display: flex;
  flex-direction: column;
  background: #f6f0f2;
  border-radius: 9px;
  padding: 10px;
}
.training-manager small {
  color: var(--muted);
}
.training-manager button {
  border: 0;
  border-radius: 99px;
  background: var(--berry);
  color: white;
  padding: 9px 12px;
}
.training-manager p {
  color: #20634f;
  font-size: 0.75rem;
  font-weight: 800;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 9999;
  transform: translateY(-160%);
  background: #fff;
  color: #15080f;
  padding: 10px 14px;
  border-radius: 8px;
  font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.consent-line {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  margin-top: 12px;
  max-width: 680px;
  font-size: 0.88rem;
  line-height: 1.45;
}
.consent-line input { width: 18px !important; min-width: 18px; height: 18px; margin-top: 2px; }
.form-status { min-height: 1.5em; margin-top: 10px; font-weight: 700; }
.join-live-card { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 28px; padding: 26px; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; background: rgba(255,255,255,.08); }
.join-live-card h3 { margin: 4px 0 8px; }
.join-live-card p { max-width: 680px; }
.join-live-card > a { display: inline-flex; flex: 0 0 auto; text-decoration: none; }
@media (max-width: 700px) { .join-live-card { align-items: flex-start; flex-direction: column; } }
.policy-main {
  width: min(860px, calc(100% - 36px));
  margin: 0 auto;
  padding: 110px 0 80px;
}
.policy-main > h1 { max-width: 780px; margin: 8px 0 14px; }
.policy-main > p, .policy-main section p, .policy-main li { font-size: 1rem; line-height: 1.75; }
.policy-main section { padding: 28px 0; border-top: 1px solid rgba(64, 16, 38, 0.16); }
.policy-main section h2 { margin-bottom: 10px; }
.policy-meta { color: var(--muted); }
.simple-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: center;
  padding: 28px 20px;
  background: #15080f;
  color: white;
}
.simple-footer a { color: white; }
.simple-footer span { opacity: 0.72; }
.language-picker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 10px;
  color: white;
  font-size: .78rem;
  font-weight: 700;
}
.topbar > .language-picker { flex: 0 0 auto; }
.language-picker span { opacity: .78; white-space: nowrap; }
.language-picker select {
  max-width: 112px;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  padding: 7px 25px 7px 10px;
  background: #2a101c;
  color: white;
  font: inherit;
  cursor: pointer;
}
.language-picker select:focus-visible { outline-color: #fff; }
#melt-translation-engine {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  pointer-events: none;
}
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt { display: none !important; }
body { top: 0 !important; }
.contact-form { display: grid; gap: 18px; margin-top: 36px; max-width: 680px; }
.contact-form label { display: grid; gap: 8px; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%;
  border: 1px solid rgba(64, 16, 38, 0.25);
  border-radius: 10px;
  padding: 12px 14px;
  background: white;
  color: #15080f;
  font: inherit;
}
.contact-form textarea { resize: vertical; }
:focus-visible { outline: 3px solid #ff4f8b; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
@media (max-width: 900px) {
  .policy-page .topbar nav { display: flex; max-width: calc(100vw - 150px); overflow-x: auto; gap: 14px; padding-bottom: 4px; }
}
.beta-page { background: #f7f2f4; color: #241019; min-height: 100vh; }
.beta-shell { width: min(980px, calc(100% - 36px)); margin: 0 auto; padding: 118px 0 80px; }
.beta-intro { background: #15080f; color: white; border-radius: 28px; padding: clamp(28px, 5vw, 58px); }
.beta-intro h1 { margin: 6px 0 12px; }
.beta-intro > p:last-of-type { max-width: 720px; font-size: 1.05rem; line-height: 1.7; }
.beta-rules { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.beta-rules span { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 9px 13px; font-size: .85rem; }
.beta-account, .beta-admin { background: white; border-radius: 20px; padding: clamp(24px, 4vw, 42px); margin-top: 24px; box-shadow: 0 18px 50px rgba(43,8,25,.08); }
.beta-account h2, .beta-admin h2 { margin: 5px 0 10px; }
.beta-account-steps { display: grid; gap: 10px; margin: 24px 0; padding: 0; list-style: none; counter-reset: demo-steps; }
.beta-account-steps li { counter-increment: demo-steps; display: grid; grid-template-columns: 34px 1fr; column-gap: 11px; align-items: center; padding: 13px; border: 1px solid rgba(64,16,38,.12); border-radius: 12px; background: #fbf8f9; }
.beta-account-steps li::before { content: counter(demo-steps); grid-row: 1 / 3; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--wine); color: white; font-weight: 800; }
.beta-account-steps span { color: var(--muted); font-size: .88rem; }
.beta-existing { margin: 14px 0 0; color: var(--muted); font-size: .88rem; }
.beta-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.beta-actions a, .beta-account > a.primary { display: inline-flex; text-decoration: none; align-items: center; justify-content: center; }
.auth-disabled { opacity: .48; cursor: not-allowed; pointer-events: auto; }
.google-auth-button {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: min(100%, 340px); min-height: 48px; margin-top: 12px;
  border: 1px solid rgba(64,16,38,.2); border-radius: 10px;
  background: white; color: #241019; font: inherit; font-weight: 700;
}
.google-auth-button span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #4285f4; font-size: 1.15rem; }
.google-auth-button:disabled { opacity: .62; cursor: not-allowed; }
.legal-alert { border: 2px solid #a51d4f !important; border-radius: 14px; padding: 24px !important; background: #fff4f7; }
.beta-signout { color: var(--wine); font-weight: 700; }
.beta-role-form { display: grid; grid-template-columns: 1.5fr 1fr auto; gap: 12px; align-items: end; margin-top: 22px; }
.beta-role-form label { display: grid; gap: 7px; font-weight: 700; }
.beta-role-form input, .beta-role-form select { min-height: 46px; border: 1px solid rgba(64,16,38,.24); border-radius: 10px; padding: 9px 12px; font: inherit; }
.beta-role-form p { grid-column: 1 / -1; min-height: 1.5em; font-weight: 700; }
@media (max-width: 760px) { .beta-role-form { grid-template-columns: 1fr; } .beta-page .topbar nav { display: none; } }
@media (max-width: 900px) {
  .topbar .language-picker { margin-left: auto; }
  .language-picker span { display: none; }
  .language-picker select { max-width: 104px; }
}
.founding-partner-types{padding:70px clamp(22px,7vw,110px)}.founding-partner-types>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.founding-partner-types span{background:#fff;border:1px solid #e8d8d5;border-radius:999px;padding:12px 18px}
/* Global owner command center */
.admin-console-dialog{width:min(1540px,99vw)}.admin-console{min-height:min(900px,96vh)}.admin-shell{grid-template-columns:240px minmax(0,1fr);min-height:calc(min(900px,96vh) - 72px)}.admin-shell>nav{max-height:calc(96vh - 72px);overflow-y:auto}.admin-shell>main{max-height:calc(96vh - 72px)}.admin-nav-label{color:#a98e99;font-size:.62rem;font-weight:800;letter-spacing:.15em;margin:15px 12px 4px}.admin-nav-label:first-child{margin-top:3px}.command-panel{color:#23161c}.command-toolbar{align-items:flex-start;display:flex;gap:28px;justify-content:space-between;margin-bottom:20px}.command-toolbar>div:first-child{max-width:780px}.command-toolbar small{color:#a42f55;font-size:.68rem;font-weight:800;letter-spacing:.13em}.command-toolbar h2{font-family:"Italiana",serif;font-size:clamp(2.2rem,3.2vw,3.8rem);font-weight:400;line-height:1;margin:8px 0}.command-toolbar p{color:#78666e;line-height:1.55;margin:0;max-width:760px}.command-toolbar>div:last-child{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.command-toolbar label{color:#79646d;display:grid;font-size:.7rem;font-weight:800;gap:5px;letter-spacing:.06em}.command-toolbar select,.command-search{background:#fff;border:1px solid #d9cbd0;border-radius:10px;font:inherit;min-height:42px;padding:8px 11px}.command-toolbar button,.command-card button,.operations-table button,.global-table button,.owner-queue button{background:#8f254b;border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:.74rem;font-weight:800;min-height:36px;padding:8px 13px}.command-toolbar button:disabled,.command-card button:disabled,.operations-table button:disabled{opacity:.7}.command-toolbar button.action-complete,.command-card button.action-complete,.operations-table button.action-complete{background:#31745d}.data-legend{align-items:center;background:#fff;border:1px solid #e2d7db;border-radius:12px;color:#6e5d64;display:flex;flex-wrap:wrap;font-size:.72rem;gap:7px 12px;margin-bottom:12px;padding:10px 13px}.data-legend span,.command-kpis i{border-radius:999px;font-size:.56rem;font-style:normal;font-weight:900;letter-spacing:.08em;padding:3px 6px}.live{background:#dff4eb!important;color:#20644f!important}.demo{background:#f1e8f7!important;color:#71448b!important}.projected{background:#fff0d8!important;color:#8a5c13!important}.command-kpis{display:grid;gap:9px;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:10px}.command-kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.command-kpis article{background:#fff;border:1px solid #e5dadd;border-radius:15px;display:flex;flex-direction:column;min-width:0;padding:16px}.command-kpis article>span{align-items:center;color:#75636b;display:flex;font-size:.72rem;gap:5px;justify-content:space-between}.command-kpis strong{font-family:"Italiana",serif;font-size:clamp(1.55rem,2.2vw,2.45rem);font-weight:400;line-height:1;margin:9px 0 6px;overflow-wrap:anywhere}.command-kpis small{color:#928087;font-size:.68rem}.command-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}.command-card{background:#fff;border:1px solid #e5dadd;border-radius:15px;min-width:0;padding:17px}.command-card.span-2{grid-column:span 2}.command-card-head{align-items:start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.command-card-head>div{display:flex;flex-direction:column}.command-card-head strong{font-size:.92rem}.command-card-head small{color:#8d7981;font-size:.68rem;margin-top:3px}.growth-chart{align-items:end;border-bottom:1px solid #dccfd4;display:flex;gap:14px;height:190px;padding:18px 8px 0}.growth-chart i{background:linear-gradient(#f06b87,#9d2b54);border-radius:8px 8px 0 0;display:block;flex:1;height:var(--h);min-width:25px;position:relative}.growth-chart b{bottom:-28px;color:#847078;font-size:.62rem;font-style:normal;font-weight:700;left:50%;position:absolute;transform:translateX(-50%)}.owner-queue,.simple-list,.protocol-list{list-style:none;margin:0;padding:0}.owner-queue li{align-items:center;border-bottom:1px solid #eee3e6;display:grid;gap:8px;grid-template-columns:auto 1fr auto;padding:9px 0}.owner-queue em{background:#eee5e9;border-radius:999px;color:#6d4c59;font-size:.55rem;font-style:normal;font-weight:900;padding:4px 6px}.owner-queue em.urgent{background:#ffe0e2;color:#a32637}.owner-queue span{font-size:.76rem}.owner-queue button{min-height:28px;padding:5px 9px}.scorecard p{display:grid;gap:7px;grid-template-columns:1fr auto;margin:12px 0}.scorecard span,.scorecard b{font-size:.73rem}.scorecard i{background:#ece2e5;border-radius:99px;grid-column:1/-1;height:7px;overflow:hidden}.scorecard i:after{background:#d74b71;content:"";display:block;height:100%;width:var(--w)}.market-pulse{display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.market-pulse>div{background:#f8f3f4;border-radius:12px;display:grid;gap:3px;padding:12px}.market-pulse b{font-size:.76rem}.market-pulse span,.market-pulse small{color:#8c7880;font-size:.62rem}.market-pulse strong{color:#9f2f56;font-family:"Italiana",serif;font-size:1.55rem;font-weight:400}.command-message{color:#36705c;font-size:.75rem;font-weight:700;min-height:20px}.lifecycle{align-items:center;display:flex;gap:8px;overflow-x:auto;padding:20px 0}.lifecycle>div{background:#f8f3f5;border-radius:12px;display:flex;flex:1;flex-direction:column;min-width:100px;padding:14px;text-align:center}.lifecycle span{color:#7c6870;font-size:.68rem}.lifecycle strong{font-family:"Italiana",serif;font-size:1.5rem}.lifecycle>i{background:#d29aab;height:2px;min-width:14px}.simple-list li{align-items:center;border-bottom:1px solid #eee3e6;display:flex;font-size:.74rem;gap:10px;justify-content:space-between;padding:10px 0}.simple-list b{color:#81304e;text-align:right}.financial-table p{align-items:center;border-bottom:1px solid #eee3e6;display:flex;font-size:.78rem;justify-content:space-between;margin:0;padding:10px}.financial-table p.total{background:#f7eef1;border-radius:10px;font-weight:800;margin-top:8px}.pipeline-board{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(175px,1fr));overflow-x:auto}.pipeline-board>div{background:#e9dfe3;border-radius:13px;min-height:430px;padding:12px}.pipeline-board>div>strong{color:#755d67;font-size:.65rem;letter-spacing:.08em}.pipeline-board p{background:#fff;border-radius:10px;box-shadow:0 5px 14px rgba(50,20,32,.06);display:flex;flex-direction:column;gap:5px;padding:12px}.pipeline-board p b{font-size:.76rem}.pipeline-board p span,.pipeline-board p small{color:#85727a;font-size:.65rem}.channel-table p{align-items:center;border-bottom:1px solid #eee3e6;display:grid;font-size:.76rem;gap:10px;grid-template-columns:1fr auto 110px;margin:0;padding:11px 0}.channel-table em{color:#7d6870;font-size:.68rem;text-align:right}.operations-table p{align-items:center;border-bottom:1px solid #eee3e6;display:grid;gap:12px;grid-template-columns:1fr auto auto;margin:0;padding:11px 0}.operations-table span{display:flex;flex-direction:column}.operations-table b{font-size:.76rem}.operations-table small{color:#8c7880;font-size:.66rem;margin-top:3px}.operations-table em{background:#f2e9ec;border-radius:999px;color:#75485a;font-size:.62rem;font-style:normal;font-weight:800;padding:5px 8px}.operations-table em.good{background:#def2e8;color:#28664f}.protocol-list{counter-reset:protocol}.protocol-list li{align-items:center;border-bottom:1px solid #eee3e6;counter-increment:protocol;display:flex;font-size:.74rem;gap:9px;padding:9px 0}.protocol-list li:before{align-items:center;background:#ecdce2;border-radius:50%;color:#8d2d50;content:counter(protocol);display:flex;font-size:.6rem;font-weight:900;height:23px;justify-content:center;width:23px}.department-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.department-grid>div{background:#f8f3f5;border-radius:11px;display:grid;gap:5px;padding:12px}.department-grid b{font-size:.7rem}.department-grid strong{font-family:"Italiana",serif;font-size:1.7rem;font-weight:400}.department-grid span{color:#8b767e;font-size:.62rem}.support-layout{display:grid;gap:10px;grid-template-columns:190px 1fr}.support-layout aside{background:#25131c;border-radius:14px;display:flex;flex-direction:column;padding:13px}.support-layout aside>strong{color:#a98e99;font-size:.62rem;letter-spacing:.12em;padding:8px}.support-layout aside button{background:transparent;border:0;border-radius:8px;color:#d9cbd0;display:flex;font:inherit;font-size:.7rem;justify-content:space-between;padding:9px;text-align:left}.support-layout aside button.active{background:#d74b71;color:#fff}.support-layout aside button.urgent{color:#ffc0c5}.global-table{background:#fff;border:1px solid #e5dadd;border-radius:15px;overflow:auto}.global-table>div{align-items:center;border-bottom:1px solid #eee3e6;display:grid;gap:10px;grid-template-columns:1.4fr repeat(5,1fr) auto;min-width:950px;padding:12px 14px}.global-table .head{background:#f1e8eb;color:#755f68;font-size:.63rem;font-weight:900;letter-spacing:.06em}.global-table b,.global-table span,.global-table strong{font-size:.7rem}.global-table .good{color:#26705a}.global-gates{background:#25131c;border-radius:15px;color:#fff;margin-top:12px;padding:18px}.global-gates>strong{font-size:.82rem}.global-gates>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.global-gates span{background:#3c2430;border-radius:999px;color:#e8d9df;font-size:.65rem;padding:7px 10px}.feature-switch{align-items:center;border-bottom:1px solid #eee3e6;display:flex!important;justify-content:space-between;padding:10px 0}.feature-switch span{display:flex;flex-direction:column;font-size:.74rem}.feature-switch small{color:#8b777f;font-size:.62rem}.feature-switch input{accent-color:#9c2d54;height:20px;width:36px}.command-search{min-width:180px}.admin-console-dialog::backdrop{background:rgba(15,6,10,.78)}
@media(max-width:1100px){.command-kpis{grid-template-columns:repeat(3,1fr)}.command-kpis.four{grid-template-columns:repeat(2,1fr)}.command-grid{grid-template-columns:repeat(2,1fr)}.command-card.span-2{grid-column:span 2}.market-pulse{grid-template-columns:repeat(2,1fr)}.pipeline-board{grid-template-columns:repeat(5,220px)}}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-shell>nav{max-height:none}.admin-nav-label{display:none}.command-toolbar{flex-direction:column}.command-toolbar>div:last-child{justify-content:flex-start}.support-layout{grid-template-columns:1fr}.support-layout aside{display:grid;grid-template-columns:repeat(3,1fr)}.support-layout aside>strong{grid-column:1/-1}}
@media(max-width:650px){.command-kpis,.command-kpis.four,.command-grid{grid-template-columns:1fr}.command-card.span-2{grid-column:auto}.market-pulse,.department-grid{grid-template-columns:1fr 1fr}.operations-table p{align-items:start;grid-template-columns:1fr auto}.operations-table button{grid-column:1/-1}.support-layout aside{grid-template-columns:1fr 1fr}.channel-table p{grid-template-columns:1fr auto}.channel-table em{grid-column:1/-1;text-align:left}.command-toolbar h2{font-size:2.45rem}}
/* Cookie consent */
.cookie-banner{position:fixed;z-index:1200;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1180px;margin:auto;padding:1.25rem 1.4rem;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:#1b0b14;color:#fff;box-shadow:0 18px 60px rgba(0,0,0,.42)}
.cookie-banner[hidden],.cookie-dialog[hidden]{display:none!important}.cookie-banner-copy{max-width:700px}.cookie-banner-copy strong{display:block;font-size:1.15rem;margin-bottom:.35rem}.cookie-banner-copy p{margin:0;color:#e6d9df;line-height:1.55}.cookie-banner a{color:#ffc3d7;text-decoration:underline}.cookie-actions,.cookie-dialog-actions{display:flex;flex-wrap:wrap;gap:.65rem}.cookie-actions button,.cookie-dialog-actions button{min-height:44px;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}.cookie-actions .cookie-accept,.cookie-dialog-actions .cookie-accept{border-color:#c52662;background:#c52662}.cookie-actions button:focus-visible,.cookie-dialog button:focus-visible,.cookie-manage-link:focus-visible{outline:3px solid #ffd0df;outline-offset:3px}.cookie-dialog{position:fixed;z-index:1250;inset:0}.cookie-dialog-backdrop{position:absolute;inset:0;background:rgba(10,3,7,.72)}.cookie-dialog-panel{position:relative;max-width:620px;max-height:calc(100vh - 2rem);overflow:auto;margin:1rem auto;padding:1.6rem;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:#1b0b14;color:#fff;box-shadow:0 25px 80px rgba(0,0,0,.55)}.cookie-dialog-panel h2{margin:0 2.5rem 1rem 0;font-size:1.65rem}.cookie-dialog-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:0;border-radius:50%;background:#3a1a2a;color:#fff;font-size:1.5rem;cursor:pointer}.cookie-choice{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.14)}.cookie-choice strong{font-size:1rem}.cookie-choice p{margin:.25rem 0 0;color:#d8c6ce;line-height:1.5}.cookie-choice input{width:22px;height:22px;accent-color:#d82e70;flex:0 0 auto}.cookie-dialog-actions{justify-content:flex-end;margin-top:1.25rem}.cookie-dialog-open{overflow:hidden}.cookie-manage-link{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.simple-footer .cookie-manage-link{font-size:inherit}.footer-links .cookie-manage-link{display:inline;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:760px){.cookie-banner{align-items:stretch;flex-direction:column;gap:1rem}.cookie-actions{display:grid;grid-template-columns:1fr}.cookie-actions button{width:100%}.cookie-dialog-panel{margin:.5rem;max-height:calc(100vh - 1rem);padding:1.25rem}.cookie-dialog-actions{display:grid;grid-template-columns:1fr}.cookie-dialog-actions button{width:100%}}
.deeper-connection-builder{margin:1rem 0;padding:1.2rem;border:1px solid rgba(131,29,73,.25);border-radius:18px;background:#fff8fb}.deeper-connection-builder[hidden]{display:none}.deeper-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.deeper-heading small{display:block;color:#9e2457;font-weight:800;letter-spacing:.08em}.deeper-heading strong{display:block;margin-top:.25rem;font-size:1.15rem}.deeper-heading>button{width:38px;height:38px;border:0;border-radius:50%;background:#f2dce5;font-size:1.35rem;cursor:pointer}.deeper-choice-actions,.contact-method-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:.9rem 0}.deeper-choice-actions button,.contact-method-tabs button{min-height:42px;padding:.65rem .9rem;border:1px solid #bd9aaa;border-radius:999px;background:#fff;color:#241019;font:inherit;font-weight:700;cursor:pointer}.deeper-choice-actions .primary,.contact-method-tabs button.active{border-color:#a82058;background:#a82058;color:#fff}.deeper-connection-builder label{display:grid;gap:.4rem;margin:.8rem 0;font-weight:700}.deeper-connection-builder input{min-height:46px;padding:.7rem .8rem;border:1px solid #bd9aaa;border-radius:12px;font:inherit}.shared-contact-result{margin-top:.8rem;padding:.8rem;border-radius:12px;background:#f0dce5;font-weight:700}.privacy-note{display:block;margin-top:1rem;line-height:1.5;color:#6f5360}@media(max-width:640px){.deeper-choice-actions,.contact-method-tabs{display:grid;grid-template-columns:1fr}.deeper-choice-actions button,.contact-method-tabs button{width:100%}}
/* Owner profile and workforce access controls */
.profile-control{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;gap:12px;align-items:end;margin:18px 0;padding:16px;border:1px solid #eadde3;border-radius:16px;background:#fff}.profile-control label{display:grid;gap:6px;font-weight:700}.profile-control-tabs{display:flex;gap:6px;flex-wrap:wrap}.profile-control-tabs button.active{background:#61102f;color:#fff}.admin-profile-list{display:grid;gap:10px}.admin-profile-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid #eadde3;border-radius:14px;background:#fff}.admin-profile-list article div{display:grid;gap:4px}.admin-profile-list small{color:#6f6268}.admin-profile-list em{text-transform:capitalize;font-style:normal;color:#7b2343}.profile-record-card{width:min(760px,calc(100vw - 32px));max-height:86vh;overflow:auto}.profile-record-card #adminProfileDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-record-card #adminProfileDetails div{display:grid;gap:4px;padding:12px;border:1px solid #eadde3;border-radius:12px;background:#fbf7f9;overflow-wrap:anywhere}.profile-record-card #adminProfileDetails span{text-transform:capitalize;color:#74656c;font-size:.82rem}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;border:1px solid #eadde3;border-radius:14px}.permission-grid legend{font-weight:800;padding:0 6px}.permission-grid label{display:flex!important;align-items:center;gap:8px;font-weight:600!important}.permission-grid input{width:auto!important}.admin-heading>div+div{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.profile-control{grid-template-columns:1fr}.admin-profile-list article{grid-template-columns:1fr}.profile-record-card #adminProfileDetails,.permission-grid{grid-template-columns:1fr}}
.profile-photo-upload{display:grid;grid-template-columns:88px 1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid #dfcbd4;border-radius:18px;background:#fff;cursor:pointer}.profile-photo-upload input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.profile-photo-upload>span:last-of-type{display:grid;gap:.25rem}.profile-photo-upload small{color:#6f5b64;line-height:1.35}.profile-photo-preview{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#f6e7ed;border:2px dashed #bb2b62;color:#7a143b;text-align:center}.profile-photo-preview b{font-size:1.7rem;line-height:1}.profile-photo-preview small{font-size:.7rem}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.photo-upload-status{margin:.45rem 0 1rem;color:#6f4b59;font-size:.9rem}@media(max-width:560px){.profile-photo-upload{grid-template-columns:72px 1fr}.profile-photo-preview{width:72px;height:72px}}
