/* =========================================================
   AVANC — Home
   ========================================================= */

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  padding:150px 0 110px; isolation:isolate; overflow:hidden;
}
.hero-bg{ position:absolute; inset:-6% 0; z-index:-2; will-change:transform; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:60% 40%; filter:saturate(1.05); transform:scale(1.06); }
.hero-bg::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(9,8,11,0.96) 8%, rgba(9,8,11,0.82) 32%, rgba(15,11,20,0.55) 58%, rgba(20,14,28,0.35) 100%),
    linear-gradient(0deg, rgba(9,8,11,1) 0%, rgba(9,8,11,0.2) 30%, rgba(9,8,11,0.55) 100%);
}
.hero::before{ z-index:0; }
.hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:end; width:100%; position:relative; z-index:1; }
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; } }
.hero h1{
  font-size:clamp(2.7rem, 5.6vw, 4.8rem); line-height:1.04; margin:0 0 26px; color:var(--paper); max-width:15ch;
}
.hero-sub{ font-size:1.1rem; color:var(--ink-soft); max-width:50ch; margin:0 0 38px; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-card{ padding:26px; }
.hero-card-top{ display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.hero-card-photo{ width:64px; height:64px; border-radius:16px; overflow:hidden; border:1px solid var(--hairline-strong); flex:none; }
.hero-card-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.hero-card-name{ font-weight:700; color:var(--paper); font-size:15.5px; }
.hero-card-role{ font-size:13px; color:var(--ink-faint); margin-top:2px; }
.hero-card-quote{ font-family:'Fraunces', serif; font-style:italic; font-size:16.5px; line-height:1.45; color:var(--mist); }
.scroll-cue{
  position:absolute; bottom:30px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px; z-index:1;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);
  opacity:0; animation:riseIn 1s var(--ease) 1.2s forwards;
}
.scroll-cue .line{ width:1px; height:34px; background:linear-gradient(var(--purple-light), transparent); animation:pulseLine 2.2s ease-in-out infinite; }
@keyframes pulseLine{ 0%,100%{ opacity:.3; } 50%{ opacity:1; } }
@media (max-width:980px){ .scroll-cue{ display:none; } }

/* ---------- A agência ---------- */
.agency-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
@media (max-width:980px){ .agency-grid{ grid-template-columns:1fr; gap:60px; } }
.agency-visual{ position:relative; padding-bottom:70px; }
.agency-photo{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--hairline-strong);
  aspect-ratio:16/10; box-shadow:0 40px 80px -40px rgba(0,0,0,0.8);
}
.agency-photo img{ width:100%; height:100%; object-fit:cover; }
.agency-photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(200deg, rgba(123,44,191,0.25), transparent 55%); mix-blend-mode:overlay; pointer-events:none; }
.agency-chip{ position:absolute; left:18px; bottom:18px; padding:12px 18px; border-radius:18px; z-index:2; display:flex; flex-direction:column; line-height:1.2; }
.agency-chip strong{ font-family:'Fraunces', serif; font-size:1.5rem; color:var(--paper); font-weight:500; }
.agency-chip span{ font-size:12px; color:var(--ink-soft); }
.agency-office{
  position:absolute; right:-14px; bottom:0; width:46%; aspect-ratio:4/3; border-radius:var(--radius-md);
  overflow:hidden; border:4px solid var(--ink); box-shadow:0 24px 50px -20px rgba(0,0,0,0.8);
}
.agency-office img{ width:100%; height:100%; object-fit:cover; object-position:30% 60%; }
@media (max-width:520px){ .agency-office{ right:-6px; width:52%; } }
.manifesto{ font-family:'Fraunces', serif; font-size:1.5rem; line-height:1.5; color:var(--mist); margin:0 0 22px; font-weight:400; }
.agency-text .h2{ font-size:clamp(1.9rem,3vw,2.5rem); margin:0 0 24px; }
.agency-text .lede{ margin-bottom:6px; }

.team-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; margin-top:96px; }
@media (max-width:760px){ .team-grid{ grid-template-columns:1fr; } }
.team-card{ display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; transition:border-color .45s var(--ease), transform .8s var(--ease), opacity .8s var(--ease); }
.team-card:hover{ border-color:rgba(162,91,219,0.5); }
@media (max-width:520px){ .team-card{ grid-template-columns:1fr; } }
.team-photo{ position:relative; overflow:hidden; min-height:300px; }
.team-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.team-card:hover .team-photo img{ transform:scale(1.05); }
.team-role{
  position:absolute; left:14px; top:14px; padding:7px 14px; border-radius:999px; font-size:11.5px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--paper);
  background:rgba(13,13,15,0.55); border:1px solid var(--hairline-strong); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.team-info{ padding:28px 26px; display:flex; flex-direction:column; }
