/*
Theme Name: Visi - Assessoria de Crescimento
Theme URI: https://visimarketing.com.br
Author: Visi Marketing
Author URI: https://visimarketing.com.br
Description: Tema institucional da Visi, assessoria de crescimento empresarial. Cinco paginas (Home, Sobre, Servicos, Cases, Contato) com animacoes GSAP, estilo premium preto/branco/azul.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: visi
*/

/* =========================================================
   VISI — Home  |  editorial + high contrast + #1BBBFF
   Fonts: Fraunces (display serif) + Space Grotesk (grotesk)
   ========================================================= */

:root{
  --black:#0A0A0A;
  --ink:#0A0A0A;
  --paper:#EBEBEB;
  --paper-2:#E2E2E2;
  --white:#FFFFFF;
  --blue:#1BBBFF;
  --blue-deep:#0A6FB0;
  --grey:#B8B7B8;
  --grey-2:#C5C4C5;
  --line:rgba(10,10,10,.14);
  --line-light:rgba(255,255,255,.16);

  --font-body:'Space Grotesk', sans-serif;      /* headlines / display */
  --font-serif:'Space Grotesk',sans-serif;       /* antigo papel cursivo, agora Space Grotesk */
  --font-text:'Metropolis','Space Grotesk',sans-serif; /* corpo menor */
  --font-btn:'Staatliches','Space Grotesk',sans-serif; /* botões */

  --ease:cubic-bezier(.6,.01,.05,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  --pad:clamp(20px,5vw,80px);
  --maxw:1600px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-text);
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit}
::selection{background:var(--blue);color:var(--black)}

.serif{font-family:var(--font-body);font-style:normal;font-weight:500;color:var(--blue)}

.tag{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--black);
}
.tag::before{content:"";width:7px;height:7px;background:var(--blue);border-radius:50%}
.tag--light{color:var(--white)}

/* ============ PRELOADER ============ */
.preloader{
  position:fixed;inset:0;z-index:9999;background:#000;color:var(--white);
  display:flex;justify-content:center;align-items:center;padding:24px;text-align:center;
}
.preloader__phrase{
  font-family:var(--font-body);font-weight:500;font-size:clamp(24px,4.6vw,66px);
  letter-spacing:-.02em;line-height:1.2;max-width:20ch;text-align:center;
}
.preloader__phrase .pword{display:inline-block;white-space:nowrap}
.preloader__phrase .pchar{display:inline-block;will-change:transform,filter,opacity}
/* fallback sem GSAP: frase inteira com smoke in/out */
.preloader.is-playing .preloader__phrase{opacity:0;animation:smokephrase 2.5s cubic-bezier(.4,0,.2,1) forwards}
@keyframes smokephrase{
  0%{opacity:0;filter:blur(42px);transform:scale(1.06)}
  30%{opacity:1;filter:blur(0);transform:scale(1)}
  62%{opacity:1;filter:blur(0);transform:scale(1)}
  100%{opacity:0;filter:blur(46px);transform:scale(.97)}
}

/* ============ CURSOR ============ */
.cursor{
  position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;
  background:var(--blue);pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);transition:width .3s var(--ease-out),height .3s var(--ease-out),background .3s,opacity .3s;
  mix-blend-mode:normal;
}
.cursor.is-hover{width:56px;height:56px;background:rgba(27,187,255,.18);border:1px solid var(--blue)}
.cursor.is-hidden{opacity:0}
@media (hover:none){.cursor{display:none}}

/* ============ WHATSAPP FLUTUANTE ============ */
.wa-float{
  position:fixed;right:50px;bottom:50px;z-index:40;
  width:62px;height:62px;border-radius:50%;background:#25D366;
  display:grid;place-items:center;
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  transition:transform .3s var(--ease-out),box-shadow .3s var(--ease);
}
.wa-float svg{width:32px;height:32px;fill:#fff;display:block}
.wa-float:hover{transform:scale(1.08);box-shadow:0 14px 34px rgba(0,0,0,.32)}
@media (max-width:768px){.wa-float{right:22px;bottom:22px;width:56px;height:56px}.wa-float svg{width:29px;height:29px}}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;width:100%;z-index:900;color:var(--white);
  display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--pad);
  transition:transform .5s var(--ease),background .4s,padding .4s,color .4s var(--ease);
}
.nav[data-theme="light"]{color:var(--black)}
.nav.is-hidden{transform:translateY(-105%)}
.nav.is-solid{background:rgba(10,10,10,.94);backdrop-filter:blur(14px);padding:16px var(--pad);border-bottom:1px solid var(--line-light);color:var(--white)}
.nav__logo{display:flex;align-items:center}
.nav__logo img{height:38px;width:auto;display:block}
.nav__menu{display:flex;gap:34px}
.nav__menu a{position:relative;font-size:15px;font-weight:500;padding:4px 0;color:currentColor}
.nav[data-theme="dark"] .nav__menu a{color:var(--white)}
.nav[data-theme="light"] .nav__menu a{color:var(--black)}
.nav.is-solid .nav__menu a{color:var(--white)}
.nav__menu a::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1.5px;background:var(--blue);transition:width .4s var(--ease-out)}
.nav__menu a:hover::after{width:100%}
.nav__menu a.is-active{color:var(--blue)}
.nav__menu a.is-active::after{width:100%}
.mobilemenu a.is-active{color:var(--blue)}
.nav__burger{display:none;flex-direction:column;gap:6px;width:30px}
.nav__burger span{height:2px;width:100%;background:currentColor;transition:.4s var(--ease)}

/* ============ BUTTONS (simples) ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-btn);font-size:18px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;line-height:1;
  padding:17px 34px;border-radius:999px;cursor:pointer;border:1.5px solid transparent;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease-out);
}
.btn > svg{transition:transform .35s var(--ease-out)}
.btn:hover{transform:translateY(-2px)}
.btn:hover > svg{transform:translateX(4px)}
.btn:active{transform:translateY(0)}

.btn--primary{background:var(--blue);color:var(--black);border-color:var(--blue)}
.btn--primary:hover{background:transparent;color:var(--blue)}
.hero .btn--primary{background:var(--white);color:var(--black);border-color:var(--white)}
.hero .btn--primary:hover{background:transparent;color:var(--white);border-color:var(--white)}

.btn--ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4)}
.btn--ghost:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.cases .btn--ghost{color:var(--black);border-color:rgba(10,10,10,.28)}
.cases .btn--ghost:hover{background:var(--black);color:var(--white);border-color:var(--black)}

.btn--nav{background:var(--blue);color:var(--black);border-color:var(--blue);padding:12px 24px;font-size:16px}
.btn--nav:hover{background:transparent;color:var(--blue)}

.btn--lg{padding:20px 42px;font-size:20px}
.btn--sm{padding:12px 26px;font-size:15px}

/* hero secondary = plain text link with underline hover */
.hero .btn--ghost{background:none;border:none;padding:14px 2px;border-radius:0;color:var(--white)}
.hero .btn--ghost:hover{background:none;color:var(--blue);transform:none}
.hero .btn--ghost > span{position:relative}
.hero .btn--ghost > span::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--blue);transition:width .4s var(--ease-out)}
.hero .btn--ghost:hover > span::after{width:100%}

/* ============ MOBILE MENU ============ */
.mobilemenu{
  position:fixed;inset:0;z-index:880;background:var(--black);color:var(--white);
  display:flex;flex-direction:column;justify-content:center;gap:8px;padding:var(--pad);
  clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);
}
.mobilemenu.is-open{clip-path:inset(0 0 0 0)}
.mobilemenu a{font-family:var(--font-body);font-style:normal;font-weight:500;font-size:clamp(34px,9vw,56px)}
.mobilemenu__cta{color:var(--blue)!important;font-style:normal!important;font-family:var(--font-btn)!important;text-transform:uppercase;letter-spacing:.05em;font-size:26px!important;margin-top:20px}

