/* Complementos de conteúdo e acessibilidade; os estilos originais estão preservados. */
html{overflow-x:clip}
main,.main-wrap{width:100%}
main h1:focus{outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
:focus-visible{outline:3px solid #616161;outline-offset:6px}
.theme-dark :focus-visible,.home-header :focus-visible{outline-color:#fff}
.skip-link{position:fixed;top:16px;left:16px;z-index:9999;background:#fff;color:#1d1d1d;padding:12px 22px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.home-header .academic-hero-title{font-family:'Dennis Sans',sans-serif;font-size:clamp(1.75em,2.3vw,2.8em);font-weight:450;line-height:1.4;margin:0;color:#fff}
.academic-hero-title span{display:block}
.academic-hero-subtitle{color:#fff;margin:.65em 0 1em;line-height:1.45}
.academic-hero-start{color:#fff;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:.35em;position:relative;z-index:2}
.home-header .academic-name{position:relative;display:flex;align-items:center;color:var(--color-white);line-height:1;font-size:max(9em,15vw);white-space:nowrap;pointer-events:none;margin:0;padding:0}
.draft-status{position:absolute;left:var(--container-padding);bottom:1.25em;margin:0;font-size:.75em;line-height:1.4;color:#4b4b4b}
.home-header .draft-status{color:#fff;background:#1d1d1d;padding:.45em .9em;bottom:15.8vh;left:2.5em;border-radius:2em}
.academic-header-intro{max-width:52em;margin-top:2em}
.academic-section{padding-top:1em;background:var(--color-white)}
.academic-prose{max-width:52em;margin:auto}
.academic-prose p{margin:0 0 1.5em;line-height:1.75}
.academic-block{margin:3.8em 0}
.academic-block h2{font-size:clamp(1.8em,3vw,2.65em);line-height:1.2;margin-bottom:.85em}
.academic-prose h3{font-size:1.15em;line-height:1.4;margin:1.8em 0 .65em}
.academic-prose blockquote{margin:2.5em 0;padding:1.25em 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:clamp(1.5em,3vw,2.3em);line-height:1.35}
.academic-prose strong{font-weight:800}
.academic-link{display:inline-block;text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px;overflow-wrap:anywhere;margin:0 0 1.5em;color:#505050}
.academic-link:hover{color:#1d1d1d}
.academic-pending{border-left:2px solid #616161;padding:1.4em 1.8em;margin:2.25em 0;background:#eaeaea}
.academic-pending h3{font-size:.85em;text-transform:uppercase;letter-spacing:.04em;margin:0 0 1em}
.academic-pending p:last-child{margin:0}
.academic-state{font-size:.9em;color:#4b4b4b}
.evidence-missing{padding:2em;border:1px dashed #9c9c9c;margin:2.5em 0}
.evidence-missing p{font-size:1.35em;margin:0 0 .5em}
.evidence-missing span{display:block;color:#4b4b4b;font-size:.9em;margin-bottom:1em}
.evidence-missing figcaption,.academic-evidence figcaption{font-size:.88em;line-height:1.65;color:#4b4b4b}
.academic-evidence{margin:3em 0}
.evidence-open{border:0;padding:1.5em;background:#eaeaea;width:100%;display:block;cursor:zoom-in;font:inherit;color:#1d1d1d;text-align:left}
.evidence-open img{display:block;width:100%;height:auto;max-height:800px;object-fit:contain}
.evidence-open span{display:block;margin:1em 0 0}
.evidence-open .evidence-toolbar{
 display:flex;justify-content:space-between;gap:1rem;margin:0 0 1rem;
 color:#4b4b4b;font-size:.7rem;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;
}
.evidence-toolbar span{margin:0}
.academic-evidence figcaption{margin-top:1.25em}
.academic-next{border-top:1px solid var(--color-border);margin-top:4em;padding-top:2em;display:flex;gap:2em;justify-content:space-between;flex-wrap:wrap}
.professional-text{font-size:1.3em;line-height:1.8;margin:2em 0}
.academic-avatar{display:inline-flex!important;align-items:center;justify-content:center;background:#616161!important;color:white;vertical-align:middle}
.academic-avatar>span{font-size:.28em;line-height:1}
.fixed-nav .nav-row .btn-text-inner{font-size:clamp(1.2em,2.6vw,2em);line-height:1.5;white-space:normal}
.fixed-nav .nav-row h5{margin-bottom:1.5em}
.fixed-nav .nav-row ul{padding-top:2vh}
.btn-link.btn-left-top .snellenberg{transform:translateX(4.05em)}
.btn-link.btn-left-top:hover .code-by,.btn-link.btn-left-top:hover .dennis{transform:translateX(-5.6em)}
.fixed-nav .nav-row{flex-grow:1}
.fixed-nav-inner{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.fixed-nav .social-row{padding-top:1em}
.fixed-nav a[aria-current=page] .btn-text-inner{color:#c4c4c4}
.default-header .draft-status{position:static;width:calc(100% - var(--container-padding) * 2);margin:2em auto 0}
.evidence-modal{position:fixed;margin:auto;padding:0;width:min(94vw,1100px);max-width:94vw;max-height:92vh;border:0;color:#1d1d1d;background:#fff;overflow:hidden}
.evidence-modal::backdrop{background:rgba(20,21,23,.85)}
.evidence-modal[open]{display:flex;flex-direction:column}
.evidence-modal header,.evidence-modal>p,.evidence-modal>a{flex-shrink:0}
.evidence-modal header button{white-space:nowrap;flex-shrink:0}
.evidence-modal .evidence-zoom{align-self:flex-start;margin:.6em 1.5em 0;font-size:.9em;min-height:44px;flex-shrink:0}
.evidence-modal .document-scroll{min-height:0}
.evidence-modal.is-zoomed img{width:auto;max-width:none}
.evidence-modal header{display:flex;gap:1em;align-items:center;justify-content:space-between;padding:1.2em 1.5em;border-bottom:1px solid #d2d2d2}
.evidence-modal h2{font-size:1.15em;margin:0}
.evidence-modal button{background:#1d1d1d;color:white;border:0;padding:.7em 1em;cursor:pointer;font:inherit}
.evidence-modal .document-scroll{overflow:auto;max-height:65vh;padding:1.5em;overscroll-behavior:contain}
.evidence-modal img{width:100%;height:auto;display:block}
.evidence-modal p,.evidence-modal>a{font-size:.9em;margin:1em 1.5em;display:block;line-height:1.5}
.evidence-modal>a{text-decoration:underline}
.academic-read-status{position:fixed;bottom:1em;left:1em;z-index:8;font-size:.7em;background:#fff;color:#1d1d1d;border-radius:2em;padding:.45em 1em;max-width:70vw;box-shadow:0 1px 8px #0001}
@media(max-width:720px){
 .home-header .academic-hero-title{font-size:1.8em}
 .academic-hero-subtitle{font-size:.85em;margin:.4em 0}
 .academic-hero-start{font-size:.9em}
 .home-header .container{padding-bottom:calc(var(--vh,1vh) * 9)}
 .home-header .big-name{bottom:calc(var(--vh,1vh) * 42)}
 .home-header .draft-status{bottom:calc(var(--vh,1vh) * 11);left:var(--container-padding);font-size:.6em}
 .fixed-nav .nav-row .btn-text-inner{font-size:1.4em}
 .academic-pending{padding:1.3em}
 .evidence-missing{padding:1.5em}
 .academic-next{gap:1em}
 .academic-prose p{line-height:1.65}
 .professional-text{font-size:1.15em}
 .academic-read-status{display:none}
}
@media(max-width:540px){
 .work-filters .filter-row{flex-wrap:wrap;gap:1em}
 .work-filters .toggle-row{display:flex;flex-wrap:wrap;gap:.5em;width:100%}
 .work-filters .toggle-row .btn{font-size:.72em;margin:0}
 .fixed-nav-inner{padding-bottom:2em}
 .fixed-nav .nav-row .btn-text-inner{font-size:1.25em}
 .btn-link.btn-left-top:hover .code-by,.btn-link.btn-left-top:hover .dennis{transform:none}
 .default-header h1{overflow-wrap:anywhere}
 .evidence-modal header{padding:1em}
 .evidence-modal h2{font-size:1em}
 .evidence-modal .document-scroll{padding:.6em}
}
/* A preferência desliga o motor de movimento sem alterar a edição normal da base. */
html.reduced-motion{overflow:auto!important}
.reduced-motion main,.reduced-motion .main-wrap{position:relative;height:auto;overflow:visible;will-change:auto}
.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.reduced-motion .loading-container,.reduced-motion .no-scroll-overlay,.reduced-motion .mouse-pos-list-image,.reduced-motion .mouse-pos-list-btn,.reduced-motion .mouse-pos-list-span{display:none!important}
.reduced-motion .once-in,.reduced-motion .animate,.reduced-motion [data-scroll-container],.reduced-motion [data-scroll-section]{opacity:1!important;visibility:visible!important;transform:none!important}
.reduced-motion .big-name .name-wrap{transform:none!important}
.reduced-motion [data-scroll],.reduced-motion .footer-wrap,.reduced-motion .footer-wrap [style*="transform"]{transform:none!important}
.reduced-motion .big-name .name-wrap~.name-wrap{display:none!important}
.reduced-motion .big-name .academic-name{font-size:9vw;white-space:normal;padding:0 3vw}
.reduced-motion .btn-hamburger{transform:none!important;visibility:visible!important}
.reduced-motion .btn-menu{visibility:hidden}
@media(min-width:541px){.reduced-motion .nav-bar{padding-right:8em}}
.reduced-motion [data-bg]{background-image:var(--static-image)}
/* Correções de leitura, sem substituir os componentes da base. */
.small-work-grid .work-items li.visible{max-height:none}
.work-tiles-home .container ul li.visible{display:block}
.small-work-grid .work-items .flex-col:first-child{padding-right:1.25em}
.work-grid .work-items h4{line-height:1.15}
.work-grid .work-items a:hover{opacity:1;color:#505050}
.btn-click:focus-visible,.btn-link .btn-click:focus-visible{outline:3px solid #505050;outline-offset:5px}
.theme-dark .btn-click:focus-visible{outline-color:#fff}
.home-header .personal-image::after{content:"";position:absolute;inset:0;background:rgba(28,29,32,.33);pointer-events:none}
.theme-dark h5{color:#c1c1c1;opacity:1;font-size:.75em}
.grid-sub-title h5,.case-intro h5{color:#595959;opacity:1;font-size:.75em}
.fixed-nav .nav-row .btn-link .btn-click{min-height:40px}
.fixed-nav .nav-row ul{padding-bottom:1em}
html.menu-open:not(.has-scroll-smooth){overflow:hidden!important}
.no-script-nav{display:flex;flex-wrap:wrap;gap:1em;padding:2em var(--container-padding);background:#eaeaea}
.no-script-nav a{text-decoration:underline}
.academic-block[id]{scroll-margin-top:2em}
.draft-status{opacity:1!important}
@media(min-width:721px) and (max-width:1024px){
 .about-services .row:nth-child(2){flex-direction:column;margin:0}
 .about-services .row:nth-child(2) .flex-col{width:100%;padding:0;margin-bottom:2em}
}
@media(max-width:540px){
 .work-filters .toggle-row .btn-click{min-height:44px}
 .fixed-nav .social-row .btn-click{min-height:44px}
 .evidence-modal{max-height:94dvh}
 .evidence-modal .document-scroll{max-height:55dvh}
}
@media print{
 @page{size:A4;margin:18mm}
 main,[data-scroll-container]{position:static!important;width:100%!important}
 .main-wrap::after{display:none!important}
 .grid-rows-part,.large-work-grid{display:block!important;height:auto!important}
 .grid-columns-part,.work-tiles-home,.work-filters{display:none!important}
 .work-items li{max-height:none!important;opacity:1!important;transform:none!important}
 html,body,main,[data-scroll-container],[data-scroll-section]{height:auto!important;min-height:0!important;max-height:none!important;transform:none!important;overflow:visible!important;opacity:1!important;background:#fff!important;color:#1d1d1d!important}
 .loading-container,.no-scroll-overlay,.nav-bar,.fixed-nav,.btn-hamburger,.fixed-nav-back,.mouse-pos-list-image,.mouse-pos-list-btn,.mouse-pos-list-span,.footer-wrap,.footer-rounded-div,.skip-link,.academic-read-status{display:none!important}
 .section{padding:1em 0!important}.container{padding:0!important;max-width:none!important}.once-in,.animate{opacity:1!important;transform:none!important}
 h1,h2,h3{break-after:avoid}figure,.academic-pending{break-inside:avoid}a{color:#1d1d1d!important}.draft-status{position:static;margin:1em 0}
 .evidence-open img{max-height:none}.evidence-open span{display:none}
}

/* A capa e o índice compartilham a linguagem de uma publicação numerada. */
@media screen{
 :root{
  --edition-ink:#171717;
  --color-blue:#3a3a3a;
  --color-blue-dark:#242424;
  --edition-paper:#f7f7f7;
  --edition-rule:#dadada;
  --edition-accent:#494949;
 }
 .home-header {
  --marquee-size: max(5rem, 16vw);
  --marquee-inset: clamp(.85rem, 3svh, 2rem);
  min-height: 100svh;
  padding: 6rem 0 calc(var(--marquee-size) + var(--marquee-inset) + 1.25rem);
  background: var(--edition-ink);
  align-items: center;
  isolation: isolate;
 }
 .home-header .personal-image-wrap {
  inset: 0 0 0 auto;
  width: 72%;
  height: 100%;
  transform: none;
  z-index: -1;
 }
 .home-header .personal-image {
  inset: 0;
  height: 100%;
  background: transparent;
  mask-image: linear-gradient(to right, transparent, black 34%);
 }
 .home-header .personal-image img {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  transform: none;
  object-fit: cover;
  object-position: center top;
 }
 .home-header .personal-image::after {
  display: block;
  background: linear-gradient(90deg, #171717 0%, transparent 64%);
 }
 .home-header .hanger,.home-header .header-above-h4 { display: none; }
 .home-header .container { padding-bottom: 0; pointer-events: none; }
 .home-header .row { justify-content: flex-start; }
 .home-header .row .flex-col { width: 50%; pointer-events: auto; }
 .edition-kicker{
  display:flex;align-items:center;flex-wrap:wrap;gap:.75em;
  margin:0 0 1.8em;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  font-weight:600;color:#535353;
 }
 .edition-kicker span{border-left:1px solid currentColor;padding-left:.75em}
 .home-header .edition-kicker{color:#cacaca}
 .home-header .academic-hero-title{
  font-size:clamp(2.8rem,min(6.35vw,12svh),7.25rem);line-height:1.02;letter-spacing:-.025em;
  font-weight:450;color:#f7f7f7;
 }
 .home-header .academic-hero-title span { white-space: nowrap; }
 .home-header .academic-hero-subtitle{font-size:clamp(1rem,1.55vw,1.35rem);margin:1em 0;color:#e8e8e8}
 .home-header .edition-author{font-size:1rem;line-height:1.45;color:#f7f7f7;margin:0}
 .edition-author small{display:block;color:#cacaca;font-size:.83em;margin-top:.2em}
 .edition-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:1.125rem}
 .edition-actions a{
  display:inline-flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem 0;
  border-bottom:1px solid #959595;color:#f7f7f7;font-size:.94rem;
  transition:border-color .22s,color .22s;
 }
 .edition-actions a:hover{color:#c8c8c8;border-color:#c8c8c8}
 .home-header .big-name {
  bottom: var(--marquee-inset);
  padding: 0;
  border: 0;
 }
 .home-header .big-name .name-wrap {
  width: max-content;
  flex: none;
 }
 .home-header .big-name .academic-name {
  font-size: var(--marquee-size);
  font-weight: 450;
  letter-spacing: 0;
  color: #fff;
  white-space: nowrap;
  text-shadow: 0 2px 24px #0005;
 }
 .reduced-motion .home-header .big-name .academic-name {
  font-size: clamp(1.6rem, 6vw, 7rem);
  white-space: normal;
  padding-inline: var(--container-padding);
 }
 .reduced-motion .home-header .big-name .spacer { display: none; }
 .home-intro .flex-col:nth-child(2) .btn {
  position: relative;
  inset: auto;
  transform: none;
 }
 .home-intro .flex-col:nth-child(2) p { margin-bottom: 2rem; }
 .footer-wrap.theme-dark .footer {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: clamp(5rem, 11vh, 8rem);
 }
 .footer .container.medium,
 .footer .container.no-padding {
  width: min(68vw, 74rem);
  max-width: none;
  padding-inline: 0;
 }
 .footer .container.medium { margin-block: auto; }
 .footer .bottom-footer {
  gap: 1.5rem;
  padding: clamp(2.5rem, 7vh, 5.5rem) 0 1.5rem;
 }
 .footer .bottom-footer .socials { text-align: right; }
 .footer .academic-avatar {
  object-fit: cover;
  object-position: center 38%;
  border-radius: 50%;
  transform: translateY(-.1em);
 }
 .home-intro,.work-grid,.work-tiles,.work-filters,.default-header:not(.theme-dark),.case-intro,.academic-section{
  background:var(--edition-paper);
 }
 .default-header:not(.theme-dark) h1{
  color:var(--edition-ink);letter-spacing:-.062em;text-wrap:balance;
 }
 .case-header{padding-top:clamp(7.5rem,14vw,13rem);padding-bottom:clamp(1rem,4vw,3rem)}
 .case-header h1{font-size:clamp(2.8rem,6.25vw,6.5rem);line-height:1.02;max-width:18ch}
 .case-intro{padding-top:1rem;padding-bottom:clamp(2rem,5vw,4.5rem)}
 .case-intro .row .flex-col .stripe{margin:.9rem 0 .75rem;background:var(--edition-rule)}
 .case-intro p{color:#444444}
 .academic-prose{max-width:48rem}
 .academic-prose p{color:#323232}
 .academic-block{border-top:1px solid var(--edition-rule);padding-top:1.6rem}
 .academic-block h2{color:var(--edition-ink);letter-spacing:-.035em;text-wrap:balance}
 .academic-prose blockquote{color:#383838;border-color:var(--edition-rule);letter-spacing:-.03em}
 .academic-link{color:#494949}
 .academic-pending{border-color:#656565;background:#ececec}
 .evidence-open{padding:clamp(.85rem,2.3vw,1.5rem);background:#f0f0f0;border:1px solid var(--edition-rule)}
 .evidence-open img{background:#fff}
 .academic-evidence figcaption{margin-top:.7rem;color:#4f4f4f}
 .work-grid .work-items h4{letter-spacing:-.04em}
 .work-grid .work-items a:hover{color:var(--edition-accent)}
 .fixed-nav,.footer-wrap{background:var(--edition-ink)}
 .academic-avatar{background:#525252!important}
}

@media screen and (max-width: 780px) {
 .home-header {
  padding-top: max(17rem, 44svh);
  align-items: flex-end;
 }
 .home-header .container { padding-bottom: 0; }
 .home-header .row .flex-col { width: 100%; }
 .home-header .academic-hero-title { font-size: clamp(2.15rem, 9.6vw, 4.75rem); }
 .home-header .personal-image-wrap { width: 100%; }
 .home-header .personal-image { mask-image: none; }
 .home-header .personal-image img { object-position: center 18%; }
 .home-header .personal-image::after {
  background: linear-gradient(180deg, transparent 23%, #171717 71%);
 }
 .home-header .edition-kicker { margin-bottom: 1rem; }
 .home-header .academic-hero-subtitle { margin: .65em 0; }
 .home-header .edition-actions { margin-top: .55rem; }
 .footer .container.medium,
 .footer .container.no-padding { width: calc(100% - 2 * var(--container-padding)); }
 .footer .bottom-footer { flex-wrap: wrap; }
 .footer .bottom-footer .socials { text-align: left; }
}
@media screen and (max-width:510px){
 .case-header h1{font-size:clamp(2.45rem,10vw,3.6rem)}
 .case-intro .row .flex-col{margin-bottom:1rem}
}

/* O ponto acompanha cada palavra; a cortina usa transform, sem recalcular o layout. */
.loading-screen{will-change:transform}
.loading-container .rounded-div-wrap{display:none}
.loading-screen::after{content:"";position:absolute;left:0;top:99%;width:100%;height:10%;border-radius:0 0 50% 50%;background:inherit}
.loading-container .loading-words{width:100%;height:1.4em;font-size:clamp(2rem,5vw,4.5rem)}
.loading-container .loading-words h2{align-items:center;gap:.45em;padding:0;font-size:inherit;line-height:1.4;font-weight:450}
.loading-container .loading-words h2.active{display:flex}
.loading-container .loading-words .dot{position:static;flex:0 0 .15em;width:.15em;height:.15em;transform:none}
