
:root{
  --bg:#000000; --elev:#0a0a0a; --elev2:#121212; --accent:#298FC2; --accent-dark:#1f7197;
  --fg:#ffffff; --muted:#8c8c8c; --faint:rgba(255,255,255,.55);
  --line:rgba(255,255,255,.12); --line-soft:rgba(255,255,255,.07);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --maxw:1240px;
  --eyebrow:.72rem;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--fg);font-family:var(--sans);
  font-weight:300;line-height:1.6;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{
  font-size:var(--eyebrow);font-weight:500;letter-spacing:.3em;
  text-transform:uppercase;color:var(--faint);
}
.serif{font-family:var(--serif)}

/* ---------- HEADER ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(0,0,0,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line-soft);
}
.header__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:22px;width:auto;opacity:.96}
.brand span{font-size:.7rem;letter-spacing:.42em;text-transform:uppercase;color:var(--faint);padding-left:14px;border-left:1px solid var(--line);}
.nav-cta{
  font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  padding:11px 22px;border:1px solid var(--line);border-radius:999px;
  transition:background .35s ease,color .35s ease,border-color .35s ease;white-space:nowrap;
}
.nav-cta:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:560px){.brand span{display:none}.nav-cta{padding:9px 16px;font-size:.66rem}}

/* ---------- HERO ---------- */
.hero{padding:128px 0 72px;position:relative}
.hero__grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.hero__tag{margin-bottom:30px}
.hero h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.5rem,8.5vw,5.1rem);line-height:1.04;letter-spacing:-.01em;
  margin-bottom:30px;
}
.hero h1 em{font-style:italic;color:var(--faint)}
.hero__sub{
  max-width:30em;color:var(--muted);font-size:1.02rem;line-height:1.75;margin-bottom:40px;
}
.hero__sub b{color:var(--fg);font-weight:500}
.hero__btn{
  display:inline-flex;align-items:center;gap:14px;
  font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  padding:17px 34px;border:1px solid var(--fg);
  transition:background .35s ease,color .35s ease;
}
.hero__btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.hero__btn .arw{transition:transform .35s ease}
.hero__btn:hover .arw{transform:translateX(5px)}
.hero__media{position:relative}
.hero__media img{
  width:100%;height:100%;object-fit:cover;
  filter:contrast(1.05);
  transition:transform .8s ease;aspect-ratio:3/4;
}
.hero__media:hover img{transform:scale(1.03)}
.hero__media::after{content:"";position:absolute;inset:0;border:1px solid var(--line);pointer-events:none}

/* metrics */
.metrics{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);margin-top:64px;
}
.metric{padding:30px 8px 4px;text-align:left}
.metric+.metric{border-left:1px solid var(--line)}
.metric .num{font-family:var(--serif);font-size:clamp(2rem,6vw,3.1rem);line-height:1;font-weight:500}
.metric .lab{display:block;margin-top:12px;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
@media(min-width:880px){
  .hero__grid{grid-template-columns:1.05fr .8fr;gap:72px}
  .hero{padding:160px 0 96px}
  .metric{padding:34px 18px 4px;text-align:center}
}

/* ---------- VENUE STRIP ---------- */
.strip{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--elev)}
.strip__in{display:flex;flex-wrap:wrap;align-items:center;gap:28px 48px;padding:30px 0}
.strip__lab{font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--faint)}
.strip__items{display:flex;flex-wrap:wrap;gap:24px 40px;font-family:var(--serif);font-size:1.18rem;color:var(--muted)}

/* ---------- SECTION shells ---------- */
.section{padding:88px 0;scroll-margin-top:68px}
.section--elev{background:var(--elev)}
.shead{margin-bottom:56px;max-width:44em}
.shead .eyebrow{display:block;margin-bottom:20px}
.shead h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;letter-spacing:-.01em}
@media(min-width:880px){.section{padding:120px 0}}

/* ---------- SERVICES ---------- */
.svc{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.svc__card{padding:40px 4px;border-bottom:1px solid var(--line);transition:padding .4s ease,background .4s ease;position:relative}
.svc__card .no{font-size:.7rem;letter-spacing:.2em;color:var(--faint);font-weight:500}
.svc__card h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin:18px 0 14px}
.svc__card p{color:var(--muted);font-size:.96rem;max-width:30em}
.svc__card .bar{position:absolute;left:0;top:0;height:1px;width:0;background:var(--fg);transition:width .5s ease}
.svc__card:hover{background:var(--elev2)}
.svc__card:hover .bar{width:100%}
@media(min-width:880px){
  .svc{grid-template-columns:repeat(3,1fr)}
  .svc__card{padding:48px 34px;border-bottom:none;border-right:1px solid var(--line)}
  .svc__card:last-child{border-right:none}
  .svc__card:hover{padding-top:40px}
}

