/* O Adro · folha partilhada: tokens, base, chrome (header, menu, pesquisa), botões, rodapé, layouts das páginas interiores. */

:root {
  --sc-canvas:     #FFFFFF;   /* branco: o beige do kit lia-se como fundo genérico */
  --sc-surface:    #FFFFFF;
  --sc-ink:        #232A1C;
  --sc-ink-soft:   #6E7B52;
  --sc-accent:     #1B3F73;   /* cobalto: a acção principal, do kit */
  --sc-accent-ink: #FFFFFF;
  --bg-alt:        #EEF0EC;
  --amber:         #A8621F;
  --dark:          #1B2214;
  --dark-card:     #2C3722;
  --on-dark:       #F1F0EA;
  --sage:          #A3B07C;
  --sc-font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --font-wordmark:   "Cormorant", "Cormorant Garamond", Georgia, serif;
  --sc-font-text:    "Inter", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

  --olive:      #3F4A2E;   /* oliva da marca */
  --olive-deep: #2A3320;
  --olive-soft: #6E7B52;
  --olive-tint: #E1E5DF;
  --cobalt:     #1B3F73;   /* cobalto da marca: a marca, ligações e foco */
  --cream:      #F1F0EA;   /* creme da marca, só sobre fundos escuros */
  --marble:     #EEF0EC;
  --hero-ink:   #F1F0EA;
  --hero-ink-soft: #D6D3C8;

  --sc-shadow-color: 70 25% 18%;
  --sc-e1: 0 1px 2px hsl(var(--sc-shadow-color) / 0.12), 0 2px 6px -1px hsl(var(--sc-shadow-color) / 0.10);
  --sc-e2: 0 2px 4px hsl(var(--sc-shadow-color) / 0.12), 0 10px 22px -6px hsl(var(--sc-shadow-color) / 0.18);
  --sc-e3: 0 4px 8px hsl(var(--sc-shadow-color) / 0.12), 0 20px 44px -10px hsl(var(--sc-shadow-color) / 0.24);
  --sc-edge: inset 0 1px 0 rgba(255,255,255,0.55);
  --sc-hairline: rgba(28,35,27,0.13);
  --sc-hairline-strong: rgba(28,35,27,0.24);
  --sc-r-sm: 4px; --sc-r-md: 8px; --sc-r-lg: 12px;
  --bar-h: 76px;
}
::selection { background: var(--olive); color: #FFFFFF; }
:root { caret-color: var(--olive); accent-color: var(--olive); }
:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 2px; }
html { background: var(--sc-canvas); }
body { color: var(--sc-ink); background-color: var(--sc-canvas); }

