:root{
    --bg: #0a0a0a;
    --surface: #141412;
    --surface-2: #1c1c19;
    --text: #f5f4f0;
    --muted: #8c8c87;
    --line: #2a2a26;
    --line-soft: #1f1f1c;
  }

  *{ margin:0; padding:0; box-sizing:border-box; }

  html{ scroll-behavior:smooth; }

  body{
    background:var(--bg);
    color:var(--text);
    font-family:'General Sans', sans-serif;
    font-weight:400;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }

  /* ---------- grain texture (brand texture, not decoration) ---------- */
  .grain{
    position:fixed; inset:0;
    pointer-events:none;
    z-index:50;
    opacity:0.05;
    mix-blend-mode:overlay;
  }

  /* ---------- nav ---------- */
  nav{
    position:fixed; top:0; left:0; right:0;
    display:flex; justify-content:space-between; align-items:center;
    padding:22px 48px;
    z-index:40;
    background:rgba(10,10,10,0.7);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line-soft);
  }
  .nav-mark{ display:flex; align-items:center; }
  .logo-img{
    height:34px; width:auto; display:block;
    filter:invert(1) brightness(1.25);
    opacity:0.95;
  }
  .nav-links{ display:flex; align-items:center; gap:36px; }
  .nav-links a, .nav-links button{
    color:var(--text); text-decoration:none;
    font-size:13px; letter-spacing:0.06em;
    opacity:0.75; transition:opacity .25s ease;
    background:none; border:none; cursor:pointer;
    font-family:'General Sans', sans-serif; font-weight:400;
    padding:0;
  }
  .nav-links a:hover, .nav-links button:hover{ opacity:1; }
  .btn-contato{
    opacity:1 !important;
    border:1px solid var(--line) !important;
    padding:9px 18px !important;
    border-radius:2px;
    transition:border-color .25s ease, background .25s ease !important;
  }
  .btn-contato:hover{ border-color:#565652 !important; background:rgba(255,255,255,0.03); }

  .hero-content{ position:relative; z-index:1; }

  .hero-network{
    position:absolute; inset:0;
    width:100%; height:100%;
    z-index:0; pointer-events:none;
  }
  .hero-net-line{ stroke:var(--line); stroke-width:1; fill:none; }
  .hero-net-glow{ stroke:none; fill:none; }
  .hero-net-pulse{ fill:#f5f4f0; filter:url(#heroPulseBlur); opacity:0.85; }
  .hero-net-dot{ fill:#7c7c78; }
  .hero-net-dot.big{ fill:#a3a39e; }
  .hero-net-label{
    font-family:'General Sans', sans-serif;
    font-size:10.5px; letter-spacing:0.09em;
    fill:#5c5c58;
  }

  @media (max-width:900px){
    .hero-network{ display:none; }
  }

  /* ---------- hero ---------- */
  .hero{
    min-height:100vh;
    display:flex; flex-direction:column; justify-content:center;
    padding:90px 48px 0;
    position:relative;
  }

  .eyebrow-row{
    display:flex; align-items:center; gap:18px;
    margin-bottom:56px;
    opacity:0; transform:translateY(8px);
    animation:reveal .8s ease forwards;
    animation-delay:.15s;
  }
  .spec-marker{
    display:flex; align-items:center; gap:14px;
  }
  .spec-marker .dot{
    width:5px; height:5px; border-radius:50%;
    background:#565652; flex:0 0 auto;
  }
  .spec-marker .label{
    font-size:12px; letter-spacing:0.16em; color:var(--muted);
    font-weight:500; white-space:nowrap;
  }
  .spec-marker .rule{ flex:1; height:1px; background:var(--line); }
  .spec-marker .code{
    font-size:12px; letter-spacing:0.06em; color:#5c5c58;
    font-variant-numeric:tabular-nums;
  }
  .hero .spec-marker{ margin-bottom:56px; max-width:640px; }
  .hero .spec-marker .rule{ max-width:180px; }

  .hero-type{
    line-height:1.04;
    font-size:clamp(38px, 7.2vw, 100px);
    letter-spacing:-0.02em;
  }
  .hero-type div{
    opacity:0; transform:translateY(24px);
    animation:reveal .9s cubic-bezier(.16,1,.3,1) forwards;
  }
  .w-light{ font-weight:200; color:var(--muted); }
  .w-reg{ font-weight:400; color:#c8c7c2; }
  .w-bold{ font-weight:700; color:var(--text); }

  .hero-type div:nth-child(1){ animation-delay:.3s; }
  .hero-type div:nth-child(2){ animation-delay:.45s; }
  .hero-type div:nth-child(3){ animation-delay:.6s; }

  @keyframes reveal{ to{ opacity:1; transform:translateY(0); } }

  .hero-sub{
    max-width:480px;
    margin-top:40px;
    font-size:16px; line-height:1.6; color:var(--muted); font-weight:400;
    opacity:0; animation:reveal .8s ease forwards; animation-delay:.85s;
  }

  /* proof strip — per-universo client marquee (pure CSS, no library) */
  .universo-clients{
    grid-column: 1 / -1;
    overflow:hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
    mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  }
  .clients-track{
    display:flex; width:max-content;
    animation-name: clientsMarquee;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  .universo-card:hover .clients-track{ animation-play-state: paused; }
  .clients-group{
    display:flex; gap:32px; padding-right:32px;
    font-size:11.5px; letter-spacing:0.09em; color:#5c5c58;
    text-transform:uppercase; font-weight:400; white-space:nowrap;
  }
  @keyframes clientsMarquee{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }

  /* ---------- universos section ---------- */
  .universos{
    padding:160px 48px 140px;
    border-top:1px solid var(--line);
  }
  .section-head{
    margin-bottom:80px;
  }
  .section-head .spec-marker{ margin-bottom:26px; max-width:520px; flex-wrap:wrap; row-gap:6px; }
  .section-head .spec-marker .rule{ min-width:20px; }
  .section-head h2{
    font-size:clamp(28px,3.6vw,42px); font-weight:500; color:var(--text);
    letter-spacing:-0.01em; line-height:1.15;
  }

  .universo-card{
    display:grid;
    grid-template-columns: 220px 1fr 180px;
    align-items:center;
    row-gap:22px; column-gap:32px;
    padding:44px 28px;
    border-top:1px solid var(--line);
    text-decoration:none;
    color:var(--text);
    position:relative;
    transition:padding-left .4s cubic-bezier(.16,1,.3,1);
  }
  

  .universo-tag{
    font-size:12.5px; letter-spacing:0.12em; color:var(--muted);
    border:1px solid var(--line); border-radius:2px;
    padding:6px 10px; width:fit-content; font-weight:500;
  }

  .universo-name{
    font-size:clamp(32px,5vw,56px); font-weight:600; letter-spacing:-0.01em;
    display:flex; align-items:center; gap:18px;
  }
  .universo-desc{
    font-size:14px; color:var(--muted); font-weight:400; line-height:1.5;
    max-width:220px; justify-self:end; text-align:right;
  }

  .chevron{
    display:inline-block; opacity:0; transform:translateX(-8px);
    transition:all .35s cubic-bezier(.16,1,.3,1);
    font-weight:300; color:var(--muted);
  }
  .universo-card:hover{ padding-left:44px; }
  .universo-card:hover .chevron{ opacity:1; transform:translateX(0); }
  .universo-card:hover .universo-name{ color:#fff; }

  .status-note{
    font-size:11px; letter-spacing:0.08em; color:#5c5c58; margin-top:6px;
  }

  /* ---------- faq ---------- */
  .faq{
    padding:160px 48px 160px;
    border-top:1px solid var(--line);
  }
  .faq-groups{ max-width:820px; margin:0 auto; }
  .faq-group{ margin-bottom:60px; }
  .faq-group:last-child{ margin-bottom:0; }
  .faq-group-label{
    font-size:12px; letter-spacing:0.12em; color:var(--muted);
    text-transform:uppercase; font-weight:500;
    padding-bottom:14px; margin-bottom:6px;
    border-bottom:1px solid var(--line);
  }

  .faq-item{ border-top:1px solid var(--line-soft); }
  .faq-group .faq-item:last-child{ border-bottom:1px solid var(--line-soft); }

  .faq-question{
    width:100%; display:flex; align-items:center; justify-content:space-between;
    gap:20px; padding:20px 2px;
    background:none; border:none; cursor:pointer; text-align:left;
    color:var(--text); font-size:15.5px; font-weight:500;
    font-family:'General Sans', sans-serif;
    transition:color .2s ease;
  }
  .faq-question:hover{ color:#c8c7c2; }

  .faq-icon{ position:relative; flex:none; width:16px; height:16px; }
  .faq-icon::before, .faq-icon::after{
    content:''; position:absolute; background:var(--muted);
    transition:transform .3s ease, opacity .3s ease;
  }
  .faq-icon::before{ left:0; top:50%; width:100%; height:1px; transform:translateY(-50%); }
  .faq-icon::after{ top:0; left:50%; width:1px; height:100%; transform:translateX(-50%); }
  .faq-item.open .faq-icon::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
  .faq-item.open .faq-question{ color:var(--text); }

  .faq-answer{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
  .faq-answer p{
    padding:0 26px 22px 2px;
    font-size:13.5px; line-height:1.65; color:var(--muted);
    max-width:640px;
  }

  @media (max-width:600px){
    .faq{ padding:120px 24px 120px; }
    .faq-question{ font-size:14.5px; }
  }

  /* ---------- footer ---------- */
  footer{
    padding:80px 48px 40px;
    border-top:1px solid var(--line);
  }

  .footer-giant-divider{
    width:100%;
    border-bottom:1px solid var(--line);
    margin-top:48px;
  }
  .footer-giant-band{
    position:relative;
    width:100%; max-width:900px;
    margin:0 auto;
    aspect-ratio:5.7 / 1;
    overflow:hidden;
  }
  .footer-giant-word{
    position:absolute;
    left:0; top:0;
    width:100%; height:auto;
    opacity:0.85;
    filter:invert(1) brightness(1.35);
  }

  /* ---------- floating contact button ---------- */
  .fab-contato{
    position:fixed; right:28px; bottom:28px; z-index:60;
    display:flex; align-items:center; gap:14px;
    padding:10px 22px 10px 10px;
    border-radius:999px;
    background:var(--surface-2); border:1px solid #3a3a36;
    color:var(--text); cursor:pointer;
    box-shadow:0 12px 34px rgba(0,0,0,0.5);
    animation:fabGlow 4.5s ease-in-out infinite;
    transition:transform .25s cubic-bezier(.16,1,.3,1), border-color .25s ease, background .25s ease;
  }
  .fab-contato:hover{ transform:translateY(-3px); border-color:#565652; background:#22221f; }
  .fab-icon{
    flex:none; width:44px; height:44px; border-radius:50%;
    background:var(--text); color:#0a0a0a;
    display:flex; align-items:center; justify-content:center;
  }
  .fab-icon svg{ width:22px; height:22px; }
  .fab-text{ text-align:left; line-height:1.25; }
  .fab-text strong{ display:block; font-size:14px; font-weight:600; }
  .fab-text span{ display:block; font-size:11.5px; color:var(--muted); letter-spacing:0.04em; }

  @keyframes fabGlow{
    0%,100%{ box-shadow:0 12px 34px rgba(0,0,0,0.5), 0 0 0 1px rgba(245,244,240,0.05), 0 0 20px 2px rgba(245,244,240,0.08); }
    50%{     box-shadow:0 12px 34px rgba(0,0,0,0.5), 0 0 0 1px rgba(245,244,240,0.08), 0 0 30px 6px rgba(245,244,240,0.14); }
  }

  @media (max-width:600px){
    .fab-contato{ right:16px; bottom:16px; padding:8px 16px 8px 8px; gap:10px; }
    .fab-icon{ width:38px; height:38px; }
    .fab-text strong{ font-size:13px; }
    .fab-text span{ font-size:10.5px; }
  }

  .footer-columns{
    position:relative;
    display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;
    padding:56px 0;
  }
  .footer-col{ min-width:0; }
  .footer-col-title{
    font-size:11.5px; letter-spacing:0.1em; color:#5c5c58;
    text-transform:uppercase; margin-bottom:18px;
  }
  .footer-col a, .footer-col span.footer-line{
    display:block; font-size:14px; color:var(--muted);
    text-decoration:none; margin-bottom:12px;
    transition:color .2s ease;
  }
  .footer-col a:hover{ color:var(--text); }
  .footer-col .status-note{ display:inline-block; margin-left:8px; }

  .footer-ig-wrap{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;
    margin-bottom:40px;
  }
  .footer-ig-btn{
    grid-column:2; justify-self:start;
    display:inline-flex; align-items:center; gap:9px;
    font-size:13px; color:var(--muted);
    border:1px solid var(--line); border-radius:999px;
    padding:10px 18px; text-decoration:none;
    transition:color .2s ease, border-color .2s ease;
  }
  .footer-ig-btn:hover{ color:var(--text); border-color:#565652; }

  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center;
    gap:20px; flex-wrap:wrap; padding-top:28px;
    font-size:12px; color:#5c5c58;
  }

  @media (max-width:760px){
    .footer-columns{ display:flex; flex-wrap:wrap; text-align:left; }
    .footer-columns .footer-col:nth-child(1),
    .footer-columns .footer-col:nth-child(2){ flex:1 1 45%; }
    .footer-columns .footer-col:nth-child(3){ flex:1 1 100%; margin-top:28px; }
    .footer-ig-wrap{ display:flex; justify-content:center; }
    .footer-ig-btn{ justify-self:auto; }
    .footer-bottom{ flex-direction:column; text-align:center; }
  }

  @media (max-width:760px){
    .universo-card{ grid-template-columns:1fr; gap:12px; padding:32px 4px; }
    .universo-desc{ text-align:left; justify-self:start; max-width:100%; }
    nav, .hero, .universos, footer{ padding-left:24px; padding-right:24px; }
    .hero{ min-height:auto; padding-top:120px; padding-bottom:80px; }
    .universos{ padding-top:90px; padding-bottom:70px; }
    .depoimentos{ padding-top:90px; padding-bottom:90px; }
    .section-head{ margin-bottom:48px; }
    .chevron{ opacity:1; transform:translateX(0); }
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation:none !important; transition:none !important; }
  }

  /* ---------- contact modal ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:100;
    background:rgba(0,0,0,0.75);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    display:none; align-items:center; justify-content:center;
    padding:24px;
    opacity:0; transition:opacity .25s ease;
  }
  .modal-overlay.active{ display:flex; opacity:1; }

  .modal-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:20px;
    max-width:440px; width:100%;
    padding:40px;
    position:relative;
    transform:translateY(12px) scale(0.98);
    opacity:0;
    transition:transform .3s cubic-bezier(.16,1,.3,1), opacity .3s ease;
  }
  .modal-overlay.active .modal-card{ transform:translateY(0) scale(1); opacity:1; }

  .modal-close{
    position:absolute; top:24px; right:24px;
    background:none; border:none; cursor:pointer;
    color:var(--muted); font-size:20px; line-height:1;
    padding:4px; font-family:'General Sans', sans-serif;
    transition:color .2s ease;
  }
  .modal-close:hover{ color:var(--text); }

  .modal-card h3{
    font-size:22px; font-weight:600; letter-spacing:-0.01em;
    margin-bottom:14px; padding-right:20px;
  }
  .modal-desc{
    font-size:14px; line-height:1.6; color:var(--muted);
    margin-bottom:28px;
  }

  .contact-option{
    display:block; width:100%;
    text-align:left; text-decoration:none;
    padding:18px 20px; border-radius:12px;
    margin-bottom:12px;
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease;
  }
  .contact-option:last-child{ margin-bottom:0; }
  .contact-option strong{
    display:block; font-size:15px; font-weight:600; margin-bottom:4px;
  }
  .contact-option span{ font-size:13px; line-height:1.5; }

  .contact-option.primary{
    background:var(--text); border:1px solid var(--text);
  }
  .contact-option.primary strong{ color:#0a0a0a; }
  .contact-option.primary span{ color:#55554f; }
  .contact-option.primary:hover{ background:#ffffff; border-color:#ffffff; }

  .contact-option.secondary{
    background:transparent; border:1px solid var(--line);
  }
  .contact-option.secondary strong{ color:var(--text); }
  .contact-option.secondary span{ color:var(--muted); }
  .contact-option.secondary:hover{ border-color:#565652; background:rgba(255,255,255,0.03); }

  /* ---------- contact form (step 2) ---------- */
  .modal-card-wide{ max-width:640px; }

  .form-eyebrow{
    display:flex; align-items:center; gap:8px;
    font-size:12px; letter-spacing:0.14em; color:var(--muted);
    font-weight:500; margin-bottom:20px;
  }
  .form-eyebrow .dot{
    width:6px; height:6px; border-radius:50%;
    background:var(--muted); display:inline-block;
  }

  .modal-card h2{
    font-size:clamp(26px,3.4vw,34px); font-weight:400; line-height:1.15;
    letter-spacing:-0.01em; margin-bottom:20px; padding-right:24px;
  }
  .modal-card h2 strong{ font-weight:700; display:block; }

  .form-intro{
    font-size:14px; line-height:1.6; color:var(--muted);
    margin-bottom:32px; max-width:480px;
  }

  .form-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:20px;
    margin-bottom:20px;
  }
  .field{ display:flex; flex-direction:column; gap:8px; }
  .field.full{ grid-column:1 / -1; }
  .field label{
    font-size:13px; font-weight:600; color:var(--text);
  }
  .field input, .field textarea{
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:10px;
    padding:13px 14px;
    font-family:'General Sans', sans-serif;
    font-size:14px; color:var(--text);
    outline:none;
    transition:border-color .2s ease;
  }
  .field input::placeholder, .field textarea::placeholder{ color:#5c5c58; }
  .field input:focus, .field textarea:focus{ border-color:#565652; }
  .field textarea{ resize:vertical; min-height:96px; font-family:inherit; }

  .dropzone{
    border:1px dashed var(--line);
    border-radius:10px;
    padding:28px 20px;
    text-align:center;
    font-size:13.5px; color:var(--muted);
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease;
    margin-top:8px;
  }
  .dropzone:hover, .dropzone.drag{ border-color:#565652; background:rgba(255,255,255,0.03); }

  .btn-submit{
    display:block; width:100%;
    background:var(--text); color:#0a0a0a;
    border:1px solid var(--text); border-radius:10px;
    padding:15px; margin-top:28px;
    font-family:'General Sans', sans-serif;
    font-size:14.5px; font-weight:600;
    cursor:pointer;
    transition:background .2s ease;
  }
  .btn-submit:hover{ background:#ffffff; }

  .form-back{
    background:none; border:none; color:var(--muted);
    font-size:13px; cursor:pointer; margin-bottom:24px;
    display:flex; align-items:center; gap:6px;
    font-family:'General Sans', sans-serif;
    transition:color .2s ease;
  }
  .form-back:hover{ color:var(--text); }

  .view-success{ text-align:left; }
  .view-success .success-icon{
    font-size:13px; letter-spacing:0.1em; color:var(--muted);
    margin-bottom:20px;
  }

  @media (max-width:600px){
    .form-grid{ grid-template-columns:1fr; }
  }

  /* ---------- 3 pilares: cards com anel de luz no ícone + feixe percorrendo a borda ---------- */
  .proc-row{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:24px;
    max-width:1040px;
    margin:0 auto 90px;
    padding:44px 20px 10px;
    flex-wrap:wrap;
  }

  .proc-arrow{
    width:32px; height:20px;
    stroke:#4a5a3a; fill:none; stroke-width:2;
    flex:none;
    margin-top:44px;
    opacity:.7;
  }

  .proc-card{
    position:relative;
    width:230px;
    display:flex;
    flex-direction:column;
    align-items:center;
    flex:none;
    text-decoration:none;
    color:inherit;
    cursor:pointer;
    transition:transform .3s ease;
  }
  .proc-card:hover{ transform:translateY(-4px); }

  .proc-icon-wrap{
    position:relative;
    width:88px; height:88px;
    z-index:2;
    margin-bottom:-40px;
  }
  .proc-ring{
    position:absolute; inset:0;
    width:100%; height:100%;
    overflow:visible;
    transform:rotate(-90deg);
  }
  .proc-ring-track{ fill:none; stroke:#3a3a36; stroke-width:1.5; }
  .proc-ring-comet{
    fill:none; stroke:#f5f4f0; stroke-width:2.2;
    stroke-linecap:round;
    stroke-dasharray:14 86;
    filter:drop-shadow(0 0 5px rgba(245,244,240,0.85));
    animation:procComet 3.6s linear infinite;
  }
  .proc-icon-circle{
    position:absolute; top:6px; left:6px; right:6px; bottom:6px;
    border-radius:50%;
    background:#111110; border:1px solid #3a3a36;
    display:flex; align-items:center; justify-content:center;
    color:var(--text);
  }
  .proc-icon-circle svg{ width:28px; height:28px; }

  .proc-card-body{
    position:relative;
    width:100%;
    padding:56px 22px 30px;
    border-radius:22px;
    background:var(--surface-2);
    text-align:center;
  }
  .proc-border{
    position:absolute; inset:0;
    width:100%; height:100%;
    overflow:visible;
  }
  .proc-border-track{ fill:none; stroke:var(--line); stroke-width:1.5; }
  .proc-border-comet{
    fill:none; stroke:#f5f4f0; stroke-width:2.2;
    stroke-linecap:round;
    stroke-dasharray:10 90;
    filter:drop-shadow(0 0 5px rgba(245,244,240,0.8));
    animation:procComet 5.2s linear infinite;
  }
  @keyframes procComet{
    to{ stroke-dashoffset:-100; }
  }

  .proc-num{ font-size:11px; letter-spacing:0.1em; color:#5c5c58; margin-bottom:6px; }
  .proc-title{ font-size:16px; font-weight:600; color:var(--text); margin-bottom:6px; }
  .proc-desc{ font-size:13px; color:var(--muted); line-height:1.5; }

  @media (max-width:760px){
    .proc-row{ flex-direction:column; align-items:center; gap:38px; padding-top:34px; }
    .proc-arrow{ transform:rotate(90deg); margin-top:0; }
    .proc-card{ width:100%; max-width:270px; }
  }

  @media (prefers-reduced-motion: reduce){
    .proc-ring-comet, .proc-border-comet{ animation:none; opacity:0; }
  }

  /* ---------- depoimentos (light-pulse connectors + non-scale card highlight) ---------- */
  .depoimentos{
    padding:160px 48px 180px;
    border-top:1px solid var(--line);
  }

  .quote-bubble{
    position:relative; z-index:3;
    max-width:340px; margin:0 auto 90px;
    text-align:center;
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:999px;
    padding:14px 26px;
    font-size:14px; color:var(--muted);
  }

  .testimonial-stage{
    position:relative;
    padding-top:20px;
  }

  .testimonial-row{
    position:relative;
    max-width:1260px;
    margin:0 auto;
    padding-top:16px;
  }

  .pulse-svg{
    position:absolute; inset:0;
    width:100%; height:100%;
    z-index:1;
    pointer-events:none;
    overflow:visible;
  }
  .static-path{ fill:none; stroke:var(--line); stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round; }
  .glow-path{ fill:none; stroke:none; }
  .pulse-dot{ fill:#f5f4f0; filter:url(#pulseBlur); opacity:0.9; }

  .testimonial-track{
    position:relative; z-index:2;
    display:flex; justify-content:center; align-items:stretch;
    gap:0;
  }

  .testi-card{
    flex:0 0 250px;
    margin:0 -12px;
    padding:30px 24px;
    background:var(--surface);
    border:1px solid var(--line-soft);
    border-radius:14px;
    position:relative;
    z-index:0;
    transition:background .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s cubic-bezier(.16,1,.3,1);
  }
  .testi-card .testi-quote{
    font-size:14px; line-height:1.6; color:var(--muted);
    margin-bottom:20px; min-height:110px;
  }
  .testi-card .testi-name{ font-size:13.5px; font-weight:600; color:var(--text); }
  .testi-card .testi-role{ font-size:12px; color:var(--muted); margin-top:2px; }
  .testi-card .testi-flag{
    font-size:10px; letter-spacing:0.08em; color:#5c5c58;
    margin-bottom:14px; text-transform:uppercase;
  }

  .testi-card.active-card{
    z-index:5;
    background:var(--surface-2);
    border-color:#3a3a36;
    box-shadow:0 20px 40px rgba(0,0,0,0.35);
    transform:translateY(-10px);
  }
  .testi-card.active-card .testi-quote{ color:var(--text); }

  .testi-nav{
    display:flex; justify-content:center; gap:16px;
    margin-top:56px;
  }
  .testi-arrow{
    width:44px; height:44px; border-radius:50%;
    border:1px solid var(--line); background:transparent;
    color:var(--text); font-size:18px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:border-color .2s ease, background .2s ease;
  }
  .testi-arrow:hover{ border-color:#565652; background:rgba(255,255,255,0.03); }

  @media (max-width:1160px){
    .testimonial-row{ overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch; padding-left:24px; padding-right:24px; }
    .testimonial-track{ justify-content:flex-start; width:max-content; }
    .pulse-svg{ display:none; }
  }
  @media (max-width:760px){
    .testi-card{ flex:0 0 240px; width:240px; margin:0 8px; }
    .testi-card.active-card{ transform:none; }
    .testi-nav{ display:none; }
    .pulse-svg{ display:none; }
  }
