/* =========================================================
   ABOUT STORY SAAS — LUCIWISE STANDARD
   Dark/Light + Purple + Responsive + Animation
========================================================= */

.about-story-saas{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(72px, 8vw, 120px) clamp(18px, 4vw, 34px);

  --as-purple: #7c3aed;
  --as-purple-2: #8b5cf6;
  --as-bg: #ffffff;
  --as-text: #0f172a;
  --as-muted: rgba(15,23,42,.72);
  --as-card: rgba(255,255,255,.72);
  --as-border: rgba(15,23,42,.10);

  color: var(--as-text);
  background: var(--as-bg);
}

html[data-theme="dark"] .about-story-saas{
  --as-bg: #0b0f19;
  --as-text: #f8fafc;
  --as-muted: rgba(226,232,240,.76);
  --as-card: rgba(15,23,42,.72);
  --as-border: rgba(255,255,255,.12);
}

/* Fundo padrão Luciwise */
.about-story-saas::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(900px 520px at 18% 18%, rgba(124,58,237,.18), transparent 58%),
    radial-gradient(820px 460px at 82% 18%, rgba(59,130,246,.14), transparent 55%),
    radial-gradient(900px 500px at 50% 100%, rgba(124,58,237,.10), transparent 58%),
    repeating-linear-gradient(to right, transparent 0 31px, rgba(15,23,42,.075) 31px 32px),
    repeating-linear-gradient(to bottom, transparent 0 31px, rgba(15,23,42,.055) 31px 32px);
}

html[data-theme="dark"] .about-story-saas::before{
  background:
    radial-gradient(900px 520px at 18% 18%, rgba(124,58,237,.30), transparent 58%),
    radial-gradient(820px 460px at 82% 18%, rgba(59,130,246,.18), transparent 55%),
    radial-gradient(900px 500px at 50% 100%, rgba(124,58,237,.18), transparent 58%),
    repeating-linear-gradient(to right, transparent 0 31px, rgba(255,255,255,.075) 31px 32px),
    repeating-linear-gradient(to bottom, transparent 0 31px, rgba(255,255,255,.055) 31px 32px);
}

.about-story-saas::after{
  content:"";
  position:absolute;
  inset:-20% -10% auto auto;
  width:58%;
  height:120%;
  z-index:-1;
  pointer-events:none;
  background: linear-gradient(135deg, transparent 0%, rgba(124,58,237,.12) 45%, transparent 70%);
  transform: rotate(-8deg);
}

.about-story-wrap{
  max-width: var(--container-w, 1200px);
  margin: 0 auto;
}

/* Header */
.about-story-header{
  max-width: 900px;
  margin: 0 auto clamp(34px, 5vw, 64px);
  text-align: center;
  animation: aboutStoryFadeUp .7s ease both;
}

.about-story-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding:9px 14px;
  border-radius:999px;
  color: var(--as-text);
  background: rgba(124,58,237,.10);
  border:1px solid rgba(124,58,237,.20);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.about-story-kicker::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background: var(--as-purple);
  box-shadow: 0 0 0 6px rgba(124,58,237,.14);
}

.about-story-header h2{
  margin:0;
  color: var(--as-text);
  font-size: clamp(2.1rem, 5vw, 4.4rem);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:900;
}

.about-story-header p{
  max-width: 760px;
  margin: 20px auto 0;
  color: var(--as-muted);
  font-size: clamp(1rem, 1.2vw, 1.14rem);
  line-height:1.75;
}

/* Main card */
.about-story-card{
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap:24px;
  align-items:stretch;
  padding: clamp(18px, 2vw, 24px);
  border-radius:34px;
  background: var(--as-card);
  border:1px solid var(--as-border);
  box-shadow:
    0 34px 90px rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter: blur(18px) saturate(155%);
  animation: aboutStoryFadeUp .75s ease .08s both;
}

