:root{
--ink-900:#111;--ink-700:#333;--ink-600:#4d4d4d;--ink-500:#6b6b6b;--ink-400:#8f8f8f;--ink-300:#bdbdbd;--ink-200:#dedede;--ink-100:#ededed;
--paper:#fff;--red-500:#dc2626;--red-600:#c21f1f;
--font-display:'Outfit','Futura','Century Gothic',sans-serif;
--font-body:'Lato','Helvetica Neue',Arial,sans-serif;
--font-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
--ls-overline:.28em;--ease:cubic-bezier(.2,.7,.2,1);
--content:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:400 16px/1.6 var(--font-body);color:var(--ink-900);background:var(--paper);-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--red-500);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--red-600)}
::selection{background:var(--red-500);color:#fff}
:focus-visible{outline:2px solid var(--ink-900);outline-offset:3px}
img{max-width:100%}
.wrap{max-width:var(--content);margin:0 auto;padding:0 32px}
.dot{display:inline-block;width:.16em;height:.16em;min-width:5px;min-height:5px;border-radius:50%;background:var(--red-500);margin-left:.06em}
.overline{font-size:12px;font-weight:700;letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--ink-500)}

/* perfis */
.profile{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:56px;padding:64px 0;border-bottom:1px solid var(--ink-200);align-items:start}
.profile:first-of-type{margin-top:40px;border-top:1px solid var(--ink-200)}
.profile .photo{position:sticky;top:96px}
.profile .photo img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.08);display:block;background:var(--ink-100)}
.bio{display:flex;flex-direction:column;gap:28px}
.bio header{display:flex;flex-direction:column;gap:8px}
.bio h3{margin:0;font:500 clamp(28px,3.4vw,38px)/1.1 var(--font-display);letter-spacing:-.02em}
.role{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.about{margin:0;font-size:17px;line-height:1.65;color:var(--ink-700);max-width:62ch}
.cv{margin:0;display:flex;flex-direction:column}
.cv>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:22px 0;border-top:1px solid var(--ink-200)}
.cv dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);padding-top:3px}
.cv dd{margin:0}
.cv ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cv ul li{font-size:15px;line-height:1.55;color:var(--ink-600);padding-left:18px;position:relative}
.cv ul li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--red-500)}
.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.timeline li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;font-size:15px;line-height:1.5;color:var(--ink-700)}
.timeline span{font:400 13px/1.7 var(--font-mono);color:var(--ink-500)}

