
*{box-sizing:border-box;hyphens:none;-webkit-hyphens:none}
:root{--px:48px}
body{margin:0;background:var(--paper)}
a{color:inherit;text-decoration:none}
a{text-underline-offset:4px}
a:hover{text-decoration:underline}
.root{width:100%;display:flex;flex-direction:column;background:var(--paper);color:var(--blue);font:var(--text-body)}
.hd{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:24px var(--px);align-items:start}
.hd .lg{grid-column:1 / span 6;grid-row:1;display:flex;align-items:center;height:20px;color:inherit}
.logo{display:block;height:14px;width:auto}
.hd .nm{grid-column:7 / span 6;grid-row:1;font:400 13px/20px var(--font-sans);white-space:nowrap}
.hd nav{grid-column:7 / span 6;grid-row:2;margin-top:4px;display:flex;flex-direction:column;gap:4px}
.hd nav a{font:400 13px/20px var(--font-sans)}
.hd nav a.on{text-decoration:underline}
.hd{position:relative;z-index:10}
.hd .mt,.hd .mb{display:none}
.hd nav.row{flex-direction:row;gap:24px}
.ft{margin-top:auto;border-top:1px solid var(--blue);display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;padding:10px var(--px);background:transparent;color:var(--blue)}
.root.home{background:var(--blue)}
.root.home .ft{color:var(--paper);border-top:0}
.ft .cp{font:400 13px/16px var(--font-sans);white-space:nowrap}
.ft .ln{display:flex;gap:24px}
.ft .ln a{font:400 13px/16px var(--font-sans)}
.pt{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;padding:clamp(150px,30vh,300px) var(--px) 96px;align-items:baseline}
.pt h1{grid-column:1 / span 6;margin:0;font:var(--text-display);font-size:25.888px;text-transform:lowercase}
.cl{grid-column:7 / span 6;display:flex;flex-direction:column;gap:48px}
.cl p{margin:0;font:var(--text-body)}
.cl .ps{display:flex;flex-direction:column;gap:24px}
.cl .ln2{}
.cl .rt{display:block;width:min(100%,200px);aspect-ratio:1 / 1;height:auto}
.cl .lk{display:flex;flex-direction:column;gap:8px}
.cl .lk a{font:400 13px/20px var(--font-sans)}
@media (max-width:900px){:root{--px:24px}}
@media (min-width:801px) and (max-width:960px){
  .hd .mb{display:block;grid-column:12;grid-row:1;justify-self:end;text-align:right;font:400 13px/20px var(--font-sans);cursor:pointer;user-select:none}
  .hd .mt:checked ~ .mb{text-decoration:underline}
  .hd nav.row{display:none;position:absolute;left:0;right:0;top:100%;margin:0;grid-column:auto;grid-row:auto;flex-direction:column;gap:16px;padding:8px var(--px) 32px;background:var(--blue);color:var(--paper)}
  .hd .mt:checked ~ nav{display:flex;position:fixed;left:0;right:0;top:0;bottom:0;height:100vh;height:100dvh;justify-content:flex-end;align-items:flex-start;padding:96px var(--px) calc(32px + env(safe-area-inset-bottom,0px));background:var(--blue);color:var(--paper);z-index:1}
  .hd .mt:checked ~ .lg,.hd .mt:checked ~ .nm,.hd .mt:checked ~ .mb{position:relative;z-index:2;color:var(--paper)}
  html:has(.mt:checked){overflow:hidden}
  .hd nav a{font:400 20px/28px var(--font-sans)}
}
@media (max-width:800px){
  :root{--px:16px}
  .hd{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:0;padding:16px var(--px)}
  .hd .lg{grid-column:1}.hd .nm{grid-column:3;white-space:normal}
  .hd .mb{display:block;grid-column:4;grid-row:1;justify-self:end;text-align:right;font:400 13px/20px var(--font-sans);cursor:pointer;user-select:none}
  .hd .mt:checked ~ .mb{text-decoration:underline}
  .hd nav,.hd nav.row{display:none;position:absolute;left:0;right:0;top:100%;margin:0;grid-column:auto;grid-row:auto;flex-direction:column;gap:16px;padding:8px var(--px) 32px;background:var(--blue);color:var(--paper)}
  .hd .mt:checked ~ nav{display:flex;position:fixed;left:0;right:0;top:0;bottom:0;height:100vh;height:100dvh;justify-content:flex-end;align-items:flex-start;padding:96px var(--px) calc(32px + env(safe-area-inset-bottom,0px));background:var(--blue);color:var(--paper);z-index:1}
  .hd .mt:checked ~ .lg,.hd .mt:checked ~ .nm,.hd .mt:checked ~ .mb{position:relative;z-index:2;color:var(--paper)}
  html:has(.mt:checked){overflow:hidden}
  .hd nav a{font:400 20px/28px var(--font-sans)}
  .ft{padding:8px var(--px)}
  .pt{row-gap:32px;padding:clamp(120px,26vh,220px) var(--px) 64px}
  .pt h1,.cl{grid-column:1 / -1}
  .cl{padding-top:0}
}

    .hero{flex:1 1 auto;display:flex;flex-direction:column;background:var(--blue);color:var(--paper)}
    .shelfwrap{flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-end;padding:16px var(--px) 96px}
    .shelf{width:100%;padding-top:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;align-items:end}
    .hl{grid-column:1 / span 2;grid-row:1;margin:0 0 24px;font:var(--text-display);font-size:25.888px;line-height:1.2;text-transform:lowercase;color:var(--paper)}
    .sc{grid-column:3 / span 2;grid-row:1;container-type:inline-size}
    .fio{grid-column:1 / -1;grid-row:2}
    .stack{--W:967.11;--H:695.31;--chrome:246px;--u:min(calc(100cqw / var(--W)), calc((100vh - var(--chrome)) / var(--H)));position:relative;overflow:hidden;margin:0;width:calc(var(--W) * var(--u));height:calc(var(--H) * var(--u))}
    .fio{height:2px;background:var(--paper);width:100%}
    .it{position:absolute;display:block;left:calc(var(--x) * var(--u));bottom:calc(var(--y) * var(--u));width:calc(var(--bw) * var(--u));height:calc(var(--bh) * var(--u));transition:transform .2s ease}
    .it:hover{transform:translateY(-6px);text-decoration:none}
    .it svg{position:absolute;left:0;top:0;width:100%;height:100%;display:block;overflow:hidden}
.it .p{fill:var(--paper)}
    .it .b{fill:var(--blue)}
    .it.lean{transform-origin:bottom right;transform:rotate(var(--a,6deg))}
.it.lean:hover{transform:translateY(-6px) rotate(var(--a,6deg))}
    .it.leanl{transform-origin:bottom left;transform:rotate(calc(var(--a,6deg) * -1))}
.it.leanl:hover{transform:translateY(-6px) rotate(calc(var(--a,6deg) * -1))}
    .egg{position:absolute;left:calc(var(--ex) * var(--u));bottom:0;width:calc(var(--ed) * var(--u));height:calc(var(--ed) * var(--u));border-radius:50%;background:var(--paper)}
    .stack{--ex:0;--ed:0}
    .b1{--x:-0.2639898622029122;--y:0.00;--bw:48.19;--bh:430.87;--sw:48.19;--sh:430.87;--rot:0deg;--a:6deg}
