/* Apresentação pública do Nexora. Isolada do painel financeiro. */
:root {
  --public-night: #101b16;
  --public-night-soft: #182920;
  --public-mint: #a8e1bf;
  --public-paper: #f5f7f3;
  --public-ink: #17241c;
  --public-muted: #627268;
}

.public-eyebrow { display:inline-flex; align-items:center; gap:10px; color:#b8d8c1; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.public-eyebrow__dot { width:7px; height:7px; border-radius:50%; background:#97d7a9; box-shadow:0 0 0 5px rgba(151,215,169,.12); }

/* Login: o formulário e a autenticação permanecem inalterados. */
body.login-page { min-height:100vh; background:var(--bg-base); }
.login-visual { flex:1.16; min-width:0; padding:34px clamp(30px,5vw,82px) 30px; background:radial-gradient(circle at 85% 70%,rgba(76,139,99,.25),transparent 42%),linear-gradient(145deg,#14231b,#0e1813 75%); color:#eef8ef; }
.login-visual__ambient { position:absolute; right:-130px; top:-180px; width:470px; height:470px; border:1px solid rgba(186,230,198,.11); border-radius:50%; box-shadow:0 0 0 88px rgba(156,216,175,.025),0 0 0 177px rgba(156,216,175,.018); pointer-events:none; }
.login-visual__brand { position:relative; z-index:1; display:flex; align-items:center; gap:12px; font-size:20px; font-weight:750; letter-spacing:-.04em; }
.login-visual__brand img { border-radius:10px; }
.login-visual__body { width:100%; max-width:760px; margin:auto 0; gap:0; padding:28px 0 10px; }
.login-visual__quote { max-width:640px; }
.login-visual__quote h2 { margin:20px 0 0; max-width:640px; color:#f1f8f1 !important; font-size:clamp(40px,4vw,68px); line-height:1.05; font-weight:720; letter-spacing:-.056em; text-wrap:balance; }
.login-visual__quote p { max-width:525px; margin-top:20px; color:#b8cbbd; font-size:clamp(15px,1.15vw,18px); line-height:1.58; }
.login-learn-more { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:48px; margin-top:24px; padding:0 19px; border:1px solid rgba(202,239,212,.48); border-radius:12px; color:#e9f8ee; font-size:14px; font-weight:700; text-decoration:none; transition:background .2s,border-color .2s,transform .2s; }
.login-learn-more span { font-size:19px; font-weight:400; }
.login-learn-more:hover { background:rgba(178,226,190,.11); border-color:#bbebc8; color:#fff; text-decoration:none; transform:translateY(-2px); }
.login-learn-more:focus-visible,.login-contact:focus-visible,.about-page a:focus-visible,.nexora-about-page a:focus-visible,.nexora-about-page summary:focus-visible { outline:3px solid #81ce9e; outline-offset:4px; }
.login-visual__preview { width:min(100%,600px); margin:8px auto -10px; pointer-events:none; }
.login-visual__preview img { display:block; width:100%; height:auto; filter:drop-shadow(0 30px 40px rgba(0,0,0,.12)); }
.login-visual__footnote { position:relative; z-index:1; margin:0; color:rgba(212,238,217,.55); font-size:11px; letter-spacing:.05em; }
.login-form-side { flex:.84; min-width:380px; background:var(--bg-base); }
.login-form-wrap { max-width:410px; }
.login-heading h1 { font-size:clamp(28px,2.4vw,36px); line-height:1.15; letter-spacing:-.04em; }
.login-contact { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; margin-top:22px; color:var(--text-secondary); font-size:13px; text-decoration:none; }
.login-contact strong { color:var(--brand-600); font-weight:700; }
.login-contact:hover,.login-contact:hover strong { color:var(--brand-500); text-decoration:underline; }
.login-footer { margin-top:36px; }
:root[data-theme="dark"] .login-contact strong { color:var(--brand-400); }

/* Página pública Saiba mais. */
body.nexora-about-page { margin:0; padding-top:74px; min-height:100vh; overflow-x:clip; background:var(--public-paper); color:var(--public-ink); font-family:var(--font-sans); }
.nexora-about-page * { box-sizing:border-box; }
.nexora-about-page a { text-decoration:none; }
.nexora-about-page svg { width:24px; height:24px; }
.public-skip-link { position:absolute; left:16px; top:-80px; z-index:1000; padding:12px 16px; border-radius:9px; background:#fff; color:#13251a; }
.public-skip-link:focus { top:14px; }
.about-container { width:min(1320px,calc(100% - 64px)); margin-inline:auto; }
.about-header { position:fixed; top:0; left:0; right:0; z-index:50; background:rgba(16,27,22,.96); border-bottom:1px solid rgba(222,245,226,.12); backdrop-filter:blur(18px); }
.about-header__inner { min-height:74px; display:flex; align-items:center; gap:34px; }
.about-brand { display:inline-flex; align-items:center; gap:10px; color:#f2f9f2; font-size:19px; font-weight:750; letter-spacing:-.035em; }
.about-brand img { border-radius:9px; }
.about-brand:hover { color:#f2f9f2; }
.about-nav { display:flex; align-items:center; gap:29px; margin-left:auto; }
.about-nav a { color:#bacbc0; font-size:13px; font-weight:550; }
.about-nav a:hover { color:#fff; }
.about-mobile-nav { display:none; position:relative; margin-left:auto; }
.about-mobile-nav summary { display:list-item; width:42px; height:42px; padding:9px; border:1px solid rgba(206,238,214,.3); border-radius:10px; color:#edf8ef; cursor:pointer; list-style:none; }
.about-mobile-nav summary::-webkit-details-marker { display:none; }
.about-mobile-nav summary svg { width:21px; height:21px; }
.about-mobile-nav[open] summary { background:rgba(201,237,209,.12); }
.about-mobile-nav nav { position:absolute; top:calc(100% + 10px); right:0; display:grid; gap:4px; width:min(245px,calc(100vw - 36px)); padding:9px; border:1px solid rgba(206,238,214,.23); border-radius:14px; background:#172820; box-shadow:0 15px 40px rgba(0,0,0,.32); }
.about-mobile-nav nav a { padding:11px 12px; border-radius:8px; color:#eaf5ed; font-size:14px; font-weight:650; }
.about-mobile-nav nav a:hover { background:rgba(201,237,209,.12); color:#fff; }
.about-header__login { display:inline-flex; align-items:center; gap:16px; padding:11px 15px; border:1px solid rgba(206,238,214,.3); border-radius:10px; color:#edf8ef; font-size:13px; font-weight:700; white-space:nowrap; }
.about-header__login:hover { background:rgba(201,237,209,.1); color:#fff; }
.about-hero { position:relative; display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); align-items:center; min-height:630px; gap:35px; }
.nexora-about-page main { background:var(--public-night); }
.about-hero__copy { position:relative; z-index:1; padding:88px 0 105px; }
.about-hero h1 { margin:22px 0 24px; max-width:690px; color:#f4fbf4; font-size:clamp(48px,4.65vw,77px); line-height:1.035; font-weight:720; letter-spacing:-.065em; text-wrap:balance; }
.about-hero__copy>p { max-width:550px; margin:0; color:#b9cec0; font-size:17px; line-height:1.68; }
.about-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:32px; }
.about-button { display:inline-flex; align-items:center; justify-content:space-between; gap:29px; min-height:49px; padding:0 20px; border-radius:12px; font-size:14px; font-weight:700; transition:transform .2s,background .2s,color .2s; }
.about-button:hover { transform:translateY(-2px); }
.about-button span { font-size:18px; font-weight:400; }
.about-button--primary { background:#c8edcf; color:#153722; }
.about-button--primary:hover { background:#ddf9e2; color:#102e1b; }
.about-button--text { color:#d5eadb; }
.about-button--text:hover { color:#fff; }
.about-hero__visual { position:relative; min-width:0; }
.about-hero__visual::before { content:""; position:absolute; inset:18% 0 8%; background:#3a8e5c; filter:blur(110px); opacity:.2; }
.about-hero__visual img { position:relative; display:block; width:100%; max-width:100%; height:auto; }
.about-hero__visual span { position:relative; display:block; margin-top:-24px; color:#809e87; text-align:center; font-size:11px; }
.about-intro { padding:80px 0; background:#e4ede4; }
.about-intro__grid { display:grid; grid-template-columns:1fr .68fr; align-items:end; gap:70px; }
.about-kicker { color:#32734e; font-size:11px; font-weight:800; letter-spacing:.15em; }
.about-intro h2,.about-section-heading h2,.about-flow h2,.about-cta h2 { margin:16px 0 0; max-width:790px; font-size:clamp(34px,3vw,53px); line-height:1.12; font-weight:720; letter-spacing:-.055em; text-wrap:balance; }
.nexora-about-page .about-intro h2,.nexora-about-page .about-features h2,.nexora-about-page .about-faq h2,.nexora-about-page .about-feature-card h3 { color:#17241c; }
.about-intro p { max-width:470px; margin:0; color:#516557; font-size:16px; line-height:1.72; }
.about-features { width:100%; max-width:none; margin:0; padding:100px max(32px,calc((100vw - 1320px)/2)) 110px; background:var(--public-paper); }
.about-section-heading { max-width:700px; }
.about-section-heading p { margin:17px 0 0; color:var(--public-muted); font-size:16px; line-height:1.7; }
.about-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:42px; }
.about-feature-card { position:relative; min-height:435px; display:flex; flex-direction:column; padding:28px; overflow:hidden; border:1px solid #dbe5db; border-radius:22px; background:#fff; }
.about-feature-card--dashboard { background:linear-gradient(145deg,#d6ebdb,#eef6eb); border-color:#c9dfcf; }
.about-feature-card__number { color:#608071; font-size:10px; font-weight:800; letter-spacing:.13em; }
.about-feature-card__icon { display:grid; place-items:center; width:52px; height:52px; margin-top:45px; border-radius:14px; background:#e6f1e8; color:#30704c; }
.about-feature-card h3 { margin:22px 0 0; font-size:27px; letter-spacing:-.045em; }
.about-feature-card p { margin:12px 0 23px; color:#5b6b60; font-size:14px; line-height:1.65; }
.about-card-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; }
.about-card-tags span { padding:8px 10px; border:1px solid #e0e9df; border-radius:999px; color:#56705e; font-size:11px; font-weight:650; }
.about-mini-metrics { display:flex; align-items:flex-end; gap:7px; height:70px; margin-top:auto; }
.about-mini-metrics span { flex:1; display:flex; flex-direction:column; justify-content:center; gap:8px; height:55px; padding:10px; border:1px solid rgba(73,139,91,.14); border-radius:10px; background:rgba(255,255,255,.46); }
.about-mini-metrics span:nth-child(2) { height:69px; }
.about-mini-metrics i,.about-mini-metrics b { display:block; height:5px; border-radius:5px; background:#80b993; }
.about-mini-metrics i { width:52%; opacity:.65; }
.about-mini-metrics b { width:75%; height:10px; background:#488f64; }
.about-flow { padding:94px 0 106px; background:#172820; color:#eaf4ea; }
.about-flow__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); align-items:center; gap:80px; }
.about-flow__inner>* { min-width:0; }
.about-flow .about-kicker { color:#9dd7ac; }
.about-flow h2 { max-width:650px; color:#eef8ef; }
.about-flow p { max-width:570px; margin:21px 0 0; color:#b9ccbc; font-size:16px; line-height:1.72; }
.about-flow__highlight { color:#d4eed9; font-weight:700; }
.about-flow__diagram { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; min-height:170px; padding:25px; border:1px solid rgba(196,231,205,.16); border-radius:23px; background:radial-gradient(circle at 50% 15%,rgba(116,197,140,.12),transparent 65%),rgba(255,255,255,.025); }
.about-flow__diagram span { display:grid; place-items:center; min-height:60px; padding:12px 15px; border:1px solid rgba(202,237,210,.26); border-radius:13px; background:rgba(210,245,216,.08); color:#e1f6e5; font-size:12px; font-weight:650; white-space:nowrap; }
.about-flow__diagram i { width:16px; height:1px; background:#9bd1a9; }
.about-faq { width:100%; max-width:none; margin:0; padding:105px max(32px,calc((100vw - 1320px)/2)) 110px; background:var(--public-paper); }
.about-faq__list { max-width:980px; margin-top:38px; border-top:1px solid #d8e3d8; }
.about-faq__list details { border-bottom:1px solid #d8e3d8; }
.about-faq__list summary { display:flex; justify-content:space-between; gap:20px; padding:25px 2px; color:#1a2e20; font-size:18px; font-weight:650; list-style:none; cursor:pointer; }
.about-faq__list summary::-webkit-details-marker { display:none; }
.about-faq__list summary span { font-size:25px; line-height:20px; font-weight:400; color:#367b50; transition:transform .2s; }
.about-faq__list details[open] summary span { transform:rotate(45deg); }
.about-faq__list details p { max-width:760px; margin:0 0 25px; color:#5a6b60; font-size:15px; line-height:1.75; }
.about-cta-wrap { padding:0 0 36px; background:var(--public-paper); }
.about-cta { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:0; padding:54px 62px; border-radius:26px; background:radial-gradient(circle at 100% 0,rgba(137,215,158,.18),transparent 45%),#1a3526; color:#eef8ef; }
.about-cta .about-kicker { color:#a1dcae; }
.about-cta h2 { max-width:680px; color:#eef8ef; }
.about-cta p { margin:18px 0 0; color:#b6d1bd; font-size:15px; }
.about-button--light { flex:none; background:#d0efcf; color:#1d4228; }
.about-button--light:hover { background:#e3f9df; color:#17391f; }
.about-footer { padding:24px 0; background:#172820; border-top:1px solid rgba(223,243,225,.12); color:#a9c0ad; }
.about-footer .about-container { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.about-footer span,.about-footer a:not(.about-brand) { font-size:12px; }
.about-footer .about-brand { color:#f2f9f2; }
.about-footer a:not(.about-brand) { color:#c8e7ce; }
.about-footer a:hover { color:#fff; }
.nexora-about-page section[id] { scroll-margin-top:88px; }

@media (max-width:1100px) {
  .about-hero { grid-template-columns:1fr 1fr; }
  .about-hero h1 { font-size:clamp(42px,5vw,61px); }
  .about-flow__diagram { gap:7px; }
  .about-flow__diagram span { min-height:50px; padding:10px; }
}
@media (max-width:900px) {
  body.nexora-about-page { padding-top:66px; }
  .about-header__inner { min-height:66px; gap:12px; }
  .about-nav { display:none; }
  .about-mobile-nav { display:block; }
  .about-header__login { gap:8px; }
}
@media (max-width:860px) {
  body.login-page { flex-direction:column; }
  .login-visual { display:flex; flex:none; padding:25px 30px 10px; }
  .login-visual__body { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:10px; max-width:none; margin:0; padding:42px 0 8px; }
  .login-visual__quote h2 { font-size:clamp(34px,5vw,49px); }
  .login-visual__quote p { font-size:14px; }
  .login-visual__preview { margin:0 -25px 0 0; width:calc(100% + 25px); }
  .login-visual__footnote { display:none; }
  .login-form-side { min-width:0; padding:58px 24px 65px; }
  .mobile-only-brand { display:none; }
  .about-nav { gap:16px; }
  .about-hero { min-height:0; gap:0; }
  .about-hero__copy { padding:80px 0 90px; }
  .about-hero__visual { margin-left:0; }
  .about-hero__visual img { width:100%; }
  .about-intro__grid,.about-flow__inner { gap:40px; }
  .about-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-feature-card:last-child { grid-column:span 2; min-height:330px; }
}
@media (max-width:680px) {
  .about-container { width:min(100% - 36px,1320px); }
  .about-header__login { padding:10px; }
  .about-hero { display:flex; flex-direction:column; align-items:stretch; }
  .about-hero__copy { padding:68px 0 15px; }
  .about-hero h1 { font-size:clamp(45px,10vw,62px); }
  .about-hero__copy>p { font-size:15px; }
  .about-hero__visual { width:100%; margin:0 auto 33px; transform:none; }
  .about-hero__visual img { width:100%; margin-left:0; }
  .about-hero__visual span { margin-top:-10px; }
  .about-intro,.about-flow { padding:70px 0; }
  .about-intro__grid,.about-flow__inner { grid-template-columns:1fr; gap:24px; }
  .about-flow__diagram { display:grid; grid-template-columns:minmax(0,1fr); max-width:100%; padding:18px; }
  .about-flow__diagram span { width:100%; min-width:0; white-space:normal; text-align:center; }
  .about-flow__diagram i { width:1px; height:12px; justify-self:center; }
  .about-features,.about-faq { width:100%; margin:0; padding:75px 18px 80px; }
  .about-feature-grid { grid-template-columns:1fr; }
  .about-feature-card,.about-feature-card:last-child { grid-column:auto; min-height:330px; }
  .about-feature-card__icon { margin-top:28px; }
  .about-cta { flex-direction:column; align-items:start; padding:38px 28px; }
  .about-footer .about-container { flex-wrap:wrap; }
  .about-footer .about-container>span { display:none; }
  .login-visual { padding:23px 24px 30px; }
  .login-visual__body { display:block; padding:38px 0 0; }
  .login-visual__quote h2 { max-width:510px; font-size:clamp(39px,9vw,53px); }
  .login-visual__quote p { max-width:470px; }
  .login-visual__preview { width:min(100%,520px); margin:14px auto -22px; }
  .login-form-side { padding:44px 22px 60px; }
}
@media (prefers-reduced-motion:reduce) { .login-learn-more,.about-button,.about-faq__list summary span { transition:none; } }
