﻿:root{
  --bg:#0f1012;
  --bg2:#15171a;
  --panel:#1c1f23;
  --panel2:#20242a;
  --text:#f2f4f7;
  --muted:#a8b0bb;
  --muted2:#7c8592;
  --line:rgba(255,255,255,.08);
  --shadow: 0 20px 60px rgba(0,0,0,.45);
  --radius:22px;
  --radius2:28px;
  --accent:#ff2e88;   /* rosa */
  --accent2:#ff3d2e;  /* vermelho/rosa */
  --max:1180px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Baloo Bhai 2",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background-color:#20242a;
  color:var(--text);
  line-height:1.5;
  overflow-x:hidden;
}
body.modal-open{overflow:hidden}
body.mobile-menu-open{overflow:hidden}
p{
  font-size:16px;
  line-height:1.6;
}

a{color:inherit;text-decoration:none}
body .container{
  width:min(var(--max), 100%);
  margin-inline:auto;
  padding-inline:16px;
}

/* Tailwind-like utility fallback (local, sem CDN) */
.grid{display:grid}
.flex{display:flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.gap-2{gap:8px}
.gap-4{gap:16px}
.gap-8{gap:32px}
.mt-4{margin-top:16px}
.mb-2{margin-bottom:8px}
.mb-5{margin-bottom:20px}
.mx-auto{margin-inline:auto}
.inline-block{display:inline-block}
.px-4{padding-inline:16px}
.py-2{padding-block:8px}
.rounded-full{border-radius:999px}
.border{border:1px solid rgba(255,255,255,.14)}
.border-white\/10{border-color:rgba(255,255,255,.10)}
.bg-white\/5{background:rgba(255,255,255,.05)}
.text-xs{font-size:12px}
.uppercase{text-transform:uppercase}
.text-gray-300{color:rgba(255,255,255,.74)}
.text-gray-400{color:var(--muted)}
.overflow-x-hidden{overflow-x:hidden}
.whitespace-nowrap{white-space:nowrap}
@media (min-width: 768px){
  .md\:flex-row{flex-direction:row}
  .md\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (min-width: 1024px){
  .lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .lg\:col-span-2{grid-column:span 2 / span 2}
}
@media (min-width: 1280px){
  .xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
}
.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border:1px solid var(--line);
  border-radius:999px; background:rgba(255,255,255,.03);
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px; border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
  cursor:pointer;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px); background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14)}