.b2{--x:94.26418910593092;--y:0.00;--bw:68.03;--bh:680.31;--sw:68.03;--sh:680.31;--rot:0deg;--a:6deg}
.b3{--x:210.53452903496466;--y:0.00;--bw:28.35;--bh:538.58;--sw:28.35;--sh:538.58;--rot:0deg;--a:5deg}
.b4{--x:304.3963533826059;--y:0.00;--bw:51.02;--bh:510.24;--sw:51.02;--sh:510.24;--rot:0deg;--a:7deg}
.b5{--x:357.1092674506129;--y:0.00;--bw:51.02;--bh:674.65;--sw:51.02;--sh:674.65;--rot:0deg;--a:7deg}
.b6{--x:491.6484199788956;--y:0.00;--bw:36.85;--bh:595.28;--sw:36.85;--sh:595.28;--rot:0deg;--a:6deg}
.b7{--x:570.3905396697966;--y:0.00;--bw:28.35;--bh:538.58;--sw:28.35;--sh:538.58;--rot:0deg;--a:5deg}
.b8{--x:600.2295834298168;--y:0.00;--bw:48.19;--bh:637.8;--sw:48.19;--sh:637.8;--rot:0deg;--a:5deg}
.b9{--x:649.8653102320956;--y:0.00;--bw:36.85;--bh:510.24;--sw:36.85;--sh:510.24;--rot:0deg;--a:5deg}
.b10{--x:732.6604916983695;--y:0.00;--bw:31.3225;--bh:626.4585;--sw:31.3225;--sh:626.4585;--rot:0deg;--a:6deg}
.b11{--x:811.9829916983695;--y:0.00;--bw:42.52;--bh:530.08;--sw:42.52;--sh:530.08;--rot:0deg;--a:6deg}
.b12{--x:909.7302711827845;--y:0.00;--bw:56.69;--bh:515.91;--sw:56.69;--sh:515.91;--rot:0deg;--a:6deg}

    @media (max-width:800px){
      .shelfwrap{padding:16px var(--px) 56px}
      .shelf{display:block}
      .hl{margin:0 0 24px}
      .stack{--W:967.11;--H:695.31;--chrome:333px;--ex:0;--ed:0}
    }
    
/* regras do site: sem hifenização · alvos de toque ≥44px · placeholder de imagem */
p{text-wrap:pretty}
.hd .lg,.hd nav a,.hd .mb,.ft .ln a,.cl .lk a{position:relative}
.hd .lg::after,.hd nav a::after,.hd .mb::after,.cl .lk a::after{content:"";position:absolute;inset:-12px -8px}
.ft .ln a::after{content:"";position:absolute;inset:-14px -8px}
@media (max-width:800px){.hd nav a::after{inset:-8px -8px}}
.pn a,.pn button{min-height:44px;display:inline-flex;align-items:center;padding-block:0!important}
.gal .it img,.gp img{background:var(--paper)}
@media (max-width:960px){.hd .mt{display:block;position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}.hd .mt:focus-visible ~ .mb{outline:2px solid currentColor;outline-offset:4px}}

a:focus-visible,button:focus-visible,label:focus-visible{outline:2px solid currentColor;outline-offset:4px}


.idx{padding:0 var(--px) 96px;display:flex;flex-direction:column;color:var(--paper)}
.idx a{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;align-items:baseline;min-height:56px;padding:14px 0;border-bottom:1px solid var(--blue);font:400 13px/20px var(--font-sans)}
.idx a:first-child{border-top:0}
.idx .t{grid-column:1 / span 2;font:400 20px/28px var(--font-sans)}.idx .k{grid-column:3}.idx .y{grid-column:4;justify-self:end}
.idx a:hover{text-decoration:none}.idx a:hover .t{text-decoration:underline;text-underline-offset:4px}
@media (max-width:800px){.shelfwrap{padding-bottom:40px}.idx a{grid-template-columns:minmax(0,1fr) auto;row-gap:0}.idx .t{grid-column:1 / -1}.idx .k{grid-column:1}.idx .y{grid-column:2}}

/* rodapé grande · menu mobile · transições */
.ft.ft2{display:block;margin-top:auto;border-top:0;background:var(--blue);color:var(--paper);padding:64px var(--px) 24px}
.root.home .ft.ft2{border-top:0}
.ft2 a{color:inherit;position:relative}
.ft2 a::after{content:"";position:absolute;inset:-12px -8px}
.ft2 .f-top,.ft2 .f-cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.ft2 .f-mail{grid-column:1 / span 6;font:400 20px/28px var(--font-sans);text-decoration:underline;text-underline-offset:4px}
.ft2 .f-clock{grid-column:7 / span 6;display:flex;flex-direction:column;font:400 13px/20px var(--font-sans)}
.ft2 .f-cols{margin-top:96px;font:400 13px/20px var(--font-sans)}
.ft2 .f-c{display:flex;flex-direction:column;gap:4px}
.ft2 .f-c1{grid-column:7 / span 3}.ft2 .f-c2{grid-column:10 / span 3}
.ft2 .f-mark{container-type:inline-size;margin-top:96px;overflow:visible}
.ft2 .f-mark span{display:block;white-space:nowrap;font:400 calc(100cqw / 6.28)/.8 var(--font-sans);letter-spacing:0;padding-bottom:.06em}
.ft2 .f-bot{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:24px;font:400 13px/16px var(--font-sans)}
.ft2 .cp{white-space:nowrap}
@media (max-width:800px){
  .ft.ft2{padding:48px var(--px) 16px}
  .ft2 .f-top{grid-template-columns:minmax(0,1fr);row-gap:48px}
  .ft2 .f-mail,.ft2 .f-clock{grid-column:1 / -1}
  .ft2 .f-cols{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:64px;column-gap:16px}
  .ft2 .f-c1{grid-column:1}.ft2 .f-c2{grid-column:2}
  .ft2 .f-mark{margin-top:64px}
}
.hd nav .mx{display:none}
@media (max-width:960px){
  .hd .mt:checked ~ nav{justify-content:flex-start;gap:8px;overflow-y:auto}
  .hd .mt:checked ~ nav a{font:400 32px/40px var(--font-sans)}
  .hd .mt:checked ~ nav .mx{display:flex;flex-direction:column;align-items:flex-start;gap:8px;order:2;width:100%;margin-top:auto;padding-top:24px;border-top:1px solid var(--paper);font:400 13px/20px var(--font-sans)}
  .hd .mt:checked ~ nav .mx a{font:400 13px/20px var(--font-sans)}
}

.fio{position:relative;background:var(--paper)}
.fio::after{content:"";position:absolute;inset:0;background:var(--paper);transform-origin:left;animation:fiocut 1.3s .4s cubic-bezier(.7,0,.2,1) both}
@keyframes fiocut{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.fio::after{animation:none}}
.idx a{position:relative}
.idx .pv{display:none}
@media (hover:hover) and (min-width:801px){
  .idx .pv{display:block;position:absolute;left:calc(50% + 12px);top:50%;z-index:5;width:calc((100% - 72px) / 4);aspect-ratio:4 / 5;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .18s ease}
  .idx .pv img{display:block;width:100%;height:100%;object-fit:cover}
  .idx a:hover .pv,.idx a:focus-visible .pv{opacity:1}
}

