@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders:wght@500;700;900&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --ink: #10192A;
  --ink-soft: #1B2740;
  --paper: #EFEBE2;
  --paper-dim: #E2DCCC;
  --steel: #5A6B80;
  --steel-dark: #3A4A5C;
  --brass: #C08829;
  --brass-bright: #D9A13F;
  --rust: #8B3A2F;
  --line: rgba(239,235,226,0.16);
  --line-dark: rgba(16,25,42,0.14);
  --display: 'Big Shoulders', sans-serif;
  --body: 'IBM Plex Sans', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--body);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; }
img{ max-width:100%; display:block; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}

:focus-visible{ outline:3px solid var(--brass); outline-offset:2px; }

.wrap{ max-width:1120px; margin:0 auto; padding:0 28px; }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:var(--ink);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{ display:flex; align-items:center; justify-content:space-between; height:72px; }
.wordmark{ display:flex; align-items:baseline; gap:10px; text-decoration:none; }
.wordmark .mark{
  font-family:var(--mono); font-size:13px; letter-spacing:0.14em;
  color:var(--brass-bright); border:1px solid var(--brass-bright); padding:3px 7px; border-radius:2px;
}
.wordmark .name{
  font-family:var(--display); font-weight:700; font-size:22px; letter-spacing:0.02em;
  color:var(--paper); text-transform:uppercase;
}
.nav{ display:flex; gap:32px; }
.nav a{
  font-family:var(--mono); font-size:13px; text-decoration:none; color:var(--steel);
  letter-spacing:0.04em; text-transform:uppercase; transition:color .15s ease;
}
.nav a:hover{ color:var(--brass-bright); }

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:var(--ink); color:var(--paper);
  padding:96px 0 88px;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:44px 44px;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(16,25,42,0) 0%, var(--ink) 78%);
  pointer-events:none;
}
.hero-inner{ position:relative; z-index:2; }
.eyebrow{
  font-family:var(--mono); font-size:13px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--brass-bright); margin:0 0 22px;
}
.eyebrow::before{ content:"— "; color:var(--steel); }
h1.headline{
  font-family:var(--display); font-weight:900; text-transform:uppercase;
  font-size:clamp(42px, 8vw, 92px); line-height:0.94; letter-spacing:0.01em;
  margin:0 0 28px; max-width:920px;
}
h1.headline em{ font-style:normal; color:var(--brass-bright); }
.hero-sub{
  font-size:18px; line-height:1.6; color:#C7CCD6; max-width:560px; margin:0 0 40px;
}
.cta-row{ display:flex; gap:16px; flex-wrap:wrap; }
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  text-decoration:none; padding:14px 24px; border-radius:2px; border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--brass); color:var(--ink); font-weight:600; }
.btn-primary:hover{ background:var(--brass-bright); }
.btn-ghost{ border-color:var(--steel); color:var(--paper); }
.btn-ghost:hover{ border-color:var(--brass-bright); color:var(--brass-bright); }

/* ---------- Section shell ---------- */
section{ padding:88px 0; }
.section-head{ margin-bottom:52px; max-width:640px; }
.section-tag{
  font-family:var(--mono); font-size:12px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--rust); margin:0 0 12px;
}
h2.section-title{
  font-family:var(--display); font-weight:900; text-transform:uppercase;
  font-size:clamp(30px, 4.4vw, 46px); line-height:0.98; margin:0 0 16px; color:var(--ink);
}
.section-desc{ color:var(--steel-dark); font-size:16px; line-height:1.7; margin:0; }

