/* RafayGen Unfold: layout polish (header, content, contact, footer). Loaded last; styling only, no layout of the
 * scroll engine is touched. Accent #9c4929 is the existing progress-bar rust. */
:root { --rf-accent: #9c4929; --rf-page-rgb: 183, 165, 168; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: rgba(156, 73, 41, .22); }

/* ---------- header ---------- */
.rf-nav {
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .55) inset, 0 18px 40px -24px rgba(41, 37, 42, .45);
  transition: box-shadow .3s, background-color .3s;
}
.rf-logo { letter-spacing: -1.1px; }
.rf-nav nav a { transition: color .2s; }
.rf-nav nav a:hover { color: var(--rf-accent); }
.rf-page-progress { height: 2px; background: linear-gradient(90deg, #b8603d, var(--rf-accent)); }

/* ---------- shared type ---------- */
.rf-kicker { opacity: .78; }
.rf-site h2 em, .rf-hero-title em { letter-spacing: -.02em; }
.rf-text-link { transition: gap .25s, color .2s, border-color .2s; }
.rf-text-link:hover { color: var(--rf-accent); border-bottom-color: var(--rf-accent); }
.rf-scene-bottom a, .rf-footer-bottom a, .rf-replay-link, .rf-email { transition: color .2s; }
.rf-scene-bottom a:hover, .rf-footer-bottom a:hover, .rf-replay-link:hover, .rf-email:hover { color: var(--rf-accent); }
.rf-capabilities li::before { color: var(--rf-accent); }
.rf-process-list article > span { color: var(--rf-accent); letter-spacing: .08em; }

/* ---------- contact + form ---------- */
.rf-contact-panel {
  border-radius: 28px 28px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .6);
  box-shadow: 0 -40px 80px -50px rgba(41, 37, 42, .45);
}
.rf-brief label { text-transform: uppercase; letter-spacing: .12em; font-size: 10.5px; opacity: .9; }
.rf-brief input, .rf-brief select, .rf-brief textarea {
  font-size: 16px; letter-spacing: 0; text-transform: none;
  transition: border-color .2s;
}
.rf-brief input:focus, .rf-brief select:focus, .rf-brief textarea:focus { outline: none; border-bottom-color: var(--rf-accent); }
.rf-brief input:focus-visible, .rf-brief select:focus-visible, .rf-brief textarea:focus-visible { box-shadow: 0 1px 0 var(--rf-accent); }
.rf-prepare {
  border-radius: 999px; padding: 17px 24px; border-color: var(--ink);
  transition: background-color .2s, color .2s;
}
.rf-prepare:hover, .rf-prepare:focus-visible { background: var(--ink); color: #f2efeb; }
.rf-email { letter-spacing: -.035em; }

/* ---------- footer ---------- */
.rf-footer-word { color: #29252a; }
.rf-footer-bottom { align-items: center; }

/* ---------- desktop / tablet ---------- */
@media (min-width: 901px) {
  .rf-nav { padding: 13px 22px; }
  .rf-nav nav { gap: 34px; }
  .rf-nav nav a { font-size: 13.5px; }
  .rf-nav .rf-nav-cta {
    border: 1px solid var(--ink); border-radius: 999px; padding: 8px 16px;
    transition: background-color .2s, color .2s;
  }
  .rf-nav .rf-nav-cta:hover { background: var(--ink); color: #f2efeb; }
  .rf-nav .rf-nav-cta::after { display: none; }
  .rf-nav-cta span { margin-left: 10px; }

  /* soft reading scrim on the left, so the copy never sits on busy art */
  .rf-morph-world::after, .rf-film-story .scroll-scrub__stage::after {
    content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3;
    background: linear-gradient(90deg, rgba(var(--rf-page-rgb), .96) 0%, rgba(var(--rf-page-rgb), .9) 30%, rgba(var(--rf-page-rgb), .45) 44%, rgba(var(--rf-page-rgb), 0) 58%);
  }
  .rf-chapter-copy h2 { font-size: clamp(44px, 4.4vw, 70px); line-height: 1.02; }
  .rf-chapter-copy > p:not(.rf-kicker) { font-size: 17px; line-height: 1.62; max-width: 400px; }
  .rf-chapter-copy .rf-supporting-copy { font-size: 14.5px !important; max-width: 390px; opacity: .85; }
  .rf-capabilities { max-width: 400px; }
  .rf-capabilities li { font-size: 13px; }
  .rf-process-list h3 { font-size: 15px; }
  .rf-process-list h3 em { font-size: 21px; }
  .rf-process-list p { font-size: 13.5px; }
  .rf-scene-top, .rf-scene-bottom { font-size: 10.5px; }
  .rf-hero-note { font-size: 16px; }
  .rf-contact-headline > p:not(.rf-kicker) { font-size: 17px; max-width: 360px; }
  .rf-contact-panel { padding-top: 110px; }
  .rf-contact-grid h2 { line-height: 1.02; }
  .rf-footer-bottom { font-size: 11px; }
}

/* ---------- phones ---------- */
@media (max-width: 900px) {
  .rf-nav { padding: 12px 16px; top: 12px; border-radius: 14px; }
  .rf-logo { font-size: 22px; }
  .rf-menu { letter-spacing: .02em; }
  .rf-nav nav { border-radius: 14px; box-shadow: 0 24px 50px -24px rgba(41, 37, 42, .5); }
  .rf-nav nav a { font-size: 16px; }
  .rf-chapter-copy > p:not(.rf-kicker) { font-size: 14.5px !important; line-height: 1.55; }
  .rf-capabilities li { font-size: 12px; }
  .rf-scene-top { font-size: 9px; }
  .rf-scene-bottom { font-size: 9px; }
  .rf-scene-bottom a { font-size: 12px; }
  .rf-process-list h3 { font-size: 13px; }
  .rf-process-list h3 em { font-size: 16px; }
  .rf-contact-panel { border-radius: 24px 24px 0 0; }
  .rf-contact-grid h2 { line-height: 1.03; }
  .rf-email { font-size: 22px; }
  .rf-footer-bottom { flex-wrap: wrap; row-gap: 8px; font-size: 9.5px; }
}

/* ---------- less copy, no overlap (desktop) ---------- */
@media (min-width: 901px) {
  .rf-chapter-copy .rf-supporting-copy, .rf-process-list p { display: none; }
  .rf-chapter-copy { width: min(440px, 30vw); }
  .rf-chapter-copy > p:not(.rf-kicker) { max-width: 360px; }
  .rf-capabilities { max-width: 360px; }
  .rf-scene-top > span:last-child, .rf-scene-bottom > span:first-child { max-width: 26vw; }
}
@media (min-width: 901px) {
  .rf-contact-headline { width: min(560px, 36vw); }
  .rf-contact-headline h2 { font-size: clamp(48px, 4.6vw, 74px); }
}
