/* Layout: terminal-era console — an ASCII swirl field behind a stack of beveled panels, squared off, flush left. */
:root{
  --void:#07080a;
  --face:#15191c;
  --face-hi:#1c2125;
  --bevel-lt:#3e474c;
  --bevel-dk:#000000;
  --fg:#dfe4e1;
  --fg-dim:#939b99;
  --rule:#2a3135;
  --hi:#ffffff;
  --font-sans:"Geist","Helvetica Neue",Arial,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --cur-arrow:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAARCAYAAADkIz3lAAAATElEQVR42qXSOwoAIAwE0b3/pUcshDWYDzhgo6+JKkloGFPMboI5dRivwsQyzKsXJitiqhzTdXB16Ou+x3YYO8iHCRsl/H/W0WdxtACtSAEOfXZp6gAAAABJRU5ErkJggg==") 0 0, default;
  --cur-hand:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAATklEQVR42mNgwA7+QzFZ4D8MkGvIMDSAZINQDMBiGPkG4PMasiDJBmA4kxDAaQC6TcQawECMJkIGkGQIvtigSPPgMACvIaQk6f84MAYAAB22u1M0PKBBAAAAAElFTkSuQmCC") 5 0, pointer;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;background:var(--void);color:var(--fg);
  font-family:var(--font-sans);font-size:16px;line-height:1.6;
  cursor:var(--cur-arrow);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a,button,.btn,summary{cursor:var(--cur-hand)}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:600;letter-spacing:-.018em}
a{color:inherit}
:focus-visible{outline:2px dotted var(--hi);outline-offset:3px}

/* ── ASCII swirl field ─────────────────── */
#field{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:0;pointer-events:none;
  mask-image:radial-gradient(130% 95% at 50% 8%,#000 0%,#000 42%,transparent 86%);
  -webkit-mask-image:radial-gradient(130% 95% at 50% 8%,#000 0%,#000 42%,transparent 86%);
}
#shell{position:relative;z-index:1}
.wrap{max-width:64rem;margin:0 auto;padding-inline:20px}

.eyebrow{
  font-family:var(--font-mono);font-size:.688rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);margin:0;
}

