/* LT — Link and Tap
   Black stock, gold foil. The visual language of a letterpressed calling card,
   which is what the product replaces. Nothing here loads from a third party. */

:root{
  --ground:#08090B;
  --surface:#101217;
  --raise:#161922;

  --gold:#C8A265;          /* antique brass, not the bright #FFD700 cliché */
  --gold-pale:#EBD9A8;
  --gold-deep:#8A6B32;
  --hair:rgba(200,162,101,.22);
  --hair-soft:rgba(200,162,101,.11);

  --text:#EDE9E1;          /* warm off-white, tuned to the gold */
  --muted:#918B80;

  --display:"Didot","Bodoni 72","Iowan Old Style",Palatino,"Palatino Linotype",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --measure:34rem;
}

*{box-sizing:border-box;}

html{color-scheme:dark;}

body{
  margin:0;
  min-height:100dvh;
  background:
    radial-gradient(70% 45% at 50% -8%, rgba(200,162,101,.10) 0%, transparent 62%),
    radial-gradient(120% 80% at 50% 110%, rgba(200,162,101,.05) 0%, transparent 55%),
    var(--ground);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit;}
:focus-visible{outline:1.5px solid var(--gold);outline-offset:3px;border-radius:2px;}

.shell{
  max-width:44rem;
  margin:0 auto;
  padding:clamp(2.5rem,7vw,5.5rem) clamp(1.25rem,5vw,2rem) 3rem;
}

/* ---------- masthead ---------- */
.eyebrow{
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0;
}

.monogram{
  font-family:var(--display);
  font-size:clamp(4.5rem,17vw,7.5rem);
  line-height:.9;
  letter-spacing:.02em;
  margin:1.5rem 0 0;
  background:linear-gradient(100deg,
    var(--gold-deep) 0%, var(--gold) 20%, var(--gold-pale) 36%,
    var(--gold) 52%, var(--gold-deep) 76%);
  background-size:230% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  animation:foil 11s ease-in-out infinite;
}
@keyframes foil{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}

.wordmark{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(1.5rem,4.5vw,2rem);
  letter-spacing:.01em;
  margin:.35rem 0 0;
  color:var(--text);
}

.rule{
  height:1px;
  border:0;
  margin:2.25rem 0;
  background:linear-gradient(90deg, var(--hair) 0%, rgba(200,162,101,.05) 62%, transparent 100%);
}

.lede{
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--muted);
  max-width:var(--measure);
  margin:0;
  text-wrap:pretty;
}
.lede strong{color:var(--text);font-weight:600;}

/* ---------- feature rows ---------- */
.features{
  list-style:none;
  margin:2.75rem 0 0;
  padding:0;
  border-top:1px solid var(--hair-soft);
}
.features li{
  display:grid;
  grid-template-columns:1.75rem 1fr;
  gap:0 1rem;
  padding:1.375rem 0;
  border-bottom:1px solid var(--hair-soft);
}
.features .num{
  font-family:var(--display);
  font-size:.9375rem;
  color:var(--gold);
  line-height:1.5;
  font-variant-numeric:tabular-nums;
}
.features h2{
  grid-column:2;
  margin:0;
  font-size:1rem;
  font-weight:600;
  letter-spacing:-.005em;
  color:var(--text);
}
.features p{
  grid-column:2;
  margin:.25rem 0 0;
  font-size:.9375rem;
  color:var(--muted);
  max-width:var(--measure);
}

/* ---------- preview call-out ---------- */
.peek{
  margin-top:2.75rem;
  padding:1.5rem 1.5rem 1.625rem;
  background:linear-gradient(180deg, var(--raise) 0%, var(--surface) 100%);
  border:1px solid var(--hair-soft);
  border-radius:4px;
}
.peek h2{
  margin:0;
  font-family:var(--display);
  font-weight:400;
  font-size:1.375rem;
  letter-spacing:-.005em;
}
.peek p{margin:.4rem 0 1.1rem;font-size:.9375rem;color:var(--muted);}

.link-gold{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.9375rem;
  font-weight:600;
  color:var(--gold);
  text-decoration:none;
  padding-bottom:.2rem;
  border-bottom:1px solid var(--hair);
  transition:color .15s ease, border-color .15s ease;
}
.link-gold:hover{color:var(--gold-pale);border-color:var(--gold);}
.link-gold span{transition:transform .15s ease;}
.link-gold:hover span{transform:translateX(3px);}

/* ---------- contact ---------- */
.contact{
  margin-top:2.75rem;
  font-size:.9375rem;
  color:var(--muted);
}
.contact a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--hair);}
.contact a:hover{color:var(--gold-pale);}

/* ---------- footer ---------- */
.foot{
  margin-top:4rem;
  padding-top:1.5rem;
  border-top:1px solid var(--hair-soft);
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.25rem;
  align-items:baseline;
  justify-content:space-between;
  font-size:.8125rem;
  color:var(--muted);
}
.foot nav{display:flex;gap:1.25rem;}
.foot a{color:var(--muted);text-decoration:none;}
.foot a:hover{color:var(--gold);}

/* ---------- legal pages ---------- */
.legal{max-width:42rem;}
.legal h1{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(1.875rem,5.5vw,2.5rem);
  line-height:1.15;
  letter-spacing:-.01em;
  margin:1.25rem 0 .5rem;
}
.legal .stand{font-size:.8125rem;color:var(--muted);margin:0 0 2.5rem;}
.legal h2{
  font-size:.75rem;
  font-weight:650;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin:2.5rem 0 .75rem;
}
.legal h3{font-size:.9375rem;font-weight:650;margin:1.5rem 0 .35rem;color:var(--text);}
.legal p, .legal li{font-size:.9375rem;color:var(--muted);max-width:var(--measure);}
.legal p{margin:0 0 1rem;}
.legal ul{margin:0 0 1rem;padding-left:1.1rem;}
.legal li{margin:.3rem 0;}
.legal address{font-style:normal;color:var(--text);margin:0 0 1rem;line-height:1.7;}
.legal a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--hair);}
.legal a:hover{color:var(--gold-pale);}
.legal strong{color:var(--text);font-weight:600;}

.back{
  display:inline-block;
  font-size:.8125rem;
  letter-spacing:.04em;
  color:var(--muted);
  text-decoration:none;
  margin-bottom:.5rem;
}
.back:hover{color:var(--gold);}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition-duration:.01ms !important;}
}
