/* kapitalK: shared archival-paper and red-ink brand details.
   Override only. Content, navigation, CSP and source styles remain intact. */
:root {
  --font-display: var(--font-wordmark);
  --oxblood: var(--signal);
  --red-on-dark: #ef9484;
}
body::after { opacity: 0.042; }
.masthead, .home-page .masthead { border-bottom: 1px solid var(--rule); }
/* A restrained accent projects left of the photograph, not across the page. */
.home-page [data-motion="hero"]::before {
  content: none;
}
.home-page .hero__visual { overflow: visible; }
.home-page .hero__visual picture { overflow: hidden; }
.home-page .hero__visual::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -8rem;
  width: clamp(10rem, 18vw, 16rem);
  height: 2px;
  background: var(--signal);
  pointer-events: none;
}
.home-page .hero {
  padding-top: calc(clamp(2rem, 4vw, 3.5rem) + 1.5rem);
}
.hero h1, .section-heading h2, .principle h2,
.venture-card h2, .venture-card h3, .ledger h3,
.policy-copy > h2, .policy-copy > h3, .footer__name {
  font-family: var(--font-wordmark);
}
.section-heading h2, .policy-copy > h2 {
  font-size: clamp(3.3rem, 6.4vw, 6rem);
}
.home-page #ventures .section-heading h2,
.home-page #use .section-heading h2 {
  font-size: clamp(3.7rem, 6.4vw, 6rem);
}
body:not(.home-page) .hero h1::first-letter { color: var(--signal); }
.ledger h3 { font-size: clamp(1.9rem, 2.8vw, 2.8rem); }
.section-heading h2::first-letter, .policy-copy > h2::first-letter {
  color: var(--signal);
}
.folio dt, .venture-card__meta, .legal-note h3,
.footer__contact p { color: var(--signal); }
.brand-phrase {
  color: var(--signal);
  text-decoration: underline;
  text-decoration-color: var(--signal);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.home-page .venture-card--active .venture-card__meta {
  color: var(--red-on-dark);
}
.home-page .venture-card--active::before {
  height: 2px;
  background: var(--red-on-dark);
}
.home-page .venture-card--active::after {
  content: "k.";
  color: var(--red-on-dark);
  opacity: 0.13;
  transform: rotate(-12deg);
}
.section-heading {
  padding-top: 1.5rem;
  border-top: 1px solid var(--rule);
}
.section-heading::before { content: none; }
.ledger { border-top-color: var(--signal); }
.policy-copy > h2 { padding-top: 1.5rem; border-top: 1px solid var(--rule); }
.home-page .principle::after { content: none; }
.principle { position: relative; isolation: isolate; overflow: hidden; }
.principle__inner { position: relative; z-index: 1; min-height: 40rem; }
.brand-glyph {
  position: absolute;
  left: calc(var(--gutter) + max(0px, (100vw - 1440px) / 2));
  bottom: 0;
  z-index: 0;
  display: block;
  color: var(--red-on-dark);
  font-family: var(--font-wordmark);
  font-size: clamp(21rem, 30vw, 29rem);
  line-height: 0.8;
  letter-spacing: -0.065em;
  opacity: 0.25;
  user-select: none;
  pointer-events: none;
}
.principle h2::first-letter { color: var(--red-on-dark); }
.principle .brand-phrase { color: var(--red-on-dark); text-decoration-color: currentColor; }
.owner-contact {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 1.5rem 3rem;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--paper-raised);
  border-top: 2px solid var(--signal);
}
.owner-contact h3 {
  margin: 0 0 1rem;
  font-family: var(--font-wordmark);
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 1.05;
}
.owner-contact p { margin: 0; max-width: 40ch; }
.owner-contact__action { align-self: center; justify-self: end; display: grid; gap: 0.5rem; }
.owner-contact .hero__action { margin: 0; justify-content: center; background: var(--signal); border-color: var(--signal); color: var(--paper); }
.owner-contact .hero__action::after { content: none; }
.owner-contact__email { min-height: 44px; display: flex; align-items: center; justify-content: center; text-decoration: underline; text-underline-offset: 0.2em; }
.owner-contact .owner-contact__privacy { grid-column: 1 / -1; max-width: 75ch; font-size: 0.875rem; line-height: 1.6; color: var(--ink-soft); }
@media (max-width: 640px) {
  .owner-contact { grid-template-columns: minmax(0, 1fr); }
  .owner-contact__action { justify-self: stretch; }
}
/* A grounded letterform needs no ornamental hover or scroll animation. */
@media (max-width: 900px) {
  .home-page .hero__visual::before { left: var(--gutter); width: 10rem; }
  .principle__inner { min-height: 0; padding-bottom: 19rem; }
  .brand-glyph { left: auto; right: var(--gutter); font-size: 22rem; bottom: 0; }
}
@media (max-width: 640px) {
  .section-heading h2, .home-page #ventures .section-heading h2,
  .home-page #use .section-heading h2, .policy-copy > h2 {
    font-size: clamp(3rem, 14vw, 4.3rem);
    max-width: 12ch;
  }
  .ledger h3 { font-size: 2rem; }
}