/* ── Beveled surfaces ──────────────────── */
.panel{
  background:var(--face);
  border:1px solid var(--bevel-dk);
  box-shadow:inset 1px 1px 0 var(--bevel-lt),inset -1px -1px 0 var(--bevel-dk),
             inset 2px 2px 0 rgba(255,255,255,.04);
}
.titlebar{
  display:flex;align-items:center;gap:10px;
  padding:7px 8px 7px 11px;
  background:linear-gradient(90deg,#20282b,#141a1c);
  border-bottom:1px solid var(--bevel-dk);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}
.titlebar b{
  font-family:var(--font-mono);font-size:.75rem;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--fg);
  margin-right:auto;min-width:0;
}
.titlebar .pips{display:flex;gap:3px;flex:none}
.titlebar .pips i{
  width:15px;height:13px;background:var(--face-hi);
  border:1px solid var(--bevel-dk);
  box-shadow:inset 1px 1px 0 var(--bevel-lt);
  display:block;
}
.btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;
  font-family:var(--font-mono);font-size:.719rem;font-weight:500;
  letter-spacing:.11em;text-transform:uppercase;
  color:var(--fg);text-decoration:none;white-space:nowrap;
  background:var(--face-hi);border:1px solid var(--bevel-dk);
  box-shadow:inset 1px 1px 0 var(--bevel-lt),inset -1px -1px 0 #0a0d0e;
}
.btn:hover{background:#232a2e;color:var(--hi)}
.btn:active{
  box-shadow:inset -1px -1px 0 var(--bevel-lt),inset 1px 1px 0 #0a0d0e;
  padding:9px 14px 7px 16px;
}

/* ── Header ────────────────────────────── */
.letterhead{border-bottom:1px solid var(--rule);background:rgba(7,8,10,.72);backdrop-filter:blur(3px)}
.letterhead .wrap{
  display:flex;flex-wrap:wrap;gap:10px 28px;
  align-items:center;justify-content:space-between;padding-block:14px;
}
.mark{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none}
.mark svg{flex:none;color:var(--hi)}
.mark b{font-size:1.063rem;font-weight:600;letter-spacing:-.01em}
.standing{display:flex;align-items:center;gap:8px}
.dot{width:8px;height:8px;background:var(--hi);flex:none;box-shadow:0 0 6px rgba(255,255,255,.45)}

/* ── Hero ──────────────────────────────── */
.hero .wrap{padding-block:clamp(60px,12vw,120px) clamp(44px,8vw,80px)}
.hero h1{
  font-size:clamp(2.125rem,6vw,3.875rem);line-height:1.08;
  letter-spacing:-.03em;font-weight:600;max-width:27ch;margin-top:20px;
  color:#c2cac7;
}
.hero h1 em{font-style:normal;color:var(--hi)}
.lede{max-width:58ch;margin-top:24px;font-size:clamp(1rem,1.8vw,1.188rem);color:var(--fg-dim)}
.lede strong{color:var(--fg);font-weight:500}
.hero .btn{margin-top:30px}

/* ── Sections ──────────────────────────── */
section.band{border-top:1px solid var(--rule)}
section.band>.wrap{padding-block:clamp(44px,7vw,76px)}
.sec-head{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;margin-bottom:30px}
.sec-head h2{font-size:clamp(1.375rem,2.8vw,1.875rem)}
.sec-head h2::before{content:"▚ ";color:#5d6866;font-family:var(--font-mono);font-size:.8em}
.sec-note{color:var(--fg-dim);font-size:.875rem;max-width:44ch;margin:0}

/* ── Products ──────────────────────────── */
.holdings{display:grid;gap:10px}
.holding{
  display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr) auto;
  gap:10px 28px;align-items:center;
  padding:18px 20px;text-decoration:none;
  background:var(--face);border:1px solid var(--bevel-dk);
  box-shadow:inset 1px 1px 0 var(--bevel-lt),inset -1px -1px 0 var(--bevel-dk);
}
.holding:hover{background:var(--face-hi)}
.holding:active{box-shadow:inset -1px -1px 0 var(--bevel-lt),inset 1px 1px 0 var(--bevel-dk)}
.holding .name{display:flex;flex-direction:column;gap:4px;min-width:0}
.holding .name .n{font-size:1.188rem;font-weight:600;letter-spacing:-.015em;color:var(--fg)}
.holding .name span:not(.n){
  align-self:start;
  font-family:var(--font-mono);font-size:.594rem;font-weight:500;line-height:1;
  letter-spacing:.13em;text-transform:uppercase;
  color:#0a0d0e;background:#c8cfcc;padding:3px 6px 2px;
}
.holding:hover .name span:not(.n){background:var(--hi)}
.holding .what{color:var(--fg-dim);font-size:.906rem;min-width:0}
.holding .what b{display:block;color:var(--fg);font-weight:500;font-size:.969rem;margin-bottom:3px}
.holding .go{
  font-family:var(--font-mono);font-size:.688rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--fg-dim);white-space:nowrap;
  padding:7px 12px;background:var(--face-hi);
  border:1px solid var(--bevel-dk);
  box-shadow:inset 1px 1px 0 var(--bevel-lt),inset -1px -1px 0 #0a0d0e;
}
.holding:hover .go{color:var(--hi)}

/* ── Capabilities ──────────────────────── */
.caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:12px}
.cap{padding:18px 20px}
.cap h3{font-size:.969rem;font-weight:600}
.cap h3::before{content:"▸";color:#6c7775;font-family:var(--font-mono);margin-right:8px}
.cap p{margin:9px 0 0;color:var(--fg-dim);font-size:.906rem;min-width:0}

/* ── Record window ─────────────────────── */
.record{overflow:hidden}
.record dl{margin:0}
.row{
  display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);
  gap:3px 26px;padding:12px 18px;border-top:1px solid var(--rule);
}
.row:first-of-type{border-top:0}
.row:nth-child(odd){background:rgba(255,255,255,.015)}
.row dt{
  font-family:var(--font-mono);font-size:.688rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--fg-dim);padding-top:3px;
}
.row dd{margin:0;min-width:0;font-size:.938rem;overflow-wrap:anywhere}
.row dd.mono{font-family:var(--font-mono);font-size:.875rem;font-variant-numeric:tabular-nums}
.row dd small{display:block;color:var(--fg-dim);font-size:.813rem;line-height:1.55;margin-top:4px}
.record-foot{
  padding:14px 18px;border-top:1px solid var(--bevel-dk);
  background:#101416;color:var(--fg-dim);font-size:.813rem;
  box-shadow:inset 0 1px 0 var(--bevel-lt);
}
.record-foot a{color:var(--hi);text-decoration:underline;text-underline-offset:2px}

/* ── Owners ────────────────────────────── */
.principals{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:12px}
.principal{padding:20px}
.principal h3{font-size:1.25rem}
.principal .role{
  font-family:var(--font-mono);font-size:.656rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--hi);margin:7px 0 0;
}
.principal p{margin:12px 0 0;color:var(--fg-dim);font-size:.906rem}