/* ============ HERO ============ */
.hero{
  min-height:100svh;padding:130px var(--pad) 40px;
  display:flex;align-items:center;position:relative;
  background:var(--black);color:var(--white);isolation:isolate;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("img/imagesglow-section.png") center/cover no-repeat;
  opacity:.5;
}
.hero__content{position:relative;z-index:2;display:flex;flex-direction:column;gap:clamp(26px,4vh,44px);max-width:min(64vw,880px)}
.hero__title{
  font-family:var(--font-body);font-weight:500;
  font-size:clamp(40px,8.4vw,128px);line-height:.88;letter-spacing:-.03em;text-transform:none;
}
.hero__title .line{display:block;white-space:nowrap}
.hero__title .w{display:inline-block}
.hero__blue{color:var(--blue)}
.hero__title .dot{color:var(--white);font-family:var(--font-body);font-style:normal}
.hero__lead{max-width:46ch;font-size:clamp(15px,1.15vw,18px);color:var(--grey-2);line-height:1.55}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}
.hero__scroll{position:absolute;z-index:2;left:50%;bottom:24px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
.hero__scroll i{width:1px;height:34px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--blue);animation:scrolldot 1.8s infinite var(--ease)}
/* chrome eagle canvas (trail reveal) */
.hero__eagle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block}
@keyframes scrolldot{0%{top:-100%}60%,100%{top:100%}}

