/* Ritual's public light edition. Private event, ticket and organizer apps keep
   their existing themes; only pages explicitly marked theme-light use this sheet. */
:root:has(body.theme-light) { color-scheme: light; background: #fff; }
body.theme-light {
  --line: rgba(14, 14, 12, .14);
  --muted: #62645c;
  --paper: #fff;
  --soft: #f7f6f2;
  --soft-olive: #e9ede6;
  background: #fff;
  color: var(--ink);
  color-scheme: light;
}
.theme-light ::selection { background: #dfe7d9; color: #0e0e0c; }
.theme-light .eyebrow { color: #4c5747; }
.theme-light .site-header,
.theme-light .site-footer { background: #fff; border-color: var(--line); }
.theme-light .brand img,
.theme-light .site-footer>a img,
.theme-light .studio-toolbar>img { filter: brightness(0); }
.theme-light .main-nav a:hover,
.theme-light .site-footer nav a:hover,
.theme-light .text-link:hover { color: #526348; }
.theme-light .button {
  min-height: 48px;
  background: #0e0e0c;
  border-color: #0e0e0c;
  color: #fff;
  box-shadow: none;
}
.theme-light .button:hover { background: #2e3a2f; border-color: #2e3a2f; }
.theme-light .button-small { min-height: 44px; }
.theme-light .sign-in {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  color: var(--ink);
  border-color: #c5c7bf;
}
.theme-light .sign-in:hover { border-color: var(--ink); background: #f7f6f2; }
.theme-light .menu-toggle span { background: var(--ink); }
.theme-light .skip-link { background: var(--ink); color: #fff; }
.theme-light .text-link { min-height: 44px; align-items: center; }
.theme-light .hero { border-color: var(--line); }
.theme-light .hero-copy .eyebrow { color: #4c5747; }
.theme-light .hero-description { color: #40443b; }
.theme-light .install-note { color: #62645c; }
.theme-light .phone-stage { background: #fff; }
.theme-light .phone-stage:after { background: #1a211626; filter: blur(18px); }
.theme-light .phone { box-shadow: inset 0 0 0 1px #a1a49c, inset 0 0 0 3px #3b3c38, 0 16px 34px #1c241624; }
.theme-light .phone-title { color: #f2ede3; }
.theme-light .phone-top,
.theme-light .phone-status { color: #fff; }
.theme-light .section-intro { color: #42463d; }
.theme-light .small-statement { color: #4b5b43; }
.theme-light .preview-label { color: #62645c; border-color: var(--line); }
.theme-light .chat-stage {
  background: #f7f6f2;
  border: 1px solid #e5e4de;
  box-shadow: none;
}
.theme-light .chat-preview { background: #fff; border: 1px solid #e1e2da; }
.theme-light .chat-head { border-color: #e7e8e1; }
.theme-light .chat-head div>span { color: #62645c; }
.theme-light .chat-message.guest { background: #eeeee8; }
.theme-light .chat-message.assistant { background: #f3f1eb; }
.theme-light .chat-result { color: #4c5a43; }
.theme-light .chat-choice {
  min-height: 44px;
  padding: 9px 14px;
  border-color: #c9cdc2;
  color: #3f4b37;
  font-size: 12px;
  background: #fff;
}
.theme-light .chat-choice:hover,
.theme-light .chat-choice.active { background: #2e3a2f; border-color: #2e3a2f; color: #fff; }
.theme-light .preview-note { font-size: 11px; line-height: 1.6; color: #62645c; }
.theme-light .concierge-features svg,
.theme-light .organizer-benefits svg,
.theme-light .connection-benefits svg,
.theme-light .report-preview svg { color: #4b5b43; }
.theme-light .ticket-section { background: #faf9f5; border-block: 1px solid #e8e6df; }
.theme-light .sample-ticket { box-shadow: 0 16px 32px #26371a12; }
.theme-light .sample-ticket:before,
.theme-light .sample-ticket:after { background: #faf9f5; }
.theme-light .ticket-section .text-link:hover { color: #4b5b43; }
.theme-light .ticket-benefits span { color: #5b5e54; }

/* The organizer tour reads like a working paper dashboard, with event artwork
   retaining its original colour and contrast inside the preview. */
.theme-light .studio-preview {
  background: #fff;
  border: 1px solid #d7dbd0;
  box-shadow: 0 18px 50px #1e2a1710;
}
.theme-light .studio-toolbar { background: #fafaf7; }
.theme-light .studio-toolbar>span { color: #5d6856; font-size: 11px; }
.theme-light .tour-dot { background: #879775; }
.theme-light .studio-tabs { background: #f8f9f5; }
.theme-light .studio-tabs button { min-height: 44px; color: #535d4c; font-size: 13px; }
.theme-light .studio-tabs button:hover { background: #eef1e9; }
.theme-light .studio-tabs button[aria-selected=true] { background: #e5ecdf; color: #263b22; font-weight: 600; }
.theme-light .studio-panels { background: #fff; }
.theme-light .event-editor label,
.theme-light .event-switch { color: #505c48; font-size: 12px; }
.theme-light .event-editor input,
.theme-light .event-editor select,
.theme-light .event-switch select {
  background: #fff;
  border-color: #c7cebf;
  color: #0e0e0c;
  min-height: 44px;
  font-size: 13px;
  padding: 9px 11px;
}
.theme-light .event-editor>p { color: #62645c; font-size: 12px; }
.theme-light .tour-caption,
.theme-light .event-editor>.tour-caption { color: #666b5f; font-size: 11px; line-height: 1.6; }
.theme-light .event-preview { color: #f2ede3; }
.theme-light .event-preview-label { color: #f2ede3; }
.theme-light .panel-heading .eyebrow { color: #59674f; font-size: 10px; }
.theme-light .panel-heading>p:last-child,
.theme-light .panel-heading>div>p:last-child { color: #62645c; font-size: 13px; }
.theme-light .tour-table>div { font-size: 12px; }
.theme-light .tour-table-head { color: #62645c; font-size: 10px!important; }
.theme-light .status-pill { background: #e8efdf; color: #344b2d; font-size: 10px; }
.theme-light .muted-pill { background: #eff0eb; color: #58624f; }
.theme-light .avatar { border-color: #d7ddcf; background: #fafbf7; color: #495a3e; }
.theme-light .venue-map {
  min-height: 267px;
  background-color: #fafbf8;
  background-image: linear-gradient(#e8ece380 1px, transparent 1px), linear-gradient(90deg, #e8ece380 1px, transparent 1px);
  background-size: 22px 22px;
  border-color: #d9dfd1;
}
.theme-light .map-entrance { color: #526348; font-size: 9px; }
.theme-light .map-bar { border-color: #d3dacb; background: #fff; }
.theme-light .map-bar:after { background: #fafbf8; }
.theme-light .map-bar>span { color: #637157; }
.theme-light .bar-stool { background: #e7eddf; border-color: #becbb0; color: #354b2b; }
.theme-light .map-table {
  min-width: 44px;
  min-height: 44px;
  background: #fff;
  border-color: #b9c8a9;
  color: #233b1d;
  box-shadow: 0 2px 4px #293c1910;
}
.theme-light .map-table:hover { background: #f0f5e9; }
.theme-light .map-table small { color: #5d6e51; font-size: 8px; }
.theme-light .map-table.selected { border-color: #6f8659; background: #e9f0e1; box-shadow: 0 0 0 2px #8ca97540; }
.theme-light .table-detail .eyebrow { color: #57684b; font-size: 10px; }
.theme-light .table-detail>p:not(.eyebrow):not(.tour-caption) { color: #505b46; font-size: 12px; }
.theme-light .table-detail .table-note { border-color: #aabc97; }
.theme-light .rule-list strong { font-size: 13px; }
.theme-light .rule-list small { color: #62645c; font-size: 11px; }
.theme-light .campaign-demo .eyebrow { color: #59674f; font-size: 10px; }
.theme-light .campaign-demo p,
.theme-light .report-preview p { color: #62645c; font-size: 12px; }
.theme-light .organizer-benefits span { color: #62645c; font-size: 13px; }
.theme-light .stripe-banner {
  background: #f7f6f2;
  color: #0e0e0c;
  border-color: #e1e1d9;
  box-shadow: none;
}
.theme-light .stripe-banner>div:nth-child(2) { border-color: #d6d9cc; }
.theme-light .stripe-banner>div>span:not(.stripe-wordmark) { color: #5a644f; }
.theme-light .stripe-banner small { color: #62645c; font-size: 11px; line-height: 1.6; }
.theme-light .stripe-wordmark { color: #0e0e0c; }
.theme-light .provider-logos img { filter: brightness(0); }
.theme-light .provider-logos span { color: #141710; }
.theme-light .connection-links>a:last-child { color: #4b5b43; }
.theme-light .connection-links>a:last-child:hover { color: #0e0e0c; }
.theme-light .connection-note { font-size: 11px; color: #62645c; }
.theme-light .closing-section { background: #fff; border-block: 1px solid #e0e1d9; }
.theme-light .closing-section p { color: #535e49; }
.theme-light .help-section .eyebrow,
.theme-light .faqs summary>span { color: #526348; }
.theme-light .faqs details>p { color: #62645c; font-size: 13px; }
.theme-light .faqs details a { color: #253c20; }
.theme-light .site-footer>span { color: #62645c; font-size: 11px; }

/* Dedicated organizer landing. */
.theme-light .organizer-hero {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  align-items: center;
  gap: 75px;
  padding-top: 73px;
  padding-bottom: 83px;
  border-bottom: 1px solid var(--line);
}
.theme-light .organizer-hero-copy .eyebrow { margin-bottom: 27px; }
.theme-light .organizer-hero h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(64px, 6.8vw, 99px);
  line-height: .98;
  letter-spacing: -.035em;
}
.theme-light .organizer-hero-copy>.section-intro { font-size: 21px; max-width: 520px; }
.theme-light .organizer-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 19px 27px; margin-top: 32px; }
.theme-light .organizer-hero-actions .text-link { font-size: 14px; }
.theme-light .organizer-hero-note { color: #62645c; font-size: 12px; line-height: 1.6; margin-top: 16px; max-width: 480px; }
.theme-light .organizer-hero-visual {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  border-radius: 16px;
  color: #f2ede3;
  background: #211125;
}
.theme-light .organizer-hero-visual>img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-light .organizer-hero-visual:after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 18%, #170a2080 60%, #170a20d9 100%); pointer-events: none; }
.theme-light .organizer-hero-visual>div,
.theme-light .organizer-hero-visual>figcaption { position: absolute; z-index: 1; bottom: 34px; left: 31px; right: 31px; }
.theme-light .organizer-hero-visual .eyebrow { color: #ede5ac; font-size: 10px; }
.theme-light .organizer-hero-visual h2,
.theme-light .organizer-hero-visual h3,
.theme-light .organizer-hero-visual>div>p { font-family: var(--serif); color: #f2ede3; font-size: clamp(42px, 4.6vw, 64px); line-height: 1; margin: 12px 0; }
.theme-light .organizer-hero-visual p { color: #eee7ed; line-height: 1.6; font-size: 13px; }
.theme-light .organizer-visual-caption { display: block; color: #ddd3dc; font-size: 12px; line-height: 1.6; margin-top: 19px; }
.theme-light .organizer-hero-visual .preview-label { color: #eee7ed; border-color: #f2ede36b; }
.theme-light .organizer-feature-section { display: grid; grid-template-columns: 1.05fr 1fr; gap: 95px; align-items: center; border-top: 1px solid var(--line); }
.theme-light .organizer-feature-copy>.eyebrow { margin-bottom: 25px; }
.theme-light .organizer-feature-copy h2 { max-width: 590px; }
.theme-light .organizer-feature-copy>.text-link { margin-top: 30px; font-size: 15px; }
.theme-light .organizer-feature-aside { background: #fafaf7; border: 1px solid #e2e5da; border-radius: 15px; padding: 35px; }
.theme-light .organizer-feature-aside h3 { font-family: var(--serif); font-size: 72px; line-height: 1; letter-spacing: -.03em; margin: 20px 0 32px; }
.theme-light .organizer-feature-aside dl { margin: 0; }
.theme-light .organizer-feature-aside dl>div { display: grid; grid-template-columns: 100px 1fr; gap: 20px; border-top: 1px solid #dfe4d5; padding: 18px 0; font-size: 13px; line-height: 1.6; }
.theme-light .organizer-feature-aside dt { color: #69765b; }
.theme-light .organizer-feature-aside dd { color: #26371d; margin: 0; }
.theme-light .organizer-feature-list { list-style: none; padding: 0; display: grid; gap: 27px; margin-top: 32px; }
.theme-light .organizer-feature-list li { font-size: 15px; line-height: 1.6; color: #56614d; }
.theme-light .organizer-feature-list strong { display: block; font-size: 18px; color: #1e2918; font-weight: 500; margin-bottom: 6px; }
.theme-light .organizer-feature-list svg { width: 30px; height: 30px; color: #526348; margin-bottom: 13px; }
.theme-light .payments-section { padding-bottom: 105px; }
.theme-light .payments-section .stripe-banner { margin-top: 0; }
.theme-light .organizer-concierge-section { border-top: 1px solid var(--line); }
.theme-light .organizer-section-heading { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 65px; }
.theme-light .organizer-section-heading .eyebrow { margin-bottom: 25px; }
.theme-light .organizer-section-heading .section-intro { margin-top: 0; }
.theme-light .organizer-section-heading .text-link { font-size: 15px; margin-top: 25px; margin-bottom: 5px; }
.theme-light .organizer-concierge-section>.text-link { margin-top: 42px; }
.theme-light .organizer-concierge-section .concierge-features { margin-top: 49px; }
.theme-light.organizers-page .connections-section { padding-top: 95px; }

/* The installer is a quiet white dialog in the public light edition. */
.theme-light .ritual-install-dialog { background: #fff; color: #0e0e0c; border-color: #d2d7c9; box-shadow: 0 20px 80px #14200e26; }
.theme-light .ritual-install-dialog::backdrop { background: #10180b66; }
.theme-light .ritual-install-status { background: #f3f6ef; color: #35472b; }
.theme-light .ritual-install-note { color: #62645c; }

@media (max-width: 1180px) {
  .theme-light .organizer-hero { gap: 45px; }
  .theme-light .organizer-hero-visual { min-height: 415px; }
  .theme-light .organizer-hero h1 { font-size: 78px; }
  .theme-light .organizer-hero-copy>.section-intro { font-size: 19px; }
  .theme-light .organizer-feature-section { gap: 55px; }
  .theme-light .organizer-section-heading { gap: 40px; }
}
@media (max-width: 950px) {
  .theme-light .organizer-hero { gap: 32px; padding-block: 60px; }
  .theme-light .organizer-hero h1 { font-size: 66px; }
  .theme-light .organizer-hero-visual { min-height: 390px; }
  .theme-light .organizer-hero-visual>div,
  .theme-light .organizer-hero-visual>figcaption { bottom: 27px; left: 24px; right: 24px; }
  .theme-light .organizer-hero-visual h2,
  .theme-light .organizer-hero-visual h3,
  .theme-light .organizer-hero-visual>div>p { font-size: 46px; }
  .theme-light .organizer-feature-section { gap: 35px; }
  .theme-light .organizer-feature-aside { padding: 26px; }
  .theme-light .payments-section { padding-bottom: 83px; }
  .theme-light .studio-tabs button { font-size: 12px; }
}
@media (max-width: 760px) {
  .theme-light .main-nav { background: #fff; border-color: #dce0d3; box-shadow: 0 16px 25px #29351a10; }
  .theme-light .main-nav a { min-height: 46px; }
  .theme-light .header-actions .sign-in { min-width: 45px; }
  .theme-light .studio-tabs { scrollbar-color: #bcc7af transparent; }
  .theme-light .studio-tabs button { min-height: 44px; font-size: 12px; padding: 10px 12px; }
  .theme-light .event-editor input,
  .theme-light .event-editor select,
  .theme-light .event-switch select { min-height: 44px; font-size: 14px; }
  .theme-light .organizer-hero { grid-template-columns: 1fr; gap: 39px; padding-top: 48px; padding-bottom: 54px; }
  .theme-light .organizer-hero-copy { max-width: 580px; }
  .theme-light .organizer-hero h1 { font-size: clamp(61px, 10vw, 85px); }
  .theme-light .organizer-hero-visual { min-height: 365px; }
  .theme-light .organizer-hero-visual h2,
  .theme-light .organizer-hero-visual h3,
  .theme-light .organizer-hero-visual>div>p { font-size: 57px; }
  .theme-light .organizer-feature-section { grid-template-columns: 1fr; gap: 34px; }
  .theme-light .organizer-feature-aside { padding: 29px; }
  .theme-light .organizer-feature-list { gap: 25px; }
  .theme-light .organizer-section-heading { grid-template-columns: 1fr; gap: 25px; }
  .theme-light .organizer-section-heading .section-intro { font-size: 18px; }
  .theme-light .closing-actions { flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .theme-light .hero h1 { font-size: clamp(78px, 22vw, 98px); }
  .theme-light .chat-stage { padding: 12px; }
  .theme-light .chat-choices { gap: 6px; padding-inline: 11px; }
  .theme-light .chat-choice { font-size: 11px; padding: 9px 12px; }
  .theme-light .preview-note { padding-inline: 17px; }
  .theme-light .studio-toolbar>span { font-size: 9px; }
  .theme-light .studio-panels { padding: 18px; }
  .theme-light .event-editor label,
  .theme-light .event-switch { font-size: 11px; }
  .theme-light .event-editor { gap: 13px 11px; }
  .theme-light .event-editor input,
  .theme-light .event-editor select,
  .theme-light .event-switch select { font-size: 13px; padding: 8px; }
  .theme-light .event-editor>p { font-size: 12px; }
  .theme-light .panel-heading>p:last-child,
  .theme-light .panel-heading>div>p:last-child { font-size: 12px; }
  .theme-light .tour-table>div { gap: 11px; font-size: 11px; }
  .theme-light .tour-caption { font-size: 11px; }
  .theme-light .venue-map { min-height: 285px; }
  .theme-light .table-detail .eyebrow { font-size: 10px; }
  .theme-light .rule-list strong { font-size: 12px; }
  .theme-light .rule-list small { font-size: 10px; }
  .theme-light .rule-list .status-pill { font-size: 10px; max-width: 117px; padding: 6px 8px; }
  .theme-light .organizer-hero { padding-top: 43px; gap: 32px; }
  .theme-light .organizer-hero h1 { font-size: clamp(57px, 15vw, 77px); }
  .theme-light .organizer-hero-copy .eyebrow { margin-bottom: 23px; }
  .theme-light .organizer-hero-copy>.section-intro { font-size: 17px; }
  .theme-light .organizer-hero-actions { gap: 15px 22px; margin-top: 26px; }
  .theme-light .organizer-hero-actions .button { font-size: 14px; padding-inline: 19px; }
  .theme-light .organizer-hero-actions .text-link { font-size: 13px; }
  .theme-light .organizer-hero-note { font-size: 11px; }
  .theme-light .organizer-hero-visual { min-height: 320px; border-radius: 12px; }
  .theme-light .organizer-hero-visual h2,
  .theme-light .organizer-hero-visual h3,
  .theme-light .organizer-hero-visual>div>p { font-size: 48px; }
  .theme-light .organizer-hero-visual p { font-size: 12px; }
  .theme-light .organizer-feature-copy h2,
  .theme-light .organizer-section-heading h2 { font-size: 52px; }
  .theme-light .organizer-feature-aside { padding: 25px; }
  .theme-light .organizer-feature-aside h3 { font-size: 62px; }
  .theme-light .organizer-feature-aside dl>div { grid-template-columns: 85px 1fr; gap: 14px; font-size: 12px; }
  .theme-light .organizer-feature-list strong { font-size: 17px; }
  .theme-light .organizer-feature-list li { font-size: 13px; }
  .theme-light .payments-section { padding-bottom: 65px; }
  .theme-light .organizer-concierge-section .concierge-features { margin-top: 36px; }
  .theme-light .stripe-banner small { font-size: 11px; }
  .theme-light .site-footer nav { justify-content: start; column-gap: 25px; row-gap: 6px; }
  .theme-light .site-footer nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
  .theme-light .site-footer>span { font-size: 10px; }
}
