:root{--bg:#e7e9e6;--bg2:color-mix(in srgb,var(--bg) 94%,#000);--ink:#0c110d;--mute:#6b756e;--line:color-mix(in srgb,var(--bg) 86%,#000);--g:#1f9d55;--gl:#7dffa2;--gd:#0b1a11;--bird:url(../img/bird.png);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit;margin:0;padding:0}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
body{background:var(--bg);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;overflow-x:hidden;line-height:1.4}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.g{color:var(--g)}
.wrap{padding:0 clamp(20px,5vw,72px)}
.mask{display:block;overflow:hidden;padding-bottom:.08em}
.mask>span{display:inline-block}
.ch{display:inline-block}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:gr 1s steps(6) infinite}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.cur{position:fixed;left:0;top:0;z-index:100;pointer-events:none;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--g);display:none}
@media (hover:hover) and (pointer:fine){.cur{display:block}body,a,button{cursor:none}}

/* loader origami */
.pre{position:fixed;inset:0;z-index:200;background:var(--bg);display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px}
html.aq-loader .pre{display:flex}
.pre .mono{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between}
.stage{perspective:1100px;width:clamp(200px,42vmin,400px);aspect-ratio:1;position:relative}
.bird{position:absolute;inset:0;transform-style:preserve-3d}
.bird .pc{position:absolute;inset:0;background:var(--bird) center/contain no-repeat;will-change:transform,opacity}
.cr{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cr path{fill:none;stroke:var(--g);stroke-width:.25;opacity:.55;stroke-dasharray:1;stroke-dashoffset:1}
.wm{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:300;letter-spacing:-.05em}
.wm b{color:var(--g);font-weight:300}

/* transição de página */
.tr{position:fixed;inset:0;z-index:250;display:none;pointer-events:none;overflow:hidden}
.tf{position:absolute;inset:0;transform:perspective(1300px) rotate3d(var(--ex),var(--ey),0,calc(var(--a)*1deg));backface-visibility:hidden;will-change:transform,opacity}
#trl{position:absolute;inset:0;width:100%;height:100%}
#trl path{fill:none;stroke:rgba(125,255,162,.55);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1}
.tb{position:absolute;left:50%;top:50%;width:min(38vmin,280px);aspect-ratio:1;background:var(--bird) center/contain no-repeat;filter:invert(1);opacity:0}

nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:95;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(20px,5vw,72px)}
.logo{font-weight:600;letter-spacing:-.04em;font-size:1.25rem}
.logo b{color:var(--g)}
.logo::before{content:"";display:inline-block;width:1.5em;height:1.5em;margin-right:.35em;vertical-align:-.35em;background:var(--bird) center/contain no-repeat}
footer .logo::before{filter:invert(1)}
.hb{animation:fl 7s ease-in-out infinite;position:absolute;right:clamp(-40px,2vw,40px);top:14vh;width:min(52vmax,640px);aspect-ratio:1;background:var(--bird) center/contain no-repeat;pointer-events:none;will-change:transform}
@media(max-width:640px){.hb{width:92vw;top:12vh;opacity:.9}}
.menu{display:flex;gap:28px}
.menu a{position:relative;overflow:hidden;display:block;color:var(--ink)}
.menu a span{display:block;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.menu a span+span{position:absolute;left:0;top:100%;color:var(--g)}
.menu a:hover span{transform:translateY(-100%)}

.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(28px,5vw,64px);overflow:hidden}
.glow{position:absolute;width:60vmax;height:60vmax;left:0;top:0;margin:-30vmax 0 0 -30vmax;border-radius:50%;background:radial-gradient(circle,rgba(31,157,85,.2),rgba(31,157,85,.06) 40%,transparent 68%);pointer-events:none;filter:blur(20px)}
.ring{position:absolute;right:-12vmax;top:8vh;width:min(62vmax,780px);aspect-ratio:1;border-radius:50%;border:1px solid var(--line);animation:spin 60s linear infinite}
.ring::before,.ring::after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px dashed #b5bcb6}
.ring::after{inset:26%;border-style:solid;border-color:var(--g);opacity:.4}
.ring i{position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 20px var(--g)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero h1,.ph h1{font-size:clamp(3.4rem,15.5vw,17rem);font-weight:300;letter-spacing:-.07em;line-height:.85;position:relative}
.hero h1 em,.ph h1 em{font-style:normal;color:var(--g)}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(20px,3vw,44px);flex-wrap:wrap;position:relative}
.hero-row p{max-width:34ch;font-size:clamp(1rem,1.5vw,1.25rem);color:#3d4740}
.scroll{display:flex;align-items:center;gap:12px}
.scroll i{width:1px;height:48px;background:var(--line);position:relative;overflow:hidden}
.scroll i::after{content:"";position:absolute;left:0;top:0;width:1px;height:50%;background:var(--g);animation:sc 1.8s ease-in-out infinite}
@keyframes sc{0%{transform:translateY(-100%)}100%{transform:translateY(200%)}}

.mq{border-block:1px solid var(--line);overflow:hidden;padding:18px 0;white-space:nowrap}
.mq div{display:inline-flex;gap:48px;padding-right:48px;will-change:transform}
.mq span{font-size:clamp(1.6rem,4vw,3.4rem);font-weight:300;letter-spacing:-.04em;color:#8d978f}
.mq span:nth-child(even){color:var(--g);font-style:italic}

.man{padding-block:clamp(90px,16vw,220px)}
.man h2{font-size:clamp(1.9rem,5.4vw,5.4rem);font-weight:300;letter-spacing:-.045em;line-height:1.02;max-width:20ch}
.man .mono{margin-bottom:32px;display:block}

.ph{padding-block:clamp(130px,20vw,260px) clamp(20px,4vw,60px)}
.proj{padding-block:0 clamp(70px,10vw,140px)}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px}
.row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:20px;padding:clamp(22px,3.4vw,46px) 0;border-top:1px solid var(--line);transition:padding .6s cubic-bezier(.2,.8,.2,1),color .3s}
.row:last-child{border-bottom:1px solid var(--line)}
.row h3{font-size:clamp(1.8rem,6.6vw,6.6rem);font-weight:300;letter-spacing:-.055em;line-height:1;transition:transform .6s cubic-bezier(.2,.8,.2,1),color .3s}
.row .t{text-align:right}
.row .arr{display:inline-block;transition:transform .5s;color:var(--g)}
.list:hover .row{color:#a3aba5}
.list .row:hover{color:var(--ink);padding-left:clamp(10px,2vw,32px)}
.list .row:hover h3{transform:translateX(12px);color:var(--g)}
.list .row:hover .arr{transform:translate(6px,-6px)}
@media(max-width:640px){.row{grid-template-columns:36px 1fr}.row .t{display:none}}
.pv{position:fixed;left:0;top:0;z-index:70;width:clamp(200px,24vw,340px);aspect-ratio:4/5;pointer-events:none;overflow:hidden;opacity:0;transform:scale(.6);background:var(--bg2);box-shadow:0 30px 60px rgba(11,26,17,.25)}
.pv div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:18px;opacity:0;color:#e7e9e6}
.pv .mono{color:#b9d9c4}
.pv .p1{background:linear-gradient(160deg,#1f8f4a,#0b1a11 75%)}
.pv .p2{background:linear-gradient(200deg,#5f6b63,#0c110d 70%)}
.pv .p3{background:radial-gradient(circle at 30% 20%,#7dffa2,#0d3b22 62%)}
.pv b{font-size:3.4rem;font-weight:200;letter-spacing:-.06em;line-height:.9}
@media(hover:none){.pv{display:none}}

.srv{padding-block:0 clamp(70px,12vw,180px)}
/* serviços: cartões opacos empilhados (sticky). Cada um cobre o anterior — sem transparência, só escala e sombra */
.grid{display:flex;flex-direction:column;gap:16px;padding-bottom:16px}
.card{--top:100px;--step:84px;position:sticky;top:calc(var(--top) + var(--i,0)*var(--step));z-index:calc(var(--i,0) + 1);display:flex;flex-direction:column;gap:clamp(14px,2vw,26px);padding:clamp(18px,2.2vw,30px) clamp(20px,3vw,44px) clamp(24px,3vw,40px);min-height:clamp(260px,44vh,360px);overflow:hidden;border:1px solid var(--line);background:var(--bg2);color:var(--ink);transform-origin:50% 0;box-shadow:0 -18px 40px rgba(11,26,17,.12)}
.card:nth-child(1){--i:0;margin-bottom:calc(var(--step)*2)}
.card:nth-child(2){--i:1;margin-top:calc(var(--step)*-2);margin-bottom:var(--step);background:color-mix(in srgb,var(--bg) 89%,#000)}
.card:nth-child(3){--i:2;margin-top:calc(var(--step)*-1);background:var(--gd);color:var(--bg);border-color:var(--gd)}
.card::after{content:"";position:absolute;inset:0;background:var(--gd);opacity:var(--d,0);pointer-events:none;z-index:2}
.card>div:first-child{display:flex;align-items:baseline;gap:clamp(14px,2vw,28px);position:relative;z-index:1}
.card h3{font-size:clamp(1.5rem,2.8vw,2.8rem);font-weight:300;letter-spacing:-.04em;line-height:1.05;margin:0}
.card ul{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,4vw,56px);margin-top:auto}
.card li{padding:10px 0;border-top:1px solid var(--line);color:#3d4740;font-size:.98rem}
.card:nth-child(3) li{color:#b9c6be;border-color:#1f3326}
@media(max-width:860px){.card{--top:104px;--step:68px;min-height:300px}}
@media(max-width:560px){.card{--top:112px;--step:58px}.card ul{grid-template-columns:1fr}}
.card::before{content:"";position:absolute;inset:auto -20% -60% -20%;height:80%;background:radial-gradient(ellipse,rgba(31,157,85,.3),transparent 65%);opacity:0;transition:opacity .6s,transform .8s;transform:translateY(30%)}
.card:hover::before{opacity:1;transform:translateY(0)}

.cta{padding-block:clamp(150px,20vw,260px) clamp(90px,14vw,200px);text-align:center}
.cta h2{font-size:clamp(2.4rem,9vw,10rem);font-weight:300;letter-spacing:-.06em;line-height:.92}
.cta h2 em{font-style:normal;color:var(--g)}
.cta p{margin:28px auto 48px;max-width:46ch;color:#3d4740}
.mag{display:inline-grid;place-items:center;width:clamp(150px,16vw,210px);aspect-ratio:1;border-radius:50%;background:var(--gd);color:var(--gl);font-weight:500;position:relative;overflow:hidden}
.mag span{position:relative;z-index:1;pointer-events:none;padding:0 14px;text-align:center;transition:color .4s}
.mag::before{content:"";position:absolute;inset:0;background:var(--g);border-radius:50%;transform:translateY(101%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.mag:hover::before{transform:translateY(0)}
.mag:hover span{color:#031008}

footer{background:var(--gd);color:#c9d6cd;padding:36px 0 44px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer .mono{color:#7f8f85}
footer a:hover{color:var(--gl)}
.links{display:flex;gap:24px;flex-wrap:wrap}
@keyframes fl{50%{translate:0 -18px}}
#prog{position:fixed;top:0;left:0;right:0;height:2px;background:var(--g);transform:scaleX(0);transform-origin:left;z-index:120;pointer-events:none}
#fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
nav::before{content:"";position:absolute;inset:0 0 -24px;background:linear-gradient(var(--bg) 35%,transparent);z-index:-1;pointer-events:none}
body.mo nav::before{opacity:0}
.burger{display:none;width:44px;height:44px;border:0;background:none;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:1.5px;background:var(--ink);transition:transform .5s cubic-bezier(.7,0,.2,1),top .5s,background .3s}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:26px}
.burger.x i:nth-child(1){top:21.5px;transform:rotate(45deg)}.burger.x i:nth-child(2){top:21.5px;transform:rotate(-45deg)}
body.mo nav{color:var(--bg)}body.mo .burger i{background:var(--bg)}body.mo .logo::before{filter:invert(1)}
.ov{position:fixed;inset:0;z-index:85;background:var(--gd);color:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:0 clamp(20px,6vw,72px);clip-path:inset(0 0 100% 0);visibility:hidden}
.ov a{font-size:clamp(2.6rem,14vw,5.5rem);font-weight:300;letter-spacing:-.05em;line-height:1.12;display:block;overflow:hidden}
.ov a span{display:block}.ov a:active{color:var(--gl)}
.ov .mono{margin-top:32px;color:#7f8f85}
@media(max-width:760px){.menu{display:none}.burger{display:block}}
.mq2{border-top:0}
.mq2 span,.mq2 span:nth-child(even){font-size:clamp(1.3rem,3.2vw,2.8rem);color:transparent;-webkit-text-stroke:1px #7b857e;text-transform:uppercase;font-style:normal}
.mq2 span:nth-child(even){-webkit-text-stroke-color:var(--g)}
.fbig{font-size:clamp(3rem,17vw,20rem);font-weight:300;letter-spacing:-.07em;line-height:.85;padding:0 clamp(20px,5vw,72px) 36px;overflow:hidden;color:var(--bg)}
.fbig em{font-style:normal;color:var(--gl)}
.th{display:none;width:56px;aspect-ratio:4/5;background:var(--gd)}
.row:nth-child(3n+1) .th{background:linear-gradient(160deg,#1f8f4a,#0b1a11 75%)}
.row:nth-child(3n+2) .th{background:linear-gradient(200deg,#5f6b63,#0c110d 70%)}
.row:nth-child(3n+3) .th{background:radial-gradient(circle at 30% 20%,#7dffa2,#0d3b22 62%)}
@media(hover:none){.row{grid-template-columns:44px 1fr auto 56px}.row .th{display:block}}
@media(hover:none) and (max-width:640px){.row{grid-template-columns:36px 1fr 56px}}
.row h3{min-width:0;overflow-wrap:break-word}
@media(max-width:400px){.mono{letter-spacing:.1em}.hero-row{gap:16px}.ph{padding-top:120px}}
@media(max-height:520px) and (orientation:landscape){.hero h1,.ph h1{font-size:min(15.5vw,26vh)}.hb{width:60vh;top:6vh}.hero{min-height:120svh}}
html{scrollbar-gutter:stable}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.sec-h{position:relative;padding-bottom:16px}
.sec-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(var(--s,0));transform-origin:left}
.man{position:relative;overflow:hidden}
.man .mono,.man h2{position:relative}
.mb{position:absolute;right:-6vw;top:6%;width:min(48vw,540px);aspect-ratio:1;background:var(--bird) center/contain no-repeat;opacity:.1;pointer-events:none}
.rm .grain,.rm .ring,.rm .hb,.rm .scroll i::after{animation:none}

/* ---- tema WordPress: estados de carregamento e extras ---- */
html.aq-pre body{visibility:hidden;overflow:hidden}
html.aq-pre .tr,html.aq-pre .pre{visibility:visible}
html.aq-open{background:var(--gd)}
.hl{position:absolute;top:96px;left:clamp(20px,5vw,72px)}
.menu a.on span:first-child{color:var(--g)}
.pv .has-img{background-size:cover;background-position:center}
body.admin-bar nav{top:32px}
@media(max-width:782px){body.admin-bar nav{top:46px}}
.entry{padding-block:0 clamp(70px,10vw,140px)}
.entry>*+*{margin-top:1.1em}
.entry p,.entry li{font-size:clamp(1rem,1.3vw,1.2rem);color:#3d4740;max-width:68ch}
.entry h2,.entry h3{font-weight:300;letter-spacing:-.03em;line-height:1.1;margin-top:1.8em}
.entry a{color:var(--g);text-decoration:underline;text-underline-offset:3px}
.entry ul{list-style:disc;padding-left:1.2em}
.entry img{max-width:100%;height:auto}
.entry input:not([type=submit]),.entry textarea,.entry select{width:100%;font:inherit;padding:14px 16px;border:1px solid var(--line);background:transparent;color:var(--ink)}
.entry input[type=submit],.entry button{background:var(--gd);color:var(--gl);border:0;cursor:pointer;padding:14px 28px;font:inherit}
.posts a{display:block;padding:22px 0;border-top:1px solid var(--line);font-size:clamp(1.4rem,3vw,2.6rem);font-weight:300;letter-spacing:-.04em}
.posts a:hover{color:var(--g)}
.screen-reader-text{position:absolute;left:-9999px}

#wm{visibility:hidden}
.fbig .split,.hero h1 .split{will-change:transform;white-space:nowrap}