/* lombadas: rotação dentro do SVG (sem serrilhado) · queda · hover */
.it{transition:translate .5s cubic-bezier(.34,1.56,.64,1);animation:drop .95s backwards}
.it:hover{translate:0 -14px;transform:none;text-decoration:none}
.it svg{overflow:visible}
.it .rg{transform-box:fill-box;transform-origin:50% 100%;transform:rotate(var(--r,0deg));transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.it.lean,.it.lean:hover,.it.leanl,.it.leanl:hover{transform:none}
.it.lean .rg{--r:var(--a,6deg);transform-origin:100% 100%}
.it.leanl .rg{--r:calc(var(--a,6deg) * -1);transform-origin:0% 100%}
.it:hover .rg{transform:rotate(calc(var(--r,0deg) + var(--hd,1.6deg)))}
.it.lean{--hd:2.2deg}.it.leanl{--hd:-2.2deg}
@keyframes drop{0%{translate:0 -90px;opacity:0;animation-timing-function:cubic-bezier(.5,0,.9,.5)}12%{opacity:1}52%{translate:0 0;animation-timing-function:cubic-bezier(.2,.6,.4,1)}68%{translate:0 -9px;animation-timing-function:cubic-bezier(.5,0,.9,.5)}82%{translate:0 0;animation-timing-function:cubic-bezier(.2,.6,.4,1)}91%{translate:0 -3px;animation-timing-function:cubic-bezier(.5,0,.9,.5)}100%{translate:0 0}}
.it.b1{animation-delay:1.93s}.it.b2{animation-delay:2.29s}.it.b3{animation-delay:1.75s}.it.b4{animation-delay:2.11s}.it.b5{animation-delay:2.56s}.it.b6{animation-delay:1.84s}.it.b7{animation-delay:2.38s}.it.b8{animation-delay:2.02s}.it.b9{animation-delay:2.65s}.it.b10{animation-delay:2.20s}.it.b11{animation-delay:2.47s}.it.b12{animation-delay:2.74s}
/* abertura: corte serrilhado */
@keyframes cutdraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes introa{to{transform:translateY(-100%)}}
@keyframes introb{to{transform:translateY(100%)}}
@keyframes introhide{to{visibility:hidden}}
.hero{flex:none;min-height:100vh;min-height:100svh}
.shelfwrap{flex:1 1 auto;min-height:0;padding-bottom:48px}
.idx{background:var(--blue)}
.fio::after{animation-delay:2.1s}
@media (prefers-reduced-motion:reduce){.intro{display:none}.it{animation:none}.fio::after{animation:none;transform:scaleX(0)}}

/* bento · blocos arredondados */
:root{--rad:12px;--tint:var(--paper);--gap:12px}
@media (max-width:800px){:root{--rad:12px}}
.root:not(.home) .ft.ft2{margin:0 var(--gap) var(--gap);border-radius:var(--rad)}
.gal .it img,.gp img{border-radius:12px}

.bn{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(170px,15.5vw,230px);gap:var(--gap);padding:clamp(88px,14vh,140px) var(--px) 96px}
.bk{border-radius:var(--rad);padding:24px;background:var(--tint);display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;overflow:hidden;color:var(--blue)}
.bk h1{margin:0;font:var(--text-display);font-size:25.888px;text-transform:lowercase}
.bk p{margin:0;font:var(--text-body)}
.bk .lb{font:400 13px/20px var(--font-sans)}
.bk.blue{background:var(--blue);color:var(--paper)}
.bk.pic{padding:0;grid-column:5 / span 4;grid-row:1 / span 2}
.bk.pic img{display:block;width:100%;height:100%;object-fit:cover}
a.bk{font:400 20px/28px var(--font-sans);flex-direction:row;align-items:flex-end}
a.bk:hover{text-decoration:none}a.bk:hover span:first-child{text-decoration:underline;text-underline-offset:4px}
.bk.mail .em{display:flex;flex-wrap:wrap;align-items:center;column-gap:24px;font:400 25.888px/32px var(--font-sans)}
.bk.mail .cb{font:400 13px/20px var(--font-sans)}
@media (max-width:800px){.bn{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;padding-top:104px;padding-bottom:64px}.bk,.bk.pic{grid-column:1 / -1!important;grid-row:auto!important;min-height:140px}.bk.pic{aspect-ratio:1 / 1;min-height:0}.bk.half{grid-column:span 1!important}.bk.mail .em{font-size:20px;line-height:28px}}

.shelfwrap{padding:16px var(--px) 48px}
@media (max-width:800px){.shelfwrap{padding:16px var(--px) 40px}}
.idx{margin:var(--gap) var(--px) 96px;padding:8px 24px;border-radius:var(--rad);background:var(--paper);color:var(--blue)}
.idx a:last-child{border-bottom:0}
/* abertura: nome grande cortado ao meio */
@keyframes wfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.intro .w{animation:none}}
/* abertura: nome grande, a cortina sobe */
@keyframes introup{to{transform:translateY(-100%)}}
.idx{padding:12px 12px 4px}
.idx .t,.idx .k,.idx .y{font:300 20px/28px var(--font-sans)}
.idx .ih{font:400 20px/28px var(--font-sans)}
.idx .ih{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;padding:8px 28px 12px;font:400 20px/28px var(--font-sans)}
.idx .ih span:nth-child(1){grid-column:1 / span 2}.idx .ih span:nth-child(2){grid-column:3}.idx .ih span:nth-child(3){grid-column:4;justify-self:end}
.idx a,.idx a:last-child{border:1px solid var(--blue);border-radius:12px;padding:12px 28px;min-height:64px;margin-bottom:8px}
.idx a:hover{background:var(--blue);color:var(--paper)}
@media (max-width:800px){.idx .ih{display:none}.idx a,.idx a:last-child{padding:12px 20px;border-radius:12px}}
/* menu mobile: info igual ao rodapé · fio serrilhado também no rodapé */
@media (max-width:960px){.hd .mt:checked ~ nav .mx a.mm{font:400 20px/28px var(--font-sans);text-decoration:underline;text-underline-offset:4px;margin-bottom:16px}}
.ft2 .f-cols{border-top:1px solid var(--paper);padding-top:24px;margin-top:64px}
.ft2 .f-bot{justify-content:flex-end}

/* menu mobile: marca grande igual ao rodapé */
@media (max-width:960px){.hd .mt:checked ~ nav .mx .mw{display:block;width:100%;container-type:inline-size;margin-top:24px;overflow:visible}.hd .mt:checked ~ nav .mx .mw b{display:block;white-space:nowrap;font:400 calc(100cqw / 6.28)/.8 var(--font-sans);padding-bottom:.06em}}
.ft2 .f-c2 .up{margin-top:72px;align-self:flex-start;border:1px solid var(--paper);border-radius:12px;padding:8px 18px;margin-left:-19px;text-decoration:none}
.ft2 .f-c2 .up:hover{background:var(--paper);color:var(--blue)}
.ft2 .f-mail{text-decoration-thickness:1px;text-underline-offset:8px}
.idx a:hover .t{text-decoration-thickness:1px;text-underline-offset:8px}
.idx{background:transparent;color:var(--paper);border-radius:0}
.idx a,.idx a:last-child{border-color:var(--paper)}
.idx a:hover{background:var(--paper);color:var(--blue)}
@media (max-width:960px){
/* hero mobile em tela cheia: linha a 90,6% da altura, nome centrado na guia de 32% */
.hero{position:relative;display:flex;flex-direction:column;flex:none;min-height:0;height:100vh;height:100svh}
.shelfwrap{flex:1 1 auto;position:static;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--px) 9.4svh}
.shelf{display:block;position:static}
.hl{position:absolute;left:var(--px);right:var(--px);top:32svh;transform:translateY(-50%);margin:0}
.stack{--u:min(calc(100cqw / var(--W)), calc(56svh / var(--H)));margin:0}
}
@media (min-width:961px){
/* hero em tela cheia: linha a 90,6% da altura, livros 73,7%, nome centrado entre a linha e a guia acima */
.hero{position:relative;flex:none;min-height:0;height:100vh;height:100svh}
.shelfwrap{position:absolute;left:0;right:0;bottom:9.4vh;bottom:9.4svh;padding:0 var(--px)}
.shelf{grid-template-columns:repeat(5,minmax(0,1fr))}
.hl{grid-column:1 / span 2;align-self:end;margin:0 0 calc(14.5vh - 31px);margin:0 0 calc(14.5svh - 31px)}
.sc{grid-column:3 / span 3}
.stack{--u:min(calc(100cqw / var(--W)), calc(77svh / var(--H)));margin:0}
}
@media (min-width:801px){
.idx{container-type:inline-size;--c5:calc((100cqw - 72px) / 5)}
.idx a,.idx .ih{grid-template-columns:calc(2 * var(--c5) - 17px) minmax(0,1fr) auto}
.idx .t,.idx .ih span:nth-child(1){grid-column:1}
.idx .k,.idx .ih span:nth-child(2){grid-column:2}
.idx .y,.idx .ih span:nth-child(3){grid-column:3;justify-self:end}
.idx .pv{left:calc(3 * var(--c5) + 59px);width:var(--c5)}
}
.intro{--fs:calc((100vw - 2 * var(--px)) / 6.28);--ih:calc(var(--fs) * .86 + 28px);position:fixed;inset:0;z-index:200;pointer-events:none;animation:introhide 0s 2.15s forwards}
.intro i{position:absolute;left:0;right:0;background:var(--paper);will-change:transform}
.intro i.a{top:0;bottom:50%;animation:introa .85s 1.3s cubic-bezier(.7,0,.2,1) forwards}
.intro i.b{bottom:0;height:50%;animation:introb .85s 1.3s cubic-bezier(.7,0,.2,1) forwards}
.intro b{position:absolute;left:var(--px);right:var(--px);top:0;height:2px;background:repeating-linear-gradient(90deg,var(--blue) 0 6px,transparent 6px 12px);transform-origin:left;animation:cutdraw .8s .2s cubic-bezier(.7,0,.2,1) both}
.intro .w{position:absolute;left:var(--px);right:var(--px);bottom:0;display:block;color:var(--blue);white-space:nowrap;font:400 var(--fs)/.8 var(--font-sans);padding-bottom:.06em;animation:wfade .7s .15s ease-out both}
.it .p{rx:6px;ry:6px}
.idx a,.idx a:last-child{align-items:center}
/* header em grade de 8 colunas (desktop) */
.hd .hc{display:none}
@media (min-width:961px){
.hd{grid-template-columns:repeat(5,minmax(0,1fr))}
.hd .lg{grid-column:1 / span 2}
.hd .nm,.hd nav,.hd nav.row{grid-column:3 / span 2}
.hd .hc{display:block;grid-column:5;grid-row:1;justify-self:end;font:400 13px/20px var(--font-sans);color:inherit;position:relative}
.hd .hc::after{content:"";position:absolute;inset:-12px -8px}
.hd .hc:hover{text-decoration:underline}
}
@media (min-width:801px){
.wk{grid-template-columns:repeat(5,minmax(0,1fr))}
.wk .lf{grid-column:1 / span 2}
.wk .rt{grid-column:3 / span 3}
.ft2 .f-top,.ft2 .f-cols{grid-template-columns:repeat(5,minmax(0,1fr))}
.ft2 .f-mail{grid-column:1 / span 2}
.ft2 .f-clock{grid-column:3 / span 3}
.ft2 .f-c1{grid-column:3}.ft2 .f-c2{grid-column:5}
}
.f-mark span,.intro .w,.mw b{word-spacing:-.06em}
.f-mark .kl,.intro .kl,.mw .kl{margin-right:-.045em}
.kl{font-style:normal;position:static!important;display:inline!important;background:none!important;transform:none!important;animation:none!important;height:auto!important}

