:root { color-scheme: dark; --ink:#f7f7f4; --muted:#a4a4a0; --line:rgba(255,255,255,.2); --black:#030303; --panel:#0b0b0c; --glow:#c8d9ff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--black); color:var(--ink); font-family:"Urbanist",sans-serif; font-weight:400; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:linear-gradient(100deg,#000 0%,rgba(18,18,20,.72) 50%,rgba(45,45,48,.42) 100%); z-index:-3; }
.noise { position:fixed; inset:0; pointer-events:none; opacity:.13; z-index:20; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
a { color:inherit; }
button,input,textarea,select { font:inherit; }
button { color:inherit; cursor:pointer; }
.shell { min-height:100vh; overflow:hidden; }
.header { height:112px; display:flex; align-items:center; justify-content:space-between; padding:0 5.5vw; border-bottom:1px solid var(--line); position:relative; z-index:5; background:rgba(0,0,0,.55); backdrop-filter:blur(16px); }
.brand { display:flex; gap:18px; align-items:center; text-decoration:none; }
.prism { width:118px; height:54px; object-fit:cover; filter:saturate(.85) contrast(1.12); }
.brand-copy { line-height:1.05; letter-spacing:.04em; font-size:13px; }
.brand-copy strong { display:block; font-size:15px; font-weight:500; }
.nav { display:flex; align-items:center; gap:30px; font-size:13px; }
.nav a { text-decoration:none; color:#cfcfcb; }
.nav a:hover { color:#fff; }
.nav .active { color:#fff; border-bottom:1px solid #fff; padding-bottom:3px; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:11px; color:#c7c7c1; }
.btn { border:1px solid rgba(255,255,255,.7); background:transparent; min-height:48px; padding:0 22px; text-transform:uppercase; letter-spacing:.1em; font-size:11px; display:inline-flex; align-items:center; justify-content:center; gap:14px; text-decoration:none; transition:.25s ease; }
.btn:hover { background:#fff; color:#000; }
.btn.primary { background:#f4f4f0; color:#060606; }
.btn.primary:hover { background:#cfd8ff; }
.btn.ghost { border-color:var(--line); color:#aaa; }
.icon-btn { border:0; background:none; padding:8px; color:#aaa; }
.landing { min-height:calc(100vh - 112px); display:grid; grid-template-columns:1.08fr .92fr; position:relative; }
.landing::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse at 83% 24%,rgba(125,160,255,.16),transparent 28%),linear-gradient(90deg,transparent 58%,rgba(255,255,255,.025)); }
.hero { padding:9vh 5.5vw 7vh; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); }
.hero h1 { font-size:clamp(64px,8.5vw,154px); letter-spacing:-.065em; line-height:.78; font-weight:300; margin:34px 0; max-width:900px; }
.hero h1 em { font-style:normal; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.6); }
.hero-foot { display:grid; grid-template-columns:170px 1fr; gap:28px; align-items:end; max-width:650px; }
.hero-foot p { margin:0; color:#b7b7b2; font-size:15px; line-height:1.55; }
.access-panel { padding:9vh 6vw; display:flex; flex-direction:column; justify-content:center; position:relative; }
.access-panel::after { content:"⟡"; position:absolute; font-size:260px; font-weight:300; right:-25px; top:6%; color:rgba(255,255,255,.03); }
.access-card { max-width:480px; position:relative; z-index:1; }
.access-card h2 { font-size:clamp(30px,3vw,50px); line-height:1; letter-spacing:-.04em; font-weight:400; margin:24px 0; }
.access-card > p { color:var(--muted); line-height:1.6; max-width:420px; }
.field { margin-top:28px; }
.field label { display:block; text-transform:uppercase; letter-spacing:.15em; font-size:10px; color:#aaa; margin-bottom:10px; }
.field input,.field textarea,.field select { width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.42); background:transparent; color:#fff; padding:12px 0; outline:none; border-radius:0; }
.field textarea { min-height:145px; resize:vertical; line-height:1.55; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:#fff; }
.form-actions { margin-top:34px; display:flex; align-items:center; gap:20px; }
.fine { font-size:11px; color:#747470; line-height:1.4; }
.consent { display:grid; grid-template-columns:18px 1fr; gap:12px; align-items:start; margin-top:25px; color:#b7b7b2; font-size:12px; line-height:1.5; cursor:pointer; }
.consent input { width:16px; height:16px; margin:2px 0 0; accent-color:#fff; }
.privacy-note { font-size:10px; color:#6f6f6b; line-height:1.5; margin:13px 0 0; }
.privacy-note a { text-underline-offset:3px; }
.message { margin-top:22px; padding:14px 16px; border-left:1px solid #fff; background:rgba(255,255,255,.06); color:#ddd; font-size:13px; line-height:1.5; }
.demo-link { display:block; margin-top:10px; overflow-wrap:anywhere; color:#fff; }
.portal { min-height:100vh; }
.portal-head { padding:10vh 5.5vw 7vh; border-bottom:1px solid var(--line); position:relative; }
.portal-head::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 75% 20%,rgba(137,111,255,.17),transparent 22%),radial-gradient(ellipse at 58% 120%,rgba(255,146,70,.12),transparent 30%); }
.portal-head h1 { margin:24px 0 18px; font-size:clamp(58px,8.3vw,136px); line-height:.82; letter-spacing:-.06em; font-weight:300; max-width:1100px; }
.portal-meta { display:flex; justify-content:space-between; gap:30px; align-items:end; }
.portal-meta p { max-width:620px; color:#aaa; line-height:1.6; }
.collection-nav { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }
.collection-nav button { background:rgba(0,0,0,.2); border:0; border-right:1px solid var(--line); padding:24px 18px; text-align:left; color:#999; }
.collection-nav button span { display:block; font-size:10px; letter-spacing:.15em; margin-bottom:8px; }
.collection-nav button strong { font-size:16px; font-weight:400; }
.collection-nav button.active,.collection-nav button:hover { background:rgba(255,255,255,.07); color:#fff; }
.content { padding:7vh 5.5vw 12vh; }
.content-bar { display:flex; justify-content:space-between; align-items:center; margin-bottom:44px; gap:24px; }
.content-bar h2 { margin:0; font-size:40px; letter-spacing:-.035em; font-weight:400; }
.records { display:grid; grid-template-columns:repeat(12,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.record { grid-column:span 4; background:#060607; padding:34px; min-height:340px; display:flex; flex-direction:column; position:relative; transition:.25s ease; }
.record.featured { grid-column:span 8; background:linear-gradient(140deg,#101014,#060607); }
.record:hover { background:#111114; }
.record .number { font-size:10px; color:#666; letter-spacing:.2em; }
.record h3 { font-size:29px; line-height:1; letter-spacing:-.035em; font-weight:400; margin:54px 0 18px; }
.record p { color:#999; line-height:1.55; margin:0; }
.record-foot { margin-top:auto; display:flex; justify-content:space-between; align-items:end; padding-top:28px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#777; }
.record button { background:none; border:0; color:#fff; font-size:18px; }
.empty { grid-column:1/-1; padding:80px 30px; background:#060607; color:#888; text-align:center; }
.support { margin:0 5.5vw 9vh; border:1px solid var(--line); min-height:330px; display:grid; grid-template-columns:1fr 1fr; background:radial-gradient(circle at 80% 50%,rgba(210,225,255,.15),transparent 25%),#070708; }
.support-copy { padding:58px; }
.support-copy h2 { font-weight:300; letter-spacing:-.045em; font-size:54px; line-height:.95; margin:20px 0; }
.support-copy p { color:#aaa; max-width:540px; line-height:1.6; }
.support-action { padding:58px; display:flex; flex-direction:column; justify-content:center; border-left:1px solid var(--line); }
.amounts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:20px; }
.amounts button { border:1px solid var(--line); background:transparent; padding:14px; }
.amounts button.active,.amounts button:hover { background:#fff; color:#000; }
.custom-amount { display:flex; border-bottom:1px solid #aaa; align-items:center; margin-bottom:28px; }
.custom-amount span { font-size:26px; }
.custom-amount input { flex:1; background:none; border:0; color:#fff; font-size:28px; padding:12px; outline:none; }
.modal { position:fixed; inset:0; z-index:30; display:grid; place-items:center; background:rgba(0,0,0,.82); backdrop-filter:blur(14px); padding:24px; }
.modal-card { width:min(740px,100%); max-height:90vh; overflow:auto; background:#0a0a0b; border:1px solid var(--line); padding:48px; position:relative; }
.modal-close { position:absolute; right:24px; top:20px; border:0; background:none; font-size:24px; }
.modal-card h2 { font-size:44px; font-weight:400; letter-spacing:-.04em; margin:22px 0; }
.modal-body { color:#c1c1bd; white-space:pre-wrap; line-height:1.72; }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 26px; }
.admin-grid .wide { grid-column:1/-1; }
.check { display:flex; gap:10px; align-items:center; margin-top:24px; color:#aaa; font-size:13px; }
.admin-list { margin-top:46px; border-top:1px solid var(--line); }
.admin-row { display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.admin-row small { color:#777; }
.lead-row { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.lead-row small { color:#777; }
.text-btn { background:none; border:0; color:#aaa; text-decoration:underline; text-underline-offset:3px; }
.footer { padding:54px 5.5vw; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#777; font-size:12px; }
@media (max-width:900px) {
  .header { height:auto; padding:22px 5vw; } .nav a:not(.active),.brand-copy { display:none; }
  .landing { grid-template-columns:1fr; }.hero { min-height:72vh; border-right:0; border-bottom:1px solid var(--line); }
  .hero-foot { grid-template-columns:1fr; }.access-panel { padding:70px 8vw 90px; }
  .collection-nav { grid-template-columns:1fr 1fr; }.record,.record.featured { grid-column:span 6; }
  .support { grid-template-columns:1fr; }.support-action { border-left:0;border-top:1px solid var(--line); }
}
@media (max-width:600px) {
  .prism{width:90px}.nav{gap:14px}.header .btn{padding:0 12px}.hero h1{font-size:60px}.hero{padding-top:60px}
  .portal-meta,.content-bar,.footer{align-items:flex-start;flex-direction:column}.portal-head h1{font-size:60px}
  .collection-nav{grid-template-columns:1fr}.collection-nav button{border-bottom:1px solid var(--line)}
  .record,.record.featured{grid-column:1/-1}.support{margin-inline:0;border-left:0;border-right:0}.support-copy,.support-action{padding:38px 26px}
  .support-copy h2{font-size:42px}.amounts{grid-template-columns:1fr 1fr}.modal-card{padding:34px 24px}.admin-grid{grid-template-columns:1fr}.admin-grid .wide{grid-column:auto}
}
