@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap');
  :root { --garnet: #73000A; --bg: #f8f8fb; --surface: #ffffff; }
  * { box-sizing: border-box; }
  body { background-color: var(--bg); color: #3a3a42; font-family: 'Inter', sans-serif; overflow-x: hidden; }
  h1, h2, h3 { font-family: 'Crimson Text', serif; }
  .grid-bg { background-image: linear-gradient(rgba(115,0,10,0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(115,0,10,0.08) 1px, transparent 1px); background-size: 60px 60px; }
  .btn-garnet { background: var(--garnet); color: #fff; padding: 12px 32px; font-weight: 500; cursor: pointer; display: inline-block; transition: 0.3s; border: 1px solid var(--garnet); }
  .btn-garnet:hover { background: #5a0008; }
  .btn-outline { border: 1px solid var(--garnet); color: var(--garnet); padding: 12px 32px; font-weight: 500; cursor: pointer; display: inline-block; transition: 0.3s; background: white; }
  .btn-outline:hover { background: var(--garnet); color: white; }
  .task-card { background: var(--surface); border: 1px solid #e5e5eb; padding: 24px; transition: 0.3s; }
  .task-card:hover { border-color: var(--garnet); }
  .hero-tag { color: var(--garnet); font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 24px; font-weight: 600; }
  .animate-on-scroll { opacity: 0; transform: translateY(20px); transition: 0.6s; }
  .animate-on-scroll.visible { opacity: 1; transform: translateY(0); }
  iframe { border: none; }