/* lista: pílulas em paper · texto (título/ano) nas margens · arredondado para fora */
.idx{margin:calc(var(--gap) + 56px) var(--px) 96px;padding:0;background:transparent;color:var(--paper);border-radius:0}
.idx .ih{padding:8px 0 12px}
.idx .t{text-transform:lowercase}
.idx a,.idx a:last-child{background:transparent;color:var(--paper);border:1px solid var(--paper);border-radius:12px;padding:10px 28px;min-height:56px;margin:0 -29px 8px}
.idx a:hover{background:var(--paper);color:var(--blue)}
@media (min-width:801px){
.idx{--c5:calc((100cqw - 96px) / 5)}
.idx a,.idx .ih{grid-template-columns:calc(2 * var(--c5) + 24px) minmax(0,1fr) auto}
.idx .pv{left:calc(3 * var(--c5) + 100px);width:var(--c5)}
}
@media (max-width:800px){.idx a,.idx a:last-child{padding:10px 12px;border-radius:12px;margin:0 -13px 8px}}




/* kerning óptico do nome */
.q{font-style:normal;margin-right:calc(var(--k,0) * 1em)}

/* lista: sem sublinhado no hover · mockups de pré-visualização com fundo transparente */
.idx a:hover .t{text-decoration:none}
.idx .pv img{object-fit:contain;background:transparent}
@media (min-width:801px){.idx a,.idx a:last-child,.idx .ih{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:24px}.idx a>.t,.idx .ih span:nth-child(1){grid-column:1 / span 2}.idx a>.k,.idx .ih span:nth-child(2){grid-column:3 / span 2}.idx a>.y,.idx .ih span:nth-child(3){grid-column:5;justify-self:end}.idx a,.idx a:last-child{margin:0 calc(-1 * var(--ov)) 8px;padding-left:calc(var(--ov) - 1px);padding-right:calc(var(--ov) - 1px)}}
.root:not(.home) .ft.ft2{padding-left:calc(var(--px) - var(--gap));padding-right:calc(var(--px) - var(--gap))}
.root:not(.home) .ft.ft2{margin-left:calc(var(--px) - var(--ov));margin-right:calc(var(--px) - var(--ov));padding-left:var(--ov);padding-right:var(--ov)}
/*v3-start*/
:root{--ov:0px;--cg:24px;--rad:0px;--dash:1.5px dashed}
/* ── header: sem pílula; grade = início do logo / menu ── */
.hd{--hpt:24px;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--cg);padding:var(--hpt) var(--px);position:relative;z-index:10;align-items:start}
@media (max-width:800px){.hd{--hpt:16px}}
.hd::before{display:none!important}
.hd .lg{grid-column:1 / span 2;grid-row:1}
.hd .nm{grid-column:3 / span 2;grid-row:1;white-space:nowrap}
.hd .hc{display:none}
.hd .mt{display:block;position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.hd .mt:focus-visible ~ .mb{outline:2px solid currentColor;outline-offset:4px}
.hd .mb{display:block;grid-column:5;grid-row:1;justify-self:end;text-align:right;font:400 13px/20px var(--font-sans);cursor:pointer;user-select:none;text-decoration:none}
.hd:has(.mt:checked){color:var(--paper)}
.hd .mt:checked ~ .lg,.hd .mt:checked ~ .nm,.hd .mt:checked ~ .mb{position:relative;z-index:3;color:var(--paper)}
html:has(.mt:checked){overflow:hidden}
/* ── menu: página roxa descendo ── */
.hd nav.row,.hd .mt:checked ~ nav.row{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;position:fixed;left:0;right:0;top:0;bottom:0;height:100vh;height:100dvh;margin:0;grid-column:auto;grid-row:auto;padding:calc(var(--hpt) + 72px) 0 calc(24px + env(safe-area-inset-bottom,0px));background:var(--blue);color:var(--paper);z-index:1;overflow-y:auto}
.hd nav.row{transform:translateY(-100%);visibility:hidden;transition:transform .65s cubic-bezier(.7,0,.2,1),visibility 0s linear .65s}
.hd .mt:checked ~ nav.row{transform:none;visibility:visible;transition:transform .65s cubic-bezier(.7,0,.2,1),visibility 0s}
@media (prefers-reduced-motion:reduce){.hd nav.row,.hd .mt:checked ~ nav.row{transition:none}}
.hd nav.row > a,.hd .mt:checked ~ nav.row > a{display:block;font:400 32px/40px var(--font-sans);color:var(--paper);padding:6px var(--px) 5px;margin:0;border:0;border-radius:0;text-decoration:none!important}
@media (min-width:801px){.hd nav.row > a,.hd .mt:checked ~ nav.row > a{font:400 56px/64px var(--font-sans);padding:8px var(--px) 7px}}
.hd nav.row > a:hover,.hd nav.row > a:focus-visible,.hd .mt:checked ~ nav.row > a:hover{background:var(--paper);color:var(--blue);outline:0}
.hd nav.row > a.on,.hd .mt:checked ~ nav.row > a.on{text-decoration:none}
.hd nav.row > a.on:hover,.hd nav.row > a.on:focus-visible,.hd .mt:checked ~ nav.row > a.on:hover{background:none;color:var(--paper);cursor:default}
.hd nav.row .mx,.hd .mt:checked ~ nav.row .mx{display:flex;flex-direction:column;align-items:flex-start;gap:8px;order:2;width:auto;margin:auto var(--px) 0;padding-top:10px;border-top:var(--dash) var(--paper);font:400 13px/20px var(--font-sans)}
.hd nav.row .mx a,.hd .mt:checked ~ nav.row .mx a{font:400 13px/20px var(--font-sans);color:var(--paper);text-decoration:none!important}
.hd nav.row .mx a.mm,.hd .mt:checked ~ nav.row .mx a.mm{font:400 20px/28px var(--font-sans);text-decoration:none!important;margin-bottom:16px}
.hd nav.row .mx .mw,.hd .mt:checked ~ nav.row .mx .mw{display:block;width:100%;container-type:inline-size;margin-top:24px;overflow:visible}
.hd nav.row .mx .mw b,.hd .mt:checked ~ nav.row .mx .mw b{display:block;white-space:nowrap;font:400 calc(100cqw / 6.28)/.8 var(--font-sans);padding-bottom:.06em;font-weight:400}
/* ── fio da lombada ── */
.fio{background:var(--paper);transform-origin:left;animation:fiodraw 1.3s 2.1s cubic-bezier(.7,0,.2,1) both}
.fio::after{display:none}
@keyframes fiodraw{from{transform:scaleX(0)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.fio{animation:none}}
/* ── sem pílulas: título de página, lista, cards e nav com fio serrilhado acima ── */
.pt.pj,.pl{display:flex;justify-content:space-between;align-items:baseline;margin-left:var(--px);margin-right:var(--px);padding:10px 0 0;border:0;border-top:var(--dash) var(--blue);border-radius:0;background:none;color:var(--blue)}
.pt.pj h1,.pl h1,.pt.pj .ct,.pl .no{color:var(--blue);background:none;margin:0;padding:0;border:0}
.idx{margin-left:var(--px);margin-right:var(--px)}
.idx a,.idx a:last-child,.idx .ih{background:none;border:0;border-top:var(--dash) currentColor;border-radius:0;margin:0;padding:9px 0 11px;min-height:0;font:400 16px/20px var(--font-sans);color:inherit}
.idx a:hover,.idx a:focus-visible{background:none;color:inherit}
.idx a .t,.idx a .k,.idx a .y,.idx .ih span,.cell .r .t,.cell .r .y,.cell .r .k,.cell .r:first-child .t,.cell .r:first-child .y,.cell .r:first-child .k{font:400 16px/20px var(--font-sans)}
@media (min-width:801px){.idx a,.idx a:last-child,.idx .ih{column-gap:var(--cg)}
.idx{--c5:calc((100cqw - 4 * var(--cg)) / 5)}
.idx .pv{left:calc(3 * (var(--c5) + var(--cg)));width:var(--c5)}}
.gp{column-gap:var(--cg)}
.gp{row-gap:4px}
.gp > .cell:nth-child(n){display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:4px;row-gap:4px;padding:0}
.cell .r,.cell .r:first-child,.cell .r:last-child{display:flex;justify-content:space-between;align-items:flex-start;position:static;top:0;height:auto;background:var(--blue);color:var(--paper);border:0;border-radius:0;margin:0;padding:9px 10px 10px}
.cell .r *{color:var(--paper)}
.cell .rt2{align-items:flex-end}
.cell .r.rb{margin-bottom:52px}
.cell .im{border:0;margin:0}
.wk{column-gap:var(--cg)}
.wk .lf h1,.wk .lf h1:hover{background:none;color:var(--blue);border:0;border-top:var(--dash) var(--blue);border-radius:0;margin:0;padding:10px 0 0}
.wk .lf h1 *{color:var(--blue)}
.wk .rt{margin-left:0;margin-right:0}
.wk .gr,.wk .gal .it{margin-left:0;margin-right:0;width:auto}
@media (max-width:800px){.wk .gal .it{width:100%}}
.pn{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--cg);align-items:center;padding:10px var(--px) 0!important;margin:24px 0 var(--gap);background:none;border:0}
.pn::before{content:"";display:block!important;position:absolute;top:0;bottom:auto;height:0;left:var(--px);right:var(--px);border:0;border-top:var(--dash) var(--blue);border-radius:0}
.pn a,.pn a.pv,.pn a.nx{padding:0;margin:0;min-height:0;position:relative;font:400 13px/20px var(--font-sans);border:0}
.pn a::after{content:"";position:absolute;inset:-12px -8px}
.pn a.pv{grid-column:1 / span 2;justify-self:start}
.pn a:not(.pv):not(.nx){grid-column:3 / span 2;justify-self:start}
.pn a.nx{grid-column:5;justify-self:end}
@media (max-width:800px){.pn{grid-template-columns:1fr auto 1fr}
.pn a.pv{grid-column:1}.pn a:not(.pv):not(.nx){grid-column:2;justify-self:center}.pn a.nx{grid-column:3}
.pn a{white-space:nowrap}
.wk .lf{padding-left:0;padding-right:0}.wk .lf .mt,.wk .lf .tx,.wk .lf .fc div{padding-left:0;padding-right:0}}
/* ── fotos e mockups: cantos retos ── */
*:not(.egg){border-radius:0!important}
/* ── footer ── */
.ft.ft2,.root:not(.home) .ft.ft2,.root.home .ft.ft2{overflow:hidden;margin:0;border-radius:0;padding-left:var(--px);padding-right:var(--px)}
.ft2 .up{border:0;border-radius:0;padding:0;margin:0;font:400 13px/20px var(--font-sans);text-decoration:none;background:none;color:inherit}
.ft2 .up:hover{background:none;color:inherit}
.ft2 .f-top{align-items:end;align-items:last baseline}
@media (min-width:801px){.ft2 .f-top,.ft2 .f-cols{column-gap:var(--cg)}
.ft2 .f-top .up{grid-column:5;justify-self:start}}
@media (max-width:800px){.ft2 .f-top .up{grid-column:1 / -1;justify-self:start}}
.ft2 .f-cols{border-top:var(--dash) var(--paper)}
.ft2 .f-top{border-top:var(--dash) var(--paper);padding-top:10px}
.ft2 .f-mail,.ft2 .f-mail:hover{text-decoration:none!important;font:400 16px/24px var(--font-sans)}
.wk .lf .fc{border-top:var(--dash) var(--blue)}.wk .lf .fc div{border-bottom:var(--dash) var(--blue);padding-top:8px;padding-bottom:8px}
.wk .lf .fc a{text-decoration:none}
*{text-decoration-thickness:.06em!important}
@media (max-width:800px){:root{--dash:1px dashed}
.gp{grid-template-columns:1fr!important}
.wk .lf{align-items:stretch}
.wk .lf h1,.wk .lf h1:hover{display:block;width:100%;box-sizing:border-box;padding-bottom:24px;margin-top:32px}
.wk .lf h1 ~ .tx{margin-top:-8px}
.wk .lf h1 .mi{display:flex;gap:24px;margin-top:2px}}
/* footer v2: um serrilhado, email/projetos/sobre/voltar abaixo */
.ft.ft2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--cg);align-content:start}
.ft2::before{content:"";grid-column:1 / -1;grid-row:1;border-top:var(--dash) var(--paper);margin-bottom:10px}
.ft2 .f-top,.ft2 .f-cols{display:contents}
.ft2 .f-mail{grid-column:1 / span 2;grid-row:2;justify-self:start}
.ft2 .f-cols .f-c2{grid-column:3 / span 2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:0}
.ft2 .f-top .up{grid-column:5;grid-row:2;justify-self:start;align-self:start}
.ft2 .f-mark{grid-column:1 / -1;grid-row:3}
@media (max-width:800px){.ft.ft2{grid-template-columns:minmax(0,1fr)}
.ft2 .f-mail,.ft2 .f-cols .f-c2,.ft2 .f-top .up,.ft2 .f-mark{grid-column:1;grid-row:auto;justify-self:start;align-items:flex-start;text-align:left}
.ft2 .f-mail{order:1}.ft2 .f-cols .f-c2{order:2;margin-top:12px}.ft2 .f-top .up{order:3;margin-top:12px}.ft2 .f-mark{order:4;justify-self:stretch;width:100%}}
.pn::before{display:none!important}
/* cards: colados no mockup + hover invertido visível */
.gp > .cell:nth-child(n){gap:0;row-gap:0}
.cell:hover,.cell:focus-visible,.cell:active{background:transparent;color:var(--blue)}
.cell:hover .r,.cell:focus-visible .r,.cell:active .r,.cell:hover .r:first-child{background:var(--paper);color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}
.cell:hover .r *,.cell:focus-visible .r *,.cell:active .r *{color:var(--blue)}
.ft.ft2{align-items:start}.ft2 .f-mail{align-self:start}
/* granulado */
body::after{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:1;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .27 -.05'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:240px 240px}
/* voltar ao topo: à direita, logo acima do serrilhado */
.ft2 .f-top .up{grid-column:1 / -1;grid-row:1;justify-self:end;align-self:end;margin:0 0 10px;order:0}
.ft2::before{grid-row:2;order:1}
.ft2 .f-mail,.ft2 .f-cols .f-c2{grid-row:3}
.ft2 .f-mark{grid-row:4}
@media (max-width:800px){.ft2 .f-top .up{grid-column:1;grid-row:auto;justify-self:end;margin:0 0 10px;order:0}
.ft2::before{grid-row:auto;order:1}.ft2 .f-mail{order:2;grid-row:auto}.ft2 .f-cols .f-c2{order:3;grid-row:auto;margin-top:12px}.ft2 .f-mark{order:4;grid-row:auto}}
/* footer v3: aba azul "voltar ao topo" sobre faixa paper; ordem: serrilhado > menu > email > nome */
.ft.ft2{padding-top:0!important;background:linear-gradient(var(--paper),var(--paper)) 0 0/100% 39px no-repeat var(--blue)}
.ft2 .f-top .up,.ft2 .f-top .up:hover{grid-column:1 / -1;grid-row:1;justify-self:end;align-self:start;margin:0;height:39px;box-sizing:border-box;padding:9px 10px 10px;background:var(--blue);color:var(--paper);order:0}
.ft2::before{grid-row:2;order:1;margin-bottom:10px}
.ft2 .f-cols .f-c2{grid-column:1 / -1;grid-row:3;order:2;margin:0}
.ft2 .f-mail{grid-column:1 / -1;grid-row:4;order:3;margin-top:12px}
.ft2 .f-mark{grid-row:5;order:4}
@media (max-width:800px){.ft2 .f-top .up{grid-column:1;grid-row:auto}.ft2::before{grid-row:auto}.ft2 .f-cols .f-c2{grid-row:auto;margin:0}.ft2 .f-mail{grid-row:auto;margin-top:12px}.ft2 .f-mark{grid-row:auto}}
/* sem serrilhado acima dos títulos */
.pt.pj,.pl,.wk .lf h1,.wk .lf h1:hover{border-top:0!important}
.ft.ft2{row-gap:0!important}
.ft2::before{margin-top:3px}
/* footer v4: volta ao v256 (tudo azul), texto centrado entre borda e serrilhado */
.ft.ft2{padding-top:10px!important;background:var(--blue)}
.ft2 .f-top .up,.ft2 .f-top .up:hover{grid-column:1 / -1;grid-row:1;justify-self:end;align-self:start;margin:0 0 10px;height:auto;padding:0;background:none;color:var(--paper)}
.ft2::before{grid-row:2;margin-top:0;margin-bottom:10px}
.ft2 .f-cols .f-c2{grid-column:3 / span 2;grid-row:3;margin:0}
.ft2 .f-mail{grid-column:1 / span 2;grid-row:3;margin-top:0;justify-self:start}
.ft2 .f-mark{grid-row:4}
@media (max-width:800px){.ft2 .f-top .up{grid-column:1;grid-row:auto}.ft2::before{grid-row:auto}
.ft2 .f-cols .f-c2{grid-column:1;grid-row:auto;margin:0}.ft2 .f-mail{grid-column:1;grid-row:auto;margin-top:12px}.ft2 .f-mark{grid-row:auto}}
/* wordmark: kerning mais fechado + posição padronizada (distância da base = --px) */
:root{--wmk:6.0;--wfs:calc((100vw - 2 * var(--px)) / var(--wmk));--wo:calc(var(--px) - .105 * var(--wfs));--wof:calc(var(--px) - .105 * var(--wfs));--woi:calc(var(--px) - .105 * var(--wfs))}
.f-mark span,.mw b,.intro .w{letter-spacing:-.03em}
.f-mark span,.mw b,.hd .mt:checked ~ nav.row .mx .mw b{font-size:calc(100cqw / var(--wmk))}
.intro{--fs:var(--wfs)}
.intro .w{bottom:var(--woi)}
.hd nav.row,.hd .mt:checked ~ nav.row{padding-bottom:var(--wo)}
.ft.ft2{padding-bottom:var(--wof)!important}
/* ===== v5: lote de ajustes ===== */
html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* títulos não são links: sem hover */
.pt.pj:hover,.pl:hover,.wk .lf h1:hover,.pt.pj h1:hover,.pl h1:hover{background:none!important;color:var(--blue)!important;cursor:default}
/* header: nome/menu levemente mais grossos; símbolo na altura das capitulares */
.hd .nm,.hd .mb{-webkit-text-stroke:.25px currentColor}
.hd .lg{display:flex;align-items:center;height:20px}
.hd .lg .logo{height:10px;width:auto;display:block}
/* email mais fino (footer e menu) */
/* voltar ao topo à esquerda */
.ft2 .f-top .up,.ft2 .f-top .up:hover{justify-self:start!important}
/* ficha técnica: duas colunas iguais (grade) e sem sobreposição */
.wk .lf .fc div{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--cg)}
.wk .lf .fc div > span{min-width:0;overflow-wrap:anywhere;hyphens:auto}
/* kerning do nome grande */
@media (max-width:800px){.ft2 .f-mark{margin-top:16px!important}.mw,.hd .mt:checked ~ nav.row .mx .mw{margin-top:16px}}
:root{--wmk:5.85}
.ft.ft2 .f-mark span,.hd nav.row .mx .mw b,.hd .mt:checked ~ nav.row .mx .mw b,.intro .w{letter-spacing:-.03em}
.ft.ft2 .f-mark span,.hd nav.row .mx .mw b,.hd .mt:checked ~ nav.row .mx .mw b{font-size:calc(100cqw / var(--wmk))}
.cell .r,.cell .r:first-child,.cell .r:last-child{padding:5px 10px 4px}
.ft.ft2{padding-top:9px!important}
.ft2 .f-top .up{margin-bottom:10px}
.pt.pj,.pl,.wk .lf h1,.wk .lf h1:hover{padding-top:0!important}
.pt.pj,.pl,.wk .lf h1,.wk .lf h1:hover{position:relative;top:-7px}
@media (max-width:800px){.wk .lf .fc{margin-bottom:48px!important}}
.hd .mb,.hd .mb:hover{text-decoration:none!important}
/* ===== v6: números old-style (mesma altura/espessura do texto), footer em múltiplos de 8 ===== */
html,body,*{font-variant-numeric:oldstyle-nums;font-feature-settings:"onum" 1}
/* email: mesma espessura do header (400), mesmo tamanho no footer e no menu */
.ft2 .f-mail,.ft2 .f-mail:hover,.hd nav.row .mx a.mm,.hd .mt:checked ~ nav.row .mx a.mm{font:400 16px/24px var(--font-sans)!important;margin:0}
/* footer: escala 8 (topo 24 / serrilhado→conteúdo 24 / conteúdo→nome 64; mobile menu→email 32, email→nome 16) */
.ft.ft2{padding-top:24px!important}
.ft2 .f-top .up{margin-bottom:24px}
.ft2::before{margin-bottom:24px}
.ft2 .f-cols .f-c2 a{line-height:24px;font-size:13px}
.ft2 .f-mark{margin-top:64px!important}
.ft2 .f-mail{margin-top:0}
@media (max-width:800px){
.ft2 .f-mail{margin-top:32px}
.ft2 .f-cols .f-c2{margin:0}
.ft2 .f-mark{margin-top:16px!important}}
/* menu aberto: mesmos intervalos do footer */
.hd nav.row .mx,.hd .mt:checked ~ nav.row .mx{padding-top:24px}
.mw,.hd .mt:checked ~ nav.row .mx .mw{margin-top:64px}
@media (max-width:800px){.mw,.hd .mt:checked ~ nav.row .mx .mw{margin-top:16px}}
/* ===== v7: cards contornados (cheios no hover/toque) ===== */
.gp .cell .r,.gp .cell .r:first-child,.gp .cell .r:last-child{background:var(--paper);color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}
.gp .cell .r *{color:var(--blue)}
.gp .cell .im{border-left:1.5px solid var(--blue);border-right:1.5px solid var(--blue);box-sizing:border-box}
.gp .cell:hover .r,.gp .cell:focus-visible .r,.gp .cell:active .r,.gp .cell:hover .r:first-child,.gp .cell:hover .r:last-child{background:var(--blue);color:var(--paper)}
.gp .cell:hover .r *,.gp .cell:focus-visible .r *,.gp .cell:active .r *{color:var(--paper)}
/* home desktop: texto na grade (cols 1-2), fonte maior */
@media (min-width:801px){.hero .hl,.hl{font-size:32px!important;line-height:40px!important;max-width:calc((100vw - 2 * var(--px) - 3 * var(--cg)) / 5 * 2 + var(--cg))}}
/* ===== v8 ===== */
html,body,*{font-variant-numeric:oldstyle-nums!important;font-feature-settings:"onum" 1!important}
/* voltar ao topo: sem pulo no hover, centrado opticamente (16/16), à esquerda */
.ft2 .f-top .up,.ft2 .f-top .up:hover,.ft2 .f-top .up:focus-visible{grid-column:1 / -1;grid-row:1;justify-self:start!important;align-self:start;margin:0 0 16px!important;padding:0;height:auto;line-height:20px;background:none;color:var(--paper);order:0}
.ft.ft2:has(.up){padding-top:16px!important}
/* footer mobile: início colado ao serrilhado, email mais solto do nome */
@media (max-width:800px){
.ft2::before{margin-bottom:16px}
.ft2 .f-mail{margin-top:40px}
.ft2 .f-mark{margin-top:32px!important}
.hd nav.row .mx,.hd .mt:checked ~ nav.row .mx{padding-top:16px}
.mw,.hd .mt:checked ~ nav.row .mx .mw{margin-top:32px}}
/* menu aberto desktop: links sutilmente mais acima */
@media (min-width:801px){.hd nav.row,.hd .mt:checked ~ nav.row{padding-top:calc(var(--hpt) + 56px)}}
/* cards: repouso cheio, hover/toque contornado; contorno da capa 1.5px como o dos blocos */
.gp .cell .r,.gp .cell .r:first-child,.gp .cell .r:last-child{background:var(--blue);color:var(--paper);box-shadow:none}
.gp .cell .r *{color:var(--paper)}
.gp .cell:hover .r,.gp .cell:focus-visible .r,.gp .cell:active .r,.gp .cell:hover .r:first-child,.gp .cell:hover .r:last-child{background:var(--paper);color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}
.gp .cell:hover .r *,.gp .cell:focus-visible .r *,.gp .cell:active .r *{color:var(--blue)}
/* home desktop: texto maior, até metade da col. 2, perto do fio */
@media (min-width:801px){.hero .hl,.hl{--colw:calc((100vw - 2 * var(--px) - 4 * var(--cg)) / 5);font-size:calc((1.5 * var(--colw) + var(--cg)) / 8.2)!important;line-height:1.2!important;max-width:none!important;white-space:nowrap;top:auto!important;bottom:calc(9.4svh + 16px)!important;transform:none!important}}
/* ===== v9: prateleira mobile mais compacta (lacunas de 16px) e livros proporcionalmente mais altos ===== */
@media (max-width:800px){.stack{--W:828.05!important}
.b1{--x:-0.264}.b2{--x:84.926}.b3{--x:189.956}.b4{--x:255.306}.b5{--x:308.019}.b6{--x:396.039}.b7{--x:469.889}.b8{--x:499.728}.b9{--x:549.364}.b10{--x:623.214}.b11{--x:691.536}.b12{--x:771.056}}
@media (max-width:800px){.stack{--W:648.47!important}.b1{--x:0.00}.b2{--x:62.69}.b3{--x:131.61}.b4{--x:174.46}.b5{--x:239.98}.b6{--x:295.30}.b7{--x:346.65}.b8{--x:389.50}.b9{--x:444.96}.b10{--x:496.31}.b11{--x:534.76}.b12{--x:591.78}.it.lean,.it.leanl,.it.lean:hover,.it.leanl:hover{transform:none!important}.stack .it .rg,.stack .it:hover .rg{transform:none!important}.hero .hl,.hl{translate:0 -24px;left:0!important}}

