/* Neutral accents for local review; brand colors stay inside cases. */
:root{--signal:#e6e2d7;--signal-ink:#171815;--signal-on-light:#3c4436}
html{overflow-x:clip}body{overflow-x:clip}
header{transition:background .3s,border-color .3s,box-shadow .3s}
header.is-scrolled{background:#080808f2;border-color:#ffffff26;box-shadow:0 10px 35px #0003}
header nav a{padding:7px 0;transition:color .22s}
header nav a:after{bottom:0;background:var(--signal);height:2px}
header nav a:hover,header nav a[aria-current="location"]{color:var(--signal)}
header nav a[aria-current="location"]:after{transform:scaleX(1)}
.reading-progress{height:2px;background:var(--signal);box-shadow:0 0 14px #e6e2d728}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--signal);outline-offset:5px}
.portfolio-home{--muted:#bcbdb3}
.portfolio-home .hero-kicker,.portfolio-home .hero-rule,.portfolio-home .hero-description>div>span{color:#bcb8ac}
.portfolio-home .hero-kicker:after{background:var(--signal)}
.portfolio-home .name-period{color:var(--signal)}
.portfolio-home .hero-description a{padding:5px 0 10px;align-items:center;font-weight:500;gap:25px;border-color:#e6e2d766;transition:border-color .25s,color .25s}
.portfolio-home .hero-description a b{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e6e2d777;border-radius:50%;font-size:20px;color:var(--signal);transition:background .25s,color .25s,transform .3s}
.portfolio-home .hero-description a:hover,.portfolio-home .hero-description a:focus-visible{color:#fff8ee;border-color:var(--signal)}
.portfolio-home .hero-description a:hover b,.portfolio-home .hero-description a:focus-visible b{background:var(--signal);color:var(--signal-ink);transform:translateY(3px)}
.hero-bio>a,.text-link,.contact-alternatives>a{background-image:linear-gradient(var(--signal),var(--signal));background-size:0 1px;background-position:left bottom;background-repeat:no-repeat;transition:background-size .3s,color .25s}
.hero-bio>a:hover,.text-link:hover,.contact-alternatives>a:hover{background-size:100% 1px}
.portfolio-home .focus-sticky>.eyebrow{color:#d7dacd}.portfolio-home .focus-sticky>.eyebrow:before{color:var(--signal);border-color:#e6e2d766}
.portfolio-home .focus-words>span{color:#92978a}.portfolio-home .focus-words>span.focus-active{color:#faf6ed;background:linear-gradient(90deg,#e6e2d70d,transparent 80%)}
.portfolio-home .focus-words>span.focus-active:before{color:var(--signal)}
.portfolio-home .sectionhead>.muted,.portfolio-home .sectionhead>p{color:#c1c2b8}
.projects>.project{transition:border-color .3s,box-shadow .35s;outline-offset:5px}
.projects>.project:hover,.projects>.project:focus-visible{border-color:#eee6d577;box-shadow:0 15px 60px #0005}
.has-pointer-micro .projects>.project:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(360px circle at var(--card-x,50%) var(--card-y,50%),#fff2,transparent 65%);opacity:0;transition:opacity .35s}
.has-pointer-micro .projects>.project:hover:after{opacity:.55}
.project-hover-label{position:absolute;left:var(--card-x,50%);top:var(--card-y,50%);z-index:5;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:16px;min-width:106px;padding:12px 17px;border-radius:30px;background:#f5efe2f5;color:#211c15;border:1px solid #fff8;font:500 12px Arial,sans-serif;box-shadow:0 8px 30px #0003;transform:translate(-50%,-25%) scale(.92);opacity:0;transition:opacity .2s,transform .25s;white-space:nowrap}
.project-hover-label b{font-size:19px;font-weight:400;line-height:1}
.has-pointer-micro .project.is-pointer-over .project-hover-label{opacity:1;transform:translate(-50%,-50%) scale(1)}
.has-pointer-micro .projects>.project:hover>.piwi-card-photo,.has-pointer-micro .projects>.project:hover>.scoobi-card-photo,.has-pointer-micro .projects>.project:hover>.desrotulando-card-photo{transform:scale(1.045) translate3d(var(--photo-x,0),var(--photo-y,0),0)}
.projects>.project .projectline h3 span{display:inline-block;transition:transform .3s,color .3s}
.projects>.project:hover .projectline h3 span,.projects>.project:focus-visible .projectline h3 span{transform:translate(4px,-4px);color:#e9e8df}
.projects>.project-scoobi .scoobi-phone-pair img{width:42%;height:92%;max-width:43%;max-height:92%;flex:0 0 42%;object-fit:contain}
.case-index>a{transition:padding .3s,color .25s,background .3s}
.case-index>a:hover,.case-index>a:focus-visible{padding-left:15px;padding-right:10px;color:#e9e8df;background:linear-gradient(90deg,#e6e2d709,transparent)}
.case-index>a>b{transition:transform .3s,color .3s}.case-index>a:hover>b{transform:translate(4px,-4px);color:var(--signal)}
#expertise .service{position:relative;padding-left:0;transition:background .25s}
#expertise .service:hover{padding-left:0;background:#7685610b}
#expertise .service:before{content:"";position:absolute;left:-18px;top:30px;bottom:30px;width:2px;background:var(--signal-on-light);transform:scaleY(0);transform-origin:center;transition:transform .3s}
#expertise .service:hover:before{transform:scaleY(1)}
#expertise .service>small{color:#59674a;transition:color .25s}
#expertise .service:hover>small{color:var(--signal-on-light)}
#expertise .service>h3{transition:transform .3s,color .3s}
#expertise .service:hover>h3{transform:translateX(6px);color:#263020}
.step{transition:border-color .3s}.step-number{color:#a29e92;transition:color .3s}.step:hover{border-color:#e6e2d766}.step:hover .step-number{color:var(--signal)}
.faq summary{transition:color .25s}.faq summary:hover,.faq details[open] summary{color:#efeee7}.faq summary span{color:var(--signal)}
.faq details[open] p{border-left:1px solid #e6e2d755;padding-left:18px;color:#c6c8bf}
.lead-form{--contact-focus:var(--signal)}.light-panel .lead-form{--contact-focus:var(--signal-on-light)}
.lead-form label:focus-within{color:var(--contact-focus)}
.lead-form input:focus,.lead-form textarea:focus{outline:2px solid var(--contact-focus);outline-offset:2px;border-color:var(--contact-focus)}
.lead-submit{background:var(--signal);border-color:var(--signal);color:var(--signal-ink);box-shadow:0 3px 0 #0000000d;transition:background .2s,transform .25s,box-shadow .25s}
.lead-submit:hover:not(:disabled){filter:none;background:#f2efe6;border-color:#f2efe6;transform:translateY(-2px);box-shadow:0 8px 20px #1820141a}
.lead-submit>b{transition:transform .25s}.lead-submit:hover:not(:disabled)>b{transform:translate(3px,-3px)}
.lead-submit:active:not(:disabled){transform:translateY(0);box-shadow:none}.lead-submit:focus-visible{outline-color:var(--contact-focus)}
.lead-form .form-intro>span,.lead-form .lead-privacy{opacity:1}
.light-panel .lead-form .lead-privacy{color:#59634e}.image-dialog[open]{animation:dialog-arrive .24s cubic-bezier(.2,.7,.2,1)}
.image-dialog[open]::backdrop{animation:dialog-backdrop .24s ease}.close-dialog{transition:background .2s,transform .25s}.close-dialog:hover{background:#2e3328;transform:rotate(8deg)}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes dialog-backdrop{from{opacity:0}to{opacity:1}}
@media(hover:none),(pointer:coarse){.project-hover-label{display:none}.projects>.project:active{border-color:#eee6d588}.case-index>a:active{background:#e6e2d70c}}
@media(max-width:700px){.projects>.project-scoobi .scoobi-phone-pair img{width:43%;flex-basis:43%}#expertise .service:before{left:-10px}#expertise .service:hover>h3{transform:none}.hero-description a b{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.project-hover-label{display:none}.projects>.project,.case-index>a,.step,.step-number,.faq summary,.lead-submit,.lead-submit>b,.hero-description a b,.close-dialog,#expertise .service:before,#expertise .service>h3{transition:none!important}.image-dialog[open],.image-dialog[open]::backdrop{animation:none}.projects>.project:hover>.piwi-card-photo,.projects>.project:hover>.scoobi-card-photo,.projects>.project:hover>.desrotulando-card-photo,.lead-submit:hover:not(:disabled),.case-index>a:hover>b,.hero-description a:hover b{transform:none!important}}
