@font-face{font-family:Aileron;src:url('assets/fonts/Aileron-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Aileron;src:url('assets/fonts/Aileron-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Noto Serif';src:url('assets/fonts/NotoSerif-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
:root{--white:#fff;--pink:#e62087;--dark:#1e1e1e;--light-pink:#ffdef0;--border:#929292}
*{box-sizing:border-box}html{scroll-padding-top:30px}body{margin:0;background:var(--dark);color:var(--white);font:400 1.125rem/1.3 Aileron,Arial,sans-serif}a{color:inherit}img{display:block;max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:6px}.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:12px;background:var(--light-pink);color:var(--dark);transform:translateY(-160%)}.skip-link:focus{transform:none}
.frame{max-width:1360px;margin:40px auto 0;border:1px solid var(--border);border-radius:16px;padding:54px 52px 0;position:relative}.header{position:relative;z-index:2}nav{display:inline-flex;align-items:center;gap:22px;padding:7px;border:1px solid var(--border);border-radius:7px}nav a{text-decoration:none;text-transform:uppercase;font-size:1rem;line-height:1.15;padding:4px 7px;white-space:nowrap}nav a.active{color:var(--dark);background:var(--light-pink);border-radius:3px;font-weight:700}nav a:hover{color:var(--pink)}.serif{color:var(--light-pink);font-family:'Noto Serif',Georgia,serif;font-style:italic;font-weight:700}.hero{position:relative;min-height:915px;padding-top:142px}.hero-copy{position:relative;z-index:1;width:62%}.eyebrow{font-size:3rem;margin:0 0 22px}h1{font-family:'Noto Serif',Georgia,serif;font-style:italic;font-size:clamp(6rem,13.3vw,180px);font-weight:700;letter-spacing:-.065em;line-height:.97;margin:0 0 38px -8px;color:var(--dark);-webkit-text-stroke:1.5px var(--pink)}.intro{font-size:2rem;max-width:680px;line-height:1.22;margin:0}.badge-art{position:absolute;width:42%;right:-50px;top:-155px;pointer-events:none}.badge{width:100%}.brand-sticker{position:absolute;width:30%;top:26%;left:-4%;transform:rotate(-19deg)}
.work{margin:18px 0 100px}.project-stage{height:745px;position:relative;display:flex;align-items:center;justify-content:center}.wire-grid{position:absolute;inset:0 7%;width:86%;height:100%}.project{position:absolute;border:1px solid var(--border);background:var(--dark);text-decoration:none;display:block}.project-left{width:28%;left:0;z-index:1}.project-center{width:44%;left:28%;z-index:2}.project-right{width:28%;right:0;z-index:1}.window-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 9px;border-bottom:1px solid var(--border);font-weight:400;font-size:1.5rem;line-height:1.15;margin:0;color:#eee}.project-center .window-bar{font-size:2.3rem;padding:9px 13px}.window-cross{display:block;width:24px;height:24px;position:relative;flex-shrink:0}.window-cross:before,.window-cross:after{content:'';position:absolute;top:50%;left:0;width:100%;height:1.5px;background:#ddd;transform:rotate(45deg)}.window-cross:after{transform:rotate(-45deg)}.project-center .window-cross{width:30px;height:30px}.project:hover{border-color:var(--pink)}.more-work{position:relative;margin-top:-27px;z-index:3;text-align:center}.more-work .more-work-link{display:inline-block;list-style:none;border:1px solid var(--border);border-radius:7px;background:var(--dark);padding:9px;cursor:pointer;font-weight:700;text-transform:uppercase;font-size:1.4rem}.more-work .more-work-link::-webkit-details-marker{display:none}.more-work .more-work-link span{display:block;padding:2px 9px;color:var(--dark);background:var(--white);border-radius:3px}.more-work .show-less,.more-work[open] .show-more{display:none}.more-work[open] .show-less{display:block}.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:45px;text-align:left}.project-list a{text-decoration:none;border:1px solid var(--border)}.project-list a>span{display:block;padding:18px}.project-list small{display:block;margin-top:6px;font-size:.9rem;color:var(--light-pink)}
.about{border:1px solid var(--border)}.about .window-bar{font-size:1.7rem}.about-content{padding:25px 20px}.about-content p{font-size:1.75rem;line-height:1.22;margin:0}.services{list-style:none;padding:0;margin:55px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:13px 20px}.services li{background:var(--light-pink);color:var(--dark);font-size:1.35rem;font-weight:700;text-transform:uppercase;padding:3px 8px;line-height:1.15;border-radius:3px}.tools{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;padding:0;margin:110px -4px -60px}.tools li{flex:1;min-width:0}.tools img{width:100%;aspect-ratio:1;object-fit:contain}.contact{max-width:1256px;margin:145px auto 70px}.contact h2{font-size:3rem;margin:0 0 25px}.contact p{font-size:1.75rem;line-height:1.25;margin:0 0 35px}.socials{list-style:none;display:flex;gap:23px;padding:0;margin:65px 0 0}.socials span{display:grid;place-items:center;width:42px;height:42px}.socials img{width:34px;height:34px}footer{background:var(--white);color:#777;text-align:center;padding:18px 20px;font-size:.8rem}footer strong{color:#333}.heart{color:var(--pink)}
@media(min-width:1500px){.frame{margin-top:40px}}
@media(max-width:1450px){.frame{margin:40px 40px 0}.contact{margin-left:94px;margin-right:94px}.hero{min-height:850px}.intro{font-size:1.9rem;max-width:610px}.project-stage{height:700px}.about-content p,.contact p{font-size:1.65rem}.services li{font-size:1.25rem}}
@media(max-width:1100px){.frame{margin:28px 28px 0;padding:38px 35px 0}.hero{padding-top:110px;min-height:690px}.eyebrow{font-size:2.4rem}.intro{font-size:1.5rem;max-width:490px}.badge-art{right:-33px;top:-130px;width:42%}.project-stage{height:540px}.work{margin-bottom:75px}.window-bar{font-size:1.15rem}.project-center .window-bar{font-size:1.7rem}.about-content p,.contact p{font-size:1.35rem}.services{gap:12px;margin:40px 0}.services li{font-size:1.05rem}.tools{gap:15px;margin-top:75px;margin-bottom:-46px}.contact{margin:120px 65px 60px}.contact h2{font-size:2.4rem}}
@media(max-width:760px){.frame{margin:16px 16px 0;padding:24px 20px 0;border-radius:12px}.header nav{gap:5px;display:flex;justify-content:space-between;padding:5px}nav a{font-size:.78rem;padding:5px 4px}.hero{min-height:0;padding-top:60px;display:flex;flex-direction:column}.hero-copy{width:100%}.eyebrow{font-size:2rem;margin-bottom:20px}h1{font-size:clamp(4rem,18vw,8.5rem);margin-left:-4px;letter-spacing:-.06em;line-height:1.02;margin-bottom:25px}.intro{font-size:1.2rem;max-width:480px;line-height:1.35}.badge-art{position:relative;top:auto;right:auto;width:72%;max-width:330px;margin:-5px 0 20px auto}.brand-sticker{top:27%;left:-9%;width:34%}.work{margin:10px 0 55px}.project-stage{height:auto;min-height:420px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px 12px;padding:30px 10px 40px}.wire-grid{inset:0;width:100%;height:100%}.project{position:relative;width:100%;left:auto;right:auto}.project-center{grid-column:1/-1;grid-row:1;width:78%;justify-self:center}.project-left{grid-column:1}.project-right{grid-column:2}.window-bar,.project-center .window-bar{font-size:1rem;padding:5px 7px}.window-cross,.project-center .window-cross{width:17px;height:17px}.more-work{margin-top:-20px}.more-work .more-work-link{font-size:1rem;padding:7px}.project-list{grid-template-columns:1fr;padding-top:30px;gap:22px}.about .window-bar{font-size:1.25rem}.about-content{padding:20px 15px}.about-content p,.contact p{font-size:1.1rem;line-height:1.4}.services{gap:9px 7px;margin:30px 0;justify-content:flex-start}.services li{font-size:.875rem;line-height:1.25;padding:4px 6px}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:45px 0 -30px}.tools img{max-width:90px;margin:auto}.contact{margin:80px 37px 45px}.contact h2{font-size:clamp(1.7rem,6vw,2.4rem);line-height:1.3}.contact p{margin-bottom:25px}.socials{gap:16px;margin-top:35px}.socials span{width:36px;height:40px}footer{font-size:.75rem;line-height:1.6;padding:16px 25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


@media(max-width:420px){nav{flex-wrap:wrap;gap:5px}nav a{font-size:.875rem;text-align:center;flex:1 1 42%}.services li{overflow-wrap:anywhere;max-width:100%}}

/* Movimento: efeitos independentes para entrada, flutuação e interação. */
html{scroll-behavior:smooth}
nav a{transition:background-color .2s,color .2s}nav a.active:hover{color:var(--dark)}
.typewriter{position:relative}.type-reserve{opacity:0}.type-visible{position:absolute;inset:0;pointer-events:none}.typing-cursor{animation:cursor-blink 1s steps(1,end) infinite}
@keyframes cursor-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
.badge-art{pointer-events:auto;transform-origin:65% 0;rotate:var(--badge-tilt,0deg);transition:rotate .6s ease;animation:badge-sway 7s ease-in-out infinite}
.brand-sticker{filter:drop-shadow(0 7px 7px #0008);animation:sticker-spin 36s linear infinite}
@keyframes sticker-spin{from{transform:rotate(-19deg)}to{transform:rotate(341deg)}}
@keyframes badge-sway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(1deg)}}
.project{transition:scale .35s ease,filter .35s ease,box-shadow .35s ease;animation:project-float 6s ease-in-out infinite}
.project-center{animation-delay:-2s}.project-right{animation-delay:-4s}
@keyframes project-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.reveal{opacity:0;translate:0 22px;transition:opacity .65s ease var(--reveal-delay,0ms),translate .65s ease var(--reveal-delay,0ms),scale .65s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms),filter .35s ease}
.reveal.is-visible{opacity:1;translate:0 0}.about.reveal{scale:.12;transform-origin:center}.about.reveal.is-visible{scale:1}
.tools li.reveal{scale:.65;rotate:-12deg;transition:opacity .55s ease var(--reveal-delay),translate .55s ease var(--reveal-delay),scale .55s cubic-bezier(.2,.8,.2,1.25) var(--reveal-delay),rotate .55s ease var(--reveal-delay)}
.tools li.is-visible{scale:1;rotate:0deg}
.more-work .more-work-link{position:relative;border-color:transparent;isolation:isolate}
.more-work .more-work-link:before{content:'';position:absolute;inset:0;border:1px solid var(--border);border-radius:inherit;pointer-events:none;animation:outline-pulse 2.8s ease-in-out infinite}
@keyframes outline-pulse{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.055,1.2);opacity:1}}
.services li{position:relative;animation:tag-float 4.5s ease-in-out var(--float-delay,0s) infinite;translate:var(--tag-x,0px) 0;rotate:var(--tag-rotate,0deg);transition:scale .3s ease,translate .35s ease,rotate .35s ease}
@keyframes tag-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.socials span,.socials a{transition:scale .25s ease}.socials img{transition:filter .25s ease}
@media(hover:hover) and (pointer:fine){
 .project:hover{scale:1.075;z-index:4;box-shadow:0 12px 35px #0005}
 .project-stage:has(.project:hover) .project:not(:hover){filter:blur(3px)}
 .services li:hover{scale:1.08;z-index:2}
 .socials li:hover span,.socials li:hover a{scale:1.17}
 .socials li:hover img{filter:brightness(0) saturate(100%) invert(91%) sepia(13%) saturate(702%) hue-rotate(289deg) brightness(103%) contrast(103%)}
}
.project:focus-visible{scale:1.06;z-index:4}.project-stage:has(.project:focus-visible) .project:not(:focus-visible){filter:blur(3px)}
.socials a:focus-visible{scale:1.17}.socials a:focus-visible img{filter:brightness(0) saturate(100%) invert(91%) sepia(13%) saturate(702%) hue-rotate(289deg) brightness(103%) contrast(103%)}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.reveal,.about.reveal,.tools li.reveal{opacity:1;translate:none;scale:1;rotate:none}
 .badge-art,.services li{rotate:none;translate:none}.project:hover,.project:focus-visible,.services li:hover,.socials li:hover span,.socials li:hover a{scale:1}
 .typing-cursor{opacity:1}
}
/* Ajustes de interação: marcador único, navegação fixa e cores sem filtros. */
.header{height:44px;z-index:30}
.header nav{position:fixed;top:24px;left:max(94px,calc((100vw - 1360px)/2 + 52px));z-index:30;background:var(--dark);isolation:isolate;box-shadow:0 5px 20px #0002}
nav a{position:relative;z-index:1;font-weight:400;transition:color .18s ease}
nav a.active,nav a.active:hover{background:transparent;font-weight:400;color:var(--white)}
nav a.highlighted,nav a.highlighted:hover{color:var(--dark)}
.nav-marker{position:absolute;top:0;left:0;border-radius:3px;background:var(--light-pink);pointer-events:none;transition:transform .23s ease,width .23s ease,height .23s ease}
.badge-art{animation:none;rotate:none;transition:none;transform:none}
.badge{transform-origin:65% 0;animation:badge-sway 7s ease-in-out infinite;rotate:var(--badge-tilt,0deg);transition:rotate .6s ease}
.brand-sticker{left:4%;top:20%;z-index:2}
.tools li:nth-child(1){--sticker-angle:-7deg}.tools li:nth-child(2){--sticker-angle:5deg}.tools li:nth-child(3){--sticker-angle:-4deg}.tools li:nth-child(4){--sticker-angle:8deg}.tools li:nth-child(5){--sticker-angle:-6deg}.tools li:nth-child(6){--sticker-angle:4deg}.tools li:nth-child(7){--sticker-angle:-8deg}.tools li:nth-child(8){--sticker-angle:6deg}
.tools li.is-visible{rotate:var(--sticker-angle)}
.socials span,.socials a{color:var(--pink);transition:scale .25s ease,color .25s ease}
.socials svg{display:block;width:34px;height:34px;fill:currentColor;filter:none}
@media(hover:hover) and (pointer:fine){.socials li:hover span,.socials li:hover a{color:var(--light-pink)}}
.socials a:focus-visible{color:var(--light-pink)}
@media(max-width:1100px){.header nav{left:64px}}
@media(max-width:760px){.header nav{left:37px;right:37px;top:16px}.brand-sticker{left:0;top:20%}}
@media(max-width:420px){.header{height:76px}}
@media(prefers-reduced-motion:reduce){.tools li.reveal.is-visible{rotate:var(--sticker-angle)}.badge{rotate:none}}
/* Textura discreta, botão sem faixa escura e troca de destaque entre projetos. */
body{background-image:url('assets/grain.svg');background-repeat:repeat;background-size:320px 320px}
.more-work .more-work-link{background:transparent;border:0;box-shadow:none;transition:scale .25s ease}
.more-work .more-work-link span{transition:background-color .25s ease}
.more-work .more-work-link:before{border-color:var(--border)}
.more-work .more-work-link:focus-visible{scale:1.06;outline:2px solid var(--pink);outline-offset:5px}
.more-work .more-work-link:focus-visible span{background:var(--light-pink)}
@media(hover:hover) and (pointer:fine){
 .more-work .more-work-link:hover{scale:1.06}
 .more-work .more-work-link:hover span{background:var(--light-pink)}
}
@media(min-width:761px){
 .project-stage .project{scale:1;transition:width .5s ease,left .5s ease,right .5s ease,filter .35s ease,opacity .65s ease var(--reveal-delay,0ms),translate .65s ease var(--reveal-delay,0ms)}
 .project-stage .window-bar{transition:font-size .5s ease,padding .5s ease}
 .project-stage:has(.project-left:focus-visible) .project-center{width:28%;left:44%}
 .project-stage:has(.project-right:focus-visible) .project-center{width:28%;left:28%}
 .project-stage .project-left:focus-visible,.project-stage .project-right:focus-visible{width:44%;z-index:4}
 .project-stage:has(.project-left:focus-visible,.project-right:focus-visible) .project-center .window-bar{font-size:1.5rem;padding:5px 9px}
 .project-stage .project-left:focus-visible .window-bar,.project-stage .project-right:focus-visible .window-bar{font-size:2.3rem;padding:9px 13px}
}
@media(min-width:761px) and (hover:hover) and (pointer:fine){
 .project-stage:has(.project-left:hover) .project-center{width:28%;left:44%}
 .project-stage:has(.project-right:hover) .project-center{width:28%;left:28%}
 .project-stage .project-left:hover,.project-stage .project-right:hover{width:44%;z-index:4}
 .project-stage:has(.project-left:hover,.project-right:hover) .project-center .window-bar{font-size:1.5rem;padding:5px 9px}
 .project-stage .project-left:hover .window-bar,.project-stage .project-right:hover .window-bar{font-size:2.3rem;padding:9px 13px}
}
@media(min-width:761px) and (max-width:1100px){
 .project-stage:has(.project-left:hover,.project-right:hover,.project-left:focus-visible,.project-right:focus-visible) .project-center .window-bar{font-size:1.15rem}
 .project-stage .project-left:hover .window-bar,.project-stage .project-right:hover .window-bar,.project-stage .project-left:focus-visible .window-bar,.project-stage .project-right:focus-visible .window-bar{font-size:1.7rem}
}
@media(prefers-reduced-motion:reduce){.more-work .more-work-link:hover,.more-work .more-work-link:focus-visible{scale:1}}
/* Destaque sem borda rosa; ícone ligeiramente mais baixo. */
.project:hover{border-color:var(--border)}
.project:focus-visible{outline-color:var(--light-pink)}
.brand-sticker{top:24%}
@media(min-width:761px){
 .project-stage:not(:has(.project:hover,.project:focus-visible)) .project:not(.project-center){filter:blur(3px)}
 .project-stage:not(:has(.project:hover,.project:focus-visible)) .project-center{filter:none}
 .project-stage:has(.project:hover) .project:hover{filter:none}
 .project-stage:has(.project:focus-visible) .project:focus-visible{filter:none}
}
/* A moldura acompanha a janela e se despede no fim da seção dos adesivos. */
.frame.has-viewport-frame{border-color:transparent}
.viewport-frame{position:fixed;border:1px solid var(--border);border-radius:16px;pointer-events:none;z-index:0}
.tools{position:relative;z-index:1}
@media(max-width:760px){.viewport-frame{border-radius:12px}}
/* O conteúdo é recortado nas bordas da moldura; menu e adesivos ficam livres. */
.frame-content{display:flow-root}
.viewport-frame{z-index:5}
.tools{z-index:6}
/* Hero: letras vazadas e bloco de texto um pouco mais alto. */
#hero-title{color:transparent;-webkit-text-fill-color:transparent}
.hero-copy{top:-36px}
@media(max-width:760px){.hero-copy{top:-20px}}
/* Tipografia e crachá livre sobre a moldura. */
.intro{font-size:1.65rem}
.about-content p{margin-inline:auto;text-align:justify;text-align-last:center;hyphens:auto}
.badge-slot{visibility:hidden;pointer-events:none}
.badge-art.badge-overlay{position:fixed;right:auto;margin:0;max-width:none;z-index:7}
@media(max-width:1100px){.intro{font-size:1.5rem}}
@media(max-width:760px){.intro{font-size:1.2rem}}

.more-work-link{text-decoration:none}.socials a{display:grid;place-items:center;width:42px;height:42px;text-decoration:none}
@media(max-width:760px){.socials a{width:36px;height:40px}}


.footer-studio{color:inherit;text-decoration:none}.footer-studio:hover{text-decoration:underline}

/* Contato centralizado e textos sem hifenização automática. */
body{hyphens:none}
.about-content p,.contact p{hyphens:none}
.contact{text-align:center}
.contact p{text-align:justify;text-align-last:center;margin-inline:auto}
.socials{justify-content:center}
/* Textos corridos menores; títulos preservados. */
.intro,.about-content p,.contact p{font-size:1.375rem;line-height:1.4}
@media(max-width:1100px){.intro,.about-content p,.contact p{font-size:1.2rem}}
@media(max-width:760px){.intro,.about-content p,.contact p{font-size:1rem;line-height:1.5}}

/* Coluna mais compacta para os dois textos de contato. */
.contact p{max-width:46rem;margin-inline:auto}
.tools li{max-width:110px}
.tools li:nth-child(2) img{scale:.85}
.tools li:nth-child(3) img{scale:.94}
.tools li:nth-child(4) img{scale:.78}
.tools li:nth-child(6) img{scale:.88}
@media(max-width:760px){.tools{grid-template-columns:repeat(3,1fr)}.tools li{max-width:none}}


/* Categorias de trabalhos: destaque livre e coleções sempre visíveis. */
.work-heading{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:38px}
.work-heading h2{font-size:clamp(2rem,3.6vw,3rem);margin:0;flex-shrink:0}
.work-filters{display:flex;flex-wrap:wrap;gap:9px;flex:1}
.work-filters button{font:400 .95rem/1.25 Aileron,Arial,sans-serif;color:var(--white);background:var(--dark);border:1px solid var(--white);border-radius:4px;padding:8px 11px;cursor:pointer}
.work-filters button[aria-pressed=true]{background:var(--light-pink);color:var(--dark);border-color:var(--light-pink)}
.work-filters button:focus-visible{outline:2px solid var(--light-pink);outline-offset:4px}
.work-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
.work.category-view .project-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;height:auto;min-height:0;padding:40px 0 65px;align-items:center}
.work.category-view .wire-grid{display:none}
.work.category-view .project-stage .project{position:relative;left:auto;right:auto;width:100%;grid-column:auto;grid-row:auto;animation:none;transform:none;translate:none;scale:1;opacity:1;filter:none;transition:scale .25s ease,filter .25s ease;z-index:1}
.work.category-view .project-stage .window-bar{font-size:clamp(.875rem,1.6vw,1.3rem);padding:9px;overflow-wrap:anywhere}
.work.category-view .window-cross{width:18px;height:18px}
.project-placeholder{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#252125;gap:12px;padding:20px;text-align:center}
.project-placeholder>span{font-size:1rem}
.project-placeholder strong{font:italic 700 clamp(3rem,6vw,6rem)/1 'Noto Serif',serif}
.project-placeholder small{font-size:.875rem}
.project-tags{padding:13px 10px;display:flex;gap:6px;flex-wrap:wrap}
.project-tags span{border:1px solid var(--border);border-radius:3px;padding:3px 6px;font-size:.875rem}
.work.category-view .project-stage:has(.project:focus-visible) .project:not(:focus-visible){filter:blur(3px)}
.work.category-view .project-stage .project:focus-visible{scale:1.06;z-index:3;outline:2px solid var(--light-pink);outline-offset:4px}
@media(hover:hover) and (pointer:fine){
.work-filters button:hover{border-color:var(--light-pink);color:var(--light-pink)}
.work-filters button[aria-pressed=true]:hover{color:var(--dark)}
.work.category-view .project-stage:has(.project:hover) .project:not(:hover){filter:blur(3px)}
.work.category-view .project-stage .project:hover{scale:1.06;filter:none;z-index:3}
}
@media(max-width:760px){.work-heading{gap:18px;margin-bottom:25px}.work-filters{flex-basis:100%}.work-filters button{font-size:.875rem}.work.category-view .project-stage{grid-template-columns:1fr;gap:28px;padding:12px 0 45px}.work.category-view .project-stage .project{max-width:420px;justify-self:center}.project-placeholder strong{font-size:4rem}}
.work.category-view .project-stage:not(:has(.project:hover,.project:focus-visible)) .project{filter:none}

/* Même langage visuel pour le menu de catégories et les fenêtres. */
#work-title{white-space:pre-line;line-height:1.12}
.work-heading{gap:32px;align-items:center}
.work-filters{position:relative;isolation:isolate;align-content:center}
.work-filters button{position:relative;z-index:1;font-size:1rem;line-height:1.15;text-transform:uppercase;background:transparent;transition:color .2s,border-color .2s}
.work-filters button[aria-pressed=true]{background:transparent;color:var(--white);border-color:var(--white)}
.work-filters .filter-marker{position:absolute;left:0;top:0;background:var(--light-pink);border-radius:4px;transition:transform .25s ease,width .25s ease,height .25s ease;pointer-events:none;z-index:0}
.work-filters button.filter-highlighted,.work-filters button.filter-highlighted:hover{color:var(--dark);border-color:transparent}
.work.category-view .wire-grid{display:block;pointer-events:none}
.work.category-view .project-stage{min-height:620px;padding:65px 0 75px}
.work .project-stage .project .window-bar{font-size:clamp(.875rem,1.6vw,1.3rem);padding:9px;font-weight:400}
.work .project-stage .window-cross{width:18px;height:18px}
@media(max-width:1100px){.work.category-view .project-stage{min-height:500px}}
@media(max-width:760px){.work-heading{gap:22px}.work-filters button{font-size:.875rem}.work.category-view .project-stage{min-height:0;padding:35px 12px 50px}.work-heading h2{font-size:2rem}}

/* Sobre: áreas agrupadas e indicadores de experiência. */
.service-groups{display:grid;grid-template-columns:1fr 1fr 1.15fr;margin-top:32px;border-bottom:1px solid var(--border)}
.service-groups>section{padding:0 18px 24px;min-width:0}
.service-groups>section:first-child{padding-left:0}
.service-groups>section:last-child{padding-right:0}
.service-groups>section+section{border-left:1px solid var(--border)}
.service-groups h3{font:700 1.25rem/1.3 Aileron,Arial,sans-serif;text-transform:uppercase;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.service-groups .services{margin:0;justify-content:flex-start;gap:10px 8px}
.service-groups .services li{font-size:1rem;max-width:100%;overflow-wrap:anywhere}
.about-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;align-items:center;padding-top:24px}
.about-content .about-bottom p{text-align:left;text-align-last:auto;font-size:1.125rem;line-height:1.5;margin:0}
.about-stats{display:grid;grid-template-columns:1fr 1fr 1.25fr;margin:0}
.about-stats>div{display:flex;flex-direction:column;border-left:1px solid var(--border);padding:0 14px;min-width:0}
.about-stats dt{font-size:1rem;line-height:1.4}
.about-stats dd{order:-1;margin:0 0 9px;font:italic 700 2rem/1.2 'Noto Serif',Georgia,serif;color:var(--pink);font-variant-numeric:tabular-nums}
.about-stats [data-scramble]{display:inline-block;min-width:6ch}
@media(max-width:1100px){.service-groups{grid-template-columns:1fr 1fr}.service-groups>section:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--border);padding:20px 0}.about-bottom{grid-template-columns:1fr}.about-stats>div:first-child{border-left:0;padding-left:0}}
@media(max-width:760px){.service-groups{grid-template-columns:1fr}.service-groups>section,.service-groups>section:first-child,.service-groups>section:last-child{padding:20px 0}.service-groups>section+section{border-left:0;border-top:1px solid var(--border)}.service-groups h3{font-size:1.05rem}.service-groups .services li{font-size:.875rem}.about-content .about-bottom p,.about-stats dt{font-size:1rem}.about-stats{grid-template-columns:1fr;gap:20px}.about-stats>div{border-left:0;border-bottom:1px solid var(--border);padding:0 0 16px}.about-stats>div:last-child{border-bottom:0}}