.btn.primary{
  background:linear-gradient(135deg, rgba(255,46,136,.95), rgba(255,61,46,.95));
  border-color:transparent;
  box-shadow:0 12px 35px rgba(255,46,136,.18);
}
.btn.primary:hover{background:linear-gradient(135deg, rgba(255,46,136,1), rgba(255,61,46,1))}
.muted{color:var(--muted)}
.small{font-size:13px; color:var(--muted2)}
.divider{height:1px;background:var(--line); margin:26px 0}
.pagination{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.page-link{
  min-width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  padding:0 10px;
}
.page-link.is-current{
  color:var(--text);
  border-color:rgba(255,255,255,.22);
  background:linear-gradient(135deg, rgba(255,46,136,.90), rgba(255,61,46,.90));
}
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:90;
  width:56px;
  height:56px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg, #21c45a, #0fa64a);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 18px 45px rgba(15,166,74,.35);
  font-size:28px;
}
.whatsapp-float:hover{transform:translateY(-1px)}
.lead-overlay{
  position:fixed;
  inset:0;
  background:rgba(6,7,8,.72);
  backdrop-filter:blur(6px);
  z-index:120;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.lead-overlay.is-open{display:flex}
.lead-modal{
  width:min(520px, 100%);
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(32,36,42,.95), rgba(20,23,27,.96));
  box-shadow:var(--shadow);
  padding:20px;
  position:relative;
}
.lead-title{
  margin:0;
  font-size:28px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.lead-sub{
  margin:10px 0 0;
  color:var(--muted);
  font-size:15px;
}
.lead-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font-size:20px;
  cursor:pointer;
}
.lead-form{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.lead-form label{
  display:grid;
  gap:6px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted2);
}
.lead-form input{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  padding:0 12px;
  outline:none;
}
.lead-form input:focus{border-color:rgba(255,255,255,.2)}
.lead-actions{
  margin-top:8px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

/* HEADER */
header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background:linear-gradient(to bottom, rgba(15,16,18,.80), rgba(15,16,18,.35));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.brand{
  display:flex; align-items:center; gap:12px;
  letter-spacing:.2px;
}
.brand img{
  display:block;
  width:auto;
  height:32px;
  object-fit:contain;
}
.logo{
  width:42px; height:28px; border-radius:9px;
  /* background:linear-gradient(135deg, var(--accent), var(--accent2)); */
  display:grid; place-items:center;
  box-shadow:0 10px 30px rgba(255,46,136,.18);
  position:relative;
  overflow:hidden;
}
.logo::after{
  content:"";
  position:absolute; inset:-40%;
  background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.25), transparent 55%);
  transform:rotate(18deg);
}
.brand strong{font-weight:800; font-size:14px}
.brand span{display:block; font-size:10px; letter-spacing:.18em; color:var(--muted2)}
nav ul{list-style:none; display:flex; gap:22px; margin:0; padding:0; align-items:center}
nav a{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
nav a:hover{color:var(--text)}
nav a.is-active{color:var(--text); position:relative}
nav a.is-active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
}
.nav-right{display:flex; gap:10px; align-items:center}
.burger{
  display:none; width:44px; height:44px;
  border-radius:12px; border:1px solid var(--line);
  background:rgba(255,255,255,.03);
}
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:110;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(6,7,8,.72);
  backdrop-filter:blur(6px);
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.mobile-menu.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.mobile-menu-panel{
  width:min(560px, 100%);
  max-height:calc(100vh - 40px);
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(32,36,42,.95), rgba(20,23,27,.96));
  box-shadow:var(--shadow);
  position:relative;
  padding:44px 20px 20px;
  display:grid;
  align-content:center;
  gap:8px;
  overflow:auto;
  transform:translateY(12px) scale(.98);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
}
.mobile-menu.is-open .mobile-menu-panel{
  transform:translateY(0) scale(1);
  opacity:1;
}
.mobile-menu-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.mobile-menu-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
  text-align:center;
}
.mobile-menu-link{
  display:inline-flex;
  justify-content:center;
  width:100%;
  padding:10px;
  font-size:clamp(28px, 8vw, 48px);
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:rgba(255,255,255,.9);
  border-radius:16px;
  border:1px solid transparent;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.mobile-menu-link:hover{
  color:#fff;
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.12);
}
.mobile-menu-link.is-active{
  background:linear-gradient(135deg, rgba(255,46,136,.16), rgba(255,61,46,.12));
  border:1px solid rgba(255,255,255,.14);
}
.mobile-menu-cta{
  margin-top:14px;
  display:flex;
  justify-content:center;
}

/* HERO */
.hero{padding:34px 0 18px}
.hero-grid{
  display:grid; grid-template-columns: 1.05fr .95fr;
  gap:26px; align-items:stretch;
}
.hero-left{
  background:rgba(255,255,255,.02);
  border:1px solid var(--line);
  border-radius:var(--radius2);
  padding:22px;
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.hero-left::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(500px 260px at 15% 15%, rgba(255,46,136,.22), transparent 60%),
    radial-gradient(460px 240px at 80% 20%, rgba(255,61,46,.16), transparent 62%);
  pointer-events:none;
  opacity:.9;
}
.hero-left > *{position:relative}
.hero-kicker{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  margin-bottom:14px;
}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.10);
  font-size:12px;
  color:var(--muted);
}
.badge.is-active{
  color:var(--text);
  border-color:rgba(255,255,255,.22);
  background:linear-gradient(135deg, rgba(255,46,136,.18), rgba(255,61,46,.14));
}
.dot{
  width:8px; height:8px; border-radius:50%;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow:0 0 0 6px rgba(255,46,136,.12);
}
.hero-title{
  font-size:40px;
  line-height:1.02;
  margin:10px 0 8px;
  letter-spacing:-.03em;
  font-weight:900;
  text-transform:uppercase;
}
.hero-sub{
  font-size:16px;
  color:var(--muted);
  max-width:58ch;
  margin:0 0 18px;
}
.hero-actions{display:flex; gap:10px; flex-wrap:wrap}
.hero-cards{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:12px;
  margin-top:18px;
}
.mini{
  border:1px solid var(--line);
  background:rgba(0,0,0,.24);
  border-radius:18px;
  padding:14px;
  min-height:96px;
}
.mini .t{font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase}
.mini .p{margin-top:10px; color:var(--muted); font-size:15px; line-height:1.5}