.sc-display { color: var(--olive); font-weight: 500; letter-spacing: -0.015em; font-variation-settings: "SOFT" 60, "WONK" 1; }
.sc-display em { font-style: italic; font-weight: 500; font-variation-settings: "SOFT" 80, "WONK" 1; }
h1, h2, h3, .pcard__name, .row__name, .plate__name, .venue h3, .ledger h3, .como h3, .claim h3, .menu__links a, .cat b, .dial__read, .row__n, .row__min b, .facts .big, .venue__cap b { font-variation-settings: "SOFT" 60, "WONK" 1; }
.sc-body { color: var(--sc-ink-soft); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.sc-label { font-family: var(--sc-font-text); color: var(--olive-soft); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.72rem; }
.wordmark { font-family: var(--font-wordmark); font-weight: 300; letter-spacing: 0.16em; text-transform: uppercase; font-variation-settings: normal; }

/* ---------- header ---------- */
.bar {
  position: fixed; inset: 0 0 auto 0; height: var(--bar-h); z-index: var(--sc-z-chrome, 60);
  display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: var(--sc-5);
  padding-inline: var(--sc-gutter); pointer-events: none;
}
.bar::before {
  content: ""; position: absolute; inset: 0; background: rgba(255,255,255,0.92);
  border-bottom: 1px solid var(--sc-hairline); opacity: 0; transition: opacity 220ms var(--sc-ease-out);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
body.is-docked .bar::before, body.is-past-hero .bar::before, body.is-inner .bar::before, body.menu-open .bar::before { opacity: 1; }
.bar > * { pointer-events: auto; position: relative; }
.bar__logo { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--hero-ink); transition: color 220ms var(--sc-ease-out); }
.bar__logo img { width: 38px; height: 38px; display: block; }
.bar__logo .mark-light { display: block; } .bar__logo .mark-dark { display: none; }
.bar__logo .wordmark { font-size: 1.55rem; line-height: 1; color: inherit; }
body.is-docked .bar__logo, body.is-past-hero .bar__logo, body.is-inner .bar__logo, body.menu-open .bar__logo { color: var(--olive); }
body.is-docked .bar__logo .mark-light, body.is-past-hero .bar__logo .mark-light, body.is-inner .bar__logo .mark-light, body.menu-open .bar__logo .mark-light { display: none; }
body.is-docked .bar__logo .mark-dark, body.is-past-hero .bar__logo .mark-dark, body.is-inner .bar__logo .mark-dark, body.menu-open .bar__logo .mark-dark { display: block; }
body.is-home:not(.is-docked):not(.is-past-hero):not(.menu-open) .bar__logo { opacity: 0; pointer-events: none; }
.bar__nav { display: flex; gap: 0.2rem; }
.bar__nav a { font: 500 0.9rem var(--sc-font-text); color: var(--hero-ink); text-decoration: none; padding: 0.5rem 0.7rem; border-radius: 6px; position: relative; transition: color 220ms var(--sc-ease-out), background-color 140ms var(--sc-ease-out); }
.bar__nav a::after { content: ""; position: absolute; left: 0.7rem; right: 0.7rem; bottom: 0.3rem; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 200ms var(--sc-ease-out); }
.bar__nav a:hover::after, .bar__nav a[aria-current="page"]::after { transform: scaleX(1); }
body.is-docked .bar__nav a, body.is-past-hero .bar__nav a, body.is-inner .bar__nav a, body.menu-open .bar__nav a { color: var(--olive); }
body.is-docked .bar__nav a:hover, body.is-past-hero .bar__nav a:hover, body.is-inner .bar__nav a:hover { color: var(--cobalt); }
.bar__slot { justify-self: center; width: min(640px, 100%); height: 60px; min-width: 0; }
.bar__slot .search { height: 52px; box-shadow: var(--sc-e1), var(--sc-edge); }
.bar__slot .search__field label { display: none; }
.bar__slot .search__go { margin: 5px; padding: 0 1.1rem; font-size: 0.9rem; }
.bar__b2b { justify-self: end; font-size: 0.9rem; font-weight: 500; color: var(--hero-ink); text-decoration: none; padding: 0.55rem 0.9rem; border: 1px solid rgba(241,240,234,0.35); border-radius: var(--sc-r-md); white-space: nowrap; transition: color 220ms var(--sc-ease-out), border-color 220ms var(--sc-ease-out), background-color 160ms var(--sc-ease-out), transform 120ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out); }
.bar__b2b:hover { background: rgba(241,240,234,0.1); transform: translateY(-1px); }
.bar__b2b:active { transform: translateY(1px); }
body.is-docked .bar__b2b, body.is-past-hero .bar__b2b, body.is-inner .bar__b2b, body.menu-open .bar__b2b { color: var(--olive); background: linear-gradient(to bottom, #FFFFFF, #EEF0EF); box-shadow: inset 0 1px 0 #FFFFFF, 0 1px 2px rgba(28,35,27,0.14), 0 3px 8px -4px rgba(28,35,27,0.28); border-color: rgba(28,35,27,0.2); }
body.is-docked .bar__b2b:hover, body.is-past-hero .bar__b2b:hover, body.is-inner .bar__b2b:hover { background: linear-gradient(to bottom, #FFFFFF, #E9ECEA); box-shadow: inset 0 1px 0 #FFFFFF, 0 2px 3px rgba(28,35,27,0.14), 0 8px 16px -6px rgba(28,35,27,0.32); }
.bar__menu { display: none; justify-self: end; font: 600 0.82rem var(--sc-font-text); color: var(--hero-ink); background: transparent; border: 1px solid rgba(241,240,234,0.35); border-radius: var(--sc-r-md); padding: 0.5rem 0.8rem; cursor: pointer; }
body.is-docked .bar__menu, body.is-past-hero .bar__menu, body.is-inner .bar__menu, body.menu-open .bar__menu { color: var(--olive); border-color: rgba(28,35,27,0.25); background: var(--sc-surface); }

/* mobile menu panel */
.menu { position: fixed; inset: var(--bar-h) 0 0 0; z-index: 59; background: var(--sc-canvas); padding: var(--sc-5) var(--sc-gutter) var(--sc-8); overflow-y: auto; display: none; }
.menu.is-open { display: block; }
.menu__links { list-style: none; margin: 0 0 var(--sc-6); padding: 0; border-top: 1px solid var(--sc-hairline-strong); }
.menu__links li { border-bottom: 1px solid var(--sc-hairline); }
.menu__links a { display: flex; justify-content: space-between; align-items: baseline; padding: 1rem 0; text-decoration: none; font-family: var(--sc-font-display); font-size: 1.8rem; color: var(--olive); }
.menu__links a small { font: 500 0.78rem var(--sc-font-text); color: var(--sc-ink-soft); letter-spacing: 0.06em; }
.menu__foot { display: grid; gap: var(--sc-3); }
.menu .search { grid-template-columns: 1fr; height: auto; }
.menu .search__field { height: 54px; border-right: 0; border-bottom: 1px solid var(--sc-hairline); }
.menu .search__go { height: 50px; margin: 8px; }
body.menu-open { overflow: hidden; }

/* ---------- the search object ---------- */
.search {
  display: grid; grid-template-columns: 1.2fr 1fr 0.9fr auto; gap: 0; align-items: stretch;
  height: 60px; background: var(--sc-surface); border-radius: 10px; box-shadow: var(--sc-e3), var(--sc-edge);
  border: 1px solid rgba(28,35,27,0.12); overflow: hidden;
}
.search__field { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 0 1.1rem; border-right: 1px solid var(--sc-hairline); min-width: 0; }
.search__field label { font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--olive-soft); font-weight: 600; line-height: 1; margin-bottom: 0.3rem; }
.search__field select, .search__field input {
  appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0; margin: 0; font: inherit; font-size: 0.98rem; font-weight: 500; color: var(--sc-ink); width: 100%; min-width: 0; line-height: 1.2; outline: none; text-overflow: ellipsis;
}
.search__field select { padding-right: 1.2rem; cursor: pointer; }
.search__field::after { content: ""; position: absolute; right: 1rem; top: 55%; width: 7px; height: 7px; border-right: 1.5px solid var(--olive-soft); border-bottom: 1.5px solid var(--olive-soft); transform: rotate(45deg); pointer-events: none; }
.search__field--text::after { display: none; }
.search__field:focus-within { background: color-mix(in oklab, var(--olive-tint) 55%, var(--sc-surface)); }
.search__go {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0 1.6rem; margin: 6px; border-radius: 7px;
  background: linear-gradient(to bottom, #2A5391 0%, #1B3F73 55%, #163360 100%); color: var(--sc-accent-ink); font: inherit; font-weight: 600; font-size: 0.98rem; border: 1px solid #12294D; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(0,0,0,0.15), 0 1px 2px rgba(10,20,45,0.28), 0 6px 14px -6px rgba(27,63,115,0.6);
  transition: transform 120ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out), filter 140ms var(--sc-ease-out); white-space: nowrap;
}
.search__go:hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: inset 0 1px 0 rgba(255,255,255,0.26), inset 0 -1px 0 rgba(0,0,0,0.15), 0 2px 4px rgba(10,20,45,0.28), 0 10px 20px -8px rgba(27,63,115,0.7); }
.search__go:active { transform: translateY(1px); filter: brightness(0.92); box-shadow: inset 0 2px 5px rgba(0,0,0,0.3), 0 1px 1px rgba(10,20,45,0.2); }
.search__go:focus-visible { outline: 2px solid var(--olive); outline-offset: 2px; }
.search--big { grid-template-columns: 1fr; height: auto; padding: 0.35rem; gap: 0.35rem; border-radius: 14px; }
.search--big .search__row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 0.35rem; }
.search--big .search__field { height: 62px; border: 1px solid var(--sc-hairline-strong); border-radius: 9px; background: #F7F8F6; }
.search--big .search__field:focus-within { border-color: var(--cobalt); background: #FFFFFF; box-shadow: 0 0 0 3px rgba(27,63,115,0.12); }
.search--big .search__go { margin: 0; height: 62px; padding: 0 1.8rem; font-size: 1rem; border-radius: 9px; }
@media (max-width: 640px) { .search--big .search__row { grid-template-columns: 1fr; } }

/* ---------- buttons ---------- */
.btn-action { display: inline-flex; align-items: center; justify-content: center; padding: 0.85rem 1.4rem; border-radius: 7px; background: linear-gradient(to bottom, #2A5391 0%, #1B3F73 55%, #163360 100%); color: var(--sc-accent-ink); font: 600 0.98rem var(--sc-font-text); border: 1px solid #12294D; text-decoration: none; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(0,0,0,0.15), 0 1px 2px rgba(10,20,45,0.28), 0 6px 14px -6px rgba(27,63,115,0.6); transition: transform 120ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out), filter 140ms var(--sc-ease-out); }
.btn-action:hover { transform: translateY(-1px); filter: brightness(1.06); }
.btn-action:active { transform: translateY(1px); filter: brightness(0.92); box-shadow: inset 0 2px 5px rgba(0,0,0,0.3); }
.btn-olive { display: inline-block; padding: 0.85rem 1.4rem; border: 1px solid #1C2614; border-radius: var(--sc-r-md); color: #FFFFFF; font: 600 0.98rem var(--sc-font-text); text-decoration: none; background: linear-gradient(to bottom, #4B5838, #2F3924); cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), inset 0 -1px 0 rgba(0,0,0,0.25), 0 1px 2px rgba(28,35,27,0.25), 0 6px 14px -6px rgba(46,59,34,0.6); transition: transform 120ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out), filter 140ms var(--sc-ease-out); }
.btn-olive:hover { transform: translateY(-1px); filter: brightness(1.08); }
.btn-olive:active { transform: translateY(1px); filter: brightness(0.92); box-shadow: inset 0 2px 5px rgba(0,0,0,0.35); }
.btn-ghost { display: inline-block; padding: 0.8rem 1.3rem; border: 1px solid rgba(28,35,27,0.22); border-radius: var(--sc-r-md); color: var(--olive); font: 600 0.95rem var(--sc-font-text); text-decoration: none; background: linear-gradient(to bottom, #FFFFFF, #EEF0EF); cursor: pointer; box-shadow: inset 0 1px 0 #FFFFFF, 0 1px 2px rgba(28,35,27,0.14), 0 3px 8px -4px rgba(28,35,27,0.28); transition: transform 120ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out); }
.btn-ghost:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 #FFFFFF, 0 2px 3px rgba(28,35,27,0.14), 0 8px 16px -6px rgba(28,35,27,0.32); }
.btn-ghost:active { transform: translateY(1px); box-shadow: inset 0 2px 4px rgba(28,35,27,0.22); }
.pill { font: 500 0.84rem/1 var(--sc-font-text); padding: 0.55rem 0.9rem; border-radius: var(--sc-r-md); border: 1px solid rgba(28,35,27,0.2); background: linear-gradient(to bottom, #FFFFFF, #EEF0EF); color: var(--olive); cursor: pointer; text-decoration: none; display: inline-block;
  box-shadow: inset 0 1px 0 #FFFFFF, 0 1px 2px rgba(28,35,27,0.14), 0 3px 8px -4px rgba(28,35,27,0.28);
  transition: transform 120ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out), background-color 140ms var(--sc-ease-out), border-color 140ms var(--sc-ease-out); }
.pill:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 #FFFFFF, 0 2px 3px rgba(28,35,27,0.14), 0 8px 16px -6px rgba(28,35,27,0.32); border-color: rgba(28,35,27,0.32); }
.pill:active { transform: translateY(1px); background: linear-gradient(to bottom, #E6E9E7, #EDEFEE); box-shadow: inset 0 2px 4px rgba(28,35,27,0.22); }
.pill[aria-pressed="true"], .pill.is-on { background: linear-gradient(to bottom, #4B5838, #2F3924); color: #FFFFFF; border-color: #1C2614; box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), inset 0 -1px 0 rgba(0,0,0,0.25), 0 1px 2px rgba(28,35,27,0.25); }
.pill:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 2px; }

/* ---------- footer + index ---------- */
.foot-wrap { background: var(--dark); color: var(--on-dark); padding-block: var(--sc-8) var(--sc-7); border-top: 1px solid rgba(255,255,255,0.08); }
.foot-wrap .index h3 { color: var(--sage); }
.foot-wrap .index a { color: var(--on-dark); opacity: 0.85; }
.foot-wrap .index a:hover { color: #FFFFFF; opacity: 1; }
.foot-wrap .foot { border-top-color: rgba(255,255,255,0.14); color: rgba(241,240,234,0.7); }
.foot-wrap .foot__brand .wordmark { color: var(--on-dark); }
.foot-wrap .foot a { color: rgba(241,240,234,0.75); }
.foot-wrap .foot a:hover { color: #FFFFFF; }
.index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sc-6); }
.index h3 { font: 600 0.72rem var(--sc-font-text); letter-spacing: 0.1em; text-transform: uppercase; color: var(--olive-soft); margin: 0 0 var(--sc-3); }
.index ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: var(--sc-4); }
.index li { break-inside: avoid; padding: 0.22rem 0; font-size: 0.95rem; }
.index a { text-decoration: none; color: var(--sc-ink); }
.index a:hover { color: var(--cobalt); text-decoration: underline; }
.foot { margin-top: var(--sc-8); padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline-strong); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sc-4) var(--sc-6); font-size: 0.86rem; color: var(--sc-ink-soft); }
.foot__brand { display: flex; align-items: center; gap: 0.7rem; }
.foot__brand img { width: 44px; height: 44px; }
.foot__brand .wordmark { font-size: 1.5rem; color: var(--olive); line-height: 1; }
.foot ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--sc-4); }
.foot a { color: var(--sc-ink-soft); }
.foot a:hover { color: var(--cobalt); }

/* ---------- inner pages ---------- */
body.is-inner main { padding-top: var(--bar-h); }
.page-head { padding: var(--sc-8) 0 var(--sc-6); }
.page-head .crumbs { font-size: 0.8rem; color: var(--sc-ink-soft); margin: 0 0 var(--sc-4); }
.page-head .crumbs a { text-decoration: none; }
.page-head .crumbs a:hover { color: var(--cobalt); text-decoration: underline; }
.page-head h1 { margin: 0; font-size: clamp(2.4rem, 1.6rem + 3vw, 4.4rem); line-height: 1; }
.page-head .lede { margin: var(--sc-4) 0 0; max-width: 46rem; font-size: 1.1rem; }
.page-head--hero { position: relative; min-height: clamp(360px, 52vh, 560px); display: flex; align-items: flex-end; color: var(--hero-ink); border-radius: 0; overflow: hidden; margin-top: var(--sc-4); }
.page-head--hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-head--hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,24,18,0.78) 0%, rgba(20,24,18,0.3) 45%, rgba(20,24,18,0) 75%); }
.page-head--hero .sc-wrap { position: relative; z-index: 1; padding-block: var(--sc-6); }
.page-head--hero h1 { color: var(--hero-ink); }
.page-head--hero .lede { color: var(--hero-ink-soft); }
.page-head--hero .crumbs, .page-head--hero .crumbs a { color: var(--hero-ink-soft); }
.section { padding-block: var(--sc-7); }
.section--tight { padding-block: var(--sc-6); }
.section + .section { border-top: 1px solid var(--sc-hairline); }
.prose { max-width: 62ch; }
.prose p { margin: 0 0 var(--sc-4); color: var(--sc-ink); line-height: 1.65; }
.prose h2 { font-size: var(--sc-t-2xl); margin: var(--sc-7) 0 var(--sc-3); }
.prose h3 { font-family: var(--sc-font-display); font-size: var(--sc-t-xl); color: var(--olive); margin: var(--sc-6) 0 var(--sc-2); font-weight: 400; }
.prose ul { padding-left: 1.2rem; color: var(--sc-ink); line-height: 1.6; }
.prose li + li { margin-top: 0.4rem; }
.notice { padding: var(--sc-4) var(--sc-5); border: 1px solid var(--sc-hairline-strong); border-left: 3px solid var(--cobalt); background: #F7F8F6; border-radius: 6px; font-size: 0.92rem; color: var(--sc-ink); max-width: 52rem; }
.notice strong { color: var(--olive); }

/* property cards */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: var(--sc-5); }
.pcard { display: grid; grid-template-rows: auto 1fr; text-decoration: none; color: inherit; background: var(--sc-surface); border: 1px solid var(--sc-hairline); border-radius: 12px; overflow: hidden; box-shadow: var(--sc-e1); transition: transform 160ms var(--sc-ease-out), box-shadow 200ms var(--sc-ease-out); }
.pcard:hover { transform: translateY(-2px); box-shadow: var(--sc-e2); }
.pcard:active { transform: translateY(0); }
.pcard__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--marble); }
.pcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcard__body { padding: var(--sc-4) var(--sc-4) var(--sc-4); }
.pcard__name { font-family: var(--sc-font-display); font-size: 1.5rem; color: var(--olive); margin: 0; line-height: 1.05; }
.pcard__where { margin: 0.3rem 0 0; font-size: 0.86rem; color: var(--sc-ink-soft); }
.pcard__where b { color: var(--olive); font-weight: 600; }
.pcard__spec { margin: var(--sc-3) 0 0; padding-top: var(--sc-3); border-top: 1px solid var(--sc-hairline); font-size: 0.82rem; line-height: 1.5; color: var(--sc-ink); }
.pcard__spec span + span::before { content: ' · '; color: var(--sc-ink-soft); }
.pcard__new { display: inline-block; margin-top: var(--sc-3); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--olive-soft); font-weight: 600; }
.empty { padding: var(--sc-6); border: 1px dashed var(--sc-hairline-strong); border-radius: 12px; color: var(--sc-ink-soft); max-width: 40rem; }
.empty strong { color: var(--olive); }

