/* EXO 3.1 — public website adapter. Shared values live in exo-design-system.css.
   Keep the original bundle intact; this file owns the visual integration. */
body.exo-site {
  --ink: var(--exo-ink);
  --muted: var(--exo-muted);
  --paper: var(--exo-bg);
  --surface: var(--exo-surface);
  --soft: #edf2ed;
  --line: var(--exo-border);
  --line-strong: #bfcfc2;
  --blue: var(--exo-primary);
  --blue-dark: var(--exo-ink);
  --blue-soft: #eaf2e7;
  --green: var(--exo-primary);
  --green-soft: #eaf2e7;
  --danger: #ab342b;
  --shadow-sm: 0 2px 8px #17372d05;
  --shadow-md: 0 8px 28px #17372d08;
  --shadow-lg: 0 16px 40px #17372d0d;
  font-family: "Exomind Sans", Manrope, system-ui, sans-serif;
  background: var(--exo-bg);
  color: var(--exo-ink);
}
.exo-site ::selection { background: var(--exo-accent); color: var(--exo-ink); }
.exo-site :focus-visible { outline: 3px solid var(--exo-primary); outline-offset: 4px; }
.exo-site .shell { width: min(1240px, calc(100% - 64px)); }
.exo-site .site-header { background: var(--exo-surface); border-color: var(--exo-border); box-shadow: none; backdrop-filter: none; }
.exo-site .header-inner { height: var(--exo-topbar); gap: 24px; }
.exo-site .brand img { width: 174px; height: 44px; object-fit: contain; }
.exo-site .main-nav { gap: 5px; }
.exo-site .main-nav > a:not(.button) { color: var(--exo-muted); border-radius: 8px; font-weight: 600; }
.exo-site .main-nav > a:not(.button):hover { background: var(--exo-bg); color: var(--exo-ink); }
.exo-site .main-nav > a.active { background: #eaf2e7; color: var(--exo-primary); }
.exo-site .button { min-height: 44px; border-radius: 8px; background: var(--exo-primary); border-color: var(--exo-primary); color: #fff; box-shadow: none; font-size: 13px; font-weight: 650; }
.exo-site .button:hover { background: var(--exo-ink); border-color: var(--exo-ink); transform: none; box-shadow: none; }
.exo-site .button:active { transform: none; box-shadow: none; }
.exo-site .button-secondary { background: var(--exo-surface); color: var(--exo-primary); border-color: var(--exo-border); }
.exo-site .button-secondary:hover { background: #eaf2e7; border-color: #bfcfc2; color: var(--exo-primary); }
.exo-site .button-light { background: var(--exo-accent); color: var(--exo-ink); border-color: var(--exo-accent); }
.exo-site .button-light:hover { background: #e4f3cb; color: var(--exo-ink); border-color: #e4f3cb; }
.exo-site .text-link { color: var(--exo-primary); text-decoration-color: #a4bba6; font-weight: 650; }
.exo-site .text-link:hover { color: var(--exo-ink); }
.exo-site .eyebrow { color: var(--exo-primary); font-size: 11px; letter-spacing: .13em; font-weight: 700; }
.exo-site .hero { min-height: 570px; gap: 56px; padding-block: 64px 72px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.exo-site .hero h1 { font-size: clamp(42px,4.6vw,62px); line-height: 1.08; letter-spacing: -.05em; }
.exo-site .hero-copy > p:not(.brand-promise) { color: var(--exo-muted); font-size: 16px; }
.exo-site .hero-image { border-color: var(--exo-border); border-radius: 18px; box-shadow: var(--shadow-md); }
.exo-site .hero-copy,.exo-site .hero-image { animation: none; }
.exo-site .brand-promise { border-radius: 8px; background: var(--exo-surface); border-color: var(--exo-border); }
.exo-site .section-soft { background: #edf2ed; border-color: var(--exo-border); }
.exo-site .section-heading h2 { letter-spacing: -.035em; font-size: clamp(30px,3.5vw,44px); }
.exo-site .section-heading p { color: var(--exo-muted); }
.exo-site .icon-badge { background: #edf3e9; color: var(--exo-primary); border-color: var(--exo-border); border-radius: 12px; }
.exo-site .icon-badge.green { background: #edf3e9; color: var(--exo-primary); }
.exo-site :is(.trust-strip,.feature-card,.package-card,.option-card,.payment-card,.not-included,.simple-steps article,.decision-flow article,.faq-tabs,.faq-list,.info-strip,.link-cards a,.legal-content section,.contact-next-steps article) { border-color: var(--exo-border); border-radius: var(--exo-radius); box-shadow: none; }
.exo-site :is(.feature-card,.package-card,.option-card,.link-cards a):hover { transform: none; border-color: #b5cbb8; box-shadow: var(--shadow-sm); }
.exo-site .package-card.featured { border-color: var(--exo-primary); box-shadow: none; transform: none; }
.exo-site .popular-label { background: var(--exo-accent); color: var(--exo-ink); border-radius: 6px; }
.exo-site .saving { background: #eaf2e7; border-color: var(--exo-border); color: var(--exo-primary); }
.exo-site .check-list li { color: var(--exo-ink); }
.exo-site .process-grid::before { background: var(--exo-border); }
.exo-site .step-number { background: var(--exo-primary); }
.exo-site .case-preview,.exo-site .project-case { border-color: var(--exo-border); border-radius: 18px; background: var(--exo-surface); box-shadow: none; }
.exo-site .case-preview img,.exo-site .project-case img { border-radius: var(--exo-radius); }
.exo-site .collaboration-section,.exo-site .dark-cta { background: var(--exo-ink); }
.exo-site .collaboration-section .eyebrow,.exo-site .collaboration-proof article > svg,.exo-site .panel-visual-header strong { color: var(--exo-accent); }
.exo-site .panel-visual { border-color: #5d7a69; background: #ffffff0c; border-radius: 18px; box-shadow: none; }
.exo-site .panel-image-frame { border-color: #5d7a69; background: #eaf2e7; border-radius: var(--exo-radius); }
.exo-site .panel-live-dot { background: var(--exo-accent); box-shadow: 0 0 0 4px #d6edb021; }
.exo-site .collaboration-control { background: var(--exo-surface); border-color: var(--exo-border); border-radius: 18px; box-shadow: none; }
.exo-site .view-switcher { background: var(--exo-bg); border-radius: 8px; }
.exo-site .view-switcher button { color: var(--exo-muted); border-radius: 6px; }
.exo-site .view-switcher button.active { color: var(--exo-primary); background: #eaf2e7; box-shadow: none; }
.exo-site .collaboration-note { color: var(--exo-muted); }
.exo-site .collaboration-proof article { background: #ffffff08; border-color: #426353; border-radius: var(--exo-radius); }
.exo-site .dark-cta { border-color: #426353; border-radius: 18px; box-shadow: none; }
.exo-site :is(.payment-card.one-time,.payment-card.subscription,.responsibility-grid > article,.responsibility-grid > article + article) { background: var(--exo-surface); border-color: var(--exo-border); border-radius: var(--exo-radius); box-shadow: none; }
.exo-site .small-note { background: var(--exo-bg); border-radius: 0 0 var(--exo-radius) var(--exo-radius); }
.exo-site .simple-steps article > span,.exo-site .decision-arrow { color: #9dae9f; }
.exo-site .faq-tabs button { border-radius: 8px; }
.exo-site .faq-tabs button.active { background: #eaf2e7; box-shadow: none; }
.exo-site .faq-tabs button:hover,.exo-site .faq-item button:hover { background: var(--exo-bg); }
.exo-site .faq-item button span { background: var(--exo-bg); border-color: var(--exo-border); }
.exo-site .faq-item.open button span { background: var(--exo-primary); border-color: var(--exo-primary); }
.exo-site .faq-aside { background: var(--exo-ink); border-color: var(--exo-ink); border-radius: 18px; box-shadow: none; }
.exo-site .faq-aside .button { background: var(--exo-accent); border-color: var(--exo-accent); color: var(--exo-ink); }
.exo-site .faq-aside .text-link { color: #fff; }
.exo-site .info-strip { color: var(--exo-ink); }
.exo-site .contact-layout { padding-top: 64px; gap: 26px; grid-template-columns: minmax(230px,.85fr) minmax(0,1.3fr) minmax(200px,.62fr); }
.exo-site .contact-intro { top: 104px; }
.exo-site .contact-intro h1 { color: var(--exo-ink); letter-spacing: -.04em; }
.exo-site .email-direct { background: #eaf2e7; border-color: var(--exo-border); border-radius: 8px; overflow-wrap: anywhere; }
.exo-site .contact-form { border-color: var(--exo-border); border-radius: var(--exo-radius); box-shadow: none; padding: 28px; }
.exo-site .contact-form label,.exo-site .contact-form legend { color: var(--exo-ink); font-weight: 650; }
.exo-site .contact-form input,.exo-site .contact-form textarea { background: #fcfdfb; border-color: var(--exo-border); border-radius: 8px; min-height: 44px; color: var(--exo-ink); }
.exo-site .contact-form input:focus,.exo-site .contact-form textarea:focus { border-color: var(--exo-primary); box-shadow: 0 0 0 3px #24574412; }
.exo-site .contact-form :focus-visible { outline-color: var(--exo-primary); }
.exo-site .contact-form input[type=checkbox],.exo-site .contact-form input[type=radio] { min-height: 0; accent-color: var(--exo-primary); }
.exo-site .radio-grid span { background: #fcfdfb; border-color: var(--exo-border); border-radius: 8px; color: var(--exo-muted); }
.exo-site .radio-grid input:checked + span { border-color: var(--exo-primary); background: #eaf2e7; color: var(--exo-primary); box-shadow: inset 0 0 0 1px var(--exo-primary); }
.exo-site .radio-grid input:focus-visible + span { outline: 3px solid var(--exo-primary); outline-offset: 3px; }
.exo-site .consent,.exo-site .contact-form .contact-reference { background: var(--exo-bg); border-radius: 8px; }
.exo-site .subscription-aside { background: #eaf2e7; border-color: var(--exo-border); border-radius: var(--exo-radius); box-shadow: none; }
.exo-site .contact-required,.exo-site .contact-field-hint,.exo-site .contact-form .contact-status,.exo-site .contact-next-steps p { color: var(--exo-muted); }
.exo-site .contact-step-number { color: var(--exo-primary); }
.exo-site .contact-success-mark { color: var(--exo-primary); background: #eaf2e7; }
.exo-site .contact-field-error,.exo-site .form-error { color: #ab342b; }
.exo-site .contact-form [aria-invalid=true] { border-color: #ab342b; box-shadow: 0 0 0 1px #ab342b; }
.exo-site .contact-form .form-error:focus,.exo-site .contact-form .form-success:focus { outline-color: var(--exo-primary); }
.exo-site .brief-lead,.exo-site .brief-embed-help,.exo-site .brief-mobile-note { color: var(--exo-muted); }
.exo-site .brief-facts { color: var(--exo-ink); }
.exo-site .brief-facts li::before { color: var(--exo-primary); }
.exo-site .exomind-brief-frame { border-color: var(--exo-border); border-radius: var(--exo-radius); background: var(--exo-bg); box-shadow: none; }
.exo-site .brief-contact-link { border-color: var(--exo-border); }
.exo-site .brief-intro a:focus-visible,.exo-site .brief-contact-link a:focus-visible { outline-color: var(--exo-primary); }
.exo-site .site-footer { background: var(--exo-ink); }
.exo-site .site-footer .brand img { filter: none; }
.exo-site .footer-tagline strong { color: var(--exo-accent); }
.exo-site .footer-links a:hover,.exo-site .footer-links .footer-siterev-login:hover { color: var(--exo-accent); }
.exo-site .footer-siterev-lock-icon { color: var(--exo-accent); border-color: #78936b; background: #ffffff08; }
.exo-site .footer-links .footer-siterev-login:focus-visible { outline-color: var(--exo-accent); }
.exo-site.exo-redirect,.exo-site.exo-redirect * { box-sizing: border-box; }
.exo-site.exo-redirect main { max-width: 600px; margin: 10vh auto; padding: 40px; border: 1px solid var(--exo-border); border-radius: var(--exo-radius); background: var(--exo-surface); }
.exo-site.exo-redirect h1 { font-size: 30px; margin-top: 32px; letter-spacing: -.035em; }
.exo-site.exo-redirect p { line-height: 1.7; }
.exo-site.exo-redirect .button { display: inline-flex; align-items: center; padding: 12px 18px; text-decoration: none; }
@media (max-width: 1100px) {
  .exo-site .shell { width: calc(100% - 48px); }
  .exo-site .main-nav { gap: 0; }
  .exo-site .main-nav > a:not(.button) { padding-inline: 10px; }
  .exo-site .hero { gap: 32px; }
  .exo-site .contact-layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.2fr); }
  .exo-site .subscription-aside { grid-column: 2; }
}
@media (max-width: 800px) {
  .exo-site .shell { width: calc(100% - 36px); }
  .exo-site .header-inner { gap: 16px; }
  .exo-site .main-nav { top: var(--exo-topbar); background: var(--exo-surface); box-shadow: var(--shadow-md); gap: 4px; }
  .exo-site .main-nav > a:not(.button) { justify-content: flex-start; min-height: 44px; padding-inline: 14px; }
  .exo-site .hero { min-height: auto; grid-template-columns: 1fr; padding-block: 44px 52px; }
  .exo-site .hero h1 { font-size: clamp(36px,7.5vw,52px); }
  .exo-site .hero-image { border-radius: var(--exo-radius); }
  .exo-site .contact-layout { grid-template-columns: 1fr; padding-top: 44px; }
  .exo-site .contact-intro { position: static; }
  .exo-site .subscription-aside { grid-column: auto; }
  .exo-site .contact-form { padding: 24px; }
  .exo-site.exo-redirect main { margin: 32px 18px; padding: 28px; }
}
@media (max-width: 520px) {
  .exo-site .brand img { width: 158px; height: 40px; }
  .exo-site .hero h1,.exo-site .page-hero h1,.exo-site .brief-intro h1 { font-size: 36px; line-height: 1.12; }
  .exo-site .section-heading h2 { font-size: 30px; }
  .exo-site .contact-form { padding: 20px; }
  .exo-site .contact-form input,.exo-site .contact-form textarea { font-size: 16px; }
  .exo-site .brand-promise { background: transparent; }
  .exo-site .brief-intro { padding-top: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .exo-site *, .exo-site *::before, .exo-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