/* HERO RIGHT / THUMBS */
.hero-right{
  display:grid;
  grid-template-rows: 1fr;
  gap:14px;
}
.thumb-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  height:100%;
}
.thumb{
  display:block;
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  overflow:hidden;
  position:relative;
  min-height:220px;
  box-shadow: var(--shadow);
  transition:transform .2s ease, border-color .2s ease;
}
.thumb:hover{transform:translateY(-2px); border-color:rgba(255,255,255,.18)}
.thumb:focus-visible{outline:2px solid rgba(255,255,255,.55); outline-offset:2px}
.thumb.big{grid-column:1 / -1; min-height:260px}
.thumb .img{
  position:absolute; inset:0;
  background:
    radial-gradient(700px 320px at 20% 20%, rgba(255,46,136,.22), transparent 55%),
    radial-gradient(520px 300px at 85% 30%, rgba(255,61,46,.18), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55));
}
.thumb .label{
  position:absolute; left:16px; right:16px; bottom:16px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:10px;
}
.thumb h4{
  margin:0;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.92);
}
.thumb p{margin:6px 0 0; font-size:14px; color:var(--muted)}
.chip{
  padding:8px 10px; border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.25);
  font-size:11px; color:rgba(255,255,255,.9);
  white-space:nowrap;
}

/* MARQUEE */
.marquee{
  margin:18px 0 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.marquee-track{
  display:flex;
  gap:22px;
  padding:16px 0;
  width:max-content;
  animation: scroll 18s linear infinite;
}
.marquee span{
  font-size:38px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.94);
  white-space:nowrap;
}
.marquee b{
  color:var(--accent);
  margin:0 10px;
}
@keyframes scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* PORTFOLIO STRIP */
.section{padding:34px 0}
.page-main{padding:34px 0 44px}
.page-head{align-items:flex-start; margin-bottom:18px}
.page-head h1{
  margin:8px 0 0;
  font-size:34px;
  line-height:1.04;
  letter-spacing:-.03em;
  font-weight:900;
  text-transform:uppercase;
}
.projects-toolbar{
  display:grid;
  gap:18px;
  margin-bottom:18px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:28px;
  background:
    radial-gradient(420px 180px at 8% 0%, rgba(255,46,136,.10), transparent 62%),
    radial-gradient(420px 180px at 92% 100%, rgba(255,61,46,.08), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.projects-toolbar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.05), transparent 25%, transparent 75%, rgba(255,255,255,.04));
  opacity:.35;
}
.projects-toolbar > *{
  position:relative;
}
.projects-toolbar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.projects-toolbar-head p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:14px;
  max-width:56ch;
}
.projects-toolbar-state{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:var(--text);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.projects-toolbar-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.5fr) minmax(220px, .8fr) auto;
  gap:14px;
  align-items:end;
}
.projects-search,
.projects-select{
  display:grid;
  gap:6px;
}
.projects-field .small{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted2);
  font-weight:700;
}
.projects-field-shell{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:0 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(11,13,16,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.projects-field-shell:focus-within{
  border-color:rgba(255,255,255,.2);
  background:rgba(18,21,25,.68);
  transform:translateY(-1px);
}
.projects-field-icon{
  width:26px;
  height:26px;
  border-radius:10px;
  flex:0 0 26px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(135deg, rgba(255,46,136,.7), rgba(255,61,46,.58));
  box-shadow:0 10px 22px rgba(255,46,136,.14);
}
.projects-search input,
.projects-select select{
  width:100%;
  height:52px;
  border:0;
  background:transparent;
  color:var(--text);
  padding:0;
  font:inherit;
  outline:none;
}
.projects-search input::placeholder{
  color:var(--muted2);
}
.projects-select select{
  cursor:pointer;
  padding-right:8px;
}
.projects-select select option{
  background:#20242a;
  color:var(--text);
}
.projects-toolbar-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding-bottom:1px;
}
.page-panel{
  border:1px solid var(--line);
  border-radius:var(--radius2);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:var(--shadow);
  padding:24px;
  position:relative;
  overflow:hidden;
}
.page-panel::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(520px 260px at 15% 20%, rgba(255,46,136,.12), transparent 60%),
    radial-gradient(520px 260px at 85% 15%, rgba(255,61,46,.10), transparent 62%);
  pointer-events:none;
}
.page-panel > *{position:relative}
.legal-copy h2{
  margin:24px 0 8px;
  font-size:16px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.legal-copy p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
}
.legal-copy a{
  color:rgba(255,106,176,.96);
  text-decoration:underline;
}
.page-copy{
  color:var(--muted);
}
.page-copy p{
  margin:0 0 14px;
  color:var(--muted);
}
.page-copy > :last-child{
  margin-bottom:0;
}
.about-values{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.about-values .mini{
  min-height:160px;
}
.section-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin-bottom:14px;
}
.section-head h3{
  margin:0;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
}
.section-head p{margin:0; color:var(--muted); font-size:16px; max-width:70ch}