/* profile */
.profile { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); gap: var(--sc-8); align-items: start; }
.profile__aside { position: sticky; top: calc(var(--bar-h) + 1rem); display: grid; gap: var(--sc-4); }
.facts { list-style: none; margin: 0; padding: 0; background: var(--sc-surface); border: 1px solid var(--sc-hairline); border-radius: 12px; overflow: hidden; box-shadow: var(--sc-e1); }
.facts li { display: grid; grid-template-columns: 1fr auto; gap: var(--sc-4); padding: 0.75rem 1rem; border-bottom: 1px solid var(--sc-hairline); font-size: 0.9rem; }
.facts li:last-child { border-bottom: 0; }
.facts dt { color: var(--sc-ink-soft); }
.facts dd { margin: 0; text-align: right; color: var(--sc-ink); font-weight: 500; }
.facts .big { font-family: var(--sc-font-display); font-size: 1.6rem; color: var(--olive); line-height: 1; }
.claim { background: linear-gradient(to bottom, #4B5838, #2F3924); color: #EEF1E8; border-radius: 12px; padding: var(--sc-5); }
.claim h3 { font-family: var(--sc-font-display); font-size: 1.5rem; font-weight: 400; margin: 0 0 0.5rem; color: #FFFFFF; }
.claim p { margin: 0 0 var(--sc-4); font-size: 0.9rem; color: rgba(238,241,232,0.8); }
.desc-pair { display: grid; gap: var(--sc-5); }
.desc { padding: var(--sc-5); border-radius: 12px; border: 1px solid var(--sc-hairline); background: #F7F8F6; }
.desc .sc-label { display: block; margin-bottom: var(--sc-3); }
.desc p { margin: 0; line-height: 1.65; }
.desc--owner { border-style: dashed; color: var(--sc-ink-soft); }
.venues { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sc-4); }
.venue { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sc-4); padding: var(--sc-4) var(--sc-5); background: var(--sc-surface); border: 1px solid var(--sc-hairline); border-radius: 12px; box-shadow: var(--sc-e1); }
.venue h3 { font-family: var(--sc-font-display); font-size: 1.5rem; margin: 0; color: var(--olive); font-weight: 400; line-height: 1.05; }
.venue .type { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--olive-soft); font-weight: 600; }
.venue p { margin: 0.4rem 0 0; font-size: 0.92rem; color: var(--sc-ink-soft); }
.venue dl { margin: var(--sc-3) 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 0.4rem var(--sc-4); font-size: 0.82rem; }
.venue dt { color: var(--sc-ink-soft); }
.venue dd { margin: 0; color: var(--sc-ink); font-weight: 500; }
.venue__cap { text-align: right; }
.venue__cap b { display: block; font-family: var(--sc-font-display); font-size: 2.2rem; color: var(--olive); line-height: 1; }
.venue__cap small { display: block; font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sc-ink-soft); margin-top: 0.25rem; }
.tags { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 0; padding: 0; }
.tags li { font-size: 0.8rem; padding: 0.35rem 0.6rem; border: 1px solid var(--sc-hairline-strong); border-radius: 6px; background: #F7F8F6; color: var(--sc-ink); }
.report-link { font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sc-ink-soft); text-decoration: none; }
.report-link:hover { color: var(--cobalt); text-decoration: underline; }
.media { position: relative; border-radius: 12px; overflow: hidden; background: var(--marble); aspect-ratio: 16 / 9; }
.media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.media .report-link { position: absolute; right: 0.6rem; bottom: 0.6rem; color: var(--hero-ink); background: rgba(31,42,25,0.55); padding: 0.3rem 0.5rem; border-radius: 4px; }

