html { scroll-behavior: smooth; }
  body { margin: 0; background: #0A0A0B; color: #EDEDEE; font-family: Poppins, system-ui, sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; }
  * { box-sizing: border-box; }
  a { color: #9C7C4A; text-decoration: none; }
  a:hover { color: #C4A473; }
  a:focus-visible, summary:focus-visible { outline: 2px solid #9C7C4A; outline-offset: 3px; }
  h1, h2, h3 { font-family: Lora, Georgia, serif; font-weight: 400; margin: 0; }
  p { margin: 0; }
  summary { list-style: none; cursor: pointer; }
  summary::-webkit-details-marker { display: none; }
  details[open] .jf-plus { transform: rotate(45deg); }
  details[open] .jf-burger-open { display: none; }
  details:not([open]) .jf-burger-close { display: none; }
  .jf-desktop-nav { display: none; }
  .jf-menu { display: block; }
  .jf-hero { grid-template-columns: 1fr; }
  .jf-hero-photo { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
  .jf-timeline { grid-template-columns: 1fr; }
  .jf-timeline-rail { display: none; }
  .jf-options { grid-template-columns: 1fr; }
  .jf-included { grid-template-columns: 1fr; }
  .jf-offset { margin-left: 0; }
  .jf-diff-grid { grid-template-columns: 1fr; }
  .jf-career-circles { display: none; }
  @media (min-width: 900px) {
    .jf-desktop-nav { display: flex; }
    .jf-menu { display: none; }
    .jf-hero { grid-template-columns: 7fr 5fr; }
    .jf-hero-photo { clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
    .jf-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jf-timeline-rail { display: block; }
    .jf-options { grid-template-columns: 1fr 1fr; }
    .jf-included { grid-template-columns: 5fr 7fr; }
    .jf-offset { margin-left: 18%; }
    .jf-diff-grid { grid-template-columns: 1fr 1.3fr; }
    .jf-career-circles { display: block; }
  }
  @keyframes jf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .jf-marquee-track { animation: jf-marquee 38s linear infinite; will-change: transform; }
  .jf-marquee:hover .jf-marquee-track { animation-play-state: paused; }
  .jf-logo { height: 40px; width: auto; }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    * { transition: none !important; animation: none !important; }
  }

  .jf-dd { position: relative; }
  .jf-dd summary { color: #9A9EA3; display: flex; align-items: center; gap: 6px; }
  .jf-dd summary:hover, .jf-dd[open] summary { color: #EDEDEE; }
  .jf-dd-panel { position: absolute; top: calc(100% + 14px); left: -20px; min-width: 240px; background: #0A0A0B; border: 1px solid #2B2C2E; padding: 8px 0; display: flex; flex-direction: column; }
  .jf-dd-panel a { padding: 12px 20px; color: #9A9EA3; }
  .jf-dd-panel a:hover { color: #EDEDEE; background: #111214; }
  .jf-three { grid-template-columns: 1fr; }
  .jf-two { grid-template-columns: 1fr; }
  .jf-card { transition: background 0.25s ease; }
  .jf-card:hover { background: #17181B !important; }
  .jf-card:hover .jf-arrow { transform: translateX(8px); }
  .jf-arrow { transition: transform 0.25s ease; display: inline-block; }
  .jf-row:hover { color: #EDEDEE !important; }
  .jf-row:hover .jf-arrow { transform: translateX(8px); }
  input, textarea, select { font: inherit; }
  .jf-scroll-light img { filter: grayscale(1) contrast(1.1) brightness(0.85); transition: filter 1.3s ease; }
  .jf-scroll-light.in img { filter: grayscale(0) contrast(1.02) brightness(1); }
  @media (min-width: 900px) {
    .jf-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jf-two { grid-template-columns: 1fr 1fr; }
  }

@media (max-width: 899px) {
  .jf-hero-photo { min-height: 0 !important; aspect-ratio: 3 / 4; width: 78%; margin: 0 auto; }
}
