:root {
--ink:#090b09;
--night:#111711;
--stone:#444a44;
--stone2:#252b25;
--light:#858b83;
--grass:#5a913f;
--forest:#24472b;
--wood:#6f4529;
--earth:#50331f;
--fire:#e79635;
--cream:#f1e5c8;
--gold:#f2c14e;
--edge:3px solid #8c9588;
--shadow:5px 5px 0 #060706}
* {
box-sizing:border-box}
html {
scroll-behavior:smooth}
body {
margin:0;
background:linear-gradient(180deg,#1b211b 0 40%,#151915 40%);
color:var(--cream);
font:16px/1.5 Arial,sans-serif;
overflow-x:hidden}
a {
color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
outline:3px solid var(--gold);
outline-offset:3px}
header {
position:sticky;
top:0;
z-index:10;
display:flex;
align-items:center;
justify-content:space-between;
gap:1rem;
padding:.7rem max(1rem,calc((100% - 1120px)/2));
background:#090b09f2;
border-bottom:5px solid var(--earth)}
.brand,.button,h1,h2,h3,b,.eyebrow,summary {
font-family:Impact,"Arial Black",sans-serif;
letter-spacing:.06em}
.brand {
text-decoration:none;
font-size:1.1rem}
.brand b {
color:var(--grass)}
nav {
display:flex;
align-items:center;
gap:1rem}
nav a {
font-size:.8rem;
text-decoration:none}
.button {
display:inline-block;
cursor:pointer;
border:0;
border-top:3px solid #b5bea9;
border-left:3px solid #b5bea9;
border-bottom:4px solid #182018;
border-right:4px solid #182018;
background:linear-gradient(135deg,#4e7d37,#315e2c);
padding:.7rem .85rem;
color:white;
text-decoration:none;
text-transform:uppercase;
font-size:.72rem;
box-shadow:3px 3px 0 #050605}
.button:hover {
filter:brightness(1.14)}
.button:active {
transform:translate(2px,2px);
box-shadow:1px 1px 0 #050605}
.ghost {
background:linear-gradient(135deg,#6f4529,#50331f)}
main>section {
padding:clamp(2.5rem,6vw,4.5rem) max(1rem,calc((100% - 1120px)/2));
position:relative}
.hero {
display:grid;
grid-template-columns:1.1fr .9fr;
align-items:center;
gap:2rem;
min-height:0!important;
background:radial-gradient(circle at 75% 50%,#e7963530 0 10%,transparent 34%),linear-gradient(140deg,#0b1518,#152817 55%,#172517);
overflow:hidden}
.hero:after {
content:"";
position:absolute;
inset:auto 0 0;
height:42px;
background:linear-gradient(135deg,var(--earth) 25%,#6b462a 25% 50%,var(--forest) 50% 75%,#356b32 75%);
opacity:.9}
.hero>div,.hero>.badge {
position:relative;
z-index:1}
.eyebrow {
margin:0;
color:var(--gold);
font-size:.72rem;
text-transform:uppercase}
h1,h2 {
line-height:1;
margin:.35rem 0 .7rem;
text-transform:uppercase}
h1 {
font-size:clamp(2.5rem,5.5vw,4rem)}
h1 em {
color:var(--grass);
font-style:normal;
display:block}
h2 {
font-size:clamp(1.75rem,3.6vw,2.45rem)}
.hero p {
max-width:560px;
margin:.6rem 0}
.mission-bar {
display:inline-block!important;
padding:.45rem .65rem!important;
background:#202a20;
border-left:5px solid var(--fire);
font-size:.75rem;
font-weight:bold}
.badge {
width:min(100%,430px);
height:auto;
justify-self:center;
object-fit:contain;
mix-blend-mode:multiply;
filter:drop-shadow(7px 7px 0 #0008) drop-shadow(0 0 20px #e7963555)}
#evento {
background:#191d19;
border-top:8px solid var(--stone)}
.grid {
display:grid;
grid-template-columns:repeat(4,1fr);
gap:.7rem}
.grid article,details,aside {
background:linear-gradient(135deg,#3c443d,#242a24);
border:var(--edge);
border-bottom-color:#151915;
border-right-color:#151915;
box-shadow:var(--shadow);
padding:.85rem}
.inventory {
grid-template-columns:repeat(6,1fr);
margin:1rem 0 2.2rem}
.inventory article {
min-height:108px;
text-align:center;
display:grid;
place-content:center;
transition:transform .2s}
.inventory article:before {
content:"✦";
color:var(--grass);
font-size:1.25rem}
.inventory article:hover {
transform:translateY(-3px);
background:#4b554b}
.inventory b {
font-size:.78rem;
text-transform:uppercase}
.inventory p {
font-size:.82rem;
margin:.25rem 0 0}
.timeline {
margin:1.3rem 0;
padding:1rem;
background:#202720;
border:var(--edge);
border-color:#687266;
word-spacing:.15rem}
.timeline b {
color:var(--gold);
font-size:.8rem}
#locais {
background:linear-gradient(100deg,#121812,#1a2119)}
label {
font-weight:bold}
.search {
display:flex;
gap:.6rem;
width:min(800px,100%);
margin:.55rem 0 1rem;
padding:.7rem;
background:#6f4529;
border:4px solid #4a2c1c;
box-shadow:var(--shadow)}
.search input {
min-width:0;
flex:1;
padding:.65rem;
background:#e8dfc8;
border:2px solid #2b322b;
color:#182018}
.search .button {
background:linear-gradient(135deg,#3f6d3b,#24472b)}
#result article {
margin-bottom:1rem;
border-color:var(--grass);
background:#1d3a20}
details {
margin:.65rem 0;
background:linear-gradient(135deg,#7b4f30,#50331f);
border-color:#a77a54}
summary {
cursor:pointer;
text-transform:uppercase;
font-size:.85rem}
details p,details a {
font-size:.9rem}
.shirt {
display:grid;
grid-template-columns:1fr 1fr;
gap:2rem;
align-items:center;
background:linear-gradient(135deg,#342c23,#1b1d1b);
border-top:12px solid var(--wood)}
.shirt-visual {
padding:1rem;
background:#69706a;
border:6px solid #363c36;
box-shadow:8px 8px 0 #080908}
.shirt-visual button {
position:relative;
width:100%;
border:0;
background:#d8d5ca;
cursor:zoom-in;
padding:.5rem}
.shirt-visual img {
display:block;
width:100%;
max-width:100%;
height:auto;
object-fit:contain}
.shirt-visual span {
position:absolute;
right:.8rem;
bottom:.8rem;
padding:.45rem .6rem;
background:#24472b;
color:white;
font: .72rem Impact,"Arial Black",sans-serif;
letter-spacing:.06em;
text-transform:uppercase}
.shirt+section {
background:#161916!important}
.modal[hidden] {
display:none}
.modal {
position:fixed;
inset:0;
z-index:20;
display:grid;
place-items:center;
padding:1rem;
background:#000d}
.modal-panel {
position:relative;
width:min(900px,100%);
max-height:92vh;
overflow:auto;
padding:3.4rem 1.2rem 1.2rem;
background:#222822;
border:5px solid #687266;
box-shadow:8px 8px 0 #000}
.modal-panel h2 {
font-size:1.5rem}
.modal-panel img {
width:100%;
height:auto;
display:block;
background:#d8d5ca;
object-fit:contain}
.modal button {
position:absolute;
right:.7rem;
top:.7rem;
width:40px;
height:40px;
border:3px solid #b5bea9;
background:#50331f;
color:white;
font-size:1.8rem;
cursor:pointer}
footer {
display:grid;
grid-template-columns:1.2fr 1fr;
gap:1.2rem;
padding:2.5rem max(1rem,calc((100% - 1120px)/2));
background:radial-gradient(circle at 8% 20%,#e7963522 0 2px,transparent 3px),#070907;
border-top:8px solid #24472b;
font-size:.84rem}
footer img {
width:min(270px,100%);
height:auto;
max-width:100%;
filter:none}
footer p:last-child {
grid-column:2}
footer a {
color:var(--cream)}
@media(max-width:720px) {
header {
padding:.65rem 1rem}
nav {
gap:.5rem}
nav a:not(.button) {
display:none}
.hero,.shirt {
grid-template-columns:1fr}
.hero {
padding-top:2rem!important}
.badge {
order:-1;
width:min(85%,290px);
mix-blend-mode:normal}
.hero .button {
display:block;
text-align:center;
margin:.55rem 0;
width:100%}
.grid {
grid-template-columns:repeat(2,1fr)}
.inventory {
grid-template-columns:repeat(2,1fr)}
.inventory article {
min-height:90px}
.search {
flex-direction:column}
.search .button {
text-align:center}
.shirt {
padding-top:2.5rem!important;
padding-bottom:2.5rem!important}
footer {
grid-template-columns:1fr;
text-align:center}
footer img {
margin:auto}
footer p:last-child {
grid-column:auto}
}
@media(prefers-reduced-motion:reduce) {
* {
scroll-behavior:auto!important;
transition:none!important}
}

/* Header and hero — voxel-inspired event identity */
.brand,.button,h1,h2,h3,b,.eyebrow,summary {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-weight: 900;
  letter-spacing: .035em;
}

header {
  min-height: 60px;
  border-bottom: 0;
  background: rgba(9, 11, 9, .94);
  box-shadow: inset 0 -3px #24472b, inset 0 -6px #182819;
}

header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 9px;
  background: linear-gradient(90deg, #315f35 0 12px, #24472b 12px 24px);
  background-size: 24px 9px;
}

.brand {
  font-size: 1rem;
  white-space: nowrap;
}

header .brand { color: var(--fire); }
header .brand b { color: var(--grass); }

.menu-toggle { display: none; }

header nav .button {
  padding: .52rem .72rem;
  background: #4e8439;
  border-top-color: #92be70;
  border-left-color: #92be70;
  border-right-color: #17361d;
  border-bottom-color: #17361d;
}

.hero {
  isolation: isolate;
  grid-template-columns: minmax(0, 1.1fr) minmax(290px, .8fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-top: clamp(4rem, 6vw, 5rem) !important;
  padding-bottom: clamp(4rem, 6vw, 5rem) !important;
  background:
    linear-gradient(180deg, #17232a 0%, #13201b 54%, #152418 54% 100%);
}

.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .9;
  background:
    linear-gradient(90deg, transparent 0 7%, #102116 7% 10%, transparent 10% 17%, #152e1c 17% 22%, transparent 22% 76%, #0c1c12 76% 82%, transparent 82%),
    linear-gradient(0deg, #1d3820 0 13%, #264a27 13% 17%, #50331f 17% 30%, #33261c 30% 35%, transparent 35%);
  clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
}

.hero::after {
  height: 28px;
  opacity: 1;
  background: linear-gradient(90deg, #315f35 0 10%, #5a913f 10% 20%, #315f35 20% 30%, #5a913f 30% 40%, #315f35 40% 50%, #5a913f 50% 60%, #315f35 60% 70%, #5a913f 70% 80%, #315f35 80% 90%, #5a913f 90%);
}

.hero-copy { max-width: 620px; }
.hero .eyebrow { color: var(--fire); margin-bottom: .55rem; }
.hero h1 { font-size: clamp(2.2rem, 4.7vw, 3.9rem); letter-spacing: -.03em; }
.hero h1 em { display: inline; color: var(--cream); }
.hero-subtitle { font-size: clamp(1rem, 1.5vw, 1.18rem); font-weight: 700; }
.hero-description { max-width: 535px; }

.hero-date {
  display: grid;
  gap: .12rem;
  width: fit-content;
  margin: 1.1rem 0 1.25rem;
  padding: .65rem .8rem;
  background: #242b26;
  border: 3px solid #7b8679;
  border-right-color: #101510;
  border-bottom-color: #101510;
  box-shadow: 4px 4px 0 #050605;
  font-size: .82rem;
}

.hero-date strong { color: var(--gold); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.hero-actions .button { min-width: 178px; text-align: center; }
.hero-secondary { background: #6f4529; border-top-color: #aa7954; border-left-color: #aa7954; border-right-color: #321c11; border-bottom-color: #321c11; }

.hero .mission-bar {
  display: flex !important;
  align-items: center;
  gap: .55rem;
  width: fit-content;
  max-width: 100%;
  margin-top: 1.3rem;
  padding: .55rem .7rem !important;
  border: 2px solid #667365;
  border-left: 5px solid var(--grass);
  background: #101610;
  color: var(--cream);
  font: 700 .68rem/1.3 ui-monospace, monospace;
  text-transform: uppercase;
}
.mission-bar span { color: var(--fire); }

.hero-badge-frame {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: min(100%, 400px);
  padding: 8px;
  background: #2b312b;
  border: 6px solid #596158;
  border-right-color: #121612;
  border-bottom-color: #121612;
  box-shadow: 8px 8px 0 #070907, 0 0 34px #e7963555;
}

.hero-badge-frame::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 14% 12%;
  background: #e79635;
  filter: blur(28px);
  opacity: .45;
}

.hero .badge {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: normal;
  filter: none;
  box-shadow: 3px 3px 0 #101310;
}

@media (max-width: 760px) {
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .55rem;
    border: 2px solid #899486;
    border-right-color: #172017;
    border-bottom-color: #172017;
    background: #2d382d;
    color: var(--cream);
    font: 700 .72rem ui-monospace, monospace;
    text-transform: uppercase;
    cursor: pointer;
  }
  header nav { display: none; }
  header nav.is-open { display: grid; position: absolute; top: 60px; right: 1rem; width: min(270px, calc(100vw - 2rem)); padding: .7rem; background: #182018; border: 4px solid #5b6659; box-shadow: 6px 6px 0 #050605; }
  header nav.is-open a { display: block; padding: .65rem; font-size: .92rem; }
  .hero { grid-template-columns: 1fr; gap: 1.7rem; padding-top: 2.7rem !important; padding-bottom: 3.5rem !important; }
  .hero-badge-frame { order: -1; width: min(85vw, 330px); }
  .hero-copy { text-align: left; }
  .hero h1 { font-size: clamp(2.15rem, 10vw, 2.55rem); }
  .hero h1 em { display: block; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero .mission-bar { font-size: .62rem; }
}

/* Shared block-button system */
.button,
.btn-grass,
.btn-wood,
.btn-stone {
  min-height: 44px;
  padding: .68rem .85rem;
  border: 0;
  border-top: 3px solid var(--button-hi, #b5bea9);
  border-left: 3px solid var(--button-hi, #b5bea9);
  border-right: 4px solid var(--button-low, #172017);
  border-bottom: 4px solid var(--button-low, #172017);
  box-shadow: 3px 3px 0 #050605;
  color: var(--cream);
  font: 800 .72rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: .045em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .15s ease, transform .15s ease, box-shadow .15s ease;
}

.btn-grass { --button-hi: #9bc47d; --button-low: #17361d; background: #4e8439; }
.btn-wood { --button-hi: #b9845e; --button-low: #321c11; background: #6f4529; }
.btn-stone { --button-hi: #a7afa5; --button-low: #151815; background: #505750; }

.button:hover,
.btn-grass:hover,
.btn-wood:hover,
.btn-stone:hover { filter: brightness(1.13); }

.button:active,
.btn-grass:active,
.btn-wood:active,
.btn-stone:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #050605; }

.button:focus-visible,
.btn-grass:focus-visible,
.btn-wood:focus-visible,
.btn-stone:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.button:disabled,
.btn-grass:disabled,
.btn-wood:disabled,
.btn-stone:disabled { cursor: not-allowed; opacity: .55; filter: grayscale(.45); }

#copy { margin-left: .5rem; vertical-align: middle; }
.hero-secondary { background: #6f4529; }

/* Institutional footer */
footer {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  gap: clamp(1.5rem, 5vw, 4.5rem);
  align-items: start;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}

footer section { min-width: 0; }
footer .footer-institutional img { width: min(270px, 100%); margin: 0 0 .8rem; }
footer p { margin: 0 0 .75rem; }
footer address { font-style: normal; line-height: 1.75; }
footer address a { text-underline-offset: 3px; }

.footer-developer {
  padding-left: clamp(0rem, 3vw, 2.2rem);
  border-left: 3px solid #24472b;
}

.footer-developer span,
.footer-developer small { color: #aeb6aa; }
.footer-links { display: flex; flex-wrap: wrap; gap: .5rem; margin: .9rem 0; }
.footer-links .button { min-height: 34px; padding: .45rem .55rem; font-size: .62rem; }

.modal .button.btn-stone {
  position: absolute;
  right: .7rem;
  top: .7rem;
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  background: #505750;
  border-top-color: #a7afa5;
  border-left-color: #a7afa5;
  border-right-color: #151815;
  border-bottom-color: #151815;
}

/* Compact operational information from the event bulletin */
.event-brief {
  margin-top: 1rem;
  background: #202720;
}

.event-brief p { margin: .6rem 0 0; }
.janbra-list ul {
  columns: 2;
  column-gap: 1.25rem;
  margin: .9rem 0 0;
  padding-left: 1.15rem;
}
.janbra-list li { break-inside: avoid; margin: .24rem 0; font-size: .84rem; }
.janbra-list .button { margin-top: .75rem; }

@media (max-width: 760px) {
  .button,
  .btn-grass,
  .btn-wood,
  .btn-stone { min-height: 46px; }
  .hero-actions .button { width: 100%; }
  #copy { display: block; width: 100%; margin: .7rem 0 0; }
  footer { grid-template-columns: 1fr; gap: 1.5rem; text-align: left; }
  footer .footer-institutional img { margin-left: 0; }
  .footer-developer { padding: 1.2rem 0 0; border-top: 3px solid #24472b; border-left: 0; }
  .footer-links .button { flex: 1 1 30%; min-width: 90px; }
  .janbra-list ul { columns: 1; }
}

/* Final visual refinement */
main > section {
  scroll-margin-top: 70px;
  padding-top: clamp(3rem, 5vw, 4.25rem);
  padding-bottom: clamp(3rem, 5vw, 4.25rem);
}

main > section > h2 {
  margin-bottom: .65rem;
}

main > section > .eyebrow + h2 {
  margin-top: .4rem;
}

/* Larger transparent badge with a lighter visual frame */
.hero {
  grid-template-columns: minmax(0, 1.02fr) minmax(370px, .98fr);
  gap: clamp(1.25rem, 3vw, 3rem);
}

.hero-badge-frame {
  width: min(100%, 340px);
  padding: 2px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.hero-badge-frame::before {
  inset: 23% 20% 16%;
  border-radius: 20%;
  filter: blur(34px);
  opacity: .55;
}

.hero-badge-frame::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 7%;
  bottom: 8%;
  left: 7%;
  height: 18px;
  background: #050705;
  box-shadow: 10px 10px 0 #050705;
  opacity: .6;
}

.hero .badge {
  filter: drop-shadow(9px 10px 0 rgba(4, 6, 4, .56)) drop-shadow(0 0 13px rgba(231, 150, 53, .24));
  box-shadow: none;
}

/* Subtle original block-world details */
.hero-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -38px;
  left: -76px;
  width: 52px;
  height: 18px;
  background: rgba(211, 220, 214, .17);
  box-shadow: 18px 0 rgba(211, 220, 214, .17), 56px 13px rgba(211, 220, 214, .1);
}

#evento::before {
  content: "";
  position: absolute;
  top: 28px;
  right: max(18px, calc((100% - 1120px) / 2));
  width: 8px;
  height: 26px;
  background: var(--wood);
  box-shadow: 0 -8px 0 2px var(--fire), 0 -12px 0 var(--gold), 4px 0 0 #2c1a10;
  opacity: .72;
}

/* Mission items become compact inventory slots */
#evento > .grid {
  margin-top: 1.15rem;
  gap: .85rem;
}

#evento > .grid article {
  position: relative;
  display: grid;
  grid-template-columns: 46px 1fr;
  grid-template-rows: auto auto;
  column-gap: .75rem;
  align-items: center;
  min-height: 94px;
  padding: .85rem;
  overflow: hidden;
  background: #303730;
  border: 4px solid #596159;
  border-right-color: #151915;
  border-bottom-color: #151915;
  box-shadow: inset 0 0 0 3px #202620, 5px 5px 0 #070907;
}

#evento > .grid article::before {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--gold);
  background: #161c16;
  border: 3px solid #6d776b;
  box-shadow: inset 0 0 0 2px #0c110c;
  font: 900 1.2rem ui-monospace, monospace;
}

#evento > .grid article:nth-child(1)::before { content: "⌁"; }
#evento > .grid article:nth-child(2)::before { content: "◆"; color: #7db960; }
#evento > .grid article:nth-child(3)::before { content: "▦"; color: #c38a55; }
#evento > .grid article:nth-child(4)::before { content: "✚"; color: #78a6c0; }
#evento > .grid article b { align-self: end; font-size: .78rem; text-transform: uppercase; }
#evento > .grid article p { align-self: start; margin: .18rem 0 0; font-size: .82rem; }
#evento > .grid article:hover { transform: translateY(-2px); border-top-color: #788176; }

.event-brief {
  display: grid;
  grid-template-columns: auto 1fr 1fr 1fr;
  gap: .7rem 1rem;
  align-items: start;
  padding: 1rem 1.1rem;
  border-left: 5px solid var(--fire);
  background: linear-gradient(90deg, #252d25, #1b211b);
}

.event-brief > strong { color: var(--gold); }
.event-brief p { margin: 0; font-size: .86rem; }

/* Cartography table and unlocked result */
#locais {
  background:
    linear-gradient(90deg, rgba(111, 69, 41, .12) 0 12px, transparent 12px calc(100% - 12px), rgba(111, 69, 41, .12) calc(100% - 12px)),
    linear-gradient(100deg, #121812, #1a2119);
}

#locais > label,
#locais > .search,
#locais > #result {
  width: min(100%, 820px);
  margin-right: auto;
  margin-left: auto;
}

#locais > label { display: block; margin-top: 1.1rem; }

.search {
  position: relative;
  padding: .85rem;
  border: 5px solid #4a2c1c;
  border-top-color: #a16d47;
  border-left-color: #8f5d3d;
  background:
    linear-gradient(90deg, transparent 48%, rgba(45, 26, 15, .24) 48% 52%, transparent 52%),
    #6f4529;
}

.search::before {
  content: "◇";
  display: grid;
  place-items: center;
  width: 42px;
  min-width: 42px;
  color: #273325;
  background: #d7c8a3;
  border: 3px solid #3b2819;
  font: 900 1.2rem ui-monospace, monospace;
}

.search input {
  min-height: 44px;
  font: inherit;
  outline: 0;
}

#result article {
  position: relative;
  margin: 1rem 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 4px solid #699856;
  border-right-color: #15341a;
  border-bottom-color: #15341a;
  background: #1d3a20;
  box-shadow: 6px 6px 0 #070907;
}

#result article::after {
  content: "✓";
  position: absolute;
  top: .8rem;
  right: .9rem;
  color: #a9d58f;
  font: 900 1.2rem ui-monospace, monospace;
}

#result article h3 { margin: .25rem 2rem .35rem 0; }
#result article .button { margin-top: .55rem; }

.janbra-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  width: min(100%, 1120px);
  margin: 1rem auto 0;
}

.janbra-grid details {
  margin: 0;
  height: fit-content;
  border: 4px solid #9b6744;
  border-right-color: #372013;
  border-bottom-color: #372013;
  background: #624027;
  box-shadow: 5px 5px 0 #080908;
}

.janbra-grid summary {
  position: relative;
  min-height: 54px;
  padding: .85rem 2rem .75rem .85rem;
  list-style: none;
}

.janbra-grid summary::-webkit-details-marker { display: none; }
.janbra-grid summary::after { content: "+"; position: absolute; top: .75rem; right: .75rem; color: var(--gold); }
.janbra-grid details[open] summary::after { content: "−"; }
.janbra-grid details[open] { grid-column: span 3; }
.janbra-grid details p,
.janbra-grid details .button,
.janbra-grid details ul { margin-left: .85rem; margin-right: .85rem; }
.janbra-grid details ul { padding-bottom: .8rem; }

/* Registration cards and payment console */
#inscricao > .grid { gap: .85rem; margin-top: 1rem; }
#inscricao > .grid article {
  display: flex;
  min-width: 0;
  min-height: 150px;
  flex-direction: column;
  padding: 1rem;
  background: #2b322b;
  border: 4px solid #596159;
  border-right-color: #131713;
  border-bottom-color: #131713;
}

#inscricao > .grid article h3 { margin: .55rem 0 .3rem; color: var(--gold); }
#inscricao > .grid article p { margin: auto 0 0; font-size: .86rem; }

#inscricao > aside {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem 1rem;
  align-items: center;
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border-left: 5px solid var(--grass);
  background: #202720;
}

#inscricao > aside > strong,
#inscricao > aside > p { grid-column: 1 / -1; }
#inscricao > aside p { margin: .1rem 0; }
#inscricao code { overflow-wrap: anywhere; color: var(--gold); font-size: .88rem; }
#copy { margin: 0; }

/* Equipment station with integrated transparent product image */
.shirt {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  border-top-width: 9px;
  background:
    linear-gradient(90deg, rgba(111, 69, 41, .18) 0 10px, transparent 10px calc(100% - 10px), rgba(111, 69, 41, .18) calc(100% - 10px)),
    linear-gradient(135deg, #342c23, #1b1d1b);
}

.shirt-visual {
  position: relative;
  padding: .75rem;
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent 0 48%, rgba(255,255,255,.035) 48% 52%, transparent 52%),
    linear-gradient(180deg, #4b524c, #282f29);
  border: 5px solid #69726a;
  border-right-color: #151915;
  border-bottom-color: #151915;
  box-shadow: 7px 7px 0 #080908;
}

.shirt-visual::before,
.shirt-visual::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  background: #9ba29a;
  box-shadow: 4px 4px 0 #171b17;
}
.shirt-visual::before { top: 9px; left: 9px; }
.shirt-visual::after { right: 9px; bottom: 9px; }

#shirt-preview,
.shirt-visual #shirt-preview {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.shirt-visual img {
  width: 108%;
  max-width: none;
  margin: -2% -4%;
  filter: drop-shadow(8px 10px 0 rgba(7, 9, 7, .42));
  transition: transform .2s ease;
}

#shirt-preview:hover img { transform: scale(1.018); }

.shirt-visual span {
  right: .75rem;
  bottom: .75rem;
  padding: .55rem .7rem;
  background: #505750;
  border: 2px solid #a7afa5;
  border-right-color: #151815;
  border-bottom-color: #151815;
  box-shadow: 3px 3px 0 #080908;
  font-family: ui-monospace, monospace;
}

.modal-panel img {
  background: radial-gradient(circle, #4c554d, #252b25 72%);
}

/* Rules and night footer details */
#regras {
  overflow: hidden;
}

#regras::after {
  content: "";
  position: absolute;
  right: max(18px, calc((100% - 1120px) / 2));
  bottom: 18px;
  width: 42px;
  height: 42px;
  opacity: .28;
  background:
    linear-gradient(90deg, transparent 0 9px, #111 9px 15px, transparent 15px 27px, #111 27px 33px, transparent 33px),
    linear-gradient(#507b3e 0 100%);
  box-shadow: -8px 12px 0 #34562f, 8px 12px 0 #34562f, 0 30px 0 #24472b;
}

footer {
  position: relative;
  grid-template-columns: minmax(0, 1.2fr) minmax(230px, .9fr) minmax(210px, .75fr);
  gap: clamp(1.25rem, 3.5vw, 3.5rem);
  align-items: center;
  padding-top: 3.25rem;
  padding-bottom: 2.25rem;
  overflow: hidden;
  border-top: 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(241,229,200,.48) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 26%, rgba(241,229,200,.32) 0 1px, transparent 2px),
    linear-gradient(180deg, #0c1310, #060806);
}

footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 14px;
  background: linear-gradient(90deg, #315f35 0 12.5%, #5a913f 12.5% 25%, #315f35 25% 37.5%, #5a913f 37.5% 50%, #315f35 50% 62.5%, #5a913f 62.5% 75%, #315f35 75% 87.5%, #5a913f 87.5%);
  box-shadow: 0 8px 0 #50331f, 0 16px 0 #332218;
}

footer::after {
  content: "";
  position: absolute;
  right: 5%;
  bottom: 22px;
  width: 6px;
  height: 22px;
  background: var(--wood);
  box-shadow: 0 -7px 0 2px var(--fire), 0 -11px 0 var(--gold);
  opacity: .55;
}

.footer-institutional img {
  filter: drop-shadow(4px 4px 0 #000);
}

.footer-developer {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  margin: 0;
}

.footer-links .button { width: 100%; }

@media (max-width: 980px) {
  .hero { grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr); }
  .hero-badge-frame { width: min(100%, 320px); }
  .event-brief { grid-template-columns: 1fr 1fr; }
  .event-brief > strong { grid-column: 1 / -1; }
  .janbra-grid { grid-template-columns: 1fr; }
  .janbra-grid details[open] { grid-column: auto; }
  footer { grid-template-columns: 1.2fr .8fr; }
  .footer-links { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 760px) {
  main > section { padding-top: 2.75rem; padding-bottom: 2.75rem; }
  .hero { grid-template-columns: 1fr; }
  .hero-badge-frame { width: min(88vw, 300px); }
  .event-brief { grid-template-columns: 1fr; }
  .event-brief > strong { grid-column: auto; }
  #evento > .grid { grid-template-columns: 1fr 1fr; }
  #inscricao > .grid { grid-template-columns: 1fr 1fr; }
  #inscricao > aside { grid-template-columns: 1fr; }
  #inscricao > aside > strong,
  #inscricao > aside > p { grid-column: auto; }
  #copy { width: 100%; }
  .search::before { display: none; }
  .shirt { grid-template-columns: 1fr; }
  .shirt-visual { order: -1; }
  footer { grid-template-columns: 1fr; text-align: center; }
  footer .footer-institutional img { margin-right: auto; margin-left: auto; }
  .footer-developer { padding: 1rem 0 0; border-top: 3px solid #24472b; border-left: 0; }
  .footer-links { grid-column: auto; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 420px) {
  #evento > .grid,
  #inscricao > .grid { grid-template-columns: 1fr; }
  #evento > .grid article { min-height: 84px; }
  .hero-badge-frame { width: min(86vw, 280px); }
  .hero .mission-bar { font-size: .58rem; }
  .janbra-grid summary { font-size: .78rem; }
  .footer-links { grid-template-columns: 1fr; }
}

/* Final micro-adjustments */
.hero-copy {
  align-self: center;
}

.hero-badge-frame {
  transform: translateY(-10px);
}

.hero h1 {
  margin: .4rem 0 .75rem;
  line-height: 1.04;
  text-wrap: balance;
}

.hero-subtitle {
  margin: 0 0 .55rem !important;
}

.hero-description {
  margin: 0 !important;
  line-height: 1.5;
}

.hero-date {
  margin: 1rem 0 1.1rem;
}

.hero-actions {
  gap: .65rem;
}

.hero .mission-bar {
  width: min(100%, 355px);
  margin-top: 1rem;
  padding-right: .6rem !important;
  padding-left: .6rem !important;
}

.event-brief {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: .9rem 1rem;
}

.event-brief > div {
  min-width: 0;
  padding: 0 1rem;
  border-right: 1px solid rgba(133, 139, 131, .32);
}

.event-brief > div:first-child {
  padding-left: 0;
}

.event-brief > div:last-child {
  padding-right: 0;
  border-right: 0;
}

.event-brief strong {
  color: var(--gold);
}

.event-brief p {
  margin: .15rem 0 0;
  font-size: .84rem;
  line-height: 1.48;
}

#evento > .grid {
  grid-auto-rows: 1fr;
  align-items: stretch;
}

#evento > .grid article {
  height: 100%;
  min-height: 90px;
}

#evento > .grid article::before {
  align-self: center;
}

.search {
  align-items: center;
  gap: .7rem;
  padding: .75rem;
}

.search::before,
.search input,
.search .button {
  min-height: 44px;
  height: 44px;
}

.search .button {
  min-width: 98px;
}

#result article {
  border-top-color: #86b56f;
  border-left-color: #78a963;
  box-shadow: inset 0 0 0 2px rgba(169, 213, 143, .12), 6px 6px 0 #070907;
}

.janbra-grid {
  align-items: start;
}

.janbra-grid details:not([open]) {
  min-height: 62px;
}

.janbra-grid summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: clamp(.7rem, .8vw, .8rem);
  letter-spacing: .025em;
  white-space: nowrap;
}

.janbra-grid summary::after {
  top: 50%;
  right: .75rem;
  transform: translateY(-50%);
}

#inscricao > .grid {
  grid-auto-rows: 1fr;
  align-items: stretch;
}

#inscricao > .grid article {
  height: 100%;
  min-height: 136px;
  padding: .9rem;
}

@media (min-width: 721px) and (max-width: 1024px) {
  #inscricao > .grid article > b {
    min-height: 2.7em;
    line-height: 1.35;
  }
}

#inscricao > .grid article h3 {
  margin: .42rem 0 .25rem;
}

#inscricao > .grid article p {
  line-height: 1.42;
}

#inscricao > aside {
  grid-template-columns: 1fr;
  gap: .6rem;
  padding: 1.1rem 1.2rem;
}

.pix-row {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  justify-content: flex-start;
}

.pix-row code {
  min-width: 0;
}

.pix-row #copy {
  width: auto;
  flex: 0 0 auto;
}

.shirt {
  align-items: center;
}

.shirt-visual {
  background: transparent;
}

.shirt-visual img {
  width: 100%;
  max-width: 593px;
  margin: 0 auto;
  filter: drop-shadow(8px 10px 0 rgba(7, 9, 7, .5));
}

.shirt-visual span {
  right: .55rem;
  bottom: .55rem;
  padding: .48rem .62rem;
}

.modal-panel img {
  background: transparent;
}

.shirt > div:last-child h2 {
  margin-bottom: .75rem;
}

.shirt > div:last-child p {
  margin: 0 0 .75rem;
}

.shirt > div:last-child .button {
  margin-top: .25rem;
}

#regras details {
  margin: .42rem 0;
  border: 3px solid #9b6744;
  border-right-color: #372013;
  border-bottom-color: #372013;
}

#regras summary {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: center;
  padding: .72rem 2.5rem .72rem .85rem;
  list-style: none;
  line-height: 1.25;
}

#regras summary::-webkit-details-marker {
  display: none;
}

#regras summary::after {
  content: "▸";
  position: absolute;
  top: 50%;
  right: .9rem;
  transform: translateY(-50%);
  color: var(--gold);
}

#regras details[open] summary::after {
  content: "▾";
}

#regras summary:hover {
  background: rgba(185, 132, 94, .13);
}

#regras details p {
  margin: 0;
  padding: 0 .85rem .85rem;
  line-height: 1.5;
}

footer {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: clamp(1.75rem, 4vw, 4rem);
  align-items: center;
  padding-top: 3rem;
  padding-bottom: 2.1rem;
}

.footer-institutional {
  align-self: center;
}

footer .footer-institutional img {
  margin: 0 0 .85rem;
}

.footer-professional {
  display: grid;
  gap: 1rem;
  align-content: center;
  padding-left: clamp(1.25rem, 3vw, 2.2rem);
  border-left: 3px solid #24472b;
}

.footer-developer {
  align-self: auto;
  display: block;
  padding: 0;
  border: 0;
}

.footer-developer p {
  margin-bottom: .5rem;
}

.footer-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}

.footer-links .button {
  min-width: 0;
  min-height: 38px;
}

@media (max-width: 1024px) {
  .event-brief {
    grid-template-columns: 1fr;
    padding: .85rem 1rem;
  }

  .event-brief > div {
    padding: .7rem 0;
    border-right: 0;
    border-bottom: 1px solid rgba(133, 139, 131, .28);
  }

  .event-brief > div:first-child {
    padding-top: 0;
  }

  .event-brief > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

@media (max-width: 900px) {
  footer {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }

  .footer-professional {
    padding: 1.1rem 0 0;
    border-top: 3px solid #24472b;
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .hero-badge-frame {
    transform: translateY(-4px);
  }

  .hero h1 {
    line-height: 1.03;
  }

  .hero .mission-bar {
    width: min(100%, 340px);
  }

  .search {
    align-items: stretch;
  }

  .search input,
  .search .button {
    width: 100%;
  }

  .janbra-grid summary {
    white-space: normal;
  }

  .pix-row {
    display: grid;
    gap: .65rem;
  }

  .pix-row #copy {
    width: 100%;
  }

  .shirt {
    gap: 1.4rem;
  }

  .footer-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .hero .mission-bar {
    width: 100%;
  }

  #inscricao > .grid article {
    min-height: 126px;
  }
}