/* ============ MANIFESTO ============ */
.manifesto{padding:clamp(70px,12vh,150px) var(--pad);background:var(--black);color:var(--white)}
.manifesto__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:center;max-width:var(--maxw);margin:0 auto}
.manifesto__text{
  text-align:left;max-width:22ch;margin:0;
  font-family:var(--font-body);font-weight:400;
  font-size:clamp(24px,3.4vw,52px);line-height:1.08;letter-spacing:-.02em;
}
.manifesto__text .serif{color:var(--blue)}
.manifesto__video{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:2/1;background:transparent;border:0;border-radius:0;overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse 84% 80% at 50% 50%,#000 34%,transparent 96%);
  mask-image:radial-gradient(ellipse 84% 80% at 50% 50%,#000 34%,transparent 96%)}
.manifesto__video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:820px){.manifesto__inner{grid-template-columns:1fr;gap:34px}.manifesto__text{max-width:26ch}}

/* words reveal */
.reveal-words .word{display:inline-block;opacity:.16;transition:opacity .5s var(--ease)}
.reveal-words .word.on{opacity:1}

/* ============ SECTION DIVIDER (polígonos sobrepostos) ============ */
.section-divider{
  position:relative;width:100%;height:clamp(100px,12vw,140px);
  overflow:hidden;pointer-events:none;background:var(--black);line-height:0;margin:0;display:block;
}
.section-divider__layer{position:absolute;inset:0;width:100%;height:100%;display:block}
.section-divider__layer:nth-child(1){background:#2a2a2a;clip-path:polygon(0 14%,50% 80%,100% 14%,100% 100%,0 100%)}
.section-divider__layer:nth-child(2){background:#565656;clip-path:polygon(0 30%,50% 85%,100% 30%,100% 100%,0 100%)}
.section-divider__layer:nth-child(3){background:#828282;clip-path:polygon(0 47%,50% 89%,100% 47%,100% 100%,0 100%)}
.section-divider__layer:nth-child(4){background:#b0b0b0;clip-path:polygon(0 64%,50% 93%,100% 64%,100% 100%,0 100%)}
.section-divider__layer:nth-child(5){background:var(--paper);clip-path:polygon(0 81%,50% 97%,100% 81%,100% 100%,0 100%)}

/* ============ SECTION HEAD ============ */
.section-head{padding:0 var(--pad);margin-bottom:clamp(30px,5vw,60px);display:flex;flex-direction:column;gap:20px}
.section-title{
  font-family:var(--font-body);font-weight:500;
  font-size:clamp(30px,5.2vw,74px);line-height:1;letter-spacing:-.025em;max-width:16ch;
}
.section-head--dark .section-title{color:var(--white)}

/* ============ SERVICES / ACCORDION ============ */
.services{padding:clamp(60px,9vw,130px) 0}
.acc{border-top:1px solid var(--line)}
.acc__item{border-bottom:1px solid var(--line)}
.acc__head{
  width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;
  gap:clamp(16px,4vw,50px);padding:clamp(22px,3.4vw,44px) var(--pad);text-align:left;
  transition:background .4s var(--ease),color .4s var(--ease),padding-left .4s var(--ease);
}
.acc__num{font-size:14px;font-weight:500;color:var(--blue-deep);font-variant-numeric:tabular-nums}
.acc__name{font-family:var(--font-body);font-weight:500;font-size:clamp(24px,3.6vw,52px);letter-spacing:-.02em;line-height:1}
.acc__count{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#666;white-space:nowrap}
.acc__toggle{position:relative;width:20px;height:20px;flex-shrink:0}
.acc__toggle::before,.acc__toggle::after{content:"";position:absolute;background:var(--black);transition:.4s var(--ease)}
.acc__toggle::before{top:9px;left:0;width:20px;height:2px}
.acc__toggle::after{left:9px;top:0;width:2px;height:20px}
.acc__item.is-open .acc__toggle::after{transform:scaleY(0)}
.acc__item.is-open .acc__toggle::before{background:var(--blue)}
.acc__head:hover{background:var(--black);color:var(--white);padding-left:calc(var(--pad) + 14px)}
.acc__head:hover .acc__count{color:var(--grey)}
.acc__head:hover .acc__toggle::before,.acc__head:hover .acc__toggle::after{background:var(--white)}
.acc__head:hover .acc__num{color:var(--blue)}

.acc__panel{overflow:hidden;height:0;transition:height .55s var(--ease)}
.acc__inner{
  display:grid;grid-template-columns:1fr 1fr;gap:30px;
  padding:0 var(--pad) clamp(30px,3.5vw,50px) var(--pad);
}
.acc__list{list-style:none;display:flex;flex-direction:column}
.acc__list li{
  font-size:clamp(16px,1.5vw,21px);color:#222;padding:14px 0;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:12px;transition:color .3s,transform .3s var(--ease-out)
}
.acc__list li::before{content:"";width:6px;height:6px;background:var(--blue);flex-shrink:0}
.acc__list li:hover{transform:translateX(8px);color:var(--black)}
.acc__desc{align-self:end;max-width:34ch;justify-self:end;font-size:clamp(15px,1.3vw,18px);color:#444;line-height:1.55}

/* ============ MÉTODO ============ */
.method{position:relative;background:var(--black);color:var(--white);padding:clamp(80px,11vw,150px) 0;margin:0}
.method .tag::before{background:var(--blue)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-light);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);margin-top:clamp(30px,4vw,60px)}
.step{background:var(--black);padding:clamp(30px,3vw,50px) clamp(22px,2.2vw,38px);min-height:340px;display:flex;flex-direction:column;transition:background .5s var(--ease)}
.step__num{font-family:'Darker Grotesque',sans-serif;font-weight:700;font-size:clamp(58px,6vw,96px);line-height:.85;color:var(--blue)}
.step__title{font-family:var(--font-body);font-weight:500;font-size:clamp(20px,1.7vw,26px);margin-top:auto;letter-spacing:-.01em}
.step__text{color:var(--grey);font-size:15px;line-height:1.6;margin-top:14px}
.step:hover{background:#141414}

/* ============ STATS ============ */
.stats{padding:clamp(24px,3vw,44px) var(--pad) clamp(36px,4.5vw,64px)}
.stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px)}
.stat{padding-top:0}
.stat__row{display:flex;align-items:center;gap:.42em}
.stat__num{font-family:var(--font-body);font-weight:700;font-size:clamp(56px,7.4vw,124px);line-height:.82;letter-spacing:-.045em;color:var(--black);font-variant-numeric:tabular-nums}
.stat__text{display:flex;flex-direction:column;font-family:var(--font-body);font-weight:700;font-size:clamp(18px,1.8vw,32px);line-height:1.02;letter-spacing:-.015em;color:var(--black)}

/* ============ CLIENTS MARQUEE ============ */
.clients{padding:clamp(30px,5vw,60px) 0 clamp(16px,2vw,28px);border-top:1px solid var(--line)}
.clients__label{padding:0 var(--pad);margin-bottom:34px}
.marquee{overflow:hidden;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee.grabbing{cursor:grabbing}
.marquee__track{display:flex;align-items:center;gap:clamp(50px,6.5vw,100px);width:max-content;will-change:transform;user-select:none}
.marquee__track img{height:clamp(58px,6.4vw,92px);width:auto;object-fit:contain;opacity:.95;pointer-events:none;-webkit-user-drag:none;user-drag:none}
.marquee__track img.mlogo--tight{height:clamp(34px,3.8vw,54px)}

/* ============ CASES (horizontal scroll) ============ */
.cases{background:var(--white)}
.cases__pin{height:100svh;overflow:hidden;display:flex;align-items:center}
.cases__track{display:flex;align-items:stretch;gap:clamp(26px,3vw,60px);height:70vh;padding:0 var(--pad);will-change:transform}

/* intro panel */
.cases__intro{flex:0 0 auto;width:clamp(300px,44vw,640px);display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,2.4vw,32px);padding-right:clamp(10px,3vw,50px)}
.cases__title{font-family:var(--font-body);font-weight:500;font-size:clamp(34px,4.6vw,68px);line-height:1;letter-spacing:-.025em;color:var(--black)}
.cases__hint{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#666}
.cases__hint i{display:block;width:40px;height:1px;background:var(--blue);position:relative;overflow:hidden}
.cases__hint i::after{content:"";position:absolute;inset:0;left:-100%;background:var(--black);animation:hintline 1.8s var(--ease) infinite}
@keyframes hintline{0%{left:-100%}60%,100%{left:100%}}

/* card = pasta (folder); headline central + "+"; ao clicar sobe com "−" e revela texto */
.hcard{
  flex:0 0 auto;width:clamp(420px,40vw,560px);align-self:center;aspect-ratio:550.79/403.64;position:relative;cursor:pointer;
  background-image:url("img/case.svg");
  background-size:100% 100%;background-repeat:no-repeat;
  transition:transform .4s var(--ease-out);
}
.hcard:hover{transform:translateY(-5px)}
.hcard__body{position:absolute;inset:0;padding:19% clamp(38px,3.6vw,52px) clamp(30px,3vw,44px);display:flex;flex-direction:column;justify-content:flex-start}
.hcard__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.hcard__sub{font-family:var(--font-btn);letter-spacing:.05em;text-transform:uppercase;font-size:clamp(15px,1.45vw,21px);color:var(--blue-deep);white-space:nowrap}
.hcard__seg{flex:0 0 auto;font-family:var(--font-btn);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(11px,1.05vw,15px);color:var(--blue);background:#d6eefb;border:2px solid var(--blue);padding:6px 15px;border-radius:100px;line-height:1;white-space:nowrap}
.hcard__name{font-family:var(--font-body);font-weight:500;font-size:clamp(20px,2.25vw,32px);letter-spacing:-.02em;line-height:1.1;color:var(--black);margin:0}
.hcard__desc{margin-top:16px}
.hcard__desc p{font-family:var(--font-text);font-size:clamp(13px,1vw,15px);line-height:1.5;color:#333;margin:0 0 16px;max-width:28ch}
.hcard__desc ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.hcard__desc li{display:flex;align-items:center;gap:12px;font-size:clamp(14px,1.1vw,17px);color:var(--black)}
.hcard__desc li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue);flex-shrink:0}

/* end panel */
.cases__end{flex:0 0 auto;width:clamp(300px,34vw,460px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(20px,2.4vw,30px)}
.cases__end-title{font-family:var(--font-body);font-weight:500;font-size:clamp(30px,3.6vw,54px);line-height:1.02;letter-spacing:-.02em;color:var(--black)}
.cases__end-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}

/* ============ DEPOIMENTOS (marquee vertical) ============ */
.quotes{background:var(--black);color:var(--white);padding:clamp(80px,11vw,150px) 0;position:relative}
.quotes__head{align-items:flex-start}
.quotes__rating{display:inline-flex;align-items:center;gap:12px}
.quotes__stars{color:var(--blue);letter-spacing:2px;font-size:18px}
.quotes__rating strong{font-family:var(--font-body);font-weight:500;font-size:22px;color:#fff}
.quotes__count{font-size:14px;color:var(--grey);transition:color .3s}
.quotes__rating:hover .quotes__count{color:#fff}

.quotes__cols{
  display:flex;justify-content:center;gap:clamp(16px,1.6vw,24px);
  padding:0 var(--pad);margin-top:clamp(30px,4vw,54px);
  max-height:660px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
}
.tcol{flex:1 1 0;min-width:0;max-width:400px}
.tcol--video{align-self:stretch}
.quotes__video{position:relative;height:100%;min-height:560px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);display:grid;place-items:center;overflow:hidden;cursor:pointer}
.quotes__video video,.quotes__video iframe,.quotes__video img{width:100%;height:100%;object-fit:cover;border:0;display:block}
.quotes__video-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;place-items:center;pointer-events:none;z-index:2;transition:opacity .3s}
.quotes__video-icon::before{content:"";border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff;margin-left:5px}
.quotes__video.is-paused .quotes__video-icon{display:grid}
.tcol__inner{display:flex;flex-direction:column;gap:clamp(16px,1.6vw,24px);animation:tscroll var(--dur,24s) linear infinite;will-change:transform}
.tcol--down .tcol__inner{animation-name:tscrollDown}
@keyframes tscroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes tscrollDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}

.tcard{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:clamp(24px,2vw,32px);transition:transform .4s var(--ease-out),border-color .4s var(--ease),background .4s var(--ease)}
.tcard:hover{transform:translateY(-6px);border-color:rgba(27,187,255,.45);background:rgba(255,255,255,.06)}
.tcard__stars{color:var(--blue);letter-spacing:2px;font-size:15px;margin-bottom:14px}
.tcard blockquote{font-family:var(--font-text);font-size:clamp(15px,1.05vw,17px);line-height:1.6;color:var(--grey-2);margin:0}
.tcard__foot{display:flex;align-items:center;gap:12px;margin-top:22px}
.tcard__avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-family:var(--font-body);font-weight:600;font-size:15px;color:#0A0A0A;background:linear-gradient(150deg,var(--blue),var(--blue-deep))}
.tcard__who{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.tcard__who cite{font-family:var(--font-body);font-weight:500;font-style:normal;font-size:16px;color:#fff}
.tcard__who span{font-size:13px;color:var(--grey)}
.tcard__g{width:20px;height:20px;flex-shrink:0;opacity:.9}

@media (max-width:1024px){.tcol--lg{display:none}}
@media (max-width:680px){.tcol--md{display:none};.quotes__cols{max-height:580px}}

/* ============ CTA (grid texture) ============ */
.cta{position:relative;min-height:56vh;padding:clamp(60px,9vw,110px) var(--pad);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:var(--black);color:var(--white);overflow:hidden;isolation:isolate}
.grid-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.cta__title{position:relative;z-index:1;font-family:var(--font-body);font-weight:500;font-size:clamp(34px,6.4vw,96px);line-height:.96;letter-spacing:-.03em;pointer-events:none}
.cta__title .line{display:block}
.cta__title .serif{color:var(--blue)}
.cta__title .dot{color:var(--white)}

/* ============ CLOSER STICKY (frase de impacto, coberta pelo footer) ============ */
.cta.closer{position:sticky;top:0;height:100vh;min-height:600px;z-index:1;background:#161616}
.closer__text{position:relative;z-index:1;font-family:var(--font-body);font-weight:500;font-size:clamp(30px,6.4vw,104px);line-height:1.1;letter-spacing:-.02em;max-width:20ch;text-align:center;cursor:default}
.closer__text .rf-red{font-family:var(--font-body);font-style:normal;color:#FF0708}
.closer__text .rf-blue{color:var(--blue)}
.rf-w{display:inline-block}
.rf-char{display:inline-block;will-change:transform,filter}
.rf-char--smoke{transition:filter .4s var(--ease-out),transform .4s var(--ease-out),opacity .4s var(--ease-out)}
.rf-char--lens{transition:transform .22s var(--ease-out),text-shadow .22s var(--ease-out);transform-origin:center 62%}

/* ============ FOOTER ============ */
.footer{position:relative;z-index:50;background:var(--black);color:var(--white);min-height:100vh;padding:clamp(60px,8vw,90px) var(--pad) 32px;display:flex;flex-direction:column}
.footer__grid{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-content:center;align-items:center}
.footer__logo{display:flex;align-items:center;justify-self:start}
.footer__logo img{height:clamp(64px,7vw,108px);width:auto;display:block}
.footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer__col--center{justify-self:center;align-items:center;text-align:center}
.footer__col--end{justify-self:end;align-items:flex-end;text-align:right}
.footer__socials{display:flex;flex-direction:column;gap:16px;margin-top:6px}
.footer__socials a{color:var(--white);transition:color .3s var(--ease)}
.footer__socials a::after{display:none}
.footer__socials a:hover{color:var(--blue)}
.footer__socials svg{width:24px;height:24px;display:block}
.footer__col h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:6px;font-weight:500}
.footer__col a{font-size:17px;width:fit-content;position:relative}
.footer__col a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--blue);transition:width .4s var(--ease-out)}
.footer__col a:hover::after{width:100%}
.footer__col a:hover{color:var(--blue)}
.footer__cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:60px 0;flex-wrap:wrap}
.footer__big{font-family:var(--font-body);font-weight:500;font-size:clamp(40px,7vw,96px);letter-spacing:-.03em;line-height:1}
.footer__big .serif{color:var(--blue)}
.footer__bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:30px;border-top:1px solid var(--line-light);font-size:13px;color:var(--grey)}

/* ============ REVEAL ============ */
[data-reveal]{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
[data-reveal].on{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .hero__bottom{grid-template-columns:1fr;gap:24px}
  .hero__actions{justify-self:start}
  .acc__inner{grid-template-columns:1fr;gap:18px}
  .acc__desc{justify-self:start;align-self:start}
  .steps{grid-template-columns:1fr 1fr}
  .stats__grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .footer__top{grid-template-columns:1fr;gap:40px}
}
@media (max-width:720px){
  .nav__menu,.btn--nav{display:none}
  .nav__burger{display:flex}
  .nav.is-open-burger .nav__burger span:first-child{transform:translateY(4px) rotate(45deg)}
  .nav.is-open-burger .nav__burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .acc__head{grid-template-columns:auto 1fr auto;gap:16px}
  .acc__count{display:none}
  .cases__grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step{min-height:auto}
  .footer__cols{grid-template-columns:1fr 1fr}
  .footer__cta{flex-direction:column;align-items:flex-start}
  .hero__title{margin:40px 0}
}
@media (max-width:460px){
  .stats__grid{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:1fr}
}

/* cases horizontal -> vertical on mobile */
@media (max-width:768px){
  .cases__pin{height:auto;overflow:visible;display:block;padding:clamp(60px,10vw,90px) 0}
  .cases__track{flex-direction:column;height:auto;transform:none!important;gap:40px;padding:0 var(--pad)}
  .cases__intro,.hcard,.cases__end{width:100%}
  .hcard{height:auto}
  .hcard__media{aspect-ratio:16/11;min-height:220px}
}

/* ============ PÁGINAS INTERNAS ============ */
/* header padrão das páginas (dark) */
.pagehead{position:relative;background:var(--black);color:var(--white);min-height:66vh;display:flex;align-items:center;padding:clamp(150px,20vh,220px) var(--pad) clamp(60px,9vw,110px);overflow:hidden;isolation:isolate}
.pagehead::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("img/imagesglow-section.png") center/cover no-repeat;opacity:.42}
.pagehead__inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%}
.pagehead__eyebrow{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:22px}
.pagehead__title{font-family:var(--font-body);font-weight:500;font-size:clamp(42px,8vw,120px);line-height:.92;letter-spacing:-.03em}
.pagehead__title .line{display:block}
.pagehead__title .dot{color:var(--white)}
.pagehead__lead{margin-top:clamp(26px,3vw,40px);max-width:52ch;font-family:var(--font-text);font-size:clamp(16px,1.3vw,20px);line-height:1.55;color:var(--grey-2)}

/* footer em página interna: mantém o efeito "engolir" da home (sobe por cima do closer) */
.footer--page{min-height:100vh;z-index:50}
/* seção final que fica fixa e é "engolida" pelo footer */
.closer-sec{position:sticky;top:0;min-height:100vh;z-index:1;justify-content:center;overflow:hidden}
.closer-sec>*{position:relative;z-index:1}
.closer-sec>.grid-canvas{position:absolute;z-index:0}

/* seção genérica clara */
.section{padding:clamp(70px,10vw,140px) var(--pad)}
.section--dark{background:var(--black);color:var(--white)}
.section__inner{max-width:var(--maxw);margin:0 auto}

/* SOBRE: propósito/missão/visão */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,50px);margin-top:clamp(40px,5vw,64px)}
.pillar{border-top:2px solid var(--black);padding-top:24px}
.section--dark .pillar{border-top-color:var(--line-light)}
.pillar h3{font-family:var(--font-body);font-weight:500;font-size:clamp(20px,2vw,28px);letter-spacing:-.01em;margin-bottom:14px}
.pillar p{font-family:var(--font-text);font-size:clamp(15px,1.1vw,17px);line-height:1.6;color:#555}
.section--dark .pillar p{color:var(--grey-2)}

/* valores (grid) */
.values{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin-top:clamp(40px,5vw,60px)}
.value{background:var(--black);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:12px;transition:background .5s var(--ease)}
.value:hover{background:#141414}
.value__num{font-family:'Darker Grotesque',sans-serif;font-weight:700;font-size:clamp(40px,4vw,60px);line-height:.85;color:var(--blue)}
.value h3{font-family:var(--font-body);font-weight:500;font-size:clamp(18px,1.6vw,24px)}
.value p{font-family:var(--font-text);font-size:15px;line-height:1.55;color:var(--grey)}

/* fundadores */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px);margin-top:clamp(40px,5vw,60px)}
.founder{border:1px solid var(--line);border-radius:20px;padding:clamp(30px,3vw,44px);background:var(--white)}
.founder__name{font-family:var(--font-body);font-weight:600;font-size:clamp(24px,2.4vw,36px);letter-spacing:-.02em;color:var(--black)}
.founder__role{display:block;margin-top:6px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-deep)}
.founder p{margin-top:18px;font-family:var(--font-text);font-size:15px;line-height:1.6;color:#555}

/* SERVIÇOS: grid de serviços */
.svcgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.2vw,32px);margin-top:clamp(40px,5vw,60px)}
.svc{border:1px solid var(--line);border-radius:20px;padding:clamp(30px,3vw,46px);background:var(--white);transition:border-color .4s var(--ease),transform .4s var(--ease-out)}
.svc:hover{border-color:rgba(27,187,255,.5);transform:translateY(-4px)}
.svc__num{font-family:var(--font-body);font-weight:500;font-size:14px;color:var(--blue);letter-spacing:.06em}
.svc h3{font-family:var(--font-body);font-weight:500;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.02em;color:var(--black);margin:14px 0 12px}
.svc p{font-family:var(--font-text);font-size:clamp(15px,1.1vw,17px);line-height:1.6;color:#555}

/* CONTATO */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,80px);align-items:start}
.contact__info{display:flex;flex-direction:column;gap:clamp(24px,3vw,38px)}
.contact__item h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:8px}
.contact__item a,.contact__item p{font-family:var(--font-body);font-weight:500;font-size:clamp(18px,1.6vw,24px);color:var(--white);line-height:1.35;transition:color .3s}
.contact__item a:hover{color:var(--blue)}
.contact__form{display:flex;flex-direction:column;gap:18px}
.contact__form label{display:flex;flex-direction:column;gap:8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.contact__form input,.contact__form textarea{font-family:var(--font-text);font-size:16px;padding:16px 18px;border-radius:12px;border:1px solid var(--line-light);background:rgba(255,255,255,.04);color:var(--white);transition:border-color .3s}
.contact__form input:focus,.contact__form textarea:focus{outline:none;border-color:var(--blue)}
.contact__form textarea{resize:vertical;min-height:130px}
.contact__form .btn{align-self:flex-start;margin-top:10px}

/* grid de cases (página cases) */
.casesgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:clamp(24px,3vw,44px);margin-top:clamp(36px,4vw,56px)}
.casesgrid .hcard{width:auto;max-width:none;flex:none;align-self:auto}

