/* Type scale and heading treatment */
h1,h2,h3,h4,h5,h6{
  margin:0;
  font-weight:700;
  line-height:var(--lh-tight);
  letter-spacing:-.025em;
  text-wrap:balance;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
h4{font-size:1.125rem}
p{margin:0}

strong,b{font-weight:700}
small{font-size:var(--fs-small)}

.grad-text{
  background:var(--grad-heading);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.eyebrow{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--color-primary);
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  margin:0 0 .9rem;
}
.eyebrow::before{
  content:"";
  width:26px;height:1px;
  background:linear-gradient(90deg,transparent,var(--color-primary));
}
.eyebrow--center{justify-content:center}
.eyebrow--center::after,
.section-head.is-center .eyebrow::after{
  content:"";
  width:26px;height:1px;
  background:linear-gradient(270deg,transparent,var(--color-primary));
}

.lede{
  color:var(--color-text-secondary);
  font-size:clamp(1rem,1.2vw,1.125rem);
  max-width:62ch;
}

/* Long-form editorial content */
.prose{
  max-width:76ch;
  margin-inline:auto;
  color:var(--color-text-secondary);
}
.prose > * + *{margin-top:1.35em}
.prose h2,.prose h3,.prose h4{color:var(--color-text);margin-top:2em}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.prose h3{font-size:clamp(1.25rem,1.8vw,1.55rem)}
.prose a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:#7FE0FF}
.prose ul,.prose ol{padding-left:1.35em}
.prose ul li{list-style:disc}
.prose ol li{list-style:decimal}
.prose li + li{margin-top:.5em}
.prose li::marker{color:var(--color-primary)}
.prose blockquote{
  border-left:2px solid var(--color-primary);
  padding-left:1.25rem;
  font-size:1.1rem;
  color:var(--color-text);
}
.prose blockquote cite{
  display:block;
  margin-top:.9rem;
  font-style:normal;
  font-size:.9rem;
  font-weight:600;
  color:var(--color-primary);
}

/* Employee quotes on the Careers page read as testimonial cards. */
.prose .sails-person{
  border-left:0;
  padding:clamp(1.25rem,2.2vw,1.75rem);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),var(--color-surface);
}
.prose .sails-person p{font-size:1rem;line-height:1.7;color:var(--color-text-secondary)}
.prose .sails-person p:first-child::before{
  content:"\201C";
  color:var(--color-primary);
  font-size:1.6em;
  line-height:0;
  margin-right:.15em;
  vertical-align:-.25em;
}

/* Gallery on the Careers page */
.sails-life-gallery{margin-top:1.5rem}
.sails-life-gallery img{border-radius:var(--radius-md)}
.prose code{
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  padding:.15em .45em;
  font-size:.9em;
}
.prose pre{
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  padding:var(--space-md);
  overflow:auto;
}
.prose pre code{background:none;border:0;padding:0}
.prose img{border-radius:var(--radius-md)}
.prose hr{border:0;border-top:1px solid var(--color-border);margin:2.5em 0}
.prose th,.prose td{
  border:1px solid var(--color-border);
  padding:.7rem 1rem;
  text-align:left;
}
.prose th{color:var(--color-text);font-weight:700;background:var(--color-surface)}
