/* ==========================================================================
   UdiSpace — Sobre nós (sobre.css)
   Mobile-first. Usa tokens/classes do base.css.
   ========================================================================== */

/* ---------- Hero manifesto ---------- */
.sobre-hero{position:relative;overflow:hidden;padding-bottom:clamp(40px,6vw,80px)}
.sobre-hero .container{padding-top:clamp(48px,8vw,110px)}
.sobre-title{font-size:clamp(2.7rem,8.4vw,7.4rem);max-width:14ch;margin-bottom:clamp(28px,4vw,48px)}
.sobre-title em.accent{font-size:1.08em}
.sobre-hero-foot{display:flex;flex-direction:column;gap:22px;margin-bottom:clamp(44px,6vw,80px)}
.sobre-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
@media (min-width:900px){
  .sobre-hero-foot{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:40px}
  .sobre-hero-foot .lead{max-width:48ch}
}

/* faixa de fotos em colagem */
.sobre-strip{display:flex;flex-direction:column;gap:14px;width:100%;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strip-row{display:flex;gap:14px;align-items:stretch;height:clamp(150px,22vw,300px);will-change:transform;width:max-content;padding-inline:14px}
.strip-row[data-strip-dir="1"]{align-self:flex-end}
.tile{margin:0;flex:none;height:100%;border-radius:var(--radius);overflow:hidden;background:var(--paper-2);position:relative;box-shadow:var(--shadow-s)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out),filter .6s}
.tile:hover img{transform:scale(1.06)}
.tile.t-wide{aspect-ratio:16/10}
.tile.t-tall{aspect-ratio:3/4}
.tile.t-sq{aspect-ratio:1}
/* fallback sem GSAP / reduced motion: marquee suave */
.sobre-strip.is-fallback .strip-row{animation:stripLeft 60s linear infinite}
.sobre-strip.is-fallback .strip-row[data-strip-dir="1"]{animation-name:stripRight}
@keyframes stripLeft{to{transform:translateX(-25%)}}
@keyframes stripRight{from{transform:translateX(-25%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.sobre-strip.is-fallback .strip-row{animation:none}}

/* ---------- Nossa história + linha do tempo ---------- */
.historia-grid{display:grid;gap:clamp(40px,6vw,96px)}
@media (min-width:960px){.historia-grid{grid-template-columns:1fr 1.1fr;align-items:start}}
.historia-sticky{position:sticky;top:120px}
.historia-text .h2{max-width:16ch}

.timeline{list-style:none;margin:0;padding:0 0 0 clamp(36px,5vw,64px);position:relative;display:flex;flex-direction:column;gap:clamp(40px,6vw,72px)}
.tl-track{position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:var(--line);border-radius:2px;overflow:hidden}
.tl-fill{position:absolute;inset:0;background:linear-gradient(180deg,var(--ipe),var(--terra));transform-origin:top;transform:scaleY(0);will-change:transform}
.tl-item{position:relative;padding-top:4px}
.tl-dot{position:absolute;left:calc(-1 * clamp(36px,5vw,64px) + 4px);top:10px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--line);transition:background .5s var(--ease-out),border-color .5s,box-shadow .6s,transform .6s var(--ease-out)}
.tl-dot::after{content:"";position:absolute;inset:-10px;border-radius:50%;background:var(--ipe);opacity:0;transform:scale(.4);transition:opacity .6s,transform .6s var(--ease-out);z-index:-1}
.tl-item.lit .tl-dot{background:var(--ipe);border-color:var(--ink);transform:scale(1.15);box-shadow:0 0 0 6px rgba(242,178,51,.22)}
.tl-item.lit .tl-dot::after{opacity:.35;transform:scale(1);animation:pulse 2.2s ease-out infinite}
.tl-year{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.04em;line-height:1;display:block;color:var(--paper-3);transition:color .6s var(--ease-out),transform .6s var(--ease-out);transform:translateX(-6px)}
.tl-item.lit .tl-year{color:var(--ink);transform:none}
.tl-title{font-size:clamp(1.2rem,1.8vw,1.5rem);margin:10px 0 12px;transition:color .5s}
.tl-item p{max-width:52ch}
.tl-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--pill);border:1px solid var(--line);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);transition:.5s var(--ease-out)}
.tl-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.tl-item.lit .tl-tag{border-color:var(--terra);color:var(--terra);background:rgba(200,80,47,.06)}
.tl-item{opacity:.55;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.tl-item.lit{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.tl-item{opacity:1;transform:none}.tl-fill{transform:none}.tl-item.lit .tl-dot::after{animation:none}}

/* ---------- Missão / Visão / Valores ---------- */
.mvv-card{display:flex;flex-direction:column;gap:14px;min-height:100%;background:#fff;will-change:transform}
.mvv-card .h3{font-size:clamp(1.25rem,1.7vw,1.5rem);max-width:18ch}
.mvv-icon{background:var(--paper);color:var(--terra);transition:transform .6s var(--ease-out),background .4s,color .4s}
.mvv-card:hover .mvv-icon{background:var(--ipe);color:var(--ink);transform:rotate(-8deg) scale(1.08)}
.mvv-label{font-family:var(--font-display);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--mist)}
.mvv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;color:var(--mist)}
.mvv-list li{padding-left:22px;position:relative;line-height:1.5}
.mvv-list li::before{content:"✦";position:absolute;left:0;top:0;color:var(--ipe);font-size:.85em}
.mvv-list strong{color:var(--ink)}