/* ---------- EXPERIENCES ---------- */
.exp{display:grid;grid-template-columns:1fr;gap:20px}
.card{
  border:1px solid var(--line);background:var(--bg);padding:38px 30px 34px;
  display:flex;flex-direction:column;transition:transform .4s ease,border-color .4s ease;
}
.card:hover{border-color:var(--faint);transform:translateY(-4px)}
.card__tag{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-bottom:22px}
.card h3{font-family:var(--serif);font-size:1.85rem;font-weight:400;margin-bottom:6px}
.card .for{color:var(--muted);font-size:.9rem;margin-bottom:26px}
.card ul{list-style:none;margin-bottom:32px;flex:1}
.card li{font-size:.92rem;color:var(--faint);padding:11px 0;border-top:1px solid var(--line-soft);display:flex;gap:12px}
.card li:first-child{border-top:none}
.card li::before{content:"—";color:var(--fg);opacity:.5}
.card__btn{
  width:100%;text-align:center;cursor:pointer;font-family:var(--sans);
  font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  padding:15px;border:1px solid var(--fg);background:transparent;color:var(--fg);
  transition:background .35s ease,color .35s ease;
}
.card__btn:hover{background:var(--fg);color:#000}
/* highlighted — accent border + badge */
.card--featured{border-color:var(--accent)}
.card--featured .card__tag{display:inline-block;align-self:flex-start;background:var(--accent);color:#fff;font-weight:600;padding:6px 13px;letter-spacing:.16em;margin-bottom:24px}
.card--featured .card__btn{background:var(--accent);color:#fff;border-color:var(--accent)}
.card--featured .card__btn:hover{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}
.card--featured:hover{transform:translateY(-8px);border-color:var(--accent)}
.exp__note{margin-top:34px;font-size:.82rem;color:var(--faint);letter-spacing:.04em}
@media(min-width:880px){
  .exp{grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
  .card--featured{transform:translateY(-14px)}
  .card--featured:hover{transform:translateY(-20px)}
}

/* editorial band */
.band{position:relative;height:46vw;max-height:520px;min-height:280px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) brightness(.92)}
.band__cap{position:absolute;left:0;bottom:0;padding:24px;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3.6vw,2.4rem);max-width:18em;text-shadow:0 2px 30px rgba(0,0,0,.6)}

/* ---------- AGENDA / FORM ---------- */
.agenda{display:grid;grid-template-columns:1fr;gap:56px}
.agenda__lead .eyebrow{display:block;margin-bottom:22px}
.agenda__lead h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,3rem);line-height:1.12;margin-bottom:26px}
.agenda__lead p{color:var(--muted);max-width:28em;margin-bottom:40px}
.contacts{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line)}
.contacts a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 2px;border-bottom:1px solid var(--line);transition:padding-left .35s ease,color .35s ease}
.contacts a:hover{padding-left:14px;color:#fff}
.contacts .c-l{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.contacts .c-v{font-size:.98rem}

form{display:flex;flex-direction:column;gap:24px}
.field{display:flex;flex-direction:column;gap:9px}
.field label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.field input,.field select,.field textarea{
  width:100%;background:var(--elev2);border:1px solid var(--line);color:var(--fg);
  font-family:var(--sans);font-size:.98rem;font-weight:300;padding:15px 16px;border-radius:0;
  transition:border-color .3s ease,background .3s ease;-webkit-appearance:none;appearance:none;
}
.field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%238c8c8c' stroke-width='1.4' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;cursor:pointer;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--fg);background:#171717}
.field input::placeholder,.field textarea::placeholder{color:#555}
.submit{
  margin-top:6px;width:100%;cursor:pointer;font-family:var(--sans);
  font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  padding:18px;background:var(--accent);color:#fff;border:1px solid var(--accent);
  transition:background .35s ease,color .35s ease;
}
.submit:hover{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}
.form-note{font-size:.74rem;color:var(--faint);text-align:center;margin-top:-6px}
@media(min-width:880px){.agenda{grid-template-columns:1fr 1.05fr;gap:80px}}

/* ---------- FOOTER ---------- */
.foot{border-top:1px solid var(--line);padding:56px 0 40px}
.foot__in{display:flex;flex-direction:column;gap:28px}
.foot img{height:24px;width:auto;opacity:.9}
.foot__links{display:flex;flex-wrap:wrap;gap:14px 28px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.foot__links a:hover{color:#fff}
.foot__fine{font-size:.72rem;color:#5a5a5a;letter-spacing:.04em;line-height:1.7}
@media(min-width:880px){.foot__in{flex-direction:row;align-items:center;justify-content:space-between}}

/* ---------- MANIFESTO ---------- */
.mani{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.mani__b{padding:40px 4px;border-bottom:1px solid var(--line)}
.mani__b .mn{font-family:var(--serif);font-size:1.7rem;color:var(--accent);font-weight:500;display:block;margin-bottom:18px;letter-spacing:.02em}
.mani__b h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;margin-bottom:14px}
.mani__b p{color:var(--muted);font-size:.96rem;max-width:34em}
@media(min-width:880px){
  .mani{grid-template-columns:repeat(3,1fr)}
  .mani__b{padding:48px 34px 44px;border-bottom:none;border-right:1px solid var(--line)}
  .mani__b:last-child{border-right:none}
}
/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);max-width:62em}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;text-align:left;background:none;border:none;color:var(--fg);cursor:pointer;
  font-family:var(--sans);font-weight:400;font-size:clamp(1rem,2.4vw,1.18rem);
  padding:26px 2px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.faq__q .ic{position:relative;width:16px;height:16px;flex:none}
.faq__q .ic::before,.faq__q .ic::after{content:"";position:absolute;background:var(--accent);transition:transform .4s ease}
.faq__q .ic::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}
.faq__q .ic::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%)}
.faq__item.open .faq__q .ic::after{transform:translateX(-50%) scaleY(0)}
.faq__a{overflow:hidden;max-height:0;transition:max-height .45s ease}
.faq__a p{color:var(--muted);padding:0 2px 28px;max-width:50em;font-size:.98rem}

/* ---------- REVIEWS ---------- */
.reviews__meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:48px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.reviews__score{font-family:var(--serif);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;font-weight:500}
.reviews__stars{color:var(--accent);letter-spacing:.14em;font-size:1.05rem}
.reviews__label{display:block;margin-top:8px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.reviews{display:grid;grid-template-columns:1fr;gap:20px}
.review{border:1px solid var(--line);background:var(--bg);padding:32px 28px;display:flex;flex-direction:column;transition:border-color .4s ease,transform .4s ease}
.review:hover{border-color:var(--faint);transform:translateY(-4px)}
.review__stars{color:var(--accent);letter-spacing:.12em;font-size:.86rem;margin-bottom:18px}
.review h3{font-family:var(--serif);font-size:1.25rem;font-weight:400;margin-bottom:14px}
.review p{color:var(--muted);font-size:.94rem;line-height:1.72;flex:1}
.review__who{margin-top:26px;padding-top:18px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.review__who .name{font-size:.92rem;letter-spacing:.02em}
.review__who .date{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
@media(min-width:720px){.reviews{grid-template-columns:repeat(2,1fr);gap:24px}}
@media(min-width:1040px){.reviews{grid-template-columns:repeat(3,1fr)}}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{transition:none!important}
}

/* ================= AJUSTES / NOVOS COMPONENTES ================= */
.skip{position:absolute;left:-9999px;top:0;background:var(--fg);color:#000;padding:10px 16px;z-index:200}
.skip:focus{left:12px;top:12px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* nav */
.nav{display:flex;align-items:center;gap:26px}
.nav a{position:relative;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);transition:color .3s ease;padding-bottom:4px}
.nav a:hover,.nav a[aria-current="page"]{color:var(--fg)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:9px 14px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;font-family:var(--sans)}
@media(max-width:900px){
  .nav{position:fixed;inset:68px 0 auto 0;background:rgba(0,0,0,.96);backdrop-filter:blur(18px);
       flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 24px;border-bottom:1px solid var(--line-soft);
       display:none}
  .nav.open{display:flex}
  .nav a{width:100%;padding:15px 0;border-bottom:1px solid var(--line-soft);font-size:.8rem}
  .nav-toggle{display:inline-block}
  .header__in .nav-cta{display:none}
}

/* breadcrumb */
.crumbs{padding:96px 0 0;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.crumbs a:hover{color:var(--fg)}
.crumbs span{opacity:.5;padding:0 8px}

/* page hero (internas) */
.phero{padding:40px 0 64px}
.phero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,6vw,4rem);line-height:1.06;margin:20px 0 24px;max-width:16em}
.phero p{color:var(--muted);max-width:36em;font-size:1.02rem;line-height:1.75}
.phero .hero__btn{margin-top:36px}
@media(min-width:880px){.phero{padding:56px 0 88px}}

/* prose */
.prose{max-width:44em;color:var(--muted)}
.prose h2{font-family:var(--serif);color:var(--fg);font-weight:400;font-size:clamp(1.6rem,3.4vw,2.2rem);margin:44px 0 16px;line-height:1.2}
.prose h3{font-family:var(--serif);color:var(--fg);font-weight:400;font-size:1.3rem;margin:30px 0 10px}
.prose p{margin-bottom:16px;font-size:.98rem}
.prose ul{margin:0 0 20px 0;list-style:none}
.prose li{padding:9px 0;border-top:1px solid var(--line-soft);font-size:.95rem;display:flex;gap:12px}
.prose li::before{content:"—";color:var(--fg);opacity:.45}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* cases */
/* video gallery */
.vgrid{display:grid;grid-template-columns:1fr;gap:20px}
.vgrid__item{border:1px solid var(--line)}
.vgrid__frame{position:relative;width:100%;aspect-ratio:9/16;background:#000}
.vgrid__frame iframe,.vgrid__frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.vgrid__cap{padding:16px 18px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line)}
.vgrid__cap strong{color:var(--fg);font-weight:500}
@media(min-width:640px){.vgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.vgrid{grid-template-columns:repeat(3,1fr)}}
.vgrid--feat .vgrid__frame{max-width:360px;margin:0 auto}
.vgrid--feat{grid-template-columns:1fr}
@media(min-width:640px){.vgrid--feat{grid-template-columns:repeat(2,1fr)}}

.cases{display:grid;grid-template-columns:1fr;gap:20px}
.case{border:1px solid var(--line);padding:34px 28px;transition:border-color .4s ease,transform .4s ease}
.case:hover{border-color:var(--faint);transform:translateY(-4px)}
.case .tag{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.case h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin:14px 0 20px}
.case dl{margin:0}
.case dt{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:16px}
.case dd{margin:6px 0 0;color:var(--muted);font-size:.94rem}
@media(min-width:880px){.cases{grid-template-columns:repeat(3,1fr);gap:24px}}

/* split lists */
.duo{display:grid;grid-template-columns:1fr;gap:20px;border-top:1px solid var(--line)}
.duo__b{padding:36px 4px;border-bottom:1px solid var(--line)}
.duo__b h3{font-family:var(--serif);font-size:1.45rem;font-weight:400;margin-bottom:12px}
.duo__b p{color:var(--muted);font-size:.95rem;max-width:34em}
@media(min-width:880px){.duo{grid-template-columns:repeat(2,1fr);gap:0}
 .duo__b{padding:44px 34px;border-bottom:none;border-right:1px solid var(--line)}
 .duo__b:nth-child(2n){border-right:none}
 .duo__b:nth-child(n+3){border-top:1px solid var(--line)}}

/* cross links */
.xlinks{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
.xlink{border:1px solid var(--line);padding:26px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:border-color .35s ease,background .35s ease}
.xlink:hover{border-color:var(--accent);background:var(--elev2)}
.xlink strong{font-family:var(--serif);font-weight:400;font-size:1.2rem}
.xlink small{display:block;color:var(--muted);font-size:.85rem;margin-top:6px;font-weight:300}
.xlink .arw{color:var(--accent)}
@media(min-width:880px){.xlinks{grid-template-columns:repeat(3,1fr)}}

/* consent / lgpd note */
.lgpd{font-size:.78rem;color:var(--faint);margin-top:14px;line-height:1.6}
.lgpd a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* sticky mobile cta */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;
  gap:1px;background:var(--line);border-top:1px solid var(--line)}
.sticky-cta a{flex:1;text-align:center;padding:15px 8px;background:rgba(0,0,0,.92);backdrop-filter:blur(14px);
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.sticky-cta a.primary{background:var(--accent);color:#fff}
@media(max-width:880px){.sticky-cta{display:flex}body{padding-bottom:52px}}

/* footer nav */
.foot__nav{display:flex;flex-wrap:wrap;gap:12px 26px;margin:22px 0 8px}
.foot__nav a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.foot__nav a:hover{color:var(--fg)}

.field textarea{font-family:var(--sans);resize:vertical;min-height:92px}
.card__btn{display:block;text-decoration:none}