.portfolio-grid{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:14px;
  margin-top:14px;
}
.card{
  border:1px solid var(--line);
  border-radius:var(--radius2);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  overflow:hidden;
  box-shadow: var(--shadow);
  position:relative;
  min-height:260px;
}
.card .img{
  position:absolute; inset:0;
  background:
    radial-gradient(820px 420px at 18% 22%, rgba(255,46,136,.18), transparent 60%),
    radial-gradient(600px 360px at 85% 35%, rgba(255,61,46,.14), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.62));
}
.card .meta{
  position:absolute; left:18px; right:18px; bottom:16px;
  display:flex; justify-content:space-between; align-items:flex-end; gap:14px;
}
.card .meta .k{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.85)}
.card .meta .t{font-size:18px; font-weight:900; margin-top:6px}
.card .meta .s{font-size:15px; color:var(--muted); margin-top:6px; max-width:52ch}

.link-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:10px;
  color:var(--muted);
  font-size:12px;
}
.arrow{display:inline-block; transform:translateY(1px)}
.arrow::after{content:"›"; font-size:18px; margin-left:8px; color:rgba(255,255,255,.7)}

.blog-home-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.blog-home-card{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  padding:20px;
}
.blog-home-card .k{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted2);
}
.blog-home-card h4{
  margin:10px 0 8px;
  font-size:24px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.02em;
}
.blog-home-card p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
}

/* SERVICES */
.services{
  background:rgba(255,255,255,.02);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:38px 0;
}
.services-title{
  font-size:42px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0 0 18px;
  text-align:center;
  color:rgba(255,255,255,.95);
}
.services-title b{color:var(--accent)}
.services-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start;
  margin-top:24px;
}
.service{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  padding:22px;
  position:relative;
  overflow:hidden;
}
.service::before{
  content:"";
  position:absolute; inset:-2px;
  background:radial-gradient(420px 200px at 20% 15%, rgba(255,46,136,.12), transparent 60%);
  opacity:.8; pointer-events:none;
}
.service > *{position:relative}
.service .num{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted2)}
.service h4{
  margin:10px 0 10px;
  font-size:36px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:900;
}
.service p{margin:0; color:var(--muted); font-size:15px; max-width:70ch}

