/* Direção visual inspirada nas duas referências fornecidas por Matheus. */
:root{--accent:#d4d4d4;--accent-deep:#363636;--surface:#141414;--line:#363636;--muted:#b8b8b8;--entry-ease:cubic-bezier(.16,1,.3,1)}
body{background:#0a0a0a;color:#f2f2f2}::selection{background:#dedede;color:#111}:focus-visible{outline-color:#eee}input,textarea{caret-color:#eee}
.site-header{background:#0b0b0bf5;border-color:#292929;box-shadow:none;z-index:100}.desktop-nav{background:#151515;border-color:#383838}.desktop-nav a:hover,.desktop-nav a.active{background:#dedede;color:#111}.mobile-nav:not([hidden]){background:#101010fa}
.hero.entry-hero{position:relative;display:block;width:100%;max-width:none;min-height:720px;height:calc(100svh - 94px);max-height:1000px;padding:0;margin:0;overflow:hidden;background:#121212;isolation:isolate}
.entry-hero:after{inset:0;background:linear-gradient(0deg,#0a0a0a 0%,transparent 26%);z-index:4}.entry-hero .hero-shader{inset:0;transform:none;width:100%;height:100%;opacity:.55;background:#151515}
.entry-slash{position:absolute;inset:0;z-index:1;background:#bcbcbc;clip-path:polygon(70% 0,97% 0,31% 100%,4% 100%);opacity:.88}
.entry-art{position:absolute;z-index:3;height:107%;width:56%;left:21%;bottom:-13%;transform-origin:50% 100%}
.warrior{height:100%;width:100%;object-fit:contain;object-position:center bottom;display:block;filter:brightness(.74)}
.entry-copy{position:absolute;left:4.6%;top:27%;width:29%;max-width:350px;z-index:6;background:#0c0c0ce8;padding:26px 25px 28px;border-top:1px solid #6e6e6e;box-shadow:0 18px 42px #0004}
.entry-hero .entry-copy h1{font-family:var(--display);font-size:clamp(25px,2.3vw,35px);line-height:1.17;letter-spacing:-.035em;font-weight:500;margin:0 0 22px;color:#f4f4f4}.entry-copy h1 strong{font-weight:750}.entry-copy p{font-size:14px;line-height:1.8;color:#c6c6c6;margin:0 0 25px}.entry-copy .button{min-height:48px;padding:14px 18px;font-size:12px;width:100%;justify-content:space-between;border-radius:2px}.entry-contact{margin-top:21px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#dedede}.entry-contact svg{width:17px;height:17px}
.entry-wordmark{position:absolute;z-index:5;right:4%;bottom:15%;font-family:var(--display);font-size:clamp(44px,6.6vw,96px);font-weight:700;line-height:.96;letter-spacing:-.04em;text-align:right;pointer-events:none;text-shadow:0 4px 20px #0006}.entry-wordmark span,.entry-wordmark strong{display:block}.entry-wordmark span{color:#d5d5d5}.entry-wordmark span:nth-child(2){color:transparent;-webkit-text-stroke:1px #ddd}.entry-wordmark strong{color:#f0f0f0;font-weight:700}
.entry-bottom{position:absolute;bottom:28px;left:4.6%;right:4.6%;z-index:7;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#ccc;border-top:1px solid #7775;padding-top:22px}.entry-bottom i{font-style:normal;padding:0 12px;color:#777}.entry-bottom a{display:flex;gap:25px;align-items:center}.entry-bottom .scroll-arrow{font-size:22px}
.sword-orbit{position:absolute;left:55%;top:59%;width:0;height:0;z-index:8;--rx:155px;--ry:64px;transform:rotate(-17deg)}
.orbit-path{position:absolute;width:calc(var(--rx)*2);height:calc(var(--ry)*2);left:calc(var(--rx)*-1);top:calc(var(--ry)*-1);border:1px solid #eee8;border-radius:50%;box-shadow:0 10px 20px #0003}
.orbit-satellite{position:absolute;left:0;top:0;animation:swordOrbit 16s linear infinite;animation-delay:calc(var(--phase)*-4s)}
.orbit-icon{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;position:absolute;width:58px;height:66px;left:-29px;top:-33px;transform:rotate(17deg);background:#151515ed;border:1px solid #888;color:#f1f1f1;box-shadow:0 8px 20px #0006;border-radius:9px}.orbit-icon svg{width:29px;height:29px}.orbit-icon>span{font-size:8px;letter-spacing:.04em}
@keyframes swordOrbit{from{transform:translate(calc(var(--rx)*1),0)}25%{transform:translate(0,var(--ry))}50%{transform:translate(calc(var(--rx)*-1),0)}75%{transform:translate(0,calc(var(--ry)*-1))}to{transform:translate(var(--rx),0)}}
/* O JavaScript interpola a elipse para manter a velocidade fluida. */
.site-loader.site-loader{display:flex;opacity:0;visibility:hidden;pointer-events:none}.intro-loading .site-loader.site-loader{opacity:1;visibility:visible;pointer-events:auto}
.site-loader{display:none;position:fixed;inset:0;background:#0c0c0c;z-index:9999;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s ease,visibility .6s}.intro-loading .site-loader{display:flex}.loader-brand{font-family:var(--display);font-size:clamp(42px,8vw,82px);letter-spacing:-.04em;line-height:.96;color:#888}.loader-brand strong{color:#eee}.loader-caption{font-size:11px;color:#aaa;margin-top:35px}.loader-track{width:210px;height:1px;background:#333;margin-top:20px}.loader-track span{height:100%;display:block;background:#eee;width:0;transition:width .3s}.loader-progress{font-size:11px;font-variant-numeric:tabular-nums;margin-top:12px;color:#aaa}.intro-loading{overflow:hidden}
.intro-loading .entry-art,.intro-loading .entry-copy,.intro-loading .entry-wordmark,.intro-loading .entry-bottom{opacity:0;transform:translateY(38px);filter:blur(10px)}.intro-loading .entry-slash{clip-path:polygon(70% 0,70% 0,4% 100%,4% 100%)}
.intro-ready .entry-art{animation:entryReveal 1.5s var(--entry-ease) both}.intro-ready .entry-copy{animation:entryReveal 1.1s .18s var(--entry-ease) both}.intro-ready .entry-wordmark{animation:entryReveal 1.3s .35s var(--entry-ease) both}.intro-ready .entry-bottom{animation:entryReveal 1s .55s var(--entry-ease) both}.intro-ready .entry-slash{animation:slashReveal 1.3s var(--entry-ease) both}
@keyframes entryReveal{from{opacity:0;transform:translateY(38px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes slashReveal{from{clip-path:polygon(70% 0,70% 0,4% 100%,4% 100%)}to{clip-path:polygon(70% 0,97% 0,31% 100%,4% 100%)}}
.button.primary{background:#ededed;color:#131313}.niche-links a,.filter-list button{border-color:#484848}.niche-links a:hover,.filter-list button:hover,.filter-list button.active,.project-image:hover .project-open,.portable-overlay>button{background:#ddd;color:#101010;border-color:#ddd}.project-image{background:#171717;border-color:#383838}.project-image>img{filter:grayscale(1) contrast(1.05)}.project-image:hover>img{filter:grayscale(.4) contrast(1.05)}
.agency-note,.about-mark{background:#171717}.agency-note strong,.about-mark>div{color:#ddd}.process-section{background:#111}.process-track:before{background:#444}.step-number{background:#191919;border-color:#777}.contact-section{background:#141414;border-color:#444}.contact-section label{color:#eee}.contact-section input,.contact-section select,.contact-section textarea{border-color:#666;color:#f5f5f5}.contact-section select option{background:#171717}.contact-section input::placeholder,.contact-section textarea::placeholder{color:#aaa}.ambient-shader{background:#171717}.mouse-light::before{background:radial-gradient(280px circle at var(--x,50%) var(--y,50%),#ffffff26,transparent 72%)}.cursor-dot{background:#ddd}.cursor-ring{border-color:#aaa}h2 em,.about-copy h2 em,.contact-copy h2 em{color:#d4d4d4}
@media(min-width:1600px){.entry-art{left:24%;width:50%}.entry-copy{left:8%}.entry-wordmark{right:8%}}
@media(max-width:1000px){.hero.entry-hero{min-height:750px}.entry-art{width:68%;left:15%;bottom:-7%;height:95%}.entry-copy{left:4%;top:22%;width:30%;padding:21px 18px}.entry-wordmark{font-size:6.9vw;right:3%;bottom:15%}.sword-orbit{--rx:125px;--ry:55px}}
@media(max-width:650px){.hero.entry-hero{height:auto;min-height:960px;max-height:none}.entry-slash{clip-path:polygon(66% 0,100% 0,28% 63%,0 63%)}.intro-ready .entry-slash{animation:none}.entry-art{width:114%;left:-7%;height:570px;top:-17px;bottom:auto}.entry-wordmark{right:6%;top:355px;bottom:auto;font-size:clamp(43px,10.8vw,67px);z-index:5}.entry-copy{left:6%;top:590px;max-width:none;width:88%;padding:23px 0 0;background:none;border-color:#7777;box-shadow:none}.entry-hero .entry-copy h1{font-size:27px;margin-bottom:12px}.entry-copy p{font-size:13px;line-height:1.7;margin-bottom:20px}.entry-copy p br{display:none}.entry-copy .button{max-width:290px}.entry-contact{max-width:290px;margin-top:17px}.entry-bottom{bottom:22px;left:6%;right:6%;font-size:9px;gap:15px;padding-top:16px}.entry-bottom i{padding:0 5px}.entry-bottom a{gap:9px}.sword-orbit{--rx:113px;--ry:47px;top:58%;left:54%}.orbit-icon{width:48px;height:56px;left:-24px;top:-28px}.orbit-icon svg{width:25px;height:25px}.orbit-icon>span{font-size:7px}}