/* ── Contact ───────────────────────────── */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:12px}
.contact>div{padding:18px 20px;min-width:0}
.contact .eyebrow{margin-bottom:9px}
.contact .val{font-family:var(--font-mono);font-size:.906rem;overflow-wrap:anywhere;margin:0}
.contact .val a{text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}
.contact .val a:hover{color:var(--hi);border-bottom-color:var(--hi)}

footer{border-top:1px solid var(--rule);background:rgba(7,8,10,.72)}
footer .wrap{
  display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;
  padding-block:24px 32px;color:var(--fg-dim);font-size:.813rem;
}
footer .wrap p{margin:0;max-width:52ch}

@media (max-width:760px){
  .holding{grid-template-columns:minmax(0,1fr);gap:8px;align-items:start}
  .holding .go{justify-self:start;margin-top:4px}
  .row{grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 14px}
  .row dt{padding-top:0}
  .record-foot,.cap,.principal,.contact>div{padding-inline:14px}
  .hero h1{letter-spacing:-.022em;line-height:1.14}
  .sec-head{margin-bottom:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ── Legal documents ───────────────────── */
/* The privacy notice and the terms, set as a document inside a console window
   rather than as a web page of their own: same bevel, same titlebar with pips
   as the certificate of record, because these pages are read by the same
   people for the same reason — someone verifying who they are dealing with.
   Sans for the reading, mono kept for the machine parts: the effective date,
   the addresses, the clause labels. */
.doc{overflow:hidden}
.doc .titlebar b{letter-spacing:.11em}

.stamp{
  display:flex;flex-wrap:wrap;gap:4px 18px;
  padding:11px 18px;border-bottom:1px solid var(--bevel-dk);
  background:#101416;box-shadow:inset 0 1px 0 var(--bevel-lt);
  font-family:var(--font-mono);font-size:.719rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--fg-dim);
}
.stamp b{color:var(--fg);font-weight:500}

/* The reading column. Capped on the measure, not on the panel: the window
   keeps the page's full width so it sits flush with the panels above it,
   while the text stays at a length an eye can track. */
.prose{padding:26px 18px 30px;max-width:72ch}
.prose>*:first-child{margin-top:0}
.prose h2{
  font-size:1.063rem;font-weight:600;margin:34px 0 0;
  padding-top:18px;border-top:1px solid var(--rule);
}
.prose h2:first-of-type{border-top:0;padding-top:0;margin-top:0}
.prose h2::before{content:"▸";color:#6c7775;font-family:var(--font-mono);margin-right:9px}
.prose h3{
  font-family:var(--font-mono);font-size:.75rem;font-weight:500;
  letter-spacing:.11em;text-transform:uppercase;color:var(--fg-dim);
  margin:22px 0 0;
}
.prose p{margin:11px 0 0;color:var(--fg-dim);font-size:.938rem}
.prose p strong{color:var(--fg);font-weight:500}
.prose ul{margin:11px 0 0;padding-left:0;list-style:none}
.prose li{
  position:relative;padding-left:20px;margin-top:7px;
  color:var(--fg-dim);font-size:.938rem;
}
.prose li::before{
  content:"·";position:absolute;left:6px;top:-1px;
  font-family:var(--font-mono);color:#6c7775;
}
.prose a{color:var(--fg);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--rule)}
.prose a:hover{color:var(--hi);text-decoration-color:var(--hi)}
.prose .mono{font-family:var(--font-mono);font-size:.875rem;color:var(--fg)}
/* An address or a contact block inside the prose: machine output, so mono,
   and never reflowed into a paragraph. */
.prose address{
  font-family:var(--font-mono);font-size:.875rem;font-style:normal;
  color:var(--fg);margin-top:12px;line-height:1.7;
}

/* ── Footer legal links ────────────────── */
/* These exist so a reviewer can find the two documents from any page without
   being told where they are. A legal page nobody can navigate to is a legal
   page that does not count. */
.legal-links{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.legal-links a{
  font-family:var(--font-mono);font-size:.719rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--fg-dim);text-decoration:none;
  border-bottom:1px solid var(--rule);padding-bottom:2px;
}
.legal-links a:hover{color:var(--hi);border-bottom-color:var(--hi)}
.legal-links a[aria-current]{color:var(--fg);border-bottom-color:var(--fg-dim)}

@media (max-width:760px){
  .prose{padding-inline:14px}
  .stamp{padding-inline:14px}
}