/* botões */
.btn{display:inline-flex;align-items:center;gap:10px;font:500 15px/1 var(--font-body);padding:16px 26px;border:1px solid var(--ink-900);background:var(--ink-900);color:#fff;text-decoration:none;cursor:pointer;transition:background 120ms var(--ease),color 120ms var(--ease),border-color 120ms var(--ease)}
.btn:hover{background:var(--ink-700);color:#fff}
.btn:active{transform:translateY(1px)}
.btn.sm{padding:11px 18px;font-size:14px}
.btn.accent{background:var(--red-500);border-color:var(--red-500)}
.btn.accent:hover{background:var(--red-600);border-color:var(--red-600)}
.btn.secondary{background:transparent;color:var(--ink-900)}
.btn.secondary:hover{background:var(--ink-900);color:#fff}
.btn .dot{background:#fff;margin:0}

/* cabeçalho */
header.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-200)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.brand-inline{font:500 22px/1 var(--font-display);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.brand-inline:hover{color:var(--ink-900)}
header.top nav{display:flex;gap:28px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
header.top nav a:not(.btn){font-size:14px;color:var(--ink-700);text-decoration:none}
header.top nav a:not(.btn):hover{color:var(--red-600)}

/* hero */
.hero{padding-top:96px;padding-bottom:96px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:end}
.hero .copy{display:flex;flex-direction:column;gap:28px}
.hero h1{margin:0;font:400 clamp(44px,6vw,80px)/1.02 var(--font-display);letter-spacing:-.03em;text-wrap:balance}
.hero h1 .dot{width:.14em;height:.14em}
.lead{margin:0;font-size:19px;line-height:1.55;color:var(--ink-600);max-width:46ch}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero .mark{display:flex;justify-content:flex-end}

/* marca */
.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;font-family:var(--font-display);color:var(--ink-900)}
.wordmark .name{display:flex;flex-direction:column;font-weight:500;line-height:.92;letter-spacing:-.02em;white-space:nowrap;font-size:var(--s,64px)}
.wordmark .tag{margin-top:calc(var(--s,64px)*.34);font-size:max(9px,calc(var(--s,64px)*.2));letter-spacing:var(--ls-overline);line-height:1;white-space:nowrap}
.wordmark img{width:calc(var(--s,64px)*3.4);height:auto;margin-top:calc(var(--s,64px)*.28);display:block}
.wordmark.inverse{color:#fff}

/* seções */
section.block{padding-top:96px;padding-bottom:96px;border-top:1px solid var(--ink-900)}
.title{display:flex;flex-direction:column;gap:14px}
.title h2{margin:0;font:400 clamp(32px,4.4vw,48px)/1.08 var(--font-display);letter-spacing:-.02em;text-wrap:balance}
.title .overline{display:flex;align-items:center;gap:14px}
.title .num{font-family:var(--font-mono);letter-spacing:0;color:var(--red-500)}

.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:56px;border-top:1px solid var(--ink-200)}
.services article{padding:28px 28px 32px 0;border-bottom:1px solid var(--ink-200);display:flex;flex-direction:column;gap:12px}
.services .n{font:400 13px/1 var(--font-mono);color:var(--red-500)}
.services h3{margin:0;font:500 22px/1.2 var(--font-display)}
.services p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-600)}

.metodo{background:var(--ink-900);color:#fff}
.metodo .grid{padding-top:96px;padding-bottom:96px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px}
.metodo .overline{color:var(--ink-400)}
.steps{list-style:none;margin:0;padding:0}
.steps li{padding:22px 0;border-top:1px solid var(--ink-700);display:grid;grid-template-columns:48px 1fr;gap:16px;cursor:default}
.steps .k{font:400 13px/1 var(--font-mono);color:var(--ink-400);padding-top:9px;transition:color 220ms var(--ease)}
.steps h3{margin:0;font:400 26px/1.25 var(--font-display);color:var(--ink-300);transition:color 220ms var(--ease)}
.steps p{margin:0;max-height:0;overflow:hidden;font-size:15px;line-height:1.6;color:var(--ink-300);transition:max-height 480ms var(--ease),margin 480ms var(--ease)}
.steps li.on .k{color:var(--red-500)}
.steps li.on h3{color:#fff}
.steps li.on p{max-height:120px;margin-top:10px}

.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin-top:56px}
.people article{display:flex;flex-direction:column;gap:14px}
.people img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.08);display:block;background:var(--ink-100)}
.people h3{margin:6px 0 0;font:500 26px/1.2 var(--font-display);letter-spacing:-.01em}
.people .role{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.people p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-600)}

.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px}
.contact .side{display:flex;flex-direction:column;gap:20px}
.contact .side p{margin:0;font-size:16px;color:var(--ink-600);max-width:38ch}
.phones{display:flex;flex-direction:column;gap:14px}
.phone{font:500 clamp(24px,3vw,32px)/1.1 var(--font-display);letter-spacing:-.01em;text-decoration:none;display:flex;flex-direction:column;gap:4px}
.phone small{font:700 12px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
form{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
form .full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
input,select,textarea{font:400 16px/1.4 var(--font-body);color:var(--ink-900);background:transparent;border:0;border-bottom:1px solid var(--ink-300);border-radius:0;padding:8px 0;text-transform:none;letter-spacing:0;width:100%}
input:focus,select:focus,textarea:focus{outline:0;border-bottom-color:var(--ink-900)}
textarea{resize:vertical}
.note{font-size:13px;color:var(--ink-500);margin:0}

footer.bottom{background:var(--ink-900);color:var(--ink-300)}
footer.bottom .wrap{padding-top:64px;padding-bottom:48px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
footer.bottom .cols{display:flex;gap:48px;font-size:13px;line-height:1.8;flex-wrap:wrap}
footer.bottom b{display:block;color:#fff}
footer.bottom a{color:#fff}

@media (max-width:800px){
.profile{grid-template-columns:1fr;gap:32px;padding:48px 0}
.profile .photo{position:static;max-width:320px}
.cv>div{grid-template-columns:1fr;gap:12px}
.timeline li{grid-template-columns:96px minmax(0,1fr)}
.wrap{padding:0 20px}
header.top nav a:not(.btn){display:none}
.hero{grid-template-columns:1fr;gap:48px;padding-top:56px;padding-bottom:64px}
.hero .mark{justify-content:flex-start}
section.block{padding-top:64px;padding-bottom:64px}
.metodo .grid,.contact{grid-template-columns:1fr;gap:40px}
.metodo .grid{padding-top:64px;padding-bottom:64px}
.steps p{max-height:none;margin-top:10px}
form{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
