/* links.css — Fernando Sylon Roy · Links · JF Agência */
:root {
  --ink: #0B1522;
  --navy: #15243A;
  --paper: #F7F5F0;
  --gold: #A68A57;
  --gold-soft: #C4A874;
  --line: rgba(255, 255, 255, .12);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Manrope', system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: var(--sans);
  background: var(--ink);
  color: #fff;
  min-height: 100dvh;
  display: flex;
  justify-content: center;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: lining-nums;
}
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

.links-page {
  width: 100%;
  max-width: 440px;
  padding: 2.75rem 1.4rem 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.links-header { text-align: center; margin-bottom: 1.75rem; }
.links-logo { width: 150px; height: auto; margin: 0 auto 1.5rem; display: block; }
.links-name { font-family: var(--serif); font-weight: 500; font-size: 1.85rem; line-height: 1.1; }
.links-role {
  font-size: .66rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
  color: var(--gold-soft); margin: .55rem 0 1rem;
}
.links-rating {
  display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid var(--line); padding: .35rem .9rem; font-size: .76rem; color: rgba(255,255,255,.7);
}
.stars { color: var(--gold-soft); letter-spacing: .1em; }

.links-portrait-wrap { display: none; }

.links-nav { width: 100%; margin-bottom: 2.25rem; }
.links-list { display: flex; flex-direction: column; gap: .7rem; }
.link-item {
  display: flex; align-items: center; gap: 1rem;
  padding: 1.05rem 1.2rem;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.02);
  font-size: .9rem; font-weight: 600;
  transition: border-color .2s, background .2s;
}
.link-item:hover, .link-item:focus-visible { border-color: var(--gold); background: rgba(166,138,87,.08); }
.link-item:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 2px; }
.link-item--primary { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.link-item--primary:hover { background: var(--gold-soft); border-color: var(--gold-soft); }
.link-icon { width: 22px; display: flex; justify-content: center; color: var(--gold-soft); flex-shrink: 0; }
.link-item--primary .link-icon { color: var(--ink); }
.link-label { flex: 1; }
.link-arrow { opacity: .55; transition: transform .2s; }
.link-item:hover .link-arrow { transform: translateX(3px); }

.links-footer { text-align: center; display: flex; flex-direction: column; gap: .4rem; }
.links-address { font-size: .76rem; color: rgba(255,255,255,.55); line-height: 1.6; }
.links-disclaimer { font-size: .66rem; color: rgba(255,255,255,.35); }
.links-agency { display: flex; justify-content: center; align-items: center; gap: .4rem; font-size: .7rem; color: rgba(255,255,255,.4); margin-top: .3rem; }
.links-jf { width: 16px; height: 16px; opacity: .6; }
