/* Curious Holding — greenbar listing paper
   paper #F4F6F1 · bar #DCE8D8 · ink #1B211C · rule #B9C9B5 · stamp #6B2D5B */

:root{
  --paper:#F4F6F1;
  --bar:#DCE8D8;
  --ink:#1B211C;
  --muted:#4E574F;
  --rule:#B9C9B5;
  --stamp:#6B2D5B;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  --gut:clamp(20px,5vw,64px);
  --max:900px;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
}

a{color:var(--stamp)}

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

.skip{
  position:absolute;left:-9999px;
  background:var(--ink);color:var(--paper);
  padding:10px 16px;font-family:var(--mono);font-size:13px;
}
.skip:focus{left:12px;top:12px;z-index:10}

/* ---------- top bar ---------- */

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

.bar__mark{
  font-family:var(--mono);font-weight:600;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;
}

.lang{display:flex;gap:2px}

.lang__btn{
  appearance:none;background:none;border:1px solid transparent;
  font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;
  color:var(--muted);padding:5px 8px;cursor:pointer;border-radius:2px;
}
.lang__btn:hover{color:var(--ink)}
.lang__btn[aria-pressed="true"]{color:var(--stamp);border-color:var(--stamp)}

/* ---------- hero ---------- */

.hero{
  max-width:var(--max);margin:0 auto;
  padding:clamp(48px,9vw,104px) var(--gut) clamp(40px,7vw,80px);
}

.eyebrow{
  margin:0 0 clamp(28px,5vw,48px);
  font-family:var(--mono);font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
}

.banner{overflow:hidden}

.banner__pre{
  margin:0;
  font-family:var(--mono);
  font-weight:600;
  font-size:clamp(5px,2.85vw,22px);
  line-height:1.08;
  color:var(--ink);
  white-space:pre;
}

.ln{display:block}

.caret{
  display:inline-block;width:.62em;height:.95em;
  background:var(--stamp);vertical-align:-.1em;margin-left:.35em;
}

.lead{
  max-width:56ch;
  margin:clamp(32px,5vw,52px) 0 0;
  font-size:clamp(17px,1.6vw,20px);
  font-weight:400;
}

.stamp{
  display:inline-block;margin:26px 0 0;
  padding:6px 12px;
  border:1.5px solid var(--stamp);
  color:var(--stamp);
  font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  transform:rotate(-1.2deg);
}

/* ---------- greenbar sheet ---------- */

.sheet{
  position:relative;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  background:var(--paper);
}

.sheet__feed{
  position:absolute;top:0;bottom:0;left:0;width:26px;
  border-right:1px dashed var(--rule);
  background-image:radial-gradient(circle at 13px 12px, var(--rule) 0 3.4px, transparent 3.6px);
  background-size:26px 26px;
  opacity:.85;
}
.sheet__feed--right{left:auto;right:0;border-right:0;border-left:1px dashed var(--rule)}

/* Full-bleed stripes between the feed margins; text stays in the column. */
.sheet__inner{
  padding:clamp(44px,6vw,72px) 28px;
}

.inset{
  padding-inline:max(var(--gut), calc((100% - var(--max)) / 2));
}

.sheet__title,
.about__title{
  margin:0 0 28px;
  font-family:var(--mono);font-size:12px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
}

.rows{border-top:1px solid var(--rule)}

.row{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(0,1.5fr) minmax(0,1.15fr);
  gap:16px;
  align-items:baseline;
  padding-block:16px;
}
.row:nth-child(even){background:var(--bar)}

.row--head{
  padding-block:10px;
  border-bottom:1px solid var(--rule);
  background:none;
  font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}

.cell{font-family:var(--mono);font-size:13.5px;color:var(--muted)}

.cell--name{
  font-family:var(--sans);font-size:17px;font-weight:500;color:var(--ink);
  display:block;
}

.cell__note{
  display:block;margin-top:3px;
  font-family:var(--sans);font-size:14px;font-weight:400;color:var(--muted);
}

.lbl{display:none}

.dom{
  color:var(--stamp);text-decoration:none;
  border-bottom:1px solid color-mix(in srgb, var(--stamp) 35%, transparent);
  overflow-wrap:anywhere;
}
.dom:hover{border-bottom-color:var(--stamp)}
.dom--plain{color:var(--muted);border-bottom:0}

.tag{
  font-style:normal;
  display:inline-block;
  font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 7px;border:1px solid currentColor;white-space:nowrap;
}
.tag--live{color:var(--stamp)}
.tag--soon,.tag--dev{color:var(--muted)}

.rows__foot{
  margin:20px 0 0;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
}

/* ---------- about ---------- */

.about{
  max-width:var(--max);margin:0 auto;
  padding:clamp(56px,8vw,96px) var(--gut);
}

.about__grid{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:clamp(28px,5vw,64px);align-items:start;
}

.about__text{margin:0;max-width:52ch}

.about__label{
  margin:0 0 8px;
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}

.mail{
  font-family:var(--mono);font-size:15px;color:var(--stamp);
  text-decoration:none;border-bottom:1px solid var(--stamp);
  overflow-wrap:anywhere;
}

/* ---------- footer ---------- */

.foot{
  display:flex;flex-wrap:wrap;gap:8px;
  padding:22px var(--gut);
  border-top:1px solid var(--rule);
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);
}
.foot__sep{opacity:.6}

/* ---------- responsive ---------- */

@media (max-width:820px){
  .sheet__feed{display:none}

  .row{
    grid-template-columns:1fr;
    gap:10px;
    padding-block:20px;
  }
  .row--head{display:none}

  .cell{display:flex;gap:10px;align-items:baseline}
  .cell--name{display:block}

  .lbl{
    display:inline-block;flex:0 0 82px;
    font-size:10.5px;font-weight:600;letter-spacing:.1em;
    text-transform:uppercase;opacity:.75;
  }

  .about__grid{grid-template-columns:1fr}
}

/* ---------- motion ---------- */

@media (prefers-reduced-motion:no-preference){
  .ln{
    opacity:0;
    animation:print .28s steps(4,end) forwards;
  }
  .ln:nth-child(1){animation-delay:.05s}
  .ln:nth-child(2){animation-delay:.11s}
  .ln:nth-child(3){animation-delay:.17s}
  .ln:nth-child(4){animation-delay:.23s}
  .ln:nth-child(5){animation-delay:.29s}
  .ln:nth-child(6){animation-delay:.35s}
  .ln:nth-child(7){animation-delay:.41s}
  .ln:nth-child(8){animation-delay:.52s}
  .ln:nth-child(9){animation-delay:.58s}
  .ln:nth-child(10){animation-delay:.64s}
  .ln:nth-child(11){animation-delay:.70s}
  .ln:nth-child(12){animation-delay:.76s}
  .ln:nth-child(13){animation-delay:.82s}
  .ln:nth-child(14){animation-delay:.88s}

  .caret{animation:blink 1.05s steps(1,end) 1.2s infinite}

  .reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
  .reveal.is-in{opacity:1;transform:none}
}

@keyframes print{
  from{opacity:0;transform:translateY(-3px)}
  to{opacity:1;transform:none}
}

@keyframes blink{
  0%,50%{opacity:1}
  51%,100%{opacity:0}
}