/* ---------- Product tickets ---------- */
.tickets{ display:flex; flex-direction:column; gap:36px; }
.ticket{
  position:relative;
  background:var(--paper-dim);
  border:1px solid var(--line-dark);
  border-radius:3px;
  padding:40px 40px 36px;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:36px;
}
.ticket::before{
  content:"";
  position:absolute; top:-9px; left:24px; right:24px; height:18px;
  background-image:radial-gradient(circle 7px, var(--paper) 99%, transparent 100%);
  background-size:20px 20px;
  background-repeat:repeat-x;
  background-position:0 -1px;
}
.ticket-meta{ font-family:var(--mono); border-right:1px dashed var(--steel); padding-right:32px; }
.ticket-no{ font-size:12px; color:var(--steel); letter-spacing:0.08em; margin:0 0 6px; }
.ticket-status{
  display:inline-block; font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
  padding:5px 10px; border-radius:2px; margin-bottom:22px;
}
.status-live{ background:rgba(139,58,47,0.1); color:var(--rust); border:1px solid rgba(139,58,47,0.35); }
.status-dev{ background:rgba(90,107,128,0.12); color:var(--steel-dark); border:1px solid rgba(90,107,128,0.4); }
.ticket-specs{ list-style:none; padding:0; margin:0; font-size:12px; color:var(--steel-dark); }
.ticket-specs li{ padding:8px 0; border-top:1px solid var(--line-dark); display:flex; justify-content:space-between; gap:10px; }
.ticket-specs li:first-child{ border-top:none; }
.ticket-specs b{ color:var(--ink); font-weight:600; text-align:right; }

.ticket-body h3{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:32px; margin:0 0 4px; letter-spacing:0.01em;
}
.ticket-tagline{ font-family:var(--mono); font-size:13px; color:var(--rust); margin:0 0 18px; }
.ticket-body p.desc{ font-size:15.5px; line-height:1.7; color:var(--steel-dark); margin:0 0 22px; max-width:56ch; }
.feature-grid{ list-style:none; padding:0; margin:0 0 26px; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; }
.feature-grid li{ font-size:14px; padding-left:18px; position:relative; color:var(--ink); }
.feature-grid li::before{ content:"▸"; position:absolute; left:0; color:var(--brass); }
.ticket-links{ display:flex; gap:22px; flex-wrap:wrap; }
.ticket-links a{
  font-family:var(--mono); font-size:12.5px; text-decoration:none; letter-spacing:0.04em;
  color:var(--ink); border-bottom:1px solid var(--brass); padding-bottom:2px;
}
.ticket-links a:hover{ color:var(--rust); border-color:var(--rust); }

@media (max-width:760px){
  .ticket{ grid-template-columns:1fr; }
  .ticket-meta{ border-right:none; border-bottom:1px dashed var(--steel); padding-right:0; padding-bottom:20px; }
  .feature-grid{ grid-template-columns:1fr; }
}

/* ---------- About ---------- */
.about{ background:var(--ink); color:var(--paper); }
.about .section-desc{ color:#C7CCD6; }
.about .section-tag{ color:var(--brass-bright); }
.stat-row{ display:flex; gap:56px; margin-top:48px; flex-wrap:wrap; }
.stat b{ display:block; font-family:var(--display); font-weight:900; font-size:44px; color:var(--brass-bright); line-height:1; }
.stat span{ font-family:var(--mono); font-size:12px; color:var(--steel); text-transform:uppercase; letter-spacing:0.08em; }

/* ---------- Footer ---------- */
footer.site-footer{ background:var(--ink-soft); border-top:1px solid var(--line); padding:56px 0 36px; color:var(--paper); }
.footer-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; margin-bottom:40px; }
.footer-col h4{ font-family:var(--mono); font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass-bright); margin:0 0 14px; }
.footer-col a{ display:block; text-decoration:none; color:#C7CCD6; font-size:14px; margin-bottom:8px; }
.footer-col a:hover{ color:var(--paper); }
.footer-bottom{ border-top:1px solid var(--line); padding-top:22px; font-family:var(--mono); font-size:12px; color:var(--steel); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

/* ---------- Privacy pages ---------- */
.legal-shell{ background:var(--paper); min-height:100vh; }
.legal-wrap{ max-width:760px; margin:0 auto; padding:64px 28px 100px; }
.legal-back{ font-family:var(--mono); font-size:12.5px; text-decoration:none; color:var(--rust); display:inline-block; margin-bottom:28px; }
.legal-wrap h1{ font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(30px,5vw,44px); margin:0 0 6px; }
.legal-updated{ font-family:var(--mono); font-size:12.5px; color:var(--steel); margin:0 0 44px; }
.legal-wrap h2{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:19px; margin:36px 0 12px; color:var(--ink); }
.legal-wrap p, .legal-wrap li{ font-size:15.5px; line-height:1.75; color:var(--steel-dark); }
.legal-wrap ul{ padding-left:20px; }
.legal-wrap a{ color:var(--rust); }