html[data-theme="dark"] .about-story-card{
  box-shadow:
    0 34px 90px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* Text blocks */
.about-carnauba-left{
  display:grid;
  gap:16px;
}

.about-carnauba-block{
  position:relative;
  padding:22px;
  border-radius:26px;
  background: rgba(255,255,255,.56);
  border:1px solid var(--as-border);
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

html[data-theme="dark"] .about-carnauba-block{
  background: rgba(255,255,255,.06);
}

.about-carnauba-block:hover{
  transform: translateY(-4px);
  border-color: rgba(124,58,237,.34);
  box-shadow: 0 22px 46px rgba(124,58,237,.14);
}

.about-block-number{
  display:inline-flex;
  margin-bottom:14px;
  color: var(--as-purple-2);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.16em;
}

.about-carnauba-block h4{
  margin:0 0 10px;
  color: var(--as-text);
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  line-height:1.15;
  letter-spacing:-.035em;
  font-weight:900;
}

.about-carnauba-block p{
  margin:0;
  color: var(--as-muted);
  line-height:1.7;
  font-size:.98rem;
}

/* Visual */
.about-story-visual{
  position:relative;
  min-height:520px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(620px 320px at 50% 20%, rgba(124,58,237,.18), transparent 58%),
    repeating-linear-gradient(to right, transparent 0 31px, rgba(127,127,127,.10) 31px 32px),
    repeating-linear-gradient(to bottom, transparent 0 31px, rgba(127,127,127,.08) 31px 32px);
  border:1px solid var(--as-border);
}

/* Device preview */
.about-device{
  position:relative;
  width:min(620px, 90%);
  min-height:390px;
  overflow:hidden;
  border-radius:28px;
  background: rgba(255,255,255,.78);
  border:1px solid rgba(15,23,42,.10);
  box-shadow: 0 34px 80px rgba(15,23,42,.22);
  backdrop-filter: blur(18px);
  animation: aboutDeviceFloat 7s ease-in-out infinite;
}

html[data-theme="dark"] .about-device{
  background: rgba(15,23,42,.78);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 34px 80px rgba(0,0,0,.44);
}

.about-device-top{
  height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 16px;
  border-bottom:1px solid rgba(127,127,127,.16);
}

.about-device-top span{
  width:10px;
  height:10px;
  border-radius:50%;
  background: rgba(124,58,237,.72);
}

.about-device-grid{
  display:grid;
  grid-template-columns:150px 1fr;
  min-height:348px;
}

.about-device-sidebar{
  padding:18px;
  border-right:1px solid rgba(127,127,127,.16);
  background: rgba(124,58,237,.055);
}

.side-logo,
.side-line,
.device-title-line{
  display:block;
  border-radius:999px;
  background: rgba(15,23,42,.16);
}

html[data-theme="dark"] .side-logo,
html[data-theme="dark"] .side-line,
html[data-theme="dark"] .device-title-line{
  background: rgba(255,255,255,.16);
}

.side-logo{
  width:76px;
  height:14px;
  margin-bottom:28px;
  background: var(--as-purple);
}

.side-line{
  width:100%;
  height:12px;
  margin-bottom:16px;
}

.side-line.short{
  width:68%;
}

.side-line.active{
  height:34px;
  background: linear-gradient(135deg, var(--as-purple), var(--as-purple-2));
  box-shadow: 0 12px 28px rgba(124,58,237,.24);
}

.about-device-main{
  padding:24px;
}

.device-title-line{
  width:58%;
  height:18px;
  margin-bottom:24px;
}

.device-kpis{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-bottom:22px;
}

.device-kpis div{
  padding:18px;
  border-radius:20px;
  background: rgba(255,255,255,.62);
  border:1px solid rgba(127,127,127,.14);
  box-shadow: 0 14px 32px rgba(15,23,42,.08);
}

html[data-theme="dark"] .device-kpis div{
  background: rgba(255,255,255,.06);
}

.device-kpis strong{
  display:block;
  color: var(--as-text);
  font-size:1.35rem;
}

.device-kpis span{
  display:block;
  margin-top:8px;
  color: var(--as-muted);
  font-size:.8rem;
  font-weight:800;
}

.device-chart{
  height:148px;
  display:flex;
  align-items:flex-end;
  gap:12px;
  padding:18px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(124,58,237,.10), transparent),
    rgba(127,127,127,.06);
  border:1px solid rgba(127,127,127,.12);
}

.device-chart span{
  flex:1;
  border-radius:999px 999px 8px 8px;
  background: linear-gradient(180deg, var(--as-purple-2), var(--as-purple));
  box-shadow: 0 12px 24px rgba(124,58,237,.24);
  animation: aboutChartPulse 2.5s ease-in-out infinite;
}

.device-chart span:nth-child(2){ animation-delay:.12s; }
.device-chart span:nth-child(3){ animation-delay:.24s; }
.device-chart span:nth-child(4){ animation-delay:.36s; }
.device-chart span:nth-child(5){ animation-delay:.48s; }

/* Floating notes */
.about-floating-note{
  position:absolute;
  z-index:3;
  min-width:150px;
  padding:14px 16px;
  border-radius:18px;
  color: var(--as-text);
  background: var(--as-card);
  border:1px solid var(--as-border);
  box-shadow: 0 18px 44px rgba(15,23,42,.16);
  backdrop-filter: blur(16px) saturate(150%);
}

.about-floating-note strong{
  display:block;
  font-size:.92rem;
}

.about-floating-note span{
  display:block;
  margin-top:4px;
  color: var(--as-muted);
  font-size:.78rem;
  font-weight:800;
}

.note-one{
  top:24px;
  right:24px;
  animation: aboutFloating 5.8s ease-in-out infinite;
}

.note-two{
  left:24px;
  bottom:26px;
  animation: aboutFloating 6.4s ease-in-out .2s infinite;
}

/* Animations */
@keyframes aboutStoryFadeUp{
  from{
    opacity:0;
    transform: translateY(24px);
    filter: blur(8px);
  }
  to{
    opacity:1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes aboutDeviceFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-10px); }
}

