/* Shared content pages */
.cta-band { background: var(--teal-deep); color: var(--white); }
.cta-band-warm { background: #1C4D52; }
.cta-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-block: 46px; }
.cta-band h2 { color: var(--white); font-size: clamp(26px, 3vw, 38px); margin-bottom: 7px; }
.cta-band p { color: rgba(255,255,255,.62); font-size: 12.5px; }
.cta-band .eyebrow { margin-bottom: 7px; color: #F3C78C; }
.cta-band .btn { flex-shrink: 0; }
.cta-band-actions { display: flex; gap: 9px; flex-wrap: wrap; }

/* How it works */
.how-heading { background: linear-gradient(135deg, #EDF5F2, #FAF9F5); }
.how-section { padding-top: clamp(50px, 6vw, 80px); }
.how-switch-label { margin-bottom: 31px; }
.how-switch-label h2 { margin-top: 4px; }
.how-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.how-step {
  position: relative; padding: 25px 21px 23px; border: 1px solid var(--line);
  border-radius: 19px; background: var(--white);
}
.how-step-number { position: absolute; top: 20px; right: 19px; color: #D3E0DC; font-family: var(--serif); font-size: 26px; font-style: italic; }
.how-step-icon { width: 43px; height: 43px; display: flex; align-items: center; justify-content: center; margin-bottom: 21px; border-radius: 13px; background: var(--teal-mist); color: var(--teal); }
.how-step-icon .icon { width: 20px; height: 20px; }
.how-step h3 { margin-bottom: 8px; font-size: 18px; }
.how-step p { color: var(--muted); font-size: 11.5px; line-height: 1.7; }
.how-highlight {
  display: grid; grid-template-columns: 1.3fr .7fr; gap: 35px; align-items: center;
  margin-top: 33px; padding: 30px; border-radius: 22px;
  background: linear-gradient(120deg, var(--teal-deep), #1B5C61); color: var(--white);
}
.how-highlight-copy h2 { margin-bottom: 9px; color: var(--white); font-size: 27px; }
.how-highlight-copy p { max-width: 700px; color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.7; }
.how-highlight-copy .eyebrow { margin-bottom: 7px; }
.how-highlight-list { display: grid; gap: 8px; }
.how-highlight-list li { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 9px; background: rgba(255,255,255,.05); color: rgba(255,255,255,.82); font-size: 10.5px; list-style: none; }
.how-highlight-list li > span { width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(243,166,90,.2); color: var(--accent); }
.how-highlight-list .icon { width: 11px; height: 11px; }
.organizer-three-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.mini-feature-card { padding: 23px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); }
.mini-feature-card > span { width: 39px; height: 39px; display: flex; align-items: center; justify-content: center; margin-bottom: 15px; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.mini-feature-card .icon { width: 18px; height: 18px; }
.mini-feature-card h3 { margin-bottom: 5px; font-size: 16px; }
.mini-feature-card p { color: var(--muted); font-size: 11px; line-height: 1.65; }

/* Organizers landing */
.organizer-landing-hero { padding: clamp(42px, 6vw, 85px) 0; background: linear-gradient(135deg, #F1F7F4, #FAF8F2); border-bottom: 1px solid var(--line); overflow: hidden; }
.organizer-landing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.organizer-landing-copy { max-width: 600px; }
.organizer-landing-copy h1 { margin-top: 8px; margin-bottom: 20px; font-size: clamp(43px, 5.5vw, 71px); }
.organizer-landing-copy h1 em { display: inline-block; color: var(--teal); font-family: var(--serif); font-weight: 400; letter-spacing: -.04em; }
.organizer-landing-copy > p { max-width: 540px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.organizer-landing-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.organizer-landing-points { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 21px; color: var(--muted); font-size: 10px; font-weight: 600; }
.organizer-landing-points span { display: inline-flex; align-items: center; gap: 5px; }
.organizer-landing-points .icon { width: 13px; height: 13px; color: var(--success); }
.organizer-landing-visual { position: relative; min-width: 0; }
.organizer-dashboard-mock { padding: 12px; border: 1px solid var(--line); border-radius: 22px; background: var(--white); box-shadow: var(--shadow-lg); transform: rotate(1.6deg); }
.mock-top { display: flex; align-items: center; gap: 5px; padding: 3px 7px 11px; border-bottom: 1px solid var(--line); }
.mock-top span { width: 6px; height: 6px; border-radius: 50%; background: #DDE7E4; }
.mock-top span:first-child { background: #F2C6A0; }
.mock-top small { margin-left: auto; color: #9AACAB; font-size: 7px; }
.mock-body { display: grid; grid-template-columns: 74px 1fr; min-height: 305px; padding-top: 10px; }
.mock-sidebar { display: flex; flex-direction: column; gap: 7px; padding: 11px; border-right: 1px solid var(--line); }
.mock-sidebar span { height: 9px; border-radius: 4px; background: #EEF3F1; }
.mock-sidebar span:first-child { height: 24px; margin-bottom: 10px; background: var(--teal-soft); }
.mock-main { padding: 14px; }
.mock-title { width: 33%; height: 13px; border-radius: 4px; background: #DBE7E3; }
.mock-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 16px; }
.mock-stats span { height: 54px; border-radius: 8px; background: #F1F6F4; border: 1px solid #E8EFED; }
.mock-chart { display: flex; align-items: flex-end; gap: 8px; height: 105px; margin-top: 17px; padding: 11px 15px; border-radius: 9px; background: #F8FBFA; }
.mock-chart i { flex: 1; border-radius: 3px 3px 0 0; background: #C2DDD7; }
.mock-chart i:nth-child(1) { height: 24%; } .mock-chart i:nth-child(2) { height: 44%; } .mock-chart i:nth-child(3) { height: 34%; } .mock-chart i:nth-child(4) { height: 65%; } .mock-chart i:nth-child(5) { height: 50%; } .mock-chart i:nth-child(6) { height: 78%; background: var(--teal); } .mock-chart i:nth-child(7) { height: 92%; background: var(--teal); }
.mock-list { display: grid; gap: 6px; margin-top: 15px; }
.mock-list span { height: 20px; border-radius: 4px; background: #F2F6F5; }
.mock-float { position: absolute; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: var(--shadow-lg); }
.mock-float > span { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--teal-soft); color: var(--teal); }
.mock-float .icon { width: 13px; height: 13px; }
.mock-float strong { display: block; color: var(--ink); font-size: 8.5px; }
.mock-float small { display: block; color: var(--muted); font-size: 7.5px; }
.mock-float-inquiry { bottom: -17px; left: -23px; }
.mock-float-verified { top: 21px; right: -21px; }
.mock-float-verified > span { background: var(--success-soft); color: var(--success); }
.organizer-benefits-section { background: var(--white); border-bottom: 1px solid var(--line); }
.benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.benefit-card { padding: 24px; border: 1px solid var(--line); border-radius: 17px; background: #FBFCFC; }
.benefit-icon { width: 39px; height: 39px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.benefit-icon .icon { width: 18px; height: 18px; }
.benefit-card h3 { margin-bottom: 5px; font-size: 16px; }
.benefit-card p { color: var(--muted); font-size: 11px; line-height: 1.7; }
.organizer-how-section { background: var(--bg); }
.organizer-how-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.organizer-how-copy h2 { margin-bottom: 13px; font-size: 31px; }
.organizer-how-copy p { max-width: 460px; color: var(--muted); font-size: 12.5px; line-height: 1.7; }
.organizer-how-copy .btn { margin-top: 21px; }
.organizer-how-steps { display: grid; gap: 0; }
.organizer-how-steps > div { display: grid; grid-template-columns: 38px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.organizer-how-steps > div:first-child { border-top: 1px solid var(--line); }
.organizer-how-steps > div > span { color: #8F4F12; font-family: var(--serif); font-size: 18px; font-style: italic; }
.organizer-how-steps h3 { margin-bottom: 4px; font-size: 15px; }
.organizer-how-steps p { color: var(--muted); font-size: 10.5px; line-height: 1.6; }
.organizer-trust-section { padding-top: 0; }
.organizer-trust-card { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; padding: 35px; border-radius: 22px; background: var(--teal-deep); color: var(--white); }
.organizer-trust-card h2 { color: var(--white); font-size: 28px; margin-bottom: 12px; }
.organizer-trust-card p { color: rgba(255,255,255,.62); font-size: 11.5px; line-height: 1.7; }
.trust-rule-list { display: grid; gap: 8px; }
.trust-rule-list span { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 8px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.8); font-size: 10px; }
.trust-rule-list .icon { width: 14px; height: 14px; color: var(--accent); }

/* Help */
.help-heading { background: linear-gradient(135deg, #F2F6F4, #FAF8F2); }
.help-quick-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 30px; }
.help-quick-links a { display: grid; grid-template-columns: 34px 1fr; column-gap: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.help-quick-links a > span { width: 34px; height: 34px; grid-row: span 2; display: flex; align-items: center; justify-content: center; border-radius: 9px; background: var(--teal-mist); color: var(--teal); }
.help-quick-links .icon { width: 16px; height: 16px; }
.help-quick-links strong { color: var(--ink); font-size: 10.5px; }
.help-quick-links small { color: var(--muted); font-size: 8.5px; }
.help-quick-links a:hover { border-color: var(--line-strong); background: #FCFEFD; }
.help-layout { display: grid; grid-template-columns: 1.4fr .6fr; gap: 50px; align-items: start; }
.faq-list h2 { margin-bottom: 22px; font-size: 30px; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-of-type { border-bottom: 1px solid var(--line); }
.faq-item summary { display: grid; grid-template-columns: 35px 1fr 20px; align-items: center; gap: 10px; padding: 17px 3px; color: var(--ink); font-size: 13px; font-weight: 700; list-style: none; cursor: pointer; }
.faq-item summary > span { color: #5E7173; font-family: var(--serif); font-size: 14px; font-style: italic; }
.faq-icon { width: 15px; height: 15px; color: var(--teal); transition: transform .2s; }
.faq-item[open] .faq-icon { transform: rotate(45deg); }
.faq-item > p { padding: 0 50px 19px 48px; color: var(--muted); font-size: 11.5px; line-height: 1.75; }
.help-more { display: flex; gap: 9px; margin-top: 20px; padding: 14px 16px; border-radius: 11px; background: var(--teal-mist); color: var(--muted); font-size: 10px; line-height: 1.55; }
.help-more .icon { width: 15px; height: 15px; flex-shrink: 0; color: var(--teal); }
.help-sidebar { display: grid; gap: 13px; position: sticky; top: 100px; }
.help-contact-card, .help-links-card { padding: 21px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); }
.help-contact-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; border-radius: 11px; background: var(--teal-soft); color: var(--teal); }
.help-contact-icon .icon { width: 19px; height: 19px; }
.help-contact-card h2, .help-links-card h2 { margin-bottom: 6px; font-size: 17px; }
.help-contact-card p { margin-bottom: 15px; color: var(--muted); font-size: 10.5px; line-height: 1.65; }
.help-email { display: block; margin-top: 12px; color: var(--teal); font-size: 10px; text-align: center; font-weight: 700; }
.help-links-card { display: flex; flex-direction: column; }
.help-links-card a { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #EDF1F0; color: var(--text); font-size: 10.5px; }
.help-links-card a:last-child { border-bottom: 0; }
.help-links-card .icon { width: 12px; height: 12px; color: var(--muted); }
.help-demo-note { display: flex; gap: 8px; padding: 12px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.help-demo-note .icon { width: 14px; height: 14px; flex-shrink: 0; color: var(--teal); }

/* Contact */
.contact-heading { background: linear-gradient(135deg, #EDF5F2, #FAF8F2); }
.contact-page-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: start; }
.contact-info-panel h2 { margin-bottom: 11px; font-size: 28px; }
.contact-info-panel > p { max-width: 460px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.contact-info-list { display: grid; gap: 14px; margin-top: 25px; }
.contact-info-list > div { display: flex; align-items: center; gap: 10px; }
.contact-info-list > div > span { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--teal-mist); color: var(--teal); }
.contact-info-list .icon { width: 16px; height: 16px; }
.contact-info-list small { display: block; color: var(--muted); font-size: 8.5px; }
.contact-info-list a, .contact-info-list strong { display: block; color: var(--ink); font-size: 11px; font-weight: 700; }
.contact-before-writing { margin-top: 30px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.contact-before-writing h3 { margin-bottom: 5px; font-size: 12px; }
.contact-before-writing p { color: var(--muted); font-size: 10px; line-height: 1.65; }
.contact-before-writing a { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }
.contact-form-panel { padding: 28px; border: 1px solid var(--line); border-radius: 21px; background: var(--white); box-shadow: var(--shadow-sm); }
.contact-form-panel h2 { margin-bottom: 17px; font-size: 22px; }
.contact-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 17px; }
.contact-form-footer > span { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 9px; }
.contact-form-footer .icon { width: 12px; height: 12px; color: var(--teal); }

/* About */
.about-hero { padding: clamp(34px, 5vw, 65px) 0; background: linear-gradient(135deg, #EFF6F3, #FAF8F4); overflow: hidden; }
.about-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.about-hero-copy .breadcrumbs { margin-bottom: 28px; }
.about-hero-copy h1 { margin-bottom: 17px; font-size: clamp(43px, 5.3vw, 71px); }
.about-hero-copy > p { max-width: 580px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.about-hero-image { position: relative; }
.about-hero-image img { width: 100%; height: 430px; object-fit: cover; border-radius: 23px; }
.about-hero-stamp { position: absolute; left: 18px; bottom: 18px; display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.9); color: var(--ink); font-size: 9px; font-weight: 800; backdrop-filter: blur(8px); }
.about-hero-stamp .icon { width: 13px; height: 13px; color: var(--teal); }
.about-mission-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; }
.about-mission h2 { margin-bottom: 17px; font-size: 33px; }
.about-values { display: grid; gap: 0; }
.about-values > div { display: grid; grid-template-columns: 42px 1fr; column-gap: 15px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.about-values > div:first-child { border-top: 1px solid var(--line); }
.about-values > div > span { grid-row: span 2; color: var(--accent-dark); font-family: var(--serif); font-size: 19px; font-style: italic; }
.about-values h3 { margin-bottom: 3px; font-size: 16px; }
.about-values p { color: var(--muted); font-size: 10.5px; line-height: 1.65; }
.about-image-band { padding: 0 0 10px; }
.about-image-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.about-image-grid img { width: 100%; height: 185px; object-fit: cover; border-radius: 12px; }
.about-demo-section { padding-top: 55px; padding-bottom: 65px; }
.about-demo-card { display: flex; align-items: center; gap: 20px; padding: 28px; border: 1px solid #EED9BE; border-radius: 20px; background: var(--warning-soft); }
.about-demo-icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%; background: var(--white); color: var(--accent-dark); }
.about-demo-icon .icon { width: 20px; height: 20px; }
.about-demo-card > div { flex: 1; }
.about-demo-card h2 { margin-bottom: 5px; font-size: 20px; }
.about-demo-card p { max-width: 750px; color: #7D603C; font-size: 11px; line-height: 1.65; }
.about-demo-card .eyebrow { margin-bottom: 5px; color: #A46A26; }
.about-demo-card .btn { flex-shrink: 0; }

/* Legal */
.legal-heading { background: linear-gradient(135deg, #F2F7F5, #FAF9F5); }
.legal-heading h1 { margin-top: 10px; font-size: clamp(37px, 4.5vw, 55px); }
.legal-heading p { max-width: 720px; color: var(--muted); font-size: 13px; }
.legal-section { padding: clamp(40px, 5vw, 70px) 0 clamp(70px, 8vw, 110px); }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 60px; align-items: start; }
.legal-toc { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 1px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.legal-toc > span { margin-bottom: 8px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.legal-toc a { padding: 5px 0; color: var(--muted); font-size: 10px; }
.legal-toc a:hover { color: var(--teal); }
.legal-content { max-width: 780px; }
.legal-content h2 { margin: 30px 0 10px; font-size: 22px; }
.legal-content h2:first-of-type { margin-top: 0; }
.legal-content p { margin: 9px 0; color: #526569; font-size: 12.5px; line-height: 1.8; }
.legal-content ul { list-style: none; margin: 11px 0; }
.legal-content li { position: relative; padding: 3px 0 3px 16px; color: #526569; font-size: 12.5px; line-height: 1.7; }
.legal-content li::before { content: ''; position: absolute; top: 12px; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--teal); }
.legal-content a { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }
.legal-demo-alert { display: flex; gap: 9px; padding: 13px 15px; margin-bottom: 20px; border: 1px solid #EED9BE; border-radius: 11px; background: var(--warning-soft); color: #735B3C; font-size: 10.5px; line-height: 1.6; }
.legal-demo-alert .icon { width: 15px; height: 15px; flex-shrink: 0; margin-top: 1px; }
.legal-footer-note { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 34px; padding-top: 17px; border-top: 1px solid var(--line); }
.legal-footer-note a { color: var(--teal); font-size: 10px; font-weight: 700; text-decoration: none; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.legal-table th, .legal-table td { padding: 9px 11px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table th { background: var(--teal-mist); color: var(--ink); font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; }
.legal-table code { font-size: 10px; color: var(--teal); }
.cookie-table-wrapper { overflow-x: auto; margin: 14px 0; border-radius: 9px; }

/* Error */
.error-page { padding: clamp(60px, 9vw, 120px) 0; background: linear-gradient(135deg, #F0F6F3, #FAF9F5); }
.error-page-inner { display: flex; flex-direction: column; align-items: center; max-width: 620px; margin-inline: auto; text-align: center; }
.error-code { color: var(--line-strong); font-family: var(--serif); font-size: clamp(85px, 14vw, 140px); font-style: italic; line-height: .8; margin-bottom: 20px; }
.error-icon { width: 55px; height: 55px; display: flex; align-items: center; justify-content: center; margin-bottom: 15px; border-radius: 50%; background: var(--teal-soft); color: var(--teal); }
.error-icon .icon { width: 25px; height: 25px; }
.error-page h1 { margin-bottom: 12px; font-size: clamp(31px, 4vw, 46px); }
.error-page p { max-width: 480px; color: var(--muted); font-size: 13px; }
.error-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 24px; }
.error-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; color: var(--muted); font-size: 10px; }
.error-links a { color: var(--teal); font-weight: 700; }