/* forms */
.form { display: grid; gap: var(--sc-4); max-width: 40rem; }
.form label { display: grid; gap: 0.35rem; font: 600 0.72rem var(--sc-font-text); letter-spacing: 0.08em; text-transform: uppercase; color: var(--olive-soft); }
.form input, .form select, .form textarea { font: 500 0.98rem var(--sc-font-text); color: var(--sc-ink); padding: 0.75rem 0.9rem; border: 1px solid var(--sc-hairline-strong); border-radius: 8px; background: var(--sc-surface); box-shadow: var(--sc-edge); }
.form textarea { min-height: 8rem; resize: vertical; }
.form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.form input:focus, .form select:focus, .form textarea:focus { outline: 2px solid var(--cobalt); outline-offset: 1px; }
.form .row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sc-4); }

/* ledger of principles (reused) */
.ledger { list-style: none; margin: 0; padding: 0; }
.ledger li { padding: var(--sc-5) 0; border-top: 1px solid var(--sc-hairline-strong); display: grid; gap: 0.35rem; }
.ledger li:last-child { border-bottom: 1px solid var(--sc-hairline-strong); }
.ledger h3 { font-family: var(--sc-font-display); font-size: var(--sc-t-xl); color: var(--olive); margin: 0; font-weight: 400; line-height: 1.15; }
.ledger p { margin: 0; color: var(--sc-ink-soft); font-size: 0.98rem; max-width: 34rem; }

