:root{
  --bg: #14261f;
  --bg2:#0e1b16;
  --paper:#e7e5de;
  --paper2:#dcd9cf;
  --text:#f3f1ea;
  --muted:rgba(243,241,234,.72);
  --line:rgba(243,241,234,.18);
  --shadow: 0 10px 30px rgba(0,0,0,.25);

  /* subtle hover surfaces */
  --rowHover: rgba(231,229,222,.07);
  --rowHoverBorder: rgba(231,229,222,.22);
}

*{box-sizing:border-box}
html,body{
  height:100%;
  overflow-x:hidden;
}

body{
  margin:0;
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  color: var(--text);
  background: radial-gradient(1200px 700px at 50% 20%, var(--bg) 0%, var(--bg2) 65%, #0a1310 100%);
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.95}

/* ===== Header ===== */

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 28px;
  border-bottom:1px solid var(--line);
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;

  letter-spacing:.12em;
  font-size:14px;
  font-weight:600;
  text-transform:uppercase;
}

.brand-logo{
  height:14px;
  width:auto;
  display:block;
  object-fit:contain;
  position:relative;
  top:1px;
}

.nav{
  display:flex;
  gap:18px;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.nav a{
  opacity:.82;
  transition: opacity 150ms ease;
}
.nav a:hover{opacity:1}

.nav a.active{opacity:1}

.nav a.active::after{
  content:"";
  display:block;
  height:1px;
  background:var(--text);
  opacity:.7;
  margin-top:6px;
}

/* ===== Home Hero ===== */

.hero{
  min-height: calc(100vh - 62px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 48px 18px;
}

.hero-inner{
  width:min(900px, 92vw);
  text-align:center;
}

.hero-logo{
  width:360px;
  max-width:85%;
  margin-bottom:10px;
}

.title{
  margin:0;
  font-size: clamp(44px, 6vw, 88px);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:500;
}

.subtitle{
  margin: 14px 0 28px;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size: 12px;
  color: var(--muted);
}

.hero-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:center;
  margin: 18px 0 22px;
}

.pill{
  display:inline-block;
  padding: 14px 22px;
  border:1px solid rgba(231,229,222,.5);
  background: rgba(231,229,222,.10);
  box-shadow: var(--shadow);
  border-radius: 999px;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.pill:hover{
  background: rgba(231,229,222,.14);
  border-color: rgba(231,229,222,.62);
}

.pill:active{
  transform: translateY(1px);
}

.micro{
  margin: 16px auto 0;
  max-width: 720px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ===== Inner Pages ===== */

.page{
  padding: 46px 18px 66px;
  display:flex;
  justify-content:center;
}

.page > *{
  width:min(980px, 92vw);
}

.page-head h1{
  margin:0;
  font-size:44px;
  letter-spacing:.04em;
  font-weight:500;
}

.muted{
  margin:10px 0 0;
  color: var(--muted);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:13px;
}

/* ===== Cards ===== */

.card{
  margin-top: 22px;
  background: rgba(231,229,222,.06);
  border:1px solid rgba(231,229,222,.18);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow);
}

/* ===== Portfolio Table ===== */

.table{
  display:flex;
  flex-direction:column;
}

.trow{
  display:grid;
  grid-template-columns: 1fr 180px;
  gap:14px;
  padding:12px 10px;
  border-bottom:1px solid rgba(231,229,222,.10);
  transition: background 150ms ease, border-color 150ms ease;
}

.trow:last-child{border-bottom:none}

.thead{
  padding-top:8px;
  padding-bottom:10px;
}

.thead .tcell{
  color: rgba(243,241,234,.9);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
}

/* Hover effect (rows only, not header) */
.trow:not(.thead):hover{
  background: var(--rowHover);
  border-bottom-color: var(--rowHoverBorder);
}

/* optional: subtle "focus" for keyboard users */
.trow:not(.thead):focus-within{
  background: var(--rowHover);
  border-bottom-color: var(--rowHoverBorder);
}

.tcell{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:14px;
  letter-spacing:.02em;
  min-width:0;
}

.trow .tcell:first-child{
  overflow-wrap:anywhere;
}

.right{text-align:right}

.fineprint{
  margin: 14px 8px 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ===== Footer ===== */

.footer{
  padding:18px 28px;
  border-top:1px solid var(--line);
  color: rgba(243,241,234,.6);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:12px;
  display:flex;
  justify-content:center;
}

/* ===== Responsive ===== */

@media (max-width: 900px){

  .page{
    flex-direction:column;
  }

  .page > *{
    width:100%;
  }

  .topbar{
    flex-wrap:wrap;
    align-items:flex-start;
    padding:14px 16px;
    gap:12px;
  }

  .brand{
    width:100%;
  }

  .nav{
    width:100%;
    flex-wrap:wrap;
    gap:10px 14px;
  }

  .page-head h1{
    font-size:34px;
    line-height:1.1;
    word-break:break-word;
  }

  .card{
    padding:14px 12px;
  }

  .trow{
    grid-template-columns: 1fr 100px;
    gap:12px;
    padding:10px 6px;
  }

  .tcell{
    font-size:13px;
  }

  .brand-logo{
    height:13px;
  }

  .hero-logo{
    width:280px;
    max-width:90%;
  }
}