@keyframes aboutFloating{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-12px); }
}

@keyframes aboutChartPulse{
  0%,100%{ filter: brightness(1); transform: scaleY(1); }
  50%{ filter: brightness(1.14); transform: scaleY(1.04); }
}

/* Responsive */
@media (max-width: 1080px){
  .about-story-card{
    grid-template-columns:1fr;
  }

  .about-story-visual{
    min-height:460px;
  }
}

@media (max-width: 720px){
  .about-story-saas{
    padding:64px 16px;
  }

  .about-story-header h2{
    font-size: clamp(2rem, 10vw, 3.1rem);
  }

  .about-story-card{
    padding:12px;
    border-radius:26px;
  }

  .about-carnauba-block{
    padding:20px;
    border-radius:22px;
  }

  .about-story-visual{
    min-height:430px;
    border-radius:24px;
  }

  .about-device{
    width:94%;
    min-height:340px;
    border-radius:22px;
  }

  .about-device-grid{
    grid-template-columns:92px 1fr;
    min-height:298px;
  }

  .about-device-sidebar{
    padding:14px 10px;
  }

  .about-device-main{
    padding:16px;
  }

  .device-kpis{
    grid-template-columns:1fr;
    gap:10px;
  }

  .device-kpis div{
    padding:12px;
  }

  .device-chart{
    height:92px;
    padding:12px;
    gap:8px;
  }

  .about-floating-note{
    display:none;
  }
}

@media (max-width: 420px){
  .about-story-visual{
    min-height:390px;
  }

  .about-device{
    width:100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .about-story-saas *,
  .about-story-saas *::before,
  .about-story-saas *::after{
    animation:none !important;
    transition:none !important;
  }
}