@media (max-width:820px){
  .pillars,.svcgrid{grid-template-columns:1fr}
  .values{grid-template-columns:1fr}
  .founders{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .casesgrid{grid-template-columns:1fr}
}

/* ==========================================================
   PÁGINAS INTERNAS v2 — heróis cinematográficos por página
   ========================================================== */

/* ---- Hero cinematográfico base (tela cheia, dark) ---- */
.phero{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--black);color:var(--white);padding:clamp(130px,17vh,190px) var(--pad) clamp(90px,12vh,130px);overflow:hidden;isolation:isolate}
.phero__glow{position:absolute;inset:0;z-index:0;pointer-events:none}
.phero__glow::before{content:"";position:absolute;width:75vw;height:75vw;right:-14vw;top:-18vw;background:radial-gradient(circle,rgba(27,187,255,.20),transparent 62%);filter:blur(6px)}
.phero__inner{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;width:100%}
.phero__eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-btn);letter-spacing:.16em;text-transform:uppercase;font-size:14px;color:var(--blue);margin-bottom:clamp(26px,3vw,42px)}
.phero__eyebrow::before{content:"";width:38px;height:1px;background:var(--blue)}
.phero__title{font-family:var(--font-body);font-weight:500;font-size:clamp(46px,9vw,142px);line-height:.9;letter-spacing:-.035em;margin:0}
.phero__title .ln{display:block;overflow:hidden;padding-bottom:.03em}
.phero__title .ln>span{display:inline-block;transform:translateY(115%);opacity:0}
body.is-ready .phero__title .ln>span{animation-name:phline;animation-duration:.6s;animation-timing-function:var(--ease-out);animation-fill-mode:forwards}
body.is-ready .phero__title .ln:nth-child(2)>span{animation-delay:.05s}
body.is-ready .phero__title .ln:nth-child(3)>span{animation-delay:.1s}
@keyframes phline{from{transform:translateY(115%);opacity:0}to{transform:translateY(0);opacity:1}}
.phero__title .bl{color:var(--blue)}
.phero__title .dot{color:var(--white)}
.phero--about .phero__title{font-size:clamp(36px,6.6vw,104px)}
.phero--svc .phero__title{font-size:clamp(34px,6vw,92px)}
.phero--cases .phero__title{font-size:clamp(38px,6.6vw,100px)}
.phero__lead{margin-top:clamp(30px,3.6vw,50px);max-width:56ch;font-family:var(--font-text);font-size:clamp(16px,1.3vw,20px);line-height:1.62;color:var(--grey-2)}
.phero__lead--lg{max-width:none;font-family:var(--font-body);font-weight:400;font-size:clamp(20px,2.6vw,36px);line-height:1.22;letter-spacing:-.01em;color:var(--paper)}
.phero__cue{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(26px,4vh,44px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-btn);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
.phero__cue i{width:1px;height:46px;background:linear-gradient(var(--grey),transparent);position:relative;overflow:hidden}
.phero__cue i::after{content:"";position:absolute;inset:0;top:-100%;background:var(--blue);animation:cuedot 1.9s var(--ease) infinite}
@keyframes cuedot{0%{top:-100%}55%,100%{top:100%}}

/* ---- SOBRE: colunas de palavras ao fundo ---- */
.phero--about .phwords{position:absolute;inset:0;z-index:1;display:flex;justify-content:flex-end;gap:clamp(26px,4vw,64px);padding-right:3vw;pointer-events:none;opacity:.12;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.phwcol{display:flex;flex-direction:column;font-family:var(--font-body);font-weight:600;font-size:clamp(30px,5vw,86px);line-height:1.12;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;animation:phwup 30s linear infinite}
.phwcol--b{animation-duration:42s;animation-direction:reverse}
@keyframes phwup{from{transform:translateY(0)}to{transform:translateY(-50%)}}

/* ---- SOBRE: bloco manifesto editorial ---- */
.editorial{display:grid;grid-template-columns:.42fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.editorial__mark{font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(90px,13vw,200px);line-height:.75;color:var(--blue);letter-spacing:-.03em}
.editorial__mark--img{font-size:0;line-height:0}
.editorial__mark--img img{width:clamp(140px,17vw,250px);height:auto}
.aguiastack{position:relative;width:100%;max-width:clamp(170px,21vw,300px);aspect-ratio:901.21/1298.56;margin-top:4px}
.aguiastack img{position:absolute;left:0;width:100%;height:auto;display:block;will-change:transform,opacity}
.aguiastack img:nth-child(1){top:0;z-index:4}
.aguiastack img:nth-child(2){top:22.92%;z-index:3}
.aguiastack img:nth-child(3){top:45.84%;z-index:2}
.aguiastack img:nth-child(4){top:68.75%;z-index:1}
.editorial__big{font-family:var(--font-body);font-weight:400;font-size:clamp(24px,3.1vw,46px);line-height:1.28;letter-spacing:-.02em;color:var(--black)}
.editorial__big .reveal-words .word{opacity:.14}
.editorial__big .word{display:inline}
.editorial__big em{font-style:normal;color:var(--blue)}

/* ---- SOBRE: pilares em scroll horizontal fixado ---- */
.hpin{position:relative;height:100svh;display:flex;align-items:center;overflow:hidden;background:#0d0d0d}
.hpin__track{display:flex;align-items:stretch;gap:clamp(24px,3vw,48px);padding:0 var(--pad);will-change:transform}
.hpin__intro{flex:0 0 auto;width:clamp(280px,30vw,420px);align-self:center;padding-right:clamp(20px,2vw,40px)}
.hpin__intro .section-title{color:var(--white)}
.hpin__intro p{margin-top:18px;font-family:var(--font-text);font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:var(--grey-2);max-width:34ch}
.pcard{flex:0 0 auto;width:clamp(340px,34vw,460px);align-self:center;border:1px solid var(--line-light);border-radius:24px;padding:clamp(34px,3.4vw,54px);background:#0A0A0A;display:flex;flex-direction:column;min-height:clamp(360px,54vh,520px);position:relative;overflow:hidden;isolation:isolate;transition:transform .5s var(--ease-out),border-color .4s}
.pcard:hover{transform:translateY(-6px);border-color:rgba(27,187,255,.5)}
.pcard>*{position:relative;z-index:1}
.pcard>.pcard__n{position:absolute;right:clamp(10px,1.6vw,26px);top:clamp(-18px,-1.2vw,0px);z-index:0;font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(170px,19vw,280px);line-height:.7;color:rgba(255,255,255,.06);letter-spacing:-.04em;pointer-events:none}
.pcard__k{margin-top:auto;font-family:var(--font-btn);letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--blue)}
.pcard h3{font-family:var(--font-body);font-weight:500;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.02em;margin:12px 0 14px;line-height:1.05;color:var(--white)}
.pcard p{font-family:var(--font-text);font-size:clamp(15px,1.15vw,17px);line-height:1.6;color:var(--grey-2)}
.pcard>.pcard__media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center top;background-repeat:no-repeat}
.pcard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.10) 0%,rgba(10,10,10,.30) 30%,rgba(10,10,10,.8) 62%,#0b0b0b 100%)}


/* ---- SOBRE: líderes (cards com reveal no hover) ---- */
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,32px);margin-top:clamp(30px,4vw,50px)}
.leader{position:relative;height:clamp(420px,58vh,600px);border:1px solid var(--line-light);border-radius:24px;overflow:hidden;background:linear-gradient(165deg,#161616,#0a0a0a);padding:clamp(30px,3vw,50px);display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;isolation:isolate;transition:border-color .5s var(--ease),transform .5s var(--ease-out)}
.leader:hover{border-color:rgba(27,187,255,.5);transform:translateY(-6px)}
.leader .leader__mono{position:absolute;top:-.14em;right:-.02em;z-index:0;font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(240px,30vw,440px);line-height:.7;color:rgba(255,255,255,.05);pointer-events:none;transition:color .55s var(--ease),transform .6s var(--ease-out)}
.leader:hover .leader__mono,.leader.is-open .leader__mono{color:rgba(27,187,255,.11);transform:translateY(-12px)}
.leader .leader__photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 12%;background-repeat:no-repeat;filter:grayscale(.15);transition:transform .7s var(--ease-out)}
.leader:hover .leader__photo{transform:scale(1.05)}
.leader .leader__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,0) 0%,rgba(10,10,10,.18) 34%,rgba(10,10,10,.72) 62%,rgba(10,10,10,.96) 100%)}
.leader .leader__glow{position:absolute;inset:0;z-index:0;background:radial-gradient(65% 55% at 50% 108%,rgba(27,187,255,.16),transparent 70%);opacity:0;transition:opacity .55s}
.leader:hover .leader__glow,.leader.is-open .leader__glow{opacity:1}
.leader>*{position:relative;z-index:1}
.leader__more{position:absolute;top:clamp(28px,3vw,46px);left:clamp(28px,3vw,46px);z-index:2;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-btn);letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--grey);transition:opacity .4s}
.leader__more::before{content:"";width:24px;height:24px;border:1px solid var(--line-light);border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8B7B8' stroke-width='2'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat}
.leader:hover .leader__more,.leader.is-open .leader__more{opacity:0}
.leader__role{font-family:var(--font-btn);letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--blue)}
.leader__name{font-family:var(--font-body);font-weight:500;font-size:clamp(30px,3.6vw,54px);letter-spacing:-.025em;color:var(--white);line-height:1.02;margin-top:10px}
.leader__line{height:2px;width:44px;background:var(--blue);margin-top:22px;transition:width .55s var(--ease-out)}
.leader:hover .leader__line,.leader.is-open .leader__line{width:96px}
.leader__reveal{max-height:0;opacity:0;overflow:hidden;transition:max-height .55s var(--ease),opacity .45s var(--ease),margin-top .55s var(--ease)}
.leader:hover .leader__reveal,.leader.is-open .leader__reveal{max-height:420px;opacity:1;margin-top:18px}
.leader__reveal .leader__role{display:block;margin-bottom:14px}
.leader__reveal p{font-family:var(--font-text);font-size:clamp(15px,1.2vw,18px);line-height:1.62;color:var(--grey-2);max-width:42ch}
.leader__socials{display:flex;gap:12px;margin-top:22px}
.leader__socials a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;color:var(--white);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease-out)}
.leader__socials a:hover{background:var(--blue);border-color:var(--blue);color:#0A0A0A;transform:translateY(-3px)}
.leader__socials svg{width:19px;height:19px}

/* ---- SOBRE: pilares em faixa ---- */
.pillars--v2{margin-top:clamp(46px,6vw,80px);border-top:1px solid var(--line)}
.pillars--v2 .pillar{border-top:none;border-bottom:1px solid var(--line);padding:clamp(28px,3.4vw,50px) 0;display:grid;grid-template-columns:.3fr .3fr 1fr;gap:clamp(16px,3vw,50px);align-items:baseline}
.pillars--v2 .pillar__k{font-family:var(--font-btn);letter-spacing:.1em;text-transform:uppercase;font-size:14px;color:var(--blue)}
.pillars--v2 .pillar h3{font-family:var(--font-body);font-weight:500;font-size:clamp(26px,3vw,44px);letter-spacing:-.02em;margin:0}
.pillars--v2 .pillar p{font-size:clamp(15px,1.2vw,18px);color:#555;max-width:52ch;margin:0}

/* ---- SOBRE: valores em scroll fixo (número gigante) ---- */
.svalues{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,90px);align-items:start}
.svalues__aside{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:18px}
.svalues__eyebrow{font-family:var(--font-btn);letter-spacing:.14em;text-transform:uppercase;font-size:clamp(16px,1.5vw,22px);color:var(--grey)}
.svalues__count{font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(120px,20vw,300px);line-height:.75;color:var(--blue);letter-spacing:-.04em;font-variant-numeric:tabular-nums;transition:transform .5s var(--ease-out),opacity .5s}
.svalues__label{font-family:var(--font-body);font-weight:500;font-size:clamp(22px,2.6vw,38px);letter-spacing:-.02em;line-height:1.05;min-height:2.2em;color:var(--white)}
.svalues__list{display:flex;flex-direction:column}
.vrow{padding:clamp(40px,7vw,90px) 0;border-top:1px solid var(--line-light);opacity:.32;transition:opacity .5s var(--ease)}
.vrow:last-child{border-bottom:1px solid var(--line-light)}
.vrow.is-active{opacity:1}
.vrow__num{display:none}
.vrow h3{font-family:var(--font-body);font-weight:500;font-size:clamp(24px,3.2vw,46px);letter-spacing:-.02em;margin:14px 0 16px;line-height:1.02}
.vrow p{font-family:var(--font-text);font-size:clamp(15px,1.3vw,19px);line-height:1.6;color:var(--grey-2);max-width:46ch}

/* ---- SOBRE: fundadores retrato ---- */
.founders--v2{grid-template-columns:1fr 1fr}
.founder--v2{position:relative;border:1px solid var(--line);border-radius:22px;padding:clamp(34px,3.4vw,54px);background:var(--white);overflow:hidden;isolation:isolate;transition:transform .5s var(--ease-out),border-color .4s}
.founder--v2:hover{transform:translateY(-6px);border-color:rgba(27,187,255,.5)}
.founder--v2__mono{position:absolute;right:-.08em;bottom:-.28em;z-index:0;font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(160px,20vw,300px);line-height:.7;color:rgba(10,10,10,.05);letter-spacing:-.04em;pointer-events:none}
.founder--v2>*{position:relative;z-index:1}

/* ---- SERVIÇOS: palavra rotativa no título ---- */
.rword{display:inline-block;height:1em;overflow:hidden;vertical-align:bottom;color:var(--blue)}
.rword ul{margin:0;padding:0;list-style:none;animation:rword 11s cubic-bezier(.7,0,.2,1) infinite}
.rword li{height:1em;line-height:1}
@keyframes rword{0%,13%{transform:translateY(0)}16.6%,29.6%{transform:translateY(-1em)}33.3%,46.3%{transform:translateY(-2em)}50%,63%{transform:translateY(-3em)}66.6%,79.6%{transform:translateY(-4em)}83.3%,100%{transform:translateY(-5em)}}

/* ---- SERVIÇOS: explorador (índice + painel) ---- */
.svcx{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:start;margin-top:clamp(44px,5vw,72px)}
.svcx__list{display:flex;flex-direction:column;border-top:1px solid var(--line-light)}
.svcx__item{border-bottom:1px solid var(--line-light);padding:clamp(22px,2.6vw,38px) 0;cursor:pointer;display:flex;align-items:baseline;gap:clamp(14px,1.5vw,26px);transition:padding-left .45s var(--ease)}
.svcx__item:hover,.svcx__item.is-active{padding-left:clamp(10px,1.6vw,28px)}
.svcx__inum{font-family:var(--font-btn);font-size:14px;color:var(--blue);flex:none;width:2.2em}
.svcx__ititle{font-family:var(--font-body);font-weight:500;font-size:clamp(24px,3.2vw,48px);letter-spacing:-.025em;line-height:1;color:var(--white);opacity:.5;transition:opacity .35s var(--ease)}
.svcx__item:hover .svcx__ititle,.svcx__item.is-active .svcx__ititle{opacity:1}
.svcx__m{display:none}
.svcx__panel{position:sticky;top:clamp(90px,12vh,130px);align-self:start;border-radius:24px;padding:clamp(30px,3.2vw,50px);background:linear-gradient(160deg,#131313,#0b0b0b);min-height:min(62vh,540px);overflow:hidden;isolation:isolate}
.svcx__panel::before{content:"";position:absolute;width:60%;height:60%;right:-10%;top:-14%;background:radial-gradient(circle,rgba(27,187,255,.16),transparent 66%);z-index:0}
.svcx__pin>*{position:relative;z-index:1}
.svcx__pnum{font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(86px,11vw,170px);line-height:.72;color:var(--blue);letter-spacing:-.04em}
.svcx__ptitle{font-family:var(--font-body);font-weight:500;font-size:clamp(26px,2.8vw,42px);letter-spacing:-.02em;margin:8px 0 18px;line-height:1.04}
.svcx__pdesc{font-family:var(--font-text);font-size:clamp(15px,1.3vw,19px);line-height:1.64;color:var(--grey-2);max-width:44ch}
.svcx__ptags{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(22px,2.6vw,32px)}
.svcx__ptags span{font-family:var(--font-text);font-size:13px;padding:8px 15px;border:1px solid var(--line-light);border-radius:100px;color:var(--white)}
.svcx__pin{animation:svcxfade .5s var(--ease-out)}
@keyframes svcxfade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---- SERVIÇOS: linha do tempo do método ---- */
.mtl{position:relative;margin-top:clamp(44px,5vw,70px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.2vw,38px)}
.mtl::before{content:"";position:absolute;top:9px;left:0;right:0;height:1px;background:var(--line-light)}
.mtl__step{position:relative;padding-top:clamp(40px,4vw,60px)}
.mtl__dot{position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;background:var(--black);border:2px solid var(--blue);box-shadow:0 0 0 6px rgba(27,187,255,.12)}
.mtl__n{font-family:var(--font-btn);font-size:13px;color:var(--blue);letter-spacing:.12em}
.mtl__step h3{font-family:var(--font-body);font-weight:500;font-size:clamp(19px,1.7vw,26px);letter-spacing:-.01em;margin:8px 0 12px;line-height:1.1}
.mtl__step p{font-family:var(--font-text);font-size:clamp(14px,1.05vw,16px);line-height:1.58;color:var(--grey-2)}

/* ---- SERVIÇOS: método = linha do tempo horizontal (pin) ---- */
.mtline{position:relative;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--black);color:var(--white)}
.mtline__head{padding:0 var(--pad);max-width:var(--maxw);margin:0 auto clamp(30px,6vh,64px);width:100%}
.mtline__head .section-title{font-size:clamp(26px,3.6vw,50px);max-width:22ch}
.mtline__track{display:flex;align-items:flex-start;gap:clamp(24px,3vw,56px);padding:0 var(--pad);position:relative;width:max-content;will-change:transform}
.mtline__track::before{content:"";position:absolute;top:27px;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(27,187,255,.7),rgba(255,255,255,.12));z-index:0}
.mtnode{flex:0 0 auto;width:clamp(320px,64vw,940px);padding-top:66px;position:relative;z-index:1}
.mtnode__dot{position:absolute;top:20px;left:0;width:15px;height:15px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(27,187,255,.14)}
.mtnode__n{display:block;font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(52px,6vw,108px);line-height:.76;letter-spacing:-.03em;color:var(--blue);margin-bottom:10px}
.mtnode h3{font-family:var(--font-body);font-weight:500;font-size:clamp(22px,2.4vw,36px);letter-spacing:-.02em;line-height:1.05;margin-bottom:12px}
.mtnode p{font-family:var(--font-text);font-size:clamp(15px,1.2vw,18px);line-height:1.55;color:var(--grey-2);max-width:42ch}
/* bloco de imagem por cima, à direita (altura total, margem lateral) — troca por etapa */
.mstage__frame{position:absolute;z-index:5;top:0;bottom:0;right:clamp(20px,3vw,60px);width:clamp(280px,40vw,760px);border-radius:22px;overflow:hidden;border:1px solid var(--line-light);background:#0d0d0d}
.mframe__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease)}
.mframe__img.is-active{opacity:1}

