@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&family=Merriweather:wght@400;700&family=Gochi+Hand&family=Open+Sans:ital,wght@1,800&display=swap');

:root{
  --bg:#191919;
  --fg:#ffffff;
  --muted:#818182;
  --cyan:#90e5e6;
  --lilac:#a95ae6;
  --lime:#c6c82e;
  --pink:#f39ad6;
  --ice:#f3fffe;
  --max:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Inter Tight',Helvetica,Arial,sans-serif;line-height:1.35;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:var(--bg);display:flex;justify-content:flex-end;align-items:center;gap:28px;padding:14px 18px;font-size:15px;flex-wrap:wrap}
.nav a{text-decoration:none;color:#ddd;white-space:nowrap}
.nav a:hover,.nav a.on{color:#fff;font-weight:700}
.nav .brand{font-weight:700;color:#fff;margin-right:auto}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
@media(max-width:860px){
  .nav{justify-content:space-between}
  .nav-toggle{display:block}
  .nav .links{display:none;width:100%;flex-direction:column;gap:14px;padding:10px 0}
  .nav.open .links{display:flex}
}
.nav .links{display:flex;gap:28px;flex-wrap:wrap}

.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}

/* PAGE HEADER (subpáginas) */
.phead{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:70px 0 20px}
.phead h1{font-size:clamp(48px,8vw,86px);font-weight:400;line-height:1}
.phead h1 b{font-weight:700}
.phead p.sub{font-size:20px;margin-top:14px;text-transform:uppercase}
.pill{display:inline-block;padding:16px 34px;border-radius:40px;background:var(--ice);color:#191919;font-size:21px;text-decoration:none;text-align:center}
.pill.lilac{background:var(--lilac);color:#fff}
.pill.cyan{background:var(--cyan)}
.pill.lime{background:var(--lime)}
.label{margin:60px 0 24px;display:flex;justify-content:flex-end}

/* GRIDS */
.grid{display:grid;gap:30px;grid-template-columns:repeat(3,1fr);margin:30px 0}
.grid.g4{grid-template-columns:repeat(4,1fr);gap:20px}
.grid.g2{grid-template-columns:repeat(2,1fr)}
.grid img,.grid video{width:100%;height:auto;object-fit:cover;background:#2a2a2a;border-radius:2px}
.grid .tall img{aspect-ratio:4/5}
.grid.phones video{aspect-ratio:9/16;border-radius:22px;border:6px solid #000}
.full{width:100%;max-width:860px;margin:30px auto;display:block}
@media(max-width:800px){.grid,.grid.g4{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:480px){.grid{grid-template-columns:1fr}.grid.g4,.grid.phones{grid-template-columns:repeat(2,1fr)}}

.sect{margin:90px 0 30px}
.sect h2{font-size:clamp(28px,4vw,42px);font-weight:700}
.sect p{color:#ccc;text-transform:lowercase;margin-top:6px}
.deco{pointer-events:none;position:absolute}

/* HOME */
.hero{position:relative;text-align:center;padding:90px 0 60px;min-height:560px}
.hero .line{width:480px;max-width:70%;height:4px;background:#fff;margin:0 auto 40px}
.hero h1{font-size:clamp(56px,9vw,96px);font-weight:400;color:#a7a7a7;line-height:1}
.hero .name{display:inline-block;font-size:clamp(34px,5vw,48px);margin:40px 0;text-align:left;line-height:1.1;position:relative;padding-right:30px}
.hero .name::after{content:"";position:absolute;right:0;bottom:-8px;width:58px;height:58px;border-right:3px solid #fff;border-bottom:3px solid #fff}
.hero .roles{font-size:clamp(32px,5.5vw,66px);color:#a7a7a7;line-height:1.05}
.hero .roles u{text-decoration-thickness:4px}
.hero .s1{left:2%;top:120px;width:min(280px,30vw)}
.hero .s2{left:28%;top:160px;width:90px}
.hero .s3{right:6%;top:150px;width:min(140px,16vw)}

.about{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start;margin:120px auto 60px;position:relative}
.about h2{font-size:clamp(52px,7vw,76px);font-weight:400;color:#5e5e5e;line-height:1}
.about h2 b{display:block;padding-left:16px;font-weight:700;color:#7a7a7a}
.about p{font-size:21px;margin-top:14px}
.about .photo{position:relative}
.about .photo .ring{width:100%}
.about .photo .me{position:absolute;left:17%;top:6%;width:50%;border-radius:45% 45% 50% 50%/40% 40% 60% 60%}
.corner{position:relative;padding:14px;font-size:20px}
.corner::before,.corner::after{content:"";position:absolute;width:18px;height:18px}
.corner::before{left:0;top:0;border-left:2px solid #fff;border-top:2px solid #fff}
.corner::after{right:0;bottom:0;border-right:2px solid #fff;border-bottom:2px solid #fff}
.about .tag{position:absolute;right:0;top:-110px;max-width:240px}
.start{display:block;width:190px;margin:30px auto 0}
@media(max-width:800px){.about{grid-template-columns:1fr}.about .tag{position:static;margin-bottom:20px}}

.contact{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start;margin:60px auto 140px;position:relative}
.contact h3{font-family:'Gochi Hand',cursive;font-size:30px;font-weight:400}
.contact .qr{width:200px;margin:20px auto 12px;background:#fff}
.contact .mail{font-size:21px;text-align:center}
.works{text-align:center}
.works h3{font-family:'Inter Tight';font-size:44px;font-weight:400}
.works h3 i{font-weight:700}
.works .btns{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:40px}
.btn{display:block;width:296px;max-width:100%;padding:12px;border-radius:30px;font-family:Merriweather,serif;font-size:21px;color:#fff;text-decoration:underline;text-align:center;border:1px solid #0003}
.b1{background:#9a7a8e}.b2{background:#9b9b8a}.b3{background:#a5869b}.b4{background:#8a7090}.b5{background:#6f8a9e}
.sonho{text-transform:uppercase;text-align:center;font-size:22px}
@media(max-width:800px){.contact{grid-template-columns:1fr;text-align:center}}

/* CLIENTES */
.clients{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0 60px}
.client{display:block;text-decoration:none;border:1px solid #333;border-radius:18px;padding:28px;min-height:220px;background:#202020;transition:.2s}
.client:hover{border-color:var(--cyan);transform:translateY(-4px)}
.client .logo{height:70px;display:flex;align-items:center;font-size:26px;font-weight:700}
.client .logo img{max-height:70px}
.client small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.client p{margin-top:10px;color:#ccc}
@media(max-width:800px){.clients{grid-template-columns:1fr}}
.placeholder{border:2px dashed #444;border-radius:12px;padding:60px 20px;text-align:center;color:var(--muted);margin:30px 0}

/* CONTATO */
.thanks{position:relative;text-align:center;padding:120px 16px 160px;min-height:80vh;overflow:hidden}
.thanks h1{font-family:'Open Sans',sans-serif;font-style:italic;font-weight:800;font-size:clamp(44px,6vw,64px);color:#a7a7a7}
.thanks p{font-size:clamp(24px,3.4vw,40px);font-weight:700;margin:60px 0}
.thanks a{font-family:'Open Sans',sans-serif;font-style:italic;font-weight:800;font-size:44px;color:#a7a7a7}

footer{text-align:center;color:var(--muted);font-size:14px;padding:40px 16px}

/* CASE UX */
.case{max-width:900px;margin:60px auto 0}
.case-hero{margin-bottom:40px}
.eyebrow{color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.case h2{font-size:clamp(40px,7vw,72px);line-height:1.05;margin:10px 0 16px}
.lead{font-size:clamp(19px,2.4vw,24px);color:#ddd;max-width:760px}
.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:34px 0;border-top:1px solid #333;border-bottom:1px solid #333;padding:20px 0}
.meta dt{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.meta dd{margin-top:4px;font-size:15px}
@media(max-width:700px){.meta{grid-template-columns:1fr 1fr}}
.case-img{width:100%;border-radius:14px;margin:30px 0 10px;border:1px solid #2a2a2a}
.caption{color:var(--muted);font-size:14px;text-align:center;margin-bottom:30px}
.case-block{display:grid;grid-template-columns:70px 1fr;gap:10px;margin:60px 0}
.case-block .num{font-size:34px;font-weight:700;color:var(--cyan);line-height:1}
.case-block h3{font-size:30px;margin-bottom:14px}
.case-block p{color:#d6d6d6;margin-bottom:14px;font-size:18px;line-height:1.6}
.case-block .small{font-size:15px;color:var(--muted)}
@media(max-width:600px){.case-block{grid-template-columns:1fr}}
.checks{list-style:none;display:grid;gap:12px}
.checks li{position:relative;padding-left:30px;color:#d6d6d6;font-size:17px}
.checks li::before{content:"✧";position:absolute;left:0;color:var(--cyan)}
.personas,.decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.decisions{grid-template-columns:repeat(2,1fr)}
.personas article,.decisions article{background:#212121;border:1px solid #333;border-radius:14px;padding:20px}
.personas h4,.decisions h4{font-size:19px;margin-bottom:10px;color:var(--ice)}
.personas p,.decisions p{font-size:15px;margin-bottom:8px}
@media(max-width:760px){.personas,.decisions{grid-template-columns:1fr}}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0}
.flow span{border:1px solid #444;border-radius:30px;padding:10px 16px;font-size:15px}
.flow span.hl{background:var(--cyan);color:#111;border-color:var(--cyan);font-weight:700}
.flow i{color:var(--cyan);font-style:normal}
.ux-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.ux-table th,.ux-table td{border-bottom:1px solid #333;padding:12px 10px;text-align:left;vertical-align:top}
.ux-table th{color:var(--cyan);text-transform:uppercase;font-size:13px;letter-spacing:.05em}
.ux-table td:first-child{color:var(--ice);font-weight:700;width:38%}
@media(max-width:600px){.ux-table td:first-child{width:auto}.ux-table th,.ux-table td{display:block;width:100%}.ux-table thead{display:none}.ux-table td:first-child{border:0;padding-bottom:0}}


/* ===== MOTION & ACORDEÃO ===== */
html{scroll-behavior:smooth}
body{animation:pagein .7s ease both}
@keyframes pagein{from{opacity:0}to{opacity:1}}
.nav{transition:background .3s, backdrop-filter .3s, box-shadow .3s}
.nav.scrolled{background:rgba(25,25,25,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 #ffffff14}
.nav .links a{position:relative}
.nav .links a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .35s}
.nav .links a:hover::after,.nav .links a.on::after{transform:scaleX(1);transform-origin:left}
.progress{position:fixed;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,var(--cyan),var(--lilac),var(--pink));transform-origin:left;transform:scaleX(0);z-index:100}

.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}

.pill,.btn,.start{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .3s,background .3s,filter .3s}
.pill:hover,.btn:hover{box-shadow:0 10px 30px -10px currentColor;filter:brightness(1.08)}
.grid img,.grid video{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,filter .5s;cursor:zoom-in}
.grid img:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 22px 40px -18px #000}
.case-img,.full{cursor:zoom-in}

.phead h1{background-size:200% 100%}
.phead h1 u,.hero .roles u{text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 3px no-repeat;animation:underline 1.2s .4s cubic-bezier(.2,.7,.2,1) forwards;padding-bottom:4px}
@keyframes underline{to{background-size:100% 3px}}

.deco,.hero .s1,.hero .s3{animation:float 6s ease-in-out infinite}
.hero .s3{animation-delay:-2s}
@keyframes float{50%{transform:translateY(-14px) rotate(4deg)}}

.cursor-glow{position:fixed;left:0;top:0;width:400px;height:400px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(144,229,230,.10),rgba(169,90,230,.06) 40%,transparent 70%);mix-blend-mode:screen}
main,header,section{position:relative;z-index:1}

/* acordeão de clientes */
.accs{margin:30px 0 80px;border-top:1px solid #333}
.acc{border-bottom:1px solid #333}
.acc summary{list-style:none;display:flex;align-items:center;gap:20px;padding:26px 6px;cursor:pointer;position:relative;overflow:hidden}
.acc summary::-webkit-details-marker{display:none}
.acc summary::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(144,229,230,.08),transparent);transform:translateX(-101%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.acc summary:hover::before{transform:none}
.acc-name{font-size:clamp(30px,5.5vw,64px);font-weight:700;letter-spacing:-.02em;line-height:1;transition:transform .4s cubic-bezier(.2,.7,.2,1),color .3s;position:relative}
.acc summary:hover .acc-name{transform:translateX(14px);color:var(--cyan)}
.acc-meta{margin-left:auto;color:var(--muted);text-transform:uppercase;font-size:13px;letter-spacing:.08em;position:relative;text-align:right}
.acc-plus{width:44px;height:44px;flex:none;border:1px solid #555;border-radius:50%;position:relative;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,border-color .3s}
.acc-plus::before,.acc-plus::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:transform .45s,background .3s}
.acc-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc[open] .acc-plus{transform:rotate(180deg);background:var(--cyan);border-color:var(--cyan)}
.acc[open] .acc-plus::before,.acc[open] .acc-plus::after{background:#111}
.acc[open] .acc-plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.acc[open] .acc-name{color:var(--cyan)}
.acc-body{overflow:hidden;transition:height .45s cubic-bezier(.2,.7,.2,1),opacity .45s}
.acc-body > *:first-child{margin-top:4px}
.acc-body{padding:0 6px}
.acc[open] .acc-body{padding-bottom:40px}
.acc-desc{color:#ccc;font-size:18px;max-width:760px;margin:6px 0 14px}
.pill.small{padding:9px 18px;font-size:15px;background:var(--lilac);color:#fff}
@media(max-width:600px){.acc-meta{display:none}.acc summary{padding:20px 2px}.acc-plus{width:36px;height:36px}}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,10,10,.92);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s;padding:20px}
.lightbox.on{opacity:1;pointer-events:auto}
.lightbox img{max-width:min(1100px,100%);max-height:88vh;border-radius:10px;transform:scale(.94);transition:transform .45s cubic-bezier(.2,.7,.2,1);cursor:zoom-out}
.lightbox.on img{transform:none}
.lightbox button{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}

.marquee{overflow:hidden;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;padding:10px 0;white-space:nowrap;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.marquee div{display:inline-block;animation:mq 40s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
@media(max-width:860px){.nav .links{display:none}.nav.open .links{display:flex}}
@media(max-width:600px){.acc-plus{margin-left:auto}}

.acc-sub{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--cyan);margin:30px 0 4px;font-weight:600}

/* ===== MENU CENTRALIZADO ===== */
.nav.nav-center{justify-content:center}
.nav.nav-center .links{align-items:center;gap:18px}
.nav .sep{color:#ffffff40}
.nav .links a{letter-spacing:.06em;font-size:14px}
@media(max-width:860px){.nav.nav-center{justify-content:flex-end}.nav .sep{display:none}}

/* ===== BOTÕES COM HOVER INTERATIVO ===== */
.ih{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;isolation:isolate;--ih-fill:#fff;--ih-ink:#191919}
.btn.ih{display:flex;margin-inline:auto}
.pill.ih{--ih-fill:#191919;--ih-ink:#fff}
.pill.lilac.ih,.pill.small.ih{--ih-fill:#fff;--ih-ink:#191919}
.ih-dot{position:absolute;left:18px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--ih-fill);z-index:-1;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.ih-a{display:inline-block;padding-left:14px;transition:transform .35s ease,opacity .35s ease}
.ih-b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ih-ink);opacity:0;transform:translateX(40%);transition:transform .35s ease,opacity .35s ease;text-decoration:inherit}
.ih:hover .ih-dot,.ih:focus-visible .ih-dot{transform:scale(80)}
.ih:hover .ih-a,.ih:focus-visible .ih-a{transform:translateX(120%);opacity:0}
.ih:hover .ih-b,.ih:focus-visible .ih-b{transform:none;opacity:1}
@media (prefers-reduced-motion:reduce){.ih-dot,.ih-a,.ih-b{transition:none}}

/* ===== BANDEIRAS ===== */
.langs{display:flex;justify-content:center;gap:12px;margin-bottom:16px}
.lang{width:38px;height:28px;padding:0;border:1px solid #ffffff26;border-radius:6px;overflow:hidden;background:none;cursor:pointer;opacity:.55;transition:opacity .2s,transform .2s}
.lang svg{display:block;width:100%;height:100%}
.lang:hover,.lang.on{opacity:1;transform:translateY(-2px)}
.lang.on{border-color:#fff}
/* esconde a barra do Google Tradutor */
.goog-te-banner-frame,iframe.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
body{top:0!important}
font[style]{background:none!important;box-shadow:none!important}

/* ===== FALE COMIGO ===== */
.fab{position:fixed;right:20px;bottom:20px;z-index:60;padding:14px 22px;border-radius:40px;border:0;background:var(--ice,#e8eef0);color:#191919;font-weight:700;font-size:15px;line-height:1;font-family:inherit;cursor:pointer;box-shadow:0 10px 30px -8px #000a;transition:transform .2s}
.fab:hover{transform:translateY(-2px)}
.talk{position:fixed;right:20px;bottom:80px;z-index:61;width:min(360px,calc(100vw - 40px));max-height:calc(100vh - 110px);overflow:auto;background:#202020;border:1px solid #ffffff1f;border-radius:20px;padding:22px;box-shadow:0 30px 60px -20px #000;color:#eee}
.talk-x{position:absolute;right:12px;top:8px;background:none;border:0;color:#aaa;font-size:24px;cursor:pointer}
.talk-h{font-size:20px;font-weight:700;margin:0 0 14px}
.talk-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#191919;padding:4px;border-radius:30px;margin-bottom:16px}
.talk-tabs button{border:0;background:none;color:#aaa;padding:10px 6px;border-radius:30px;cursor:pointer;font:inherit;font-size:13px}
.talk-tabs button.on{background:var(--lilac,#a58aa0);color:#fff}
.talk form{display:grid;gap:10px}
.talk label{display:grid;gap:5px;font-size:12px;color:#aaa;text-transform:uppercase;letter-spacing:.06em}
.talk input,.talk select,.talk textarea{background:#191919;border:1px solid #ffffff26;border-radius:10px;padding:10px;color:#fff;font:inherit;font-size:15px;text-transform:none;letter-spacing:0;color-scheme:dark}
.talk input:focus,.talk select:focus,.talk textarea:focus{outline:1px solid #fff}
.talk-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.talk .send{width:100%;font-size:16px;padding:13px;border:0;cursor:pointer;margin-top:4px}
.talk-ok{margin:12px 0 0;color:#cfe8d6;font-size:14px}
.talk [hidden],.talk[hidden]{display:none!important}

/* ===== ESCALA DE FONTES PADRONIZADA =====
   título de página 44 · título de seção 30 · subtítulo 22 · texto 16 · detalhe 13 (no celular os títulos encolhem) */
:root{--fs-display:clamp(34px,5vw,44px);--fs-h2:clamp(24px,3vw,30px);--fs-h3:clamp(19px,2vw,22px);--fs-body:16px;--fs-small:13px}
body{font-size:var(--fs-body)}
.hero h1,.phead h1,.case h2,.about h2,.thanks h1{font-size:var(--fs-display)}
.hero .roles,.acc-name,.sect h2,.works h3,.thanks a,.case-block .num{font-size:var(--fs-h2)}
.hero .name,.contact h3,.case-block h3,.thanks p,.client .logo,.lead{font-size:var(--fs-h3)}
.about p,.contact .mail,.corner,.sonho,.case-block p,.checks li,.acc-desc,.personas h4,.decisions h4,.btn,.pill,.fab{font-size:var(--fs-body)}
.pill.small,.phead p.sub,.nav .links a{font-size:var(--fs-small)}
.pill{padding:12px 26px}
.hero .name{margin:24px 0}

/* ===== HERO: a capa é a única exceção da escala, com título grande ===== */
.hero{min-height:auto;padding:70px 0 90px;display:flex;flex-direction:column;align-items:center}
.hero > *:not(.deco){position:relative;z-index:2}
.hero .line{width:320px;height:3px;margin:0 auto 28px}
.hero h1{font-size:clamp(64px,11vw,150px);letter-spacing:-.03em;color:#bdbdbd;line-height:.95}
.hero .name{font-size:clamp(20px,2.2vw,26px);margin:22px 0 30px;padding-right:22px;letter-spacing:.04em}
.hero .name::after{width:40px;height:40px;border-width:2px;bottom:-6px}
.hero .roles{font-size:clamp(15px,1.6vw,19px);max-width:780px;line-height:1.6;letter-spacing:.02em;color:#9a9a9a}
.hero .roles u{text-decoration-thickness:1px}
.hero .s1{left:4%;top:40px;width:min(240px,24vw);opacity:.55;z-index:1}
.hero .s3{right:7%;top:70px;width:min(150px,15vw);z-index:1}
@media(max-width:700px){.hero .s1{opacity:.3}.hero .s3{top:20px}}
.thanks a.pill{font-family:inherit;font-style:normal;font-weight:400;font-size:var(--fs-body);color:#191919}.thanks p{font-weight:400;color:#ddd}

/* ===== INÍCIO MINIMALISTA ===== */
.contact{display:block;margin:20px auto 140px;max-width:420px}
.works h3{font-family:inherit;font-size:var(--fs-small);letter-spacing:.2em;text-transform:uppercase;color:#8a8a8a;font-weight:400}
.works h3 i{font-style:normal;font-weight:400}
.works .btns{gap:14px;margin-top:22px}
.contact > .deco{display:none}
/* idiomas no topo, só texto */
.nav .langs{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:#ffffff40}
.nav .lang{width:auto;height:auto;border:0;background:none;padding:2px 3px;color:#8a8a8a;font:inherit;font-size:12px;letter-spacing:.1em;opacity:1;transform:none;cursor:pointer}
.nav .lang:hover{color:#fff}
.nav .lang.on{color:#fff;text-decoration:underline;text-underline-offset:4px}
.nav{position:sticky}
@media(max-width:860px){.nav .langs{right:auto;left:16px}}

/* ===== TRABALHOS LADO A LADO ===== */
.contact{max-width:960px;margin:0 auto 80px}
.hero{padding:50px 0 40px}
.works .btns{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:18px}
.works .btn.ih{width:260px;margin:0}
@media(max-width:860px){.works .btns{flex-direction:column;align-items:center}}

/* ===== INÍCIO METALIZADO, SEM SUBLINHADO ===== */
:root{--chrome:linear-gradient(100deg,#6d717a 0%,#f4f5f7 22%,#9a9ea7 40%,#ffffff 52%,#5b5f68 70%,#d9dbe0 88%,#7c808a 100%)}
.hero h1,.hero .name{background:var(--chrome);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 8s linear infinite}
.hero .name::after{border-color:#c9ccd2}
.hero .line{background:var(--chrome)}
.hero .roles,.hero .roles u{color:#a9acb3;text-decoration:none!important;background:none!important;padding:0}
@keyframes shine{to{background-position:-200% 0}}
.btn,.btn .ih-a,.btn .ih-b{text-decoration:none!important}
.works .btn{background:linear-gradient(135deg,#3a3c42 0%,#8d9199 45%,#d9dbe0 55%,#5b5f68 100%)!important;color:#fff;border:1px solid #ffffff2e;font-family:inherit;letter-spacing:.12em;text-shadow:0 1px 2px #0008}
.works .btn.ih{--ih-fill:#f4f5f7;--ih-ink:#191919}
.works .btn .ih-b{text-shadow:none}
.works h3{color:#9a9ea7}
@media (prefers-reduced-motion:reduce){.hero h1,.hero .name{animation:none}}

/* ===== BOTÕES: metal só na borda, texto legível ===== */
.works .btn{background:linear-gradient(#17181b,#17181b) padding-box,linear-gradient(135deg,#5b5f68,#f4f5f7 45%,#8d9199 60%,#3a3c42) border-box!important;border:1px solid transparent;color:#eceef2;text-shadow:none;font-weight:500;letter-spacing:.14em;font-size:14px;box-shadow:inset 0 1px 0 #ffffff14,0 8px 24px -12px #000}
.works .btn .ih-dot{background:linear-gradient(135deg,#f4f5f7,#9a9ea7)}
.works .btn:hover{box-shadow:0 10px 30px -10px #c9ccd266}

/* ===== BORDER BEAM (Magic UI, licença MIT: github.com/magicuidesign/magicui)
   Mesmos valores padrão do componente: size 50, duration 6s, colorFrom #ffaa40, colorTo #9c40ff, borderWidth 1.
   Versão em HTML/CSS puro, porque o original é React + Tailwind + Motion. ===== */
.bb{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.bb i{position:absolute;aspect-ratio:1;width:var(--bb-size,50px);
  background:linear-gradient(to left,var(--bb-from,#ffaa40),var(--bb-to,#9c40ff),transparent);
  offset-path:rect(0 auto auto 0 round var(--bb-size,50px));offset-distance:0%;
  animation:bb-move var(--bb-dur,6s) linear infinite;animation-delay:var(--bb-delay,0s)}
@keyframes bb-move{to{offset-distance:100%}}
@media (prefers-reduced-motion:reduce){.bb i{animation:none}}


/* ===== KINETIC TEXT (Magic UI, licença MIT): o peso de cada letra muda conforme o cursor chega perto ===== */
.kt-ch{display:inline-block;font-weight:var(--w,400);transition:font-weight .35s cubic-bezier(.2,.7,.2,1);font-variation-settings:"wght" var(--w,400)}
.hero h1 .kt-ch{--w:300}
.hero .name .kt-ch{--w:400}

/* ===== FALE COMIGO À ESQUERDA + BANDEIRAS REDONDAS ===== */
.fab{right:auto;left:20px}
.talk{right:auto;left:20px}
.nav .langs{gap:8px}
.nav .lang{width:22px;height:22px;padding:0;border-radius:50%;overflow:hidden;border:1px solid #ffffff33;opacity:.5;transition:opacity .2s,transform .2s,border-color .2s}
.nav .lang svg{width:100%;height:100%;display:block;transform:scale(1.5)}
.nav .lang:hover{opacity:1;transform:scale(1.08)}
.nav .lang.on{opacity:1;border-color:#fff;text-decoration:none}

/* ===== WARP BACKGROUND (Magic UI, licença MIT: github.com/magicuidesign/magicui)
   Padrões do componente: perspective 100, beamsPerSide 3, beamSize 5, beamDelay 0 a 3s, beamDuration 3s.
   Versão em HTML/CSS/JS puro, porque o original é React + Tailwind + Motion. ===== */
.warp{position:relative;border:1px solid #ffffff1a;border-radius:20px;overflow:hidden;margin:40px auto;max-width:980px}
.warp-scene{position:absolute;inset:0;perspective:100px;transform-style:preserve-3d;container-type:size;pointer-events:none}
.warp-side{position:absolute;transform-style:preserve-3d;container-type:inline-size;height:100cqmax;
  background:linear-gradient(var(--grid,#ffffff26) 0 1px,transparent 1px var(--bs)) 50% -.5px/var(--bs) var(--bs),linear-gradient(90deg,var(--grid,#ffffff26) 0 1px,transparent 1px var(--bs)) 50% 50%/var(--bs) var(--bs)}
.warp-side.top{top:0;left:0;width:100cqi;transform-origin:50% 0%;transform:rotateX(-90deg)}
.warp-side.bottom{top:100%;left:0;width:100cqi;transform-origin:50% 0%;transform:rotateX(-90deg)}
.warp-side.left{top:0;left:0;width:100cqh;transform-origin:0% 0%;transform:rotate(90deg) rotateX(-90deg)}
.warp-side.right{top:0;right:0;width:100cqh;transform-origin:100% 0%;transform:rotate(-90deg) rotateX(-90deg)}
.warp-beam{position:absolute;top:0;width:var(--bs);aspect-ratio:1/var(--ar);left:var(--x);transform:translateX(-50%) translateY(100cqmax);
  background:linear-gradient(hsl(var(--hue) 80% 60%),transparent);animation:warp-beam var(--dur,3s) linear var(--delay,0s) infinite}
@keyframes warp-beam{from{transform:translateX(-50%) translateY(100cqmax)}to{transform:translateX(-50%) translateY(-100%)}}
.warp > .thanks{position:relative;z-index:1;min-height:auto;padding:110px 24px}
@media (prefers-reduced-motion:reduce){.warp-beam{animation:none;display:none}}