@media (max-width: 1100px) {
  .bar { grid-template-columns: auto 1fr auto; gap: var(--sc-4); }
  .bar__nav { display: none; }
  .bar__slot { width: min(560px, 100%); }
  .bar__menu { display: inline-block; }
}
@media (max-width: 860px) {
  :root { --bar-h: 60px; }
  .bar { grid-template-columns: auto 1fr auto; gap: var(--sc-3); }
  .bar__logo img { width: 30px; height: 30px; }
  .bar__logo .wordmark { font-size: 1.25rem; }
  .bar__slot { display: none; }
  .search { grid-template-columns: 1fr; height: auto; }
  .search__field { height: 54px; border-right: 0; border-bottom: 1px solid var(--sc-hairline); }
  .search__go { height: 50px; margin: 8px; }
  .index { grid-template-columns: 1fr; gap: var(--sc-5); }
  .profile { grid-template-columns: 1fr; }
  .profile__aside { position: static; }
  .venue { grid-template-columns: 1fr; }
  .venue__cap { text-align: left; }
  .form .row { grid-template-columns: 1fr; }
  .page-head h1 { font-size: clamp(2rem, 1.4rem + 4vw, 2.8rem); }
}
@media (max-width: 420px) { .index ul { columns: 1; } }

/* perfis sem fotografia autorizada */
.pcard__media--noimg { display: grid; place-items: center; background: linear-gradient(135deg, #EEF0EC, #E0E1DA); color: var(--olive-soft); font: 600 0.7rem var(--sc-font-text); letter-spacing: 0.16em; text-transform: uppercase; }
.page-head--noimg { background: linear-gradient(135deg, #2C3722 0%, #1B2214 100%); min-height: clamp(220px, 32vh, 340px); }
.page-head--noimg::after { background: none; }

/* sem perfis publicados */
.soon { padding: var(--sc-6) var(--sc-6); border: 1px solid var(--sc-hairline); border-radius: 14px; background: linear-gradient(135deg, #F6F7F3, #EEF0EC); max-width: 56rem; }
.soon h3 { margin: var(--sc-2) 0 var(--sc-3); }
.soon p:last-child { margin: var(--sc-4) 0 0; display: flex; gap: var(--sc-3); flex-wrap: wrap; }
.rank__empty { list-style: none; padding: var(--sc-5) var(--sc-4); color: var(--sc-ink-soft); font-size: 0.95rem; line-height: 1.5; }
.rank__empty strong { display: block; color: var(--sc-ink); margin-bottom: 0.3rem; }
/* páginas das políticas */
.legal { max-width: 46rem; }
.legal h2 { font: 600 1.05rem/1.3 var(--sc-font-text); color: var(--olive); margin: var(--sc-7) 0 var(--sc-3); }
.legal h3 { font: 600 0.98rem/1.35 var(--sc-font-text); color: var(--sc-ink); margin: var(--sc-5) 0 var(--sc-2); }
.legal p, .legal li { font-size: 0.98rem; line-height: 1.65; }
.legal ol, .legal ul { padding-left: 1.3rem; }
.legal-table { overflow-x: auto; margin: var(--sc-4) 0; }
.legal table { border-collapse: collapse; width: 100%; font-size: 0.88rem; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 0.55rem 0.7rem; border-bottom: 1px solid var(--sc-hairline); }
.legal th { background: var(--bg-alt); font-weight: 600; }
.legal blockquote { margin: var(--sc-4) 0; padding: var(--sc-3) var(--sc-4); border-left: 3px solid var(--amber); background: #FBF7F2; }
.legal-nav { margin-top: var(--sc-8); padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline); max-width: 46rem; }
.legal-nav ul { list-style: none; padding: 0; margin: var(--sc-3) 0 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; }
.legal-nav a { font-size: 0.9rem; }