/* ===== v11: grade horizontal (rows) ===== */
:root{--rm:24px;--rg:24px;--rn:6;--hh:68px;--rh:calc((100svh - 2 * var(--rm) - (var(--rn) - 1) * var(--rg)) / var(--rn));--rp:calc(var(--rh) + var(--rg))}
@media (max-width:800px){:root{--rn:5;--hh:52px}}
@media (min-width:801px){
.pl,.pt.pj{margin-top:calc(var(--rm) + 2 * var(--rp) + 7px - var(--hh))!important;margin-bottom:calc(var(--rp) - 38px)!important}
.wk:has(.lf h1) .lf{margin-top:calc(var(--rm) + 2 * var(--rp) + 7px - var(--hh))!important}
.wk:has(.lf h1) .rt{padding-top:calc(var(--rm) + 2 * var(--rp) + 7px - var(--hh))!important}
.hero .hl,.hl{--hfs:calc((2 * var(--colw) + var(--cg)) * .95 / 8.2);font-size:var(--hfs)!important;position:absolute!important;left:var(--px)!important;margin:0!important;top:auto!important;bottom:calc(var(--rh) / 4 + 1px - .255 * var(--hfs))!important}
.shelfwrap{bottom:calc(var(--rm) + var(--rh) / 2 - 1px)!important}
}
@media (max-width:800px){
.pl,.pt.pj{margin-top:calc(var(--rm) + var(--rp) + 7px - var(--hh))!important;margin-bottom:calc(var(--rh) - 38px)!important}
.wk:has(.lf h1){padding-top:calc(var(--rm) + var(--rp) + 7px - var(--hh))!important}
.wk .lf h1{margin-top:0!important;padding-bottom:0!important;min-height:calc(var(--rh) - 7px);box-sizing:border-box}
.hero .hl,.hl{position:absolute!important;top:calc(var(--rm) + var(--rp))!important;left:var(--px)!important;translate:none!important;margin:0!important;transform:none!important}
.shelfwrap{padding-bottom:calc(var(--rm) + var(--rh) / 2 - 1px)!important}

}
/* ficha com links: sem quebra de linha */
.fc div:has(a){grid-template-columns:auto minmax(0,1fr)!important;column-gap:8px!important}
.fc div:has(a) > span{overflow-wrap:normal!important;white-space:nowrap!important;hyphens:none!important}
.fc div:has(a) > span:last-child{justify-self:end}
@media (max-width:800px){.stack{--W:580.93!important}.b1{--x:0.00}.b2{--x:53.06}.b3{--x:125.96}.b4{--x:159.17}.b5{--x:215.06}.b6{--x:270.95}.b7{--x:312.67}.b8{--x:345.89}.b9{--x:398.95}.b10{--x:440.66}.b11{--x:476.85}.b12{--x:524.24}.it.b12.leanl,.it.b12.leanl:hover{transform:rotate(-0.7deg)!important;transform:rotate(calc(-1 * atan2(3px, calc(var(--bh) * var(--u)))))!important;transform-origin:bottom left!important}}