/* ---- CASES: reel de resultados no hero ---- */
.creel{display:flex;flex-direction:column}
.creel__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,54px);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line-light);padding-top:clamp(34px,4vw,54px)}
.crm .stat__num{display:block;font-family:'Darker Grotesque',sans-serif;font-weight:800;font-size:clamp(72px,11vw,200px);line-height:.74;letter-spacing:-.03em;color:var(--white);text-shadow:0 0 42px rgba(27,187,255,.18)}
.crm__label{margin-top:14px;font-family:var(--font-text);font-size:clamp(14px,1.15vw,18px);line-height:1.35;color:var(--grey-2);letter-spacing:.01em}

/* ---- CASES: galeria horizontal fixada (pin) ---- */
.hcases{position:relative;height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--paper)}
.hcases__track{display:flex;align-items:center;gap:clamp(26px,3vw,52px);padding:0 var(--pad);will-change:transform}
.hcases__intro{flex:0 0 auto;width:clamp(300px,32vw,440px);padding-right:clamp(20px,2vw,40px)}
.hcases__intro .section-title{color:var(--black)}
.hcases__intro p{margin-top:20px;font-family:var(--font-text);font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:#555;max-width:34ch}
.hcases__count{margin-top:26px;font-family:var(--font-btn);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}

/* ---- CONTATO: split convite + formulário ---- */
.csplit{display:grid;grid-template-columns:1.05fr .95fr;min-height:100svh}
.csplit__left{position:relative;background:var(--black);color:var(--white);padding:clamp(130px,15vh,180px) clamp(30px,5vw,80px) clamp(60px,8vh,90px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate}
.aurora{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.6}
.aurora::before,.aurora::after{content:"";position:absolute;border-radius:50%;filter:blur(60px)}
.aurora::before{width:52vw;height:52vw;left:-16vw;top:-10vw;background:radial-gradient(circle,rgba(27,187,255,.5),transparent 60%);animation:aur1 16s ease-in-out infinite alternate}
.aurora::after{width:40vw;height:40vw;right:-10vw;bottom:-14vw;background:radial-gradient(circle,rgba(10,111,176,.5),transparent 60%);animation:aur2 20s ease-in-out infinite alternate}
@keyframes aur1{from{transform:translate(0,0) scale(1)}to{transform:translate(8vw,6vw) scale(1.15)}}
@keyframes aur2{from{transform:translate(0,0) scale(1)}to{transform:translate(-7vw,-5vw) scale(1.2)}}
.csplit__left>*{position:relative;z-index:1}
.csplit__eyebrow{font-family:var(--font-btn);letter-spacing:.16em;text-transform:uppercase;font-size:14px;color:var(--blue);margin-bottom:26px;display:inline-flex;align-items:center;gap:14px}
.csplit__eyebrow::before{content:"";width:38px;height:1px;background:var(--blue)}
.csplit__title{font-family:var(--font-body);font-weight:500;font-size:clamp(46px,7vw,104px);line-height:.92;letter-spacing:-.035em;margin:0}
.csplit__title .dot{color:var(--white)}
.csplit__lead{margin-top:clamp(24px,3vw,38px);max-width:44ch;font-family:var(--font-text);font-size:clamp(16px,1.3vw,20px);line-height:1.6;color:var(--grey-2)}
.csplit__facts{margin-top:clamp(32px,4vw,50px);display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,44px)}
.cfact{display:flex;flex-direction:column;gap:4px}
.cfact strong{font-family:var(--font-body);font-weight:600;font-size:clamp(22px,2.2vw,32px);color:var(--white);letter-spacing:-.01em}
.cfact span{font-family:var(--font-text);font-size:13px;letter-spacing:.04em;color:var(--grey)}
.csplit__right{position:relative;background:linear-gradient(180deg,#0e0e0e,#080808);border-left:1px solid var(--line-light);padding:clamp(96px,13vh,150px) clamp(30px,5vw,72px) clamp(60px,8vh,90px);display:flex;flex-direction:column;justify-content:center}
.cform{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px);max-width:520px;width:100%;margin:0 auto}
.cform__head{font-family:var(--font-body);font-weight:500;font-size:clamp(22px,2vw,30px);letter-spacing:-.02em;color:var(--white);margin-bottom:6px}
.cfield{position:relative}
.cfield input,.cfield textarea{width:100%;font-family:var(--font-text);font-size:16px;padding:22px 4px 12px;border:none;border-bottom:1.5px solid var(--line-light);background:transparent;color:var(--white);transition:border-color .35s var(--ease)}
.cfield textarea{resize:vertical;min-height:96px}
.cfield label{position:absolute;left:4px;top:20px;font-family:var(--font-text);font-size:16px;color:var(--grey);pointer-events:none;transition:transform .3s var(--ease-out),color .3s,font-size .3s;transform-origin:left}
.cfield input:focus,.cfield textarea:focus{outline:none;border-bottom-color:var(--blue)}
.cfield input:focus~label,.cfield input:not(:placeholder-shown)~label,.cfield textarea:focus~label,.cfield textarea:not(:placeholder-shown)~label{transform:translateY(-20px);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.cform .btn{align-self:flex-start;margin-top:8px}

/* ---- CONTATO: canais em cards ---- */
.channels{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin-top:clamp(40px,5vw,60px)}
.channel{position:relative;background:var(--black);padding:clamp(30px,3.4vw,50px);display:flex;flex-direction:column;gap:10px;transition:background .45s var(--ease);overflow:hidden}
.chmap{grid-column:1/-1;height:clamp(280px,30vw,420px);background:#0d0d0d;overflow:hidden}
.chmap iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.25) contrast(1.05)}
.channel:hover{background:#131313}
.channel__k{font-family:var(--font-btn);letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--grey)}
.channel__v{font-family:var(--font-body);font-weight:500;font-size:clamp(20px,2vw,30px);letter-spacing:-.01em;color:var(--white);transition:color .3s}
.channel:hover .channel__v{color:var(--blue)}
.channel__arrow{position:absolute;right:clamp(24px,3vw,44px);top:clamp(30px,3.4vw,50px);width:26px;height:26px;color:var(--grey);transition:transform .4s var(--ease-out),color .3s}
.channel:hover .channel__arrow{transform:translate(4px,-4px);color:var(--blue)}

@media (max-width:900px){
  .editorial{grid-template-columns:1fr;gap:20px}
  .svalues{grid-template-columns:1fr}
  .svalues__aside{position:relative;height:auto;padding:20px 0}
  .svalues__count{font-size:clamp(90px,26vw,150px)}
  .svalues__label{min-height:0}
  .svcx{grid-template-columns:1fr}
  .svcx__panel{display:none}
  .svcx__m{display:block;margin-top:12px;font-family:var(--font-text);font-size:15px;line-height:1.55;color:var(--grey-2)}
  .svcx__ititle{opacity:1}
  .mtl{grid-template-columns:1fr 1fr;gap:34px 24px}
  .mtl::before{display:none}
  .mtl__step{padding-top:34px}
  .mtline{height:auto;padding:clamp(60px,10vw,90px) 0}
  .mtline__track{flex-direction:column;transform:none!important;gap:36px;width:auto}
  .mtline__track::before{display:none}
  .mtnode{width:100%;padding-top:0;padding-left:30px}
  .mtnode__dot{top:8px;left:0}
  .mtnode__n{font-size:clamp(44px,14vw,72px)}
  .mstage__frame{display:none}
  .creel__metrics{grid-template-columns:1fr;gap:30px}
  .csplit{grid-template-columns:1fr}
  .csplit__left{min-height:auto}
  .channels{grid-template-columns:1fr}
  .pillars--v2 .pillar{grid-template-columns:1fr;gap:12px}
  .hcases{height:auto;padding:clamp(60px,10vw,90px) 0}
  .hcases__track{flex-direction:column;transform:none!important}
  .hcases__intro{width:100%;padding-right:0}
  .hpin{height:auto;padding:clamp(60px,10vw,90px) 0}
  .hpin__track{flex-direction:column;transform:none!important}
  .hpin__intro{width:100%;padding-right:0}
  .pcard{width:100%;min-height:0}
  .leaders{grid-template-columns:1fr}
  .leader{height:auto;min-height:clamp(340px,78vw,480px)}
  .leader__mono{font-size:clamp(200px,52vw,300px)}
}

/* ---- SOBRE: seção Instagram ---- */
.insta__head{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,52px)}
.instasec .section-title{color:var(--white)}
.insta__iglink{flex:0 0 auto;width:clamp(56px,5vw,72px);height:clamp(56px,5vw,72px);border-radius:50%;border:2px solid var(--blue);color:var(--blue);display:grid;place-items:center;transition:background .3s var(--ease),color .3s,transform .3s var(--ease-out)}
.insta__iglink svg{width:46%;height:46%}
.insta__iglink:hover{background:var(--blue);color:#0A0A0A;transform:translateY(-3px)}
.insta__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.3vw,20px)}
.insta__post{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;border:1px solid var(--line-light);background-color:#141414;background-size:cover;background-position:center;background-repeat:no-repeat;display:block;transition:transform .4s var(--ease-out),border-color .4s}
.insta__post:hover{transform:translateY(-5px);border-color:rgba(27,187,255,.5)}
.insta__ov{position:absolute;inset:0;display:grid;place-items:center;background:rgba(10,10,10,.4);opacity:0;transition:opacity .4s var(--ease)}
.insta__ov svg{width:38px;height:38px;color:#fff}
.insta__post:hover .insta__ov{opacity:1}

/* ---- CASES: grade de cases (clique revela) ---- */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,42px);margin-top:clamp(36px,4vw,56px)}
.gcase{position:relative;aspect-ratio:550.79/403.64;background-image:url("img/case.svg");background-size:100% 100%;background-repeat:no-repeat;cursor:pointer;transition:transform .4s var(--ease-out)}
.gcase:hover{transform:translateY(-6px)}
.gcase__headline{position:absolute;inset:0;margin:0;padding:18% clamp(30px,3.2vw,48px) clamp(48px,5.6vw,70px);display:flex;align-items:center;font-family:var(--font-body);font-weight:700;font-size:clamp(17px,1.55vw,27px);line-height:1.2;letter-spacing:-.015em;color:var(--black);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.gcase.is-open .gcase__headline{opacity:0;transform:scale(.97);pointer-events:none}
.gcase__hint{position:absolute;left:clamp(30px,3.2vw,48px);bottom:clamp(20px,2.4vw,34px);z-index:2;font-family:var(--font-btn);letter-spacing:.1em;text-transform:uppercase;font-size:clamp(11px,.95vw,13px);color:var(--grey);transition:opacity .3s,color .3s}
.gcase:hover .gcase__hint{color:var(--blue-deep)}
.gcase.is-open .gcase__hint{opacity:0}
.gcase__detail{position:absolute;inset:0;padding:16% clamp(30px,3.2vw,48px) clamp(28px,3.2vw,42px);display:flex;flex-direction:column;justify-content:center;gap:clamp(11px,1.3vw,17px);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease-out),visibility .45s}
.gcase.is-open .gcase__detail{opacity:1;visibility:visible;transform:none}
.gcase__seg{align-self:flex-start;font-family:var(--font-btn);letter-spacing:.03em;text-transform:uppercase;font-size:clamp(11px,1vw,14px);color:var(--blue);background:#d6eefb;border:2px solid var(--blue);padding:5px 14px;border-radius:100px;line-height:1}
.gcase__sub{font-family:var(--font-btn);text-transform:uppercase;letter-spacing:.005em;font-size:clamp(22px,2.9vw,40px);line-height:.98;color:var(--black)}
.gcase__detail ul{list-style:none;display:flex;flex-direction:column;gap:clamp(9px,1vw,13px)}
.gcase__detail li{display:flex;align-items:center;gap:12px;font-family:var(--font-text);font-size:clamp(14px,1.2vw,18px);color:var(--black)}
.gcase__detail li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue);flex-shrink:0}
@media (max-width:900px){.insta__grid{grid-template-columns:repeat(2,1fr)}.cgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cgrid{grid-template-columns:1fr}}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  .phero__title .ln>span{animation:none!important;transform:none!important;opacity:1!important}
  .phwcol,.rword ul,.aurora::before,.aurora::after{animation:none!important}
  .aguiastack img{transform:none!important;opacity:1!important}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .marquee__track{animation:none}
  [data-reveal]{opacity:1;transform:none}
  .reveal-words .word{opacity:1}
}