.team-info h3{ font-size:1.5rem; color:var(--paper); font-family:'Fraunces', serif; font-weight:500; }
.team-sub{ font-size:13px; color:var(--purple-light); font-weight:600; margin:2px 0 14px; }
.team-info p{ font-size:14.5px; color:var(--ink-soft); line-height:1.6; }
.team-tags{ list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:20px; }
.team-tags li{ font-size:12px; padding:6px 12px; border-radius:999px; border:1px solid var(--hairline-strong); color:var(--mist); }

.mv-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; margin-top:24px; }
@media (max-width:700px){ .mv-grid{ grid-template-columns:1fr; } }
.mv-card{ padding:30px 32px; }
.mv-label{ display:block; font-family:'Fraunces', serif; font-style:italic; color:var(--purple-light); font-size:1.25rem; margin-bottom:12px; }
.mv-card p{ color:var(--ink-soft); font-size:14.5px; line-height:1.6; }

.values{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top:20px; }
@media (max-width:900px){ .values{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .values{ grid-template-columns:1fr; } }
.value{ padding:24px 24px; border-radius:var(--radius-md); transition:transform .45s var(--ease), border-color .45s var(--ease); }
.value:hover{ transform:translateY(-4px); border-color:rgba(162,91,219,0.5); }
.value h4{ font-size:1rem; color:var(--paper); margin-bottom:6px; }
.value p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }

/* ---------- Instagram ---------- */
.ig-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; margin-bottom:44px; }
.ig-head .h2{ font-size:clamp(1.9rem,3.2vw,2.7rem); max-width:20ch; }
.btn-ico{ width:18px !important; height:18px !important; }
.ig-scroller{ position:relative; }
.ig-row{
  display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:6px max(32px, calc((100vw - 1180px) / 2 + 32px)) 14px; scrollbar-width:none;
}
.ig-row::-webkit-scrollbar{ display:none; }
@media (max-width:720px){ .ig-row{ padding-left:20px; padding-right:20px; } }
.ig-card{ flex:none; width:340px; scroll-snap-align:start; overflow:hidden; display:flex; flex-direction:column; transition:border-color .45s var(--ease), transform .45s var(--ease); }
.ig-card:hover{ border-color:rgba(162,91,219,0.5); transform:translateY(-4px); }
@media (max-width:420px){ .ig-card{ width:calc(100vw - 52px); } }
.ig-frame{ height:var(--h, 700px); background:#fff; overflow:hidden; }
.ig-frame iframe{ width:100%; height:100%; border:0; display:block; }
.ig-body{ padding:22px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.ig-tag{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--purple-light); }
.ig-body h3{ font-size:1.05rem; color:var(--paper); line-height:1.3; }
.ig-body p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }
.ig-body .service-link{ padding-top:14px; }
.scroller-btns{ display:flex; gap:10px; margin-top:24px; }
.round-btn{
  width:46px; height:46px; border-radius:50%; background:var(--glass-fill); border:1px solid var(--hairline-strong);
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--paper);
  transition:background .3s, transform .35s var(--ease), border-color .3s;
}
.round-btn:hover{ background:rgba(162,91,219,0.25); border-color:var(--purple-light); transform:scale(1.07); }
.round-btn svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.round-btn svg.flip{ transform:rotate(180deg); }

/* ---------- Serviços ---------- */
.services-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
@media (max-width:1020px){ .services-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .services-grid{ grid-template-columns:1fr; } }

/* ---------- Gestão comercial ---------- */
.gestao-items{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
@media (max-width:820px){ .gestao-items{ grid-template-columns:1fr; } }
.gestao-item h4{ font-size:15.5px; color:var(--paper); margin:0 0 8px; }
.gestao-item p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }

/* ---------- Metodologias ---------- */
.pdca{ display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
@media (max-width:900px){ .pdca{ grid-template-columns:1fr; gap:36px; } }
.pdca-visual{ max-width:380px; width:100%; margin:0 auto; }
.pdca-svg{ width:100%; height:auto; display:block; overflow:visible; }
.pdca-svg .orbit{ fill:none; stroke:rgba(229,229,229,0.16); stroke-width:1; stroke-dasharray:3 7; transform-origin:160px 160px; animation:spin 60s linear infinite; }
.pdca-svg .orbit-dot{ transform-origin:160px 160px; animation:spin 9s linear infinite; }
.pdca-svg .orbit-dot circle{ fill:var(--purple-pale); filter:drop-shadow(0 0 8px var(--purple-light)); }
@keyframes spin{ to{ transform:rotate(360deg); } }
.pdca-svg .q{ fill:none; stroke:rgba(162,91,219,0.28); stroke-width:30; stroke-linecap:round; transition:stroke .5s var(--ease), stroke-width .5s var(--ease), filter .5s; }
.pdca-svg .q.is-on{ stroke:var(--purple-light); stroke-width:36; filter:drop-shadow(0 0 14px rgba(162,91,219,0.65)); }
.pdca-svg .ql{ font-family:'Fraunces', serif; font-size:22px; fill:rgba(255,255,255,0.6); transition:fill .4s; }
.pdca-svg .ql.is-on{ fill:#fff; }
.pdca-svg .pc-t{ font-family:'Fraunces', serif; font-size:36px; fill:var(--paper); }
.pdca-svg .pc-s{ font-family:'Plus Jakarta Sans', sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; fill:var(--ink-faint); }
.pdca-list{ list-style:none; padding:0; display:flex; flex-direction:column; gap:12px; }
.pdca-item{
  display:grid; grid-template-columns:48px 1fr; gap:18px; align-items:start; cursor:pointer;
  padding:18px 22px; border-radius:var(--radius-md); border:1px solid var(--hairline); background:var(--glass-fill);
  transition:border-color .4s, background .4s, transform .5s var(--ease);
}
.pdca-item .pk{
  width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; font-size:1.4rem; color:var(--ink-soft); border:1px solid var(--hairline-strong); transition:all .4s var(--ease);
}
.pdca-item h4{ font-size:1.02rem; color:var(--paper); margin-bottom:4px; }
.pdca-item p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }
.pdca-item.is-on{ border-color:rgba(162,91,219,0.6); background:rgba(123,44,191,0.14); transform:translateX(8px); }
.pdca-item.is-on .pk{ background:linear-gradient(135deg, var(--purple-light), var(--purple)); color:#fff; border-color:transparent; }

.method-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:64px; }
@media (max-width:900px){ .method-cards{ grid-template-columns:1fr; } }
.method-card{ padding:28px 26px; transition:transform .45s var(--ease), border-color .45s var(--ease); }
.method-card:hover{ transform:translateY(-6px); border-color:rgba(162,91,219,0.5); }
.method-card:hover .icon-tile{ transform:rotate(-6deg) scale(1.08); background:rgba(162,91,219,0.2); }
.method-card h4{ font-size:1.05rem; color:var(--paper); margin-bottom:8px; }
.method-card p{ font-size:14px; color:var(--ink-soft); line-height:1.55; }

/* ---------- Ferramentas ---------- */
.tools-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
@media (max-width:900px){ .tools-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .tools-grid{ grid-template-columns:1fr; } }
.tool{ padding:30px 26px; position:relative; overflow:hidden; transition:border-color .45s var(--ease); }
.tool::before{
  content:''; position:absolute; width:180px; height:180px; right:-60px; top:-60px; border-radius:50%;
  background:radial-gradient(circle, var(--c), transparent 70%); opacity:.12; transition:opacity .5s, transform .6s var(--ease);
}
.tool:hover{ border-color:var(--c); }
.tool:hover::before{ opacity:.35; transform:scale(1.3); }
.tool-ico{
  width:60px; height:60px; border-radius:18px; display:flex; align-items:center; justify-content:center; margin-bottom:22px;
  background:rgba(255,255,255,0.06); border:1px solid var(--hairline-strong); color:var(--c); position:relative; z-index:1;
  transition:transform .6s var(--ease);
}
.tool:hover .tool-ico{ transform:translateY(-4px) rotate(-5deg); }
.tool-ico svg{ width:30px; height:30px; }
.tool h3{ font-size:1.1rem; color:var(--paper); margin-bottom:6px; position:relative; z-index:1; }
.tool p{ font-size:14px; color:var(--ink-soft); line-height:1.5; position:relative; z-index:1; }