/* ===== v13: linhas padronizadas, ficha na coluna 3, rodapé e home mobile ===== */
:root{--ln:1.5px;--colw:calc((100vw - 2 * var(--px) - 4 * var(--cg)) / 5);--c3:calc(2 * (var(--colw) + var(--cg)))}
@media (max-width:800px){:root{--ln:1px}}
.gp .cell:hover .r,.gp .cell:focus-visible .r,.gp .cell:active .r,.gp .cell:hover .r:first-child,.gp .cell:hover .r:last-child,.cell:hover .r,.cell:focus-visible .r,.cell:active .r{box-shadow:inset 0 0 0 var(--ln) var(--blue)!important}
.gp .cell .im{border-left-width:var(--ln)!important;border-right-width:var(--ln)!important}
.gr img,.wk .gal img,.wk .rt img{border-width:var(--ln)!important}
.fio{height:var(--ln)!important}
@media (max-width:800px){
.fc div,.fc div:has(a),.wk .lf .fc div{grid-template-columns:var(--c3) minmax(0,1fr)!important;column-gap:0!important}
.fc div:has(a) > span:last-child,.fc div > span:last-child{justify-self:start!important}
.wk:not(:has(.lf h1)) .rt{width:calc(2 * var(--colw) + var(--cg))!important}
.hero .hl,.hl{font-size:calc((2 * var(--colw) + var(--cg)) / var(--hk,8.2))!important;line-height:24px!important}
.ft2::before{margin-bottom:8px!important}
.ft.ft2:has(.up){padding-top:8px!important}
.ft2 .f-top .up,.ft2 .f-top .up:hover,.ft2 .f-top .up:focus-visible{line-height:24px!important;margin:0 0 8px!important}
}
/* ===== v14: texto da home mais apertado ===== */
@media (min-width:801px){.hero .hl,.hl{letter-spacing:-.025em!important;line-height:1.05!important;bottom:calc(var(--rh) / 4 + 1px - .18 * var(--hfs))!important}}
@media (max-width:800px){.hero .hl,.hl{letter-spacing:-.02em!important;line-height:18px!important}}
/* ===== v15: título do projeto = tamanho dos títulos das páginas ===== */
.wk .lf h1,.wk .lf h1 .ti{font-size:25.888px!important;line-height:1.2!important}
/* ===== v16: logo +10% (correção óptica: forma redonda vs. caixa-alta) ===== */
.hd .lg .logo{height:11px!important;width:auto;transform:translateY(-.5px)}
/* ===== v17: contornos sempre 1px (nítido em qualquer densidade de pixel) ===== */
:root,html{--ln:1px!important}
/* ===== v18: livros crescem até ocupar toda a largura do grid (espaçamento fixo, sem espalhar) ===== */
.stack{--u:calc(100cqw / var(--W))!important}
/* ===== v19: mobile — headline do tamanho do menu (13px), sobe quando o livro mais alto chegaria perto ===== */
@media (max-width:800px){.hero .hl,.hl{font-size:13px!important;line-height:18px!important;letter-spacing:-.01em!important;top:max(calc(var(--rm) + 56px),min(calc(var(--rm) + var(--rp)),calc(100svh - var(--rm) - var(--rh) / 2 + 1px - 695.31 * (100vw - 2 * var(--px)) / 580.93 - 16px - 36px)))!important}}
/* ===== v20: sem retângulo escuro ao clicar/tocar em links ===== */
*,*::before,*::after{-webkit-tap-highlight-color:transparent!important}
a,button,label,summary,[role=button],[tabindex]{-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none;outline:none!important}
a:focus,a:active,button:focus,button:active,label:active{outline:none!important}
/* ===== v21: mobile — headline logo abaixo do header (ALYSSA OHNO) ===== */
@media (max-width:800px){.hero .hl,.hl{top:calc(var(--rm) + 40px)!important}}
/* ===== v22: mobile — headline alinhado na coluna 3 ===== */
@media (max-width:800px){.hero .hl,.hl{left:calc(var(--px) + var(--c3))!important;white-space:nowrap}}
/* ===== v23: mobile — headline 8px mais acima ===== */
@media (max-width:800px){.hero .hl,.hl{top:calc(var(--rm) + 32px)!important}}
/* ===== v24: mobile — headline quase colado no header ===== */
@media (max-width:800px){.hero .hl,.hl{top:36px!important}}
/* ===== v25: mobile — lombadas a 3px das linhas laterais do grid ===== */
@media (max-width:800px){.stack{--u:calc((100cqw - 6px) / var(--W))!important;margin-left:3px!important}}
/* ===== v26: mobile — unforgettable reto ===== */
@media (max-width:800px){.it.b12.leanl,.it.b12.leanl:hover,.it.b12{transform:none!important}}
/* ===== v27: texto das páginas de projeto em Regular (400), antes Light (300) ===== */
.wk .lf .tx,.wk .tx{font-weight:400!important}
/* ===== v28: footer desktop compactado para 3 rows (altura = 3 rows; mais alto só se o conteúdo exigir) ===== */
@media (min-width:801px){.ft2 .f-mark{margin-top:20px!important}.ft.ft2{min-height:calc(3 * var(--rp));align-content:space-between}}
/* ===== v29: main landmark, foco visivel, alvos de toque 44px (mobile), reduced-motion global ===== */
main{display:contents}
h1.hl{font-weight:inherit}
a:focus-visible,button:focus-visible,label:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor!important;outline-offset:3px!important}
.mt:focus-visible ~ .mb{outline:2px solid currentColor!important;outline-offset:3px!important}
@media (max-width:800px){
.lg::before,.mb::before,.row a::before,.f-mail::before,.up::before,.pn a::before,.cp::before,.fc a::before,.ft a::before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.fc a,.ft a{position:relative}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ===== v30: linha de selecao junto de ano/tipo; foto vertical (stk) abaixo do texto no mobile ===== */
.wk .lf h1 .mi{flex-wrap:wrap!important;row-gap:0!important}
@media (max-width:800px){.wk .gal.on .gr.stk{order:6;margin-bottom:16px}}
/* ===== v31: home — html/body azuis (barras e overscroll do iOS) e rodapé fora da dobra no mobile ===== */
html:has(.root.home),html:has(.root.home) body{background:var(--blue)}
@media (max-width:800px){.root.home .ft.ft2{margin-top:88px}}
/* ===== v32: grão sem mix-blend-mode (o soft-light some onde não há nada pintado, ex. faixa abaixo do rodapé no iOS) ===== */
body::after{mix-blend-mode:normal!important}
/* ===== v32: animação de entrada cobre a tela toda, inclusive sob as barras do iOS ===== */
.intro{inset:-200px 0}
/* ===== v32: mobile — lombadas a 1,75px entre si e 5px das margens (largura dos livros se ajusta à tela) ===== */
@media (max-width:800px){
.stack{--u:calc((100cqw - 29.25px) / 527.3825)!important;margin-left:0!important;width:100cqw!important}
.it{left:calc(5px + var(--cw) * var(--u) + var(--n) * 1.75px)!important}
/* base da prateleira um quarto de row acima do fim do hero (antes meia row) */
.shelfwrap{padding-bottom:calc(var(--rm) + var(--rh) / 4 - 1px)!important}
.b1{--cw:0;--n:0}.b2{--cw:48.19;--n:1}.b3{--cw:116.22;--n:2}.b4{--cw:144.57;--n:3}.b5{--cw:195.59;--n:4}.b6{--cw:246.61;--n:5}.b7{--cw:283.46;--n:6}.b8{--cw:311.81;--n:7}.b9{--cw:360;--n:8}.b10{--cw:396.85;--n:9}.b11{--cw:428.1725;--n:10}.b12{--cw:470.6925;--n:11}
}
/*v3-end*/
