@font-face{font-family:"Geist";src:url(fonts/geist-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono-latin-400-normal.woff2) format("woff2");font-display:swap}
:root{--paper:#f2efe8;--paper-2:#e9e5dc;--ink:#141413;--muted:#66645e;--line:rgba(20,20,19,.14);--accent:#00a865;--accent-l:#00cc7b;
--f-d:"Instrument Serif",Georgia,serif;--f-t:"Geist",system-ui,sans-serif;--f-m:"Geist Mono",ui-monospace,monospace;
--wrap:min(1320px,100% - 2*clamp(20px,4vw,56px));--ease:cubic-bezier(.2,.7,.1,1);--sec:clamp(88px,12vw,180px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--f-t);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{width:var(--wrap);margin-inline:auto}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip:focus{position:fixed;top:10px;left:10px;z-index:99;background:var(--ink);color:var(--paper);padding:8px 14px}
em{font-style:italic}
.display,.h2,.page-title{font-family:var(--f-d);font-weight:400;letter-spacing:-.02em;line-height:.98;margin:0}
.display{font-size:clamp(46px,8.2vw,128px)}
.h2{font-size:clamp(36px,5vw,72px);line-height:1.02;max-width:18ch}
.display em,.h2 em,.page-title em{color:var(--accent)}
.eyebrow{font:400 12px/1.4 var(--f-m);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 22px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:18px;height:1px;background:currentColor}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:#2c2b28;max-width:46ch;margin:0}
/* buttons/links */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:16px 26px;border-radius:999px;font-weight:500;font-size:16px;transition:background .3s var(--ease),transform .4s var(--ease);will-change:transform}
.btn:hover{background:var(--accent)}
.btn svg{transition:transform .35s var(--ease)}.btn:hover svg{transform:translateX(3px)}
.btn-sm{padding:10px 18px;font-size:14px}
.btn-light{background:var(--paper);color:var(--ink)}.btn-light:hover{background:var(--accent-l);color:var(--ink)}
.link-u{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease);padding-bottom:2px}
.link-u:hover{background-size:100% 1px}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:6px;transition:border-color .3s,gap .35s var(--ease)}
.link-arrow:hover{border-color:currentColor;gap:16px}
/* header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:transform .5s var(--ease),background .3s,box-shadow .3s}
.site-header.is-scrolled{background:rgba(242,239,232,.92);box-shadow:0 1px 0 var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.site-header.is-hidden{transform:translateY(-100%)}
.header-in{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand svg{width:150px;height:auto;color:var(--ink)}
.nav{display:flex;align-items:center;gap:34px}
.nav-link{font-size:15px;position:relative;display:flex;gap:6px;align-items:baseline}
.nav-n{font:400 10px var(--f-m);color:var(--muted)}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-link:hover::after,.nav-link[aria-current]::after{transform:scaleX(1);transform-origin:left}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer;color:var(--ink)}
.menu-btn span:not(.sr){position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.menu-btn span:nth-child(1){top:18px}.menu-btn span:nth-child(2){top:25px}
.menu-open .menu-btn span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-btn span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
/* hero */
.hero{padding-top:clamp(140px,18vh,200px);overflow:hidden}
.hero-title{max-width:15.5ch}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:clamp(40px,6vw,72px);flex-wrap:wrap}
.hero-actions{display:flex;align-items:center;gap:28px}
.hero-strip{display:flex;gap:18px;margin-top:clamp(64px,9vw,120px);padding-left:clamp(20px,4vw,56px);width:max-content}
.hs-shot{width:clamp(220px,24vw,360px);aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--paper-2)}
.hs-shot:nth-child(even){margin-top:48px}
.hs-shot img{width:100%;height:100%;object-fit:cover;object-position:top}
/* clients marquee */
.clients{padding:var(--sec) 0 0}
.clients .eyebrow{margin-bottom:34px}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:mq 45s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-row{display:flex;align-items:center;gap:clamp(48px,6vw,90px);padding:0 clamp(24px,3vw,45px);margin:0;list-style:none}
.marquee-row img{height:44px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1) brightness(.25);opacity:.75;transition:filter .4s,opacity .4s}
.marquee-row img:hover{filter:none;opacity:1}
@keyframes mq{to{transform:translateX(-50%)}}
/* sections */
.section{padding:var(--sec) 0}
.sec-head{margin-bottom:clamp(48px,6vw,88px)}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:80px 1fr 1.1fr;gap:24px;padding:40px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .5s var(--ease)}
.svc:hover{padding-left:14px}
.svc-n,.step-n{font:400 13px var(--f-m);color:var(--muted)}
.svc-t{font:400 clamp(30px,3.4vw,48px)/1.05 var(--f-d);margin:0;letter-spacing:-.01em}
.svc-b p{margin:0;color:#3b3a36;max-width:48ch}
.tags{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{font-size:13px;border:1px solid var(--line);border-radius:99px;padding:5px 12px}
.svc-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;flex-wrap:wrap;color:var(--muted)}
.svc-foot p{margin:0;max-width:52ch}
/* work */
.work{background:var(--ink);color:var(--paper)}
.work .eyebrow{color:#9a978f}.work .link-arrow{border-color:rgba(255,255,255,.2)}
.work .h2 em{color:var(--accent-l)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,32px)}
.card:nth-child(3n+2){transform:translateY(64px)}
.card-in{display:block}
.card-media{aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:#222}
.card-media img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:object-position 5s cubic-bezier(.45,0,.3,1),transform .8s var(--ease)}
.card-in:hover .card-media img{object-position:50% 100%;transform:scale(1.02)}
.card-meta{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;gap:12px}
.card-meta h3{margin:0;font:400 26px/1.1 var(--f-d)}
.card-meta span{font:400 12px var(--f-m);color:#9a978f;text-transform:uppercase;letter-spacing:.08em;display:inline-flex;gap:6px;align-items:center}
.card-in:hover .card-meta svg{transform:translate(2px,-2px)}.card-meta svg{transition:transform .35s var(--ease)}
.archive .work{padding-top:40px}.post-type-archive-projeto .work-grid{padding-bottom:64px}
/* process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px)}
.step{border-top:1px solid var(--ink);padding-top:22px}
.step h3{font:400 32px/1.1 var(--f-d);margin:28px 0 12px}
.step p{margin:0;color:#3b3a36;font-size:16px}
/* about */
.about-teaser{background:var(--paper-2)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:48px 0;border-top:1px solid var(--line);padding-top:28px}
.stat-v{display:block;font:400 clamp(44px,5vw,72px)/1 var(--f-d)}
.stat-l{font-size:14px;color:var(--muted)}
.prose{max-width:62ch}.prose p{margin:0 0 1.2em}.prose .lead{margin-bottom:1.4em}
/* page head */
.page-head{padding:clamp(150px,20vh,220px) 0 clamp(40px,6vw,80px)}
.page-title{font-size:clamp(44px,7vw,104px);max-width:15ch}
.page-lead{margin-top:36px}
/* contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.contact-card{border:1px solid var(--line);border-radius:6px;padding:32px;display:flex;flex-direction:column;gap:24px;min-height:260px;justify-content:space-between;transition:background .4s,color .4s,border-color .4s}
.contact-card:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.contact-v{font:400 clamp(26px,2.6vw,36px)/1.1 var(--f-d);word-break:break-word}
.contact-card:hover .eyebrow{color:#9a978f}
/* posts */
.post-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.post-list a{display:grid;grid-template-columns:140px 1fr auto;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}
.post-d{font:13px var(--f-m);color:var(--muted)}.post-t{font:400 28px/1.15 var(--f-d)}
/* footer */
.site-footer{background:var(--ink);color:var(--paper);padding:var(--sec) 0 32px}
.foot-cta .eyebrow{color:#9a978f}
.foot-cta .display{font-size:clamp(44px,7.4vw,116px);max-width:13ch}.foot-cta em{color:var(--accent-l)}
.foot-actions{display:flex;align-items:center;gap:32px;margin-top:48px;flex-wrap:wrap}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:40px;margin-top:clamp(80px,10vw,140px);padding-top:40px;border-top:1px solid rgba(255,255,255,.14);font-size:15px;line-height:2}
.foot-brand svg{width:140px;color:var(--paper)}.foot-brand p{color:#9a978f;margin-top:12px}
.foot-h{font:12px var(--f-m);text-transform:uppercase;letter-spacing:.12em;color:#9a978f;margin:0 0 8px}
.foot-verse{margin:0;font:italic 400 22px/1.3 var(--f-d)}.foot-verse p{margin:0 0 8px}.foot-verse cite{font:12px var(--f-m);font-style:normal;color:#9a978f}
.foot-bottom{display:flex;justify-content:space-between;margin-top:64px;font-size:13px;color:#9a978f}
/* whatsapp float */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:0;background:var(--ink);color:var(--paper);border-radius:99px;padding:13px;box-shadow:0 6px 24px rgba(0,0,0,.18);transition:gap .4s var(--ease),padding .4s var(--ease),background .3s}
.wa-float span{max-width:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500;transition:max-width .45s var(--ease)}
.wa-float:hover{background:var(--accent);gap:8px;padding-right:20px}.wa-float:hover span{max-width:100px}
/* motion */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms)}
.js .reveal.in{opacity:1;transform:none}
.js .card.reveal.in:nth-child(3n+2){transform:translateY(64px)}
.js .card.reveal:nth-child(3n+2){transform:translateY(92px)}
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease) var(--d,0ms)}
.in .line>span,.line.in>span{transform:none}
.js [data-in]{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease) .5s,transform .9s var(--ease) .5s}
.loaded [data-in]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.js .reveal,.js [data-in],.line>span{opacity:1!important;transform:none!important}.card:nth-child(3n+2){transform:none}}
/* responsive */
@media (max-width:980px){
 .menu-btn{display:block;z-index:2}
 .nav{position:fixed;inset:0;background:var(--paper);flex-direction:column;align-items:flex-start;justify-content:center;padding:0 28px;gap:22px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
 .menu-open .nav{opacity:1;visibility:visible}
 .nav-link{font:400 44px/1 var(--f-d)}.nav-cta{margin-top:20px}
 .svc{grid-template-columns:1fr;gap:12px}
 .work-grid{grid-template-columns:1fr 1fr}.card:nth-child(3n+2),.js .card.reveal.in:nth-child(3n+2){transform:none}
 .steps{grid-template-columns:1fr 1fr}
 .about-grid,.contact-grid{grid-template-columns:1fr}
 .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
 body{font-size:16px}
 .work-grid,.steps{grid-template-columns:1fr}
 .hero-actions{width:100%;justify-content:space-between}
 .stats{grid-template-columns:1fr 1fr 1fr;gap:12px}.stat-v{font-size:40px}.stat-l{font-size:12px}
 .post-list a{grid-template-columns:1fr auto}.post-d{grid-column:1/-1}
 .foot-grid{grid-template-columns:1fr}.foot-bottom{flex-direction:column;gap:10px}
 .hs-shot{width:62vw}
 .wa-float{right:14px;bottom:14px}
}
