/* Estilos do site — variaveis de cor, tipografia e componentes. */

:root{
  --paper:#EBE1C8; --paper-2:#E3D7BA; --paper-3:#D9CBA8;
  --ink:#231F17; --ink-2:#453F33; --ink-3:#6E6552;
  --green:#22C55E; --green-deep:#15803D; --green-ink:#1B5E34; --green-soft:#DDEBDB;
  --blue:#3B82F6; --blue-deep:#1D4ED8; --blue-ink:#22407E; --blue-soft:#DEE5F2;
  --rule:#BCAC86; --rubric:#8E2B1E;
}
*{box-sizing:border-box;}
body{
  margin:0;color:var(--ink);font-family:'EB Garamond',Georgia,serif;-webkit-font-smoothing:antialiased;
  background-color:#EBE1C8;
  background-image:
    radial-gradient(ellipse 300px 200px at 12% 22%, rgba(150,113,60,.16), transparent 70%),
    radial-gradient(ellipse 260px 180px at 88% 8%, rgba(140,104,52,.15), transparent 70%),
    radial-gradient(ellipse 380px 260px at 70% 62%, rgba(126,96,48,.13), transparent 72%),
    radial-gradient(ellipse 320px 220px at 20% 86%, rgba(150,113,60,.14), transparent 72%),
    radial-gradient(circle at 42% 38%, rgba(122,88,42,.10), transparent 22%),
    radial-gradient(circle at 78% 44%, rgba(122,88,42,.09), transparent 18%),
    radial-gradient(circle at 30% 58%, rgba(122,88,42,.08), transparent 16%),
    linear-gradient(115deg, rgba(196,168,116,.28), transparent 38%, rgba(178,148,96,.22) 78%, rgba(150,120,72,.3));
  background-attachment:fixed;
}
h1,h2,h3,h4{font-family:'EB Garamond',Georgia,serif;}
h1,h2{font-family:'IM Fell English',Georgia,serif;font-weight:400;}
/* textura de papel envelhecido + manchas de foxing */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:5;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMDAnIGhlaWdodD0nMzAwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44NScgbnVtT2N0YXZlcz0nNCcgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHR5cGU9J3NhdHVyYXRlJyB2YWx1ZXM9JzAnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCcgZmlsdGVyPSd1cmwoI24pJyBvcGFjaXR5PScwLjQyJy8+PC9zdmc+");
  mix-blend-mode:multiply;opacity:.5;
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:6;
  background:radial-gradient(ellipse 120% 90% at 50% 50%, transparent 52%, rgba(96,70,34,.20) 84%, rgba(70,50,24,.36) 100%);
  mix-blend-mode:multiply;
}
.sans{font-family:'IBM Plex Sans',sans-serif;}
.mono{font-family:'JetBrains Mono',monospace;}
.sc{font-family:'IM Fell English SC','IM Fell English',Georgia,serif;font-weight:400;}
.dropcap::first-letter{
  font-family:'IM Fell English',Georgia,serif;float:left;font-size:76px;line-height:.78;
  padding:6px 12px 0 0;color:var(--rubric);
}
.ornrule{
  display:flex;align-items:center;justify-content:center;gap:14px;
  color:var(--rule);font-size:17px;
}
.ornrule::before,.ornrule::after{
  content:"";height:0;flex:1;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);height:3px;
}
a{color:var(--green-ink);text-decoration:none;}
a:hover{color:var(--blue-ink);}
::selection{background:#CFE3C9;color:var(--ink);}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes floatY2{0%,100%{transform:translateY(0);}50%{transform:translateY(10px);}}
@keyframes spinOct{0%{transform:rotateX(-20deg) rotateY(0deg);}100%{transform:rotateX(-20deg) rotateY(360deg);}}
@keyframes spinRing{from{transform:rotate(0);}to{transform:rotate(360deg);}}
@keyframes drawPath{to{stroke-dashoffset:0;}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.2;}}
@keyframes marqueeX{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (max-width:1100px){[data-grid="3col"]{grid-template-columns:repeat(2,1fr)!important;}}
@media (max-width:1240px){
  #trigfig{display:none!important;}
}
@media (max-width:1040px){
  #solid3d{display:none!important;}
  [data-brand-tag]{display:none!important;}
  [data-nav-links]{gap:18px!important;}
  [data-nav-links] a{font-size:14px!important;}
  [data-stack]{flex-direction:column!important;gap:48px!important;align-items:stretch!important;}
  [data-portrait]{flex:none!important;width:100%!important;max-width:420px;}
}
@media (max-width:820px){
  [data-nav-links]{display:none!important;}
  [data-nav-jump]{display:block!important;}
}
@media (max-width:780px){
  nav{padding:14px 22px!important;}
  section{padding-left:24px!important;padding-right:24px!important;}
  [data-grid="3col"],[data-grid="2col"]{grid-template-columns:1fr!important;}
  [data-stack]{flex-direction:column!important;gap:44px!important;}
  h1{font-size:46px!important;}
  h2{font-size:32px!important;}
  #solid3d{display:none!important;}
  #trigfig{display:none!important;}
}