/* SERVICES PAGE */
.services-page-main{
  --services-bg:#eef1f4;
  --services-text:#1b2230;
  --services-muted:#596171;
  --services-line:#d7dce3;
  --services-accent:#0d8aa8;
  --services-dark:#1b2230;
  padding:20px 0 0;
  background:var(--services-bg);
  color:var(--services-text);
}
.services-page-container{
  width:min(980px, 100%);
}
.services-page-main .small{
  color:#708098;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:700;
}
.services-page-hero{
  padding:50px 0 28px;
  text-align:center;
}
.services-page-head{
  text-align:center;
  max-width:760px;
  margin:0 auto;
}
.services-page-title{
  margin:12px 0 10px;
  font-size:clamp(34px, 5vw, 62px);
  line-height:.98;
  letter-spacing:-.03em;
  font-weight:900;
}
.services-page-title span{
  display:block;
  color:var(--services-accent);
  font-style:italic;
}
.services-page-intro{
  margin:0 auto;
  /* max-width:56ch; */
  color:var(--services-muted);
  font-size:17px;
}
.services-page-editor{
  margin:14px auto 0;
  max-width:62ch;
  color:#394250;
  font-size:16px;
}
.services-page-editor p{
  margin:0 0 10px;
}
.services-page-editor > :last-child{
  margin-bottom:0;
}
.services-page-list{
  padding:12px 0 56px;
}
.services-page-items{
  border-top:1px solid var(--services-line);
}
.services-page-item{
  display:grid;
  grid-template-columns:52px minmax(220px, 1fr) 1.6fr;
  gap:16px 22px;
  padding:24px 0;
  border-bottom:1px solid var(--services-line);
  align-items:start;
}
.services-page-number{
  font-size:12px;
  color:var(--services-accent);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding-top:4px;
}
.services-page-item h2{
  margin:0;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.02em;
  font-weight:900;
  color:var(--services-text);
}
.services-page-item p{
  margin:0;
  color:var(--services-muted);
  font-size:15px;
  line-height:1.55;
}
.services-page-ai{
  margin-top:30px;
  border:1px solid var(--services-line);
  border-radius:20px;
  background:#f6f8fa;
  padding:22px;
}
.services-page-ai h3{
  margin:8px 0 8px;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.02em;
}
.services-page-ai p{
  margin:0;
  color:var(--services-muted);
  font-size:15px;
}
.services-page-process{
  background:linear-gradient(180deg, #1c2432, #171e2b);
  color:#f2f4f9;
  padding:60px 0;
}
.services-page-process-head{
  text-align:center;
}
.services-page-process-head .small{
  color:rgba(224,231,245,.54);
}
.services-page-process-head h2{
  margin:8px 0 0;
  font-size:48px;
  line-height:.98;
  letter-spacing:-.03em;
}
.services-page-process-grid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}
.services-page-process-item{
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  padding:22px;
  background:rgba(255,255,255,.04);
}
.services-page-step-number{
  font-size:42px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.2);
}
.services-page-process-item h3{
  margin:6px 0 8px;
  font-size:28px;
  line-height:1.04;
  letter-spacing:-.02em;
}
.services-page-process-item p{
  margin:0;
  color:rgba(232,237,245,.78);
  font-size:15px;
}
.services-page-cta{
  text-align:center;
  padding:64px 0 54px;
}
.services-page-cta h2{
  margin:0 auto;
  max-width:24ch;
  font-size:clamp(34px, 4vw, 52px);
  line-height:.98;
  letter-spacing:-.03em;
  color:var(--services-text);
}
.services-page-cta p{
  margin:12px auto 20px;
  max-width:54ch;
  color:var(--services-muted);
  font-size:16px;
}
.services-page-main .divider{
  margin:44px 0 0;
  background:var(--services-line);
}

/* PARTNERS */
.partners{
  padding:20px 0 20px;
  border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.18);
}
.partners-row{
  display:flex; gap:22px; align-items:start; justify-content:space-between;
  flex-wrap:wrap;
  opacity:.85;
}
.partners-row .p{
  display:flex; gap:20px; align-items:start; flex-wrap:wrap;
  color:rgba(255,255,255,.6);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.partner{
    display: inline-flex;
    align-items: start;
    justify-content: start;
    padding: 16px 24px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .03);
    background-color: white;
}
.client-logo{
  display:block;
  width:auto;
  height:32px;
  max-width:120px;
  object-fit:contain;
}