/* Respiro após Sobre, sem a fileira de adesivos. */
.frame{padding-bottom:48px}
.contact{margin-top:80px}
@media(max-width:760px){.frame{padding-bottom:28px}.contact{margin-top:55px}}

.project-preview{width:100%;aspect-ratio:1;object-fit:cover}

/* Textos do Sobre com alinhamento e escala consistentes. */
.about-content p{text-align:left;text-align-last:auto}
.about-content .about-bottom p{font-size:1.375rem;line-height:1.4}
@media(max-width:1100px){.about-content .about-bottom p{font-size:1.2rem}}
@media(max-width:760px){.about-content .about-bottom p{font-size:1rem;line-height:1.5}}

/* Menu centralizado e barras de janela uniformes. */
.work-heading{justify-content:center}
.work-filters{flex:0 1 auto;justify-content:center}
.about .window-bar{font-size:clamp(.875rem,1.6vw,1.3rem);padding:9px;font-weight:400}
.about .window-cross{width:18px;height:18px}
@media(max-width:760px){.work-filters{flex-basis:100%}}

.about{background:var(--dark)}

/* Mobile: crachá antes da apresentação e conteúdo centralizado. */
@media(max-width:760px){
 .hero{align-items:center;padding-top:24px}
 .hero .badge-art{order:-1;width:72%;max-width:280px;margin:0 auto 28px}
 .hero-copy{top:0;text-align:center}
 .hero-copy h1{margin-left:0}
 .hero-copy .intro{margin-inline:auto}
 .about-content,.about-content p,.about-content .about-bottom p{text-align:center;text-align-last:center}
 .service-groups .services{justify-content:center}
 .about-stats>div{align-items:center}
}