/* ---------- Números ---------- */
.numeros{position:relative;overflow:hidden}
.numeros .section-head .h2{max-width:26ch}
.numeros-grid{margin-top:8px}
.numeros .stat{padding:28px 0 0;border-top:1px solid var(--line-dark)}
.numeros .stat .num{color:var(--paper)}
.numeros-foot{display:flex;align-items:center;gap:14px;margin-top:clamp(36px,5vw,64px);padding:16px 22px;border-radius:var(--pill);background:rgba(246,242,234,.06);border:1px solid var(--line-dark);width:fit-content;max-width:100%}
.numeros-foot .pulse-dot{flex:none}

/* ---------- Time ---------- */
.time-grid{grid-template-columns:1fr}
@media (min-width:600px){.time-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.time-grid{grid-template-columns:repeat(3,1fr)}}
.membro{position:relative;background:#fff;border-radius:var(--radius-l);padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:18px;overflow:hidden;box-shadow:var(--shadow-s);cursor:default;min-height:240px;transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out),opacity .8s var(--ease-out)}
.membro:hover,.membro:focus-visible{transform:translateY(-6px);box-shadow:var(--shadow)}
.membro-avatar{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;color:var(--ink);position:relative;transition:transform .7s var(--ease-out)}
.membro-avatar::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px dashed var(--line);transition:transform 1.2s var(--ease-out),border-color .4s}
.membro:hover .membro-avatar{transform:scale(1.06) rotate(-4deg)}
.membro:hover .membro-avatar::after{transform:rotate(180deg);border-color:var(--ipe)}
.av-1{background:linear-gradient(135deg,var(--ipe-2),var(--terra-2))}
.av-2{background:linear-gradient(135deg,var(--cerrado-2),var(--ipe))}
.av-3{background:linear-gradient(135deg,var(--terra),var(--ipe-2));color:var(--paper)}
.av-4{background:linear-gradient(135deg,var(--ink-3),var(--cerrado-2));color:var(--paper)}
.av-5{background:linear-gradient(135deg,var(--ipe),var(--paper-3))}
.av-6{background:linear-gradient(135deg,var(--terra-2),var(--ink-2));color:var(--paper)}
.membro-nome{font-size:1.15rem;margin:0 0 2px}
.membro-cargo{font-size:.82rem;color:var(--mist);font-weight:600;letter-spacing:.02em}
.membro-frase{position:absolute;inset:0;margin:0;padding:clamp(22px,2.6vw,32px);background:var(--ink);color:var(--paper);font-family:var(--font-serif);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.35;display:flex;align-items:flex-end;clip-path:circle(0% at 50px 50px);transition:clip-path .8s var(--ease-out)}
.membro-frase::before{content:"“";position:absolute;top:18px;left:24px;font-size:4rem;line-height:1;color:var(--ipe);opacity:.8}
.membro:hover .membro-frase,.membro:focus-visible .membro-frase,.membro.is-open .membro-frase{clip-path:circle(140% at 50px 50px)}
@media (prefers-reduced-motion:reduce){.membro-frase{transition:none}}