/* TESTIMONIALS */
.testimonials{
  padding:34px 0;
}
.test-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-bottom:12px;
}
.test-head h3{margin:0; font-size:18px; font-weight:900}
.pager{display:flex; gap:10px}
.pager .btn{width:44px; height:44px; padding:0; border-radius:14px}
.pager .btn[disabled]{opacity:.45; cursor:not-allowed}
.test-viewport{margin-top:12px}
.test-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:14px;
}
.testimonials.is-carousel .test-viewport{
  overflow:hidden;
}
.testimonials.is-carousel .test-grid{
  display:flex;
  gap:14px;
  transition:transform .35s ease;
  margin-top:0;
  will-change:transform;
}
.testimonials.is-carousel .quote{
  flex:0 0 calc((100% - 28px) / 3);
}
.quote{
  border:1px solid var(--line);
  border-radius:var(--radius2);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  padding:18px;
  min-height:240px;
}
.quote-body{color:var(--muted); font-size:15px; line-height:1.55}
.quote-body > :first-child{margin-top:0}
.quote-body > :last-child{margin-bottom:0}
.quote-body p{margin:0 0 10px}
.who{display:flex; gap:10px; align-items:center; margin-top:14px}
.avatar{
  width:34px; height:34px; border-radius:12px;
  background:linear-gradient(135deg, rgba(255,46,136,.7), rgba(255,61,46,.55));
  border:1px solid rgba(255,255,255,.14);
}
.avatar.has-photo{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.who strong{display:block; font-size:12px}
.who span{display:block; font-size:11px; color:var(--muted2); margin-top:2px}

/* LANDING IMOVEIS */
.lp-imoveis{
  padding:10px 0 34px;
  background:
    radial-gradient(1100px 520px at 5% -5%, rgba(255,46,136,.08), transparent 62%),
    radial-gradient(900px 460px at 96% 8%, rgba(255,61,46,.07), transparent 62%);
}
.lp-hero{
  padding:24px 0 12px;
}
.lp-hero-grid{
  /* border:1px solid var(--line); */
  border-radius:30px;
  /* background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); */
  /* box-shadow:0 24px 80px rgba(0,0,0,.42); */
  /* padding:28px; */
  display:flex;
  gap:24px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.lp-hero-grid::before{
  content:"";
  position:absolute;
  inset:-30% auto auto -12%;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,46,136,.16), transparent 68%);
  pointer-events:none;
}
.lp-hero-copy{position:relative; z-index:1; width: 100%;}
.lp-hero-copy .small{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.lp-hero-copy h1{
  margin:8px 0 10px;
  font-size:clamp(30px, 4vw, 42px);
  line-height:.98;
  letter-spacing:-.03em;
  font-weight:900;
  text-transform:uppercase;
  max-width:24ch;
}
.lp-hero-copy p{
  margin:0;
  color:var(--muted);
  font-size:17px;
  max-width:54ch;
}
.lp-hero-actions{
  margin-top:20px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.lp-hero-actions .btn{
  min-width:150px;
}
.lp-hero-media{
  display:block;
  border-radius:22px;
  overflow:hidden;
  width: 50%;
  /* border:1px solid rgba(255,255,255,.2); */
  min-height:320px;
  object-fit: contain;
  /* box-shadow:0 16px 48px rgba(0,0,0,.35); */
  position:relative;
}
/* .lp-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.36));
  pointer-events:none;
} */
.lp-hero-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.lp-video-card{
  margin-top:18px;
  border-radius:22px;
  border:1px solid var(--line);
  overflow:hidden;
  position:relative;
  display:block;
  min-height:250px;
  background:rgba(0,0,0,.34);
  box-shadow:0 16px 40px rgba(0,0,0,.34);
  transition:transform .2s ease, border-color .2s ease;
}
.lp-video-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.18);
}
.lp-video-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.55));
  pointer-events:none;
}
.lp-video-card img{
  width:100%;
  height:100%;
  min-height:250px;
  object-fit:cover;
  display:block;
  opacity:.78;
}
.lp-video-play{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:74px;
  height:74px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:28px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.42);
  backdrop-filter:blur(8px);
  z-index:2;
}
.lp-video-text{
  position:absolute;
  top:16px;
  left:16px;
  border-radius:999px;
  font-size:12px;
  padding:8px 12px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.16);
  z-index:2;
}
.lp-marquee-wrap{
  margin-top:14px;
}
.lp-services{
  padding:28px 0 16px;
}
.lp-service-row{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:20px;
  align-items:center;
  /* padding:22px; */
  margin-bottom:14px;
  border-bottom:1px solid var(--line);
  border-radius:24px;
  /* background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); */
  /* box-shadow:0 12px 36px rgba(0,0,0,.22); */
}
/* .lp-service-row:nth-child(even) .lp-service-copy{
  order:2;
}
.lp-service-row:nth-child(even) .lp-service-media{
  order:1;
} */
.lp-service-copy .num{
  color:var(--muted2);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.lp-service-copy h3{
  margin:10px 0 12px;
  font-size:40px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:900;
}
.lp-service-copy p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  max-width:46ch;
}
.lp-service-copy .btn{
  margin-top:16px;
}
.lp-service-media{
  display:flex;
  justify-content:center;
}
.lp-phone-model{
  width:min(360px, 100%);
  position:relative;
  filter:drop-shadow(0 12px 32px rgba(0,0,0,.38));
}
.lp-phone-shell{
  display:block;
  width:100%;
  height:auto;
}
.lp-phone-screen{
  position:absolute;
  left:11%;
  right:11%;
  top:7.5%;
  bottom:8%;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.lp-phone-screen model-viewer{
  width:100%;
  height:100%;
  background:
    radial-gradient(380px 180px at 18% 20%, rgba(255,46,136,.14), transparent 58%),
    radial-gradient(420px 200px at 82% 25%, rgba(255,61,46,.12), transparent 62%),
    #111318;
}
.lp-phone-screen model-viewer img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.lp-phone-tour{
  width:min(360px, 100%);
  height:auto;
  display:block;
  filter:drop-shadow(0 12px 32px rgba(0,0,0,.38));
}
.lp-metrics{
  padding:28px 0 20px;
}
.lp-metrics-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:12px;
}
.lp-metric-card{
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow:0 10px 28px rgba(0,0,0,.2);
}
.lp-metric-card strong{
  display:block;
  font-size:38px;
  line-height:1;
  letter-spacing:-.02em;
}
.lp-metric-card p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
}
.lp-metric-action{
  margin-top:14px;
}
.lp-pilot{
  padding:34px 0 18px;
}
.lp-pilot-panel{
  border:1px solid var(--line);
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
  padding:18px;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
}
.lp-pilot-plan h3{
  margin:0;
  font-size:34px;
  line-height:1;
  letter-spacing:-.03em;
}
.lp-pilot-tablist{
  display:flex;
  gap:8px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.lp-pilot-tab{
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:var(--muted);
  border-radius:999px;
  padding:10px 16px;
  cursor:pointer;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.lp-pilot-tab.is-active{
  color:var(--text);
  border-color:transparent;
  background:linear-gradient(135deg, rgba(255,46,136,.95), rgba(255,61,46,.95));
}
.lp-pilot-content[hidden]{
  display:none;
}
.lp-pilot-plan p{
  margin:10px 0 0;
  color:var(--muted);
  max-width:48ch;
}
.lp-price-row{
  margin-top:14px;
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(0,0,0,.22);
  width:fit-content;
  min-width:230px;
}
.lp-price-row span{
  color:var(--muted2);
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.lp-price-row span s{
  opacity:.72;
  text-decoration-color:rgba(255,255,255,.45);
}
.lp-price-row strong{
  font-size:34px;
  line-height:1;
}
.lp-checklist{
  margin:12px 0 16px;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.lp-checklist li{
  position:relative;
  padding-left:20px;
  color:var(--muted);
  font-size:14px;
}
.lp-checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:rgba(255,106,176,.96);
}
.lp-pilot-side{
  border:1px solid var(--line);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.28));
  display:grid;
  align-content:start;
  gap:12px;
}
.lp-pilot-side img{
  width:100%;
  border-radius:12px;
  border:1px solid var(--line);
}
.lp-pilot-side h4{
  margin:0;
  font-size:32px;
  line-height:1;
  letter-spacing:-.03em;
}
.lp-pilot-side p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

/* CTA */
.cta{
  padding:36px 0 44px;
  text-align:center;
}
.cta h2{
  font-size:24px;
  letter-spacing:-.02em;
  margin:0 0 18px;
  font-weight:900;
}
.cta .btn{padding:14px 18px}
.cta .btn .arrow::after{content:"›";}

/* FOOTER */
footer{
  border-top:1px solid var(--line);
  background:rgba(0,0,0,.22);
  padding:24px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr .8fr;
  gap:18px;
  align-items:start;
}
.foot-col h5{
  margin:0 0 10px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.foot-col a, .foot-col p{
  display:block;
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
}
.copyright{
  margin-top:18px;
  display:flex; justify-content:space-between; gap:12px;
  flex-wrap:wrap;
  color:var(--muted2);
  font-size:11px;
}

/* RESPONSIVE */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr; }
  .thumb-grid{grid-template-columns:1fr 1fr}
  .portfolio-grid{grid-template-columns:1fr}
  .blog-home-grid{grid-template-columns:1fr 1fr}
  .services-grid{grid-template-columns:1fr}
  .test-grid{grid-template-columns:1fr}
  .testimonials.is-carousel .quote{flex-basis:100%}
  .lp-hero-grid{grid-template-columns:1fr}
  .lp-hero-media{min-height:280px}
  .lp-hero-copy h1{font-size:34px}
  .lp-service-row{grid-template-columns:1fr; padding:18px}
  .lp-service-row:nth-child(even) .lp-service-copy{order:1}
  .lp-service-row:nth-child(even) .lp-service-media{order:2}
  .lp-service-copy h3{font-size:34px}
  .lp-phone-model,.lp-phone-tour{width:min(320px, 100%)}
  .lp-metrics-grid{grid-template-columns:1fr}
  .lp-pilot-panel{grid-template-columns:1fr}
  .lp-pilot-plan h3{font-size:28px}
  .lp-pilot-side h4{font-size:28px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .about-values{grid-template-columns:1fr 1fr}
  .hero-title{font-size:36px}
  .services-title{font-size:36px}
  .page-head h1{font-size:32px}
  .projects-toolbar-head{align-items:stretch}
  .projects-toolbar-state{width:100%; justify-content:center}
  .projects-toolbar-grid{grid-template-columns:1fr}
  .services-page-hero{padding:36px 0 22px}
  .services-page-item{
    grid-template-columns:44px 1fr;
    gap:10px 16px;
  }
  .services-page-item h2{font-size:26px}
  .services-page-item p{grid-column:2}
  .services-page-process-grid{grid-template-columns:1fr}
  .services-page-process-head h2{font-size:40px}
  nav ul{display:none}
  .burger{display:inline-flex; align-items:center; justify-content:center}
}
@media (max-width: 560px){
  .thumb-grid{grid-template-columns:1fr}
  .hero-cards{grid-template-columns:1fr}
  .blog-home-grid{grid-template-columns:1fr}
  .blog-home-card h4{font-size:22px}
  .lp-hero-copy h1{font-size:28px}
  .lp-hero-media{min-height:220px}
  .lp-hero-media img{object-fit:cover; height:100%}
  .lp-service-copy h3{font-size:28px}
  .lp-video-play{width:60px; height:60px; font-size:24px}
  .about-values{grid-template-columns:1fr}
  .service h4{font-size:32px}
  .services-title{font-size:30px}
  .marquee span{font-size:30px}
  .page-head h1{font-size:28px}
  .projects-toolbar{padding:16px}
  .projects-toolbar-head p{font-size:13px}
  .projects-field-shell{min-height:50px; border-radius:16px}
  .projects-search input,
  .projects-select select{height:48px}
  .projects-toolbar-actions .btn{width:100%}
  .services-page-title{font-size:34px}
  .services-page-intro{font-size:15px}
  .services-page-item{grid-template-columns:1fr; gap:8px; padding:18px 0}
  .services-page-number{padding-top:0}
  .services-page-item p{grid-column:1}
  .services-page-item h2{font-size:22px}
  .services-page-ai h3{font-size:24px}
  .services-page-process{padding:44px 0}
  .services-page-process-head h2{font-size:34px}
  .services-page-step-number{font-size:34px}
  .services-page-process-item h3{font-size:24px}
  .services-page-cta{padding:44px 0}
  .services-page-cta h2{font-size:32px}
  .page-panel{padding:18px}
  .footer-grid{grid-template-columns:1fr}
  .mobile-menu{padding:16px}
  .mobile-menu-panel{padding:42px 14px 16px; border-radius:20px}
}

@media (min-width: 981px){
  body .container{padding-inline:24px}
  .mobile-menu{display:none !important}
}
