/* ============================================================
   SMCT Partners — homepage
   Palette: paper #FFFFFF · signal #C41E2F · deep #9A1524
            ink #16181D · graphite #5A5F6A
   ============================================================ */
:root{
  --paper:#FFFFFF;
  --signal:#C41E2F;
  --deep:#9A1524;
  --ink:#16181D;
  --graphite:#5A5F6A;
  --bar-h:56px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ---- red bar -------------------------------------------- */
.bar{
  position:fixed;top:0;left:0;right:0;height:var(--bar-h);
  background:var(--signal);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,4vw,48px);
  z-index:10;
  transform:translateY(-100%);
  animation:bar-in .5s cubic-bezier(.2,.7,.2,1) .05s forwards;
}
@keyframes bar-in{to{transform:translateY(0)}}
.wordmark{
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}
/* login button: red ground by default; ONLY the button turns
   white on hover — the bar itself never changes */
.login{
  appearance:none;
  background:var(--signal);
  border:1.5px solid #fff;
  border-radius:4px;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  padding:9px 22px;
  transition:background .16s ease,color .16s ease;
}
.login:hover{background:#fff;color:var(--signal)}
.login:active{background:#fff;color:var(--deep)}
.login:focus-visible{outline:2.5px solid #fff;outline-offset:3px}

/* ---- hero ------------------------------------------------ */
.stage{
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,58fr) minmax(0,42fr);
  align-items:center;
  padding:calc(var(--bar-h) + 4vh) clamp(20px,4vw,48px) 8vh;
  max-width:1240px;
  margin:0 auto;
  position:relative;
}
.hero{position:relative;z-index:2}
.eyebrow{
  color:var(--signal);
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:22px;
  opacity:0;
  animation:rise .6s ease .35s forwards;
}
h1{
  font-size:clamp(44px,6.2vw,76px);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.02;
  max-width:11ch;
  opacity:0;
  animation:rise .6s ease .45s forwards;
}
h1 .net{color:var(--signal)}
.sub{
  color:var(--graphite);
  font-size:16px;
  line-height:1.65;
  max-width:44ch;
  margin-top:26px;
  opacity:0;
  animation:rise .6s ease .58s forwards;
}
@keyframes rise{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

/* ---- the artifact: this page's own stylesheet ------------ */
.artifact{
  position:relative;
  height:min(72vh,640px);
  overflow:hidden;
  z-index:1;
  opacity:0;
  animation:settle 1.1s ease .7s forwards;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 82%,transparent 100%),
                     linear-gradient(to bottom,transparent 0,#000 12%,#000 84%,transparent 100%);
          mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 82%,transparent 100%);
  -webkit-mask-composite:source-in;
}
@keyframes settle{to{opacity:1}}
.artifact pre{
  font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  font-size:11.5px;
  line-height:1.75;
  color:rgba(22,24,29,.10);
  white-space:pre;
  user-select:none;
}
.artifact .r{color:rgba(196,30,47,.28)}
.artifact-label{
  position:absolute;bottom:6px;right:8px;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(90,95,106,.45);
}

/* ---- footer ---------------------------------------------- */
footer{
  position:fixed;left:0;right:0;bottom:0;
  display:flex;justify-content:space-between;align-items:center;
  padding:14px clamp(20px,4vw,48px);
  font-size:11.5px;
  color:var(--graphite);
  letter-spacing:.04em;
  background:linear-gradient(to top,var(--paper) 55%,transparent);
  z-index:5;
}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;
     background:var(--signal);margin-right:8px;vertical-align:1px}

/* ---- small screens --------------------------------------- */
@media (max-width:820px){
  .stage{grid-template-columns:1fr;}
  .artifact{
    position:absolute;inset:var(--bar-h) 0 0 0;height:auto;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%);
            mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%);
  }
  .artifact pre{color:rgba(22,24,29,.06)}
  .artifact .r{color:rgba(196,30,47,.14)}
}
@media (prefers-reduced-motion:reduce){
  .bar,.eyebrow,h1,.sub,.artifact{animation:none;opacity:1;transform:none}
}