/* ---------- Feito em Uberlândia (mapa) ---------- */
.cidade-grid{display:grid;gap:clamp(36px,5vw,72px)}
@media (min-width:1000px){.cidade-grid{grid-template-columns:1fr 1.15fr;align-items:center}}
.cidade-text .h2{max-width:18ch}
.cidade-lista{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cidade-lista li{padding:8px 14px;border-radius:var(--pill);background:#fff;border:1px solid var(--line);font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:.35s var(--ease-out);cursor:default}
.cidade-lista li b{font-family:var(--font-display);color:var(--terra)}
.cidade-lista li:hover,.cidade-lista li.is-hot{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.cidade-lista li:hover b,.cidade-lista li.is-hot b{color:var(--ipe)}

.cidade-mapa{position:relative;border-radius:var(--radius-xl);overflow:visible;filter:drop-shadow(var(--shadow))}
.mapa-svg{width:100%;height:auto;display:block;border-radius:var(--radius-xl);overflow:visible}
.mapa-cidade{fill:var(--paper-2);stroke:var(--paper-3);stroke-width:2;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.4s var(--ease-out) .2s}
.mapa-rio{fill:none;stroke:var(--cerrado-2);stroke-width:5;stroke-linecap:round;opacity:.55;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2.6s var(--ease-out) .6s}
.mapa-via{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;opacity:.22;stroke-dasharray:700;stroke-dashoffset:700;transition:stroke-dashoffset 2.2s var(--ease-out) .9s}
.mapa-via-fina{stroke-width:1.5;stroke-dasharray:6 8;opacity:.28}
.cidade-mapa.in .mapa-cidade,.cidade-mapa.in .mapa-rio,.cidade-mapa.in .mapa-via{stroke-dashoffset:0}
.mapa-glow{opacity:0;transition:opacity 1.5s 1s}
.cidade-mapa.in .mapa-glow{opacity:1}
.pin{cursor:pointer;opacity:0;transform-box:fill-box;transition:opacity .6s var(--ease-out)}
.cidade-mapa.in .pin{opacity:1}
.pin-core{fill:var(--terra);stroke:#fff;stroke-width:2;transition:fill .3s,r .3s}
.pin-ring{fill:var(--terra);opacity:.3;transform-origin:center;transform-box:fill-box;animation:pinPulse 2.4s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes pinPulse{0%{transform:scale(.6);opacity:.45}100%{transform:scale(2.6);opacity:0}}
.pin-label{font-family:var(--font-display);font-weight:700;font-size:12px;fill:var(--ink);letter-spacing:.01em;opacity:.75;transition:opacity .3s,fill .3s;pointer-events:none}
.pin:hover .pin-core,.pin.is-hot .pin-core{fill:var(--ipe);stroke:var(--ink)}
.pin:hover .pin-label,.pin.is-hot .pin-label{opacity:1;fill:var(--terra)}
.mapa-rotulo{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.22em;fill:var(--mist)}
.mapa-rotulo-r{letter-spacing:.06em;font-family:var(--font-body);font-weight:600}
.mapa-tooltip{position:absolute;pointer-events:none;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:12px;font-size:.82rem;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-l);opacity:0;transform:translate(-50%,-120%) translateY(6px);transition:opacity .3s,transform .4s var(--ease-out);z-index:2;left:0;top:0}
.mapa-tooltip.show{opacity:1;transform:translate(-50%,-120%)}
.mapa-tooltip b{color:var(--ipe);font-family:var(--font-display)}
@media (max-width:640px){.pin-label{font-size:14px}}
@media (prefers-reduced-motion:reduce){.mapa-cidade,.mapa-rio,.mapa-via{stroke-dashoffset:0;transition:none}.pin{opacity:1}.pin-ring{animation:none;opacity:.2}.mapa-glow{opacity:1}}

/* ---------- Marquee ---------- */
.marquee-wrap{padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;overflow:hidden}
.marquee-b .marquee-track{animation-direction:reverse;animation-duration:36s}
.marquee-b .marquee-track > *{color:var(--mist);font-weight:600;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.1rem,2vw,1.7rem)}
.marquee-b .marquee-track > *::after{color:var(--terra)}

/* ---------- CTA duplo ---------- */
.cta-duo{display:grid;gap:clamp(16px,2vw,28px)}
@media (min-width:860px){.cta-duo{grid-template-columns:1fr 1fr}}
.cta-card{position:relative;display:block;border-radius:var(--radius-xl);overflow:hidden;min-height:clamp(320px,36vw,440px);isolation:isolate;transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out),opacity .8s var(--ease-out);box-shadow:var(--shadow-s)}
.cta-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-l)}
.cta-bg{position:absolute;inset:0;z-index:-1}
.cta-bg img{transition:transform 1.4s var(--ease-out)}
.cta-busca{color:var(--paper)}
.cta-busca::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,15,20,.05) 20%,rgba(14,15,20,.85))}
.cta-card:hover .cta-bg img{transform:scale(1.05)}
.cta-body{position:relative;z-index:1;height:100%;min-height:inherit;padding:clamp(26px,3.5vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:18px;justify-content:flex-end}
.cta-body .badge{margin-bottom:auto}
.cta-title{font-size:clamp(1.7rem,3vw,2.6rem);max-width:14ch;letter-spacing:-.03em}
.cta-busca .cta-title em.accent{color:var(--ipe)}
.cta-card .btn{pointer-events:none}
.cta-card:hover .btn{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--ink)}
.cta-card:hover .btn::before{transform:translateY(0)}
.cta-card:hover .btn-ipe{color:var(--paper)}
.cta-card:hover .btn .arrow{transform:translate(4px,-4px)}
.cta-anuncie{position:relative;overflow:hidden}
.cta-anuncie::before{border-radius:inherit}
