
    /* ============================================================
       GRAIN FILTER (SVG noise)
       ============================================================ */
    .grain-overlay {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 2;
      opacity: 0.035;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
      background-repeat: repeat;
      background-size: 200px 200px;
      mix-blend-mode: overlay;
    }

    /* ============================================================
       TOP TICKER STYLES
       ============================================================ */
    .sdrp-ticker {
      background: #B8860B;
      overflow: hidden;
      white-space: nowrap;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1001;
      height: 36px;
      display: flex;
      align-items: center;
    }

    .sdrp-ticker-link {
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;
    }

    .sdrp-ticker-track {
      display: inline-flex;
      animation: ticker-scroll 20s linear infinite;
      height: 100%;
      align-items: center;
    }

    .sdrp-ticker-text {
      font-family: 'Inter', sans-serif;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--white);
      padding: 0 1rem;
      flex-shrink: 0;
    }

    @keyframes ticker-scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* ============================================================
       RESET & BASE
       ============================================================ */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      font-size: 16px;
    }

    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
      color: #1A1A2E;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      overflow-x: hidden;
      cursor: default;
    }

    /* ============================================================
       DESIGN TOKENS
       ============================================================ */
    :root {
      --navy: #0A1628;
      --navy-light: #111D32;
      --gold: #C5A055;
      --gold-dark: #A8873D;
      --gold-light: #D4B56E;
      --white: #FFFFFF;
      --light-gray: #F8F7F4;
      --medium-gray: #E8E6E1;
      --dark-text: #1A1A2E;
      --text-muted: #5A5A6E;
      --section-pad: 7rem;
      --section-pad-mobile: 4rem;
      --container: 1200px;
      --ease-apple: cubic-bezier(0.16, 1, 0.3, 1);
      --transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      --transition-fast: 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* ============================================================
       TYPOGRAPHY
       ============================================================ */
    h1, h2, h3, h4, h5, h6 {
      font-family: 'Playfair Display', Georgia, serif;
      font-weight: 600;
      line-height: 1.2;
    }

    p { margin-bottom: 1rem; }

    a {
      color: var(--navy);
      text-decoration: none;
      transition: color var(--transition-fast);
      cursor: pointer;
    }

    a:hover { color: var(--gold); }

    /* Custom cursor on interactive elements */
    button, a, [role="button"], label[for] {
      cursor: pointer;
    }

    /* ============================================================
       UTILITY
       ============================================================ */
    .container {
      max-width: var(--container);
      margin: 0 auto;
      padding: 0 2rem;
    }

    .section-label {
      font-family: 'Inter', sans-serif;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 6px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1.25rem;
      display: block;
    }

    .section-heading {
      font-size: clamp(2rem, 4vw, 3rem);
      margin-bottom: 1.5rem;
    }

    .btn-gold {
      display: inline-block;
      font-family: 'Inter', sans-serif;
      font-size: 0.9rem;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      background: var(--gold);
      color: var(--navy);
      padding: 1rem 2.5rem;
      border: 2px solid var(--gold);
      border-radius: 4px;
      cursor: pointer;
      transition: all var(--transition);
      position: relative;
      overflow: hidden;
    }

    /* Shimmer on btn-gold hover */
    .btn-gold::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 60%;
      height: 100%;
      background: linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
      transform: skewX(-20deg);
      transition: left 0.6s var(--ease-apple);
      pointer-events: none;
    }

    .btn-gold:hover::before {
      left: 160%;
    }

    .btn-gold:hover {
      background: var(--gold-dark);
      border-color: var(--gold-dark);
      color: var(--navy);
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(197, 160, 85, 0.4);
    }

    /* ============================================================
       SCROLL ANIMATIONS — dramatic (60px, 1s, Apple easing)
       ============================================================ */
    .fade-in {
      opacity: 0;
      transform: translateY(60px);
      transition: opacity 1s var(--ease-apple), transform 1s var(--ease-apple);
      will-change: opacity, transform;
    }

    .fade-in.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Stagger siblings */
    .fade-in:nth-child(1) { transition-delay: 0ms; }
    .fade-in:nth-child(2) { transition-delay: 150ms; }
    .fade-in:nth-child(3) { transition-delay: 300ms; }
    .fade-in:nth-child(4) { transition-delay: 450ms; }
    .fade-in:nth-child(5) { transition-delay: 600ms; }
    .fade-in:nth-child(6) { transition-delay: 750ms; }

    /* ============================================================
       NAVIGATION
       ============================================================ */
    .nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      background: var(--white);
      padding: 1.5rem 0;
      transition: padding var(--transition), box-shadow var(--transition);
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    }

    .nav.scrolled {
      padding: 0.75rem 0;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    }

    .nav .container {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .nav-logo {
      font-family: 'Inter', sans-serif;
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 4px;
      color: var(--white);
      text-transform: uppercase;
      white-space: nowrap;
    }

    .nav-logo span { color: var(--gold); }

    .nav-links {
      display: flex;
      list-style: none;
      gap: 2.5rem;
    }

    .nav-links a {
      font-family: 'Inter', sans-serif;
      font-size: 0.8rem;
      font-weight: 500;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      transition: color var(--transition-fast);
      position: relative;
      padding-bottom: 4px;
    }

    /* Underline slides in from left on hover */
    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1.5px;
      background: var(--gold);
      transition: width 0.4s var(--ease-apple);
    }

    .nav-links a:hover {
      color: var(--gold);
    }

    .nav-links a:hover::after {
      width: 100%;
    }

    /* Hamburger (mobile) */
    .nav-toggle { display: none; }

    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      padding: 0.5rem;
      z-index: 1001;
    }

    .hamburger span {
      display: block;
      width: 24px;
      height: 2px;
      background: var(--navy);
      transition: all var(--transition);
    }

    @media (max-width: 768px) {
      .hamburger { display: flex; }

      .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: var(--navy);
        flex-direction: column;
        padding: 6rem 2rem 2rem;
        gap: 1.5rem;
        transition: right var(--transition);
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
      }

      .nav-toggle:checked ~ .nav-links { right: 0; }

      .nav-links a {
        font-size: 0.9rem;
        color: rgba(255,255,255,0.85);
      }

      .nav-links a:hover { color: var(--gold); }

      .nav-links a::after { background: var(--gold); }

      .nav-toggle:checked ~ .hamburger span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
      }

      .nav-toggle:checked ~ .hamburger span:nth-child(2) {
        opacity: 0;
      }

      .nav-toggle:checked ~ .hamburger span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
      }
    }

    /* ============================================================
       HERO SECTION
       ============================================================ */
    .hero {
      position: relative;
      height: 100vh;
      min-height: 700px;
      display: flex;
      align-items: center;
      overflow: hidden;
      clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
    }

    /* Background image layer */
    .hero-bg {
      position: absolute;
      inset: 0;
      background-image: url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?w=1920&q=80');
      background-size: cover;
      background-position: center;
      will-change: transform;
      transform: scale(1.08);
      animation: hero-zoom 20s ease-in-out infinite alternate;
    }

    @keyframes hero-zoom {
      0% { transform: scale(1.08); }
      100% { transform: scale(1.14); }
    }

    /* Dark gradient overlay */
    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        160deg,
        rgba(10, 22, 40, 0.88) 0%,
        rgba(10, 22, 40, 0.70) 60%,
        rgba(10, 22, 40, 0.60) 100%
      );
      z-index: 1;
    }

    /* Diagonal lines texture */
    .hero-texture {
      position: absolute;
      inset: 0;
      z-index: 2;
      background:
        radial-gradient(ellipse at 20% 80%, rgba(197, 160, 85, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(197, 160, 85, 0.05) 0%, transparent 50%),
        repeating-linear-gradient(
          -30deg,
          transparent,
          transparent 120px,
          rgba(255, 255, 255, 0.012) 120px,
          rgba(255, 255, 255, 0.012) 121px
        );
      pointer-events: none;
    }

    .hero-content {
      position: relative;
      z-index: 4;
      max-width: 900px;
      padding-top: 8rem;
    }

    /* Animated gold decorative line */
    .hero-line {
      height: 3px;
      background: var(--gold);
      margin-bottom: 2rem;
      width: 0;
      animation: line-expand 1.2s var(--ease-apple) 0.3s forwards;
      will-change: width;
    }

    @keyframes line-expand {
      from { width: 0; }
      to { width: 80px; }
    }

    .hero h1 {
      font-size: clamp(3.5rem, 7vw, 7rem);
      color: var(--white);
      margin-bottom: 1.5rem;
      letter-spacing: -3px;
      font-weight: 700;
      line-height: 1.05;
      opacity: 0;
      transform: translateY(40px);
      animation: hero-text-in 1s var(--ease-apple) 0.5s forwards;
      will-change: opacity, transform;
    }

    @keyframes hero-text-in {
      to { opacity: 1; transform: translateY(0); }
    }

    .hero h1 em {
      font-style: italic;
      color: var(--gold);
    }

    .hero p {
      font-size: clamp(1rem, 1.8vw, 1.2rem);
      color: rgba(255, 255, 255, 0.72);
      max-width: 620px;
      margin-bottom: 2.5rem;
      line-height: 1.85;
      font-weight: 300;
      opacity: 0;
      transform: translateY(30px);
      animation: hero-text-in 1s var(--ease-apple) 0.75s forwards;
      will-change: opacity, transform;
    }

    .hero .btn-gold {
      opacity: 0;
      animation: hero-text-in 0.8s var(--ease-apple) 1s forwards;
      will-change: opacity, transform;
      /* Pulsing shadow */
      box-shadow: 0 0 0 0 rgba(197, 160, 85, 0.4);
      animation: hero-text-in 0.8s var(--ease-apple) 1s forwards, btn-pulse 2.5s ease-in-out 2s infinite;
    }

    @keyframes btn-pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(197, 160, 85, 0.35); }
      50% { box-shadow: 0 0 0 12px rgba(197, 160, 85, 0); }
    }

    /* Bouncing down arrow */
    .hero-arrow {
      position: absolute;
      bottom: 6%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 5;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      opacity: 0;
      animation: hero-text-in 0.8s var(--ease-apple) 1.5s forwards;
      will-change: opacity, transform;
    }

    .hero-arrow a {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      color: rgba(255,255,255,0.5);
      transition: color var(--transition);
    }

    .hero-arrow a:hover { color: var(--gold); }

    .hero-arrow-icon {
      width: 36px;
      height: 36px;
      border: 1.5px solid rgba(255,255,255,0.35);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      animation: bounce 2s ease-in-out infinite;
      will-change: transform;
    }

    .hero-arrow-icon svg {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    @keyframes bounce {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(8px); }
    }

    /* ============================================================
       LEGACY DEADLINE BANNER STYLES (currently unused)
       ============================================================ */
    #sdrp-banner {
      background: var(--navy);
      padding: 3rem 0;
      position: relative;
      clip-path: polygon(0 4%, 100% 0, 100% 96%, 0 100%);
      margin: -2px 0;
      border: none;
      overflow: hidden;
    }

    #sdrp-banner::before,
    #sdrp-banner::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      height: 3px;
    }

    #sdrp-banner::before {
      top: 0;
      background: var(--gold);
      animation: banner-glow-pulse 2.5s ease-in-out infinite;
      will-change: box-shadow, opacity;
    }

    #sdrp-banner::after {
      bottom: 0;
      background: var(--gold);
      animation: banner-glow-pulse 2.5s ease-in-out infinite;
    }

    @keyframes banner-glow-pulse {
      0%, 100% {
        box-shadow: 0 0 8px rgba(197, 160, 85, 0.4), 0 0 20px rgba(197, 160, 85, 0.2);
        opacity: 0.9;
      }
      50% {
        box-shadow: 0 0 20px rgba(197, 160, 85, 0.8), 0 0 40px rgba(197, 160, 85, 0.4);
        opacity: 1;
      }
    }

    .banner-date-glow {
      color: var(--gold);
      text-shadow:
        0 0 10px rgba(197, 160, 85, 0.8),
        0 0 30px rgba(197, 160, 85, 0.5),
        0 0 60px rgba(197, 160, 85, 0.2);
      animation: date-glow-pulse 2s ease-in-out infinite;
      will-change: text-shadow;
    }

    @keyframes date-glow-pulse {
      0%, 100% {
        text-shadow:
          0 0 10px rgba(197, 160, 85, 0.7),
          0 0 30px rgba(197, 160, 85, 0.4),
          0 0 60px rgba(197, 160, 85, 0.15);
      }
      50% {
        text-shadow:
          0 0 15px rgba(197, 160, 85, 1),
          0 0 40px rgba(197, 160, 85, 0.7),
          0 0 80px rgba(197, 160, 85, 0.35);
      }
    }

    /* ============================================================
       ABOUT SECTION
       ============================================================ */
    .about {
      background: var(--white);
      padding: var(--section-pad) 0 calc(var(--section-pad) + 3rem);
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }

    /* Gold accent bar on left of text column */
    .about-text {
      padding-left: 1.75rem;
      border-left: 3px solid var(--gold);
    }

    .about-text p {
      color: var(--text-muted);
      font-size: 1.05rem;
      line-height: 1.85;
    }

    .about-text p strong { color: var(--dark-text); }

    /* Animated checkmarks */
    .about-checklist {
      list-style: none;
      padding: 0;
      margin-bottom: 1rem;
    }

    .about-checklist li {
      padding: 0.5rem 0;
      color: var(--text-muted);
      font-size: 1.05rem;
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      opacity: 0;
      transform: translateX(-20px);
      transition: opacity 0.6s var(--ease-apple), transform 0.6s var(--ease-apple);
    }

    .about-checklist li.check-visible {
      opacity: 1;
      transform: translateX(0);
    }

    .about-checklist li:nth-child(1) { transition-delay: 0ms; }
    .about-checklist li:nth-child(2) { transition-delay: 120ms; }
    .about-checklist li:nth-child(3) { transition-delay: 240ms; }
    .about-checklist li:nth-child(4) { transition-delay: 360ms; }
    .about-checklist li:nth-child(5) { transition-delay: 480ms; }

    .check-icon {
      flex-shrink: 0;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      border: 2px solid var(--gold);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 2px;
      position: relative;
      overflow: hidden;
    }

    .check-icon::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--gold);
      transform: scale(0);
      border-radius: 50%;
      transition: transform 0.4s var(--ease-apple);
    }

    .check-visible .check-icon::before {
      transform: scale(1);
    }

    .check-icon svg {
      width: 12px;
      height: 12px;
      stroke: var(--navy);
      fill: none;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
      position: relative;
      z-index: 1;
      opacity: 0;
      transition: opacity 0.2s ease 0.3s;
    }

    .check-visible .check-icon svg {
      opacity: 1;
    }

    /* About image with zoom on scroll */
    .about-image-wrap {
      position: relative;
      height: 520px;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(0,0,0,0.18);
    }

    .about-image-wrap::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 5px;
      background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
    }

    .about-image-inner {
      position: absolute;
      inset: -5%;
      background-image:
        linear-gradient(180deg, rgba(10,22,40,0.2) 0%, rgba(10,22,40,0.65) 100%),
        url('https://images.unsplash.com/photo-1560493676-04071c5f467b?w=800&q=80');
      background-size: cover;
      background-position: center;
      transition: transform 0.8s var(--ease-apple);
      will-change: transform;
    }

    .about-image-wrap:hover .about-image-inner {
      transform: scale(1.04);
    }

    .about-image-caption {
      position: absolute;
      bottom: 1.5rem;
      left: 1.5rem;
      color: rgba(255,255,255,0.55);
      font-family: 'Inter', sans-serif;
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 3px;
      text-transform: uppercase;
      z-index: 2;
    }

    @media (max-width: 768px) {
      .about { padding: var(--section-pad-mobile) 0; }
      .about-grid { grid-template-columns: 1fr; gap: 2.5rem; }
      .about-text { padding-left: 1.25rem; }
      .about-image-wrap { height: 300px; }
    }

    /* ============================================================
       FUNDING TYPES SECTION
       ============================================================ */
    .funding-types {
      background: var(--navy);
      color: var(--white);
      padding: var(--section-pad) 0;
      position: relative;
      overflow: hidden;
    }

    .funding-types::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 20% 10%, rgba(197,160,85,0.18), transparent 34%), radial-gradient(circle at 80% 80%, rgba(255,255,255,0.08), transparent 28%);
      pointer-events: none;
    }

    .funding-types .container { position: relative; z-index: 1; }

    .funding-header {
      max-width: 860px;
      margin: 0 auto 3.5rem;
      text-align: center;
    }

    .funding-header .section-heading { color: var(--white); }

    .funding-intro {
      color: rgba(255,255,255,0.75);
      font-size: 1.05rem;
      line-height: 1.8;
    }

    .funding-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 2rem;
      align-items: stretch;
    }

    .funding-card {
      background: rgba(255,255,255,0.96);
      color: var(--dark-text);
      border-radius: 14px;
      padding: 2rem;
      border-top: 4px solid var(--gold);
      box-shadow: 0 24px 70px rgba(0,0,0,0.28);
    }

    .funding-card h3 {
      color: var(--navy);
      font-size: 1.45rem;
      margin-bottom: 1rem;
    }

    .funding-card p {
      color: var(--text-muted);
      line-height: 1.75;
      margin-bottom: 1.25rem;
    }

    .funding-card h4 {
      color: var(--navy);
      font-family: 'Inter', sans-serif;
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 1.8px;
      margin: 1.5rem 0 0.8rem;
    }

    .funding-list, .funding-examples {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .funding-list li, .funding-examples li {
      position: relative;
      padding-left: 1.4rem;
      margin-bottom: 0.7rem;
      color: var(--text-muted);
      line-height: 1.55;
      font-size: 0.95rem;
    }

    .funding-list li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0.65rem;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--gold);
    }

    .funding-examples li::before {
      content: '→';
      position: absolute;
      left: 0;
      color: var(--gold-dark);
      font-weight: 700;
    }

    .funding-difference {
      margin-top: 2rem;
      background: rgba(197,160,85,0.12);
      border: 1px solid rgba(197,160,85,0.35);
      border-radius: 12px;
      padding: 1.5rem 1.75rem;
      color: rgba(255,255,255,0.86);
      line-height: 1.75;
    }

    .funding-difference strong { color: var(--gold-light); }

    @media (max-width: 900px) {
      .funding-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 640px) {
      .funding-types { padding: var(--section-pad-mobile) 0; }
      .funding-card { padding: 1.5rem; }
    }

    /* ============================================================
       SERVICES SECTION
       ============================================================ */
    .services {
      padding: var(--section-pad) 0;
      position: relative;
      overflow: hidden;
    }

    /* Diagonal pattern background */
    .services::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, var(--light-gray) 25%, transparent 25%) -20px 0,
        linear-gradient(225deg, var(--light-gray) 25%, transparent 25%) -20px 0,
        linear-gradient(315deg, var(--light-gray) 25%, transparent 25%),
        linear-gradient(45deg, var(--light-gray) 25%, transparent 25%);
      background-size: 40px 40px;
      background-color: #F0EEE9;
      opacity: 0.7;
      pointer-events: none;
    }

    .services .container { position: relative; z-index: 1; }

    .services-header {
      text-align: center;
      margin-bottom: 4rem;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
    }

    .service-card {
      background: var(--white);
      border-radius: 10px;
      padding: 2.5rem 2rem;
      border-top: 3px solid transparent;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
      transition: all 0.45s var(--ease-apple);
      position: relative;
      overflow: hidden;
      will-change: transform, box-shadow;
    }

    /* Watermarked icon in corner */
    .service-card-bg-icon {
      position: absolute;
      bottom: -10px;
      right: -10px;
      width: 120px;
      height: 120px;
      opacity: 0.04;
      pointer-events: none;
    }

    .service-card-bg-icon svg {
      width: 100%;
      height: 100%;
      stroke: var(--navy);
      fill: none;
      stroke-width: 1.2;
    }

    /* Gold border slides up on hover */
    .service-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s var(--ease-apple);
    }

    .service-card:hover::before {
      transform: scaleX(1);
    }

    .service-card:hover {
      transform: translateY(-14px);
      box-shadow: 0 28px 70px rgba(0, 0, 0, 0.14);
      border-top-color: transparent;
    }

    .service-icon {
      width: 52px;
      height: 52px;
      margin-bottom: 1.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(197, 160, 85, 0.08);
      border-radius: 12px;
      transition: background 0.3s ease;
    }

    .service-card:hover .service-icon {
      background: rgba(197, 160, 85, 0.15);
    }

    .service-icon svg {
      width: 26px;
      height: 26px;
      stroke: var(--gold);
      fill: none;
      stroke-width: 1.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .service-card h3 {
      font-size: 1.25rem;
      color: var(--navy);
      margin-bottom: 1rem;
    }

    .service-card p {
      color: var(--text-muted);
      font-size: 0.95rem;
      line-height: 1.75;
      margin-bottom: 1.25rem;
    }

    .service-link {
      font-size: 0.85rem;
      font-weight: 600;
      letter-spacing: 0.5px;
      color: var(--gold);
      transition: color var(--transition-fast);
    }

    .service-link:hover { color: var(--gold-dark); }

    @media (max-width: 1024px) {
      .services-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 640px) {
      .services { padding: var(--section-pad-mobile) 0; }
      .services-grid { grid-template-columns: 1fr; }
    }

    /* ============================================================
       PROGRAMS SECTION
       ============================================================ */
    .programs-section {
      background: var(--white);
      padding: var(--section-pad) 0;
    }

    .programs-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.5rem;
    }

    .program-card {
      background: var(--light-gray);
      padding: 1.5rem 2rem;
      border-radius: 8px;
      border-left: 3px solid var(--gold);
      position: relative;
      overflow: hidden;
      transition: all 0.4s var(--ease-apple);
      will-change: transform, box-shadow;
    }

    /* Gold gradient reveal on hover: border grows */
    .program-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 3px;
      height: 100%;
      background: linear-gradient(180deg, var(--gold-light), var(--gold), var(--gold-dark));
      transition: width 0.4s var(--ease-apple);
    }

    .program-card:hover::before {
      width: 6px;
    }

    .program-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.09);
      background: var(--white);
    }

    .program-card h3 {
      font-size: 1.1rem;
      color: var(--navy);
      margin-bottom: 0.4rem;
    }

    .program-card p {
      color: var(--text-muted);
      font-size: 0.9rem;
      margin: 0;
    }

    /* Stagger entrance */
    .programs-grid .fade-in:nth-child(1) { transition-delay: 0ms; }
    .programs-grid .fade-in:nth-child(2) { transition-delay: 150ms; }
    .programs-grid .fade-in:nth-child(3) { transition-delay: 300ms; }
    .programs-grid .fade-in:nth-child(4) { transition-delay: 450ms; }
    .programs-grid .fade-in:nth-child(5) { transition-delay: 600ms; }
    .programs-grid .fade-in:nth-child(6) { transition-delay: 750ms; }
    .programs-grid .fade-in:nth-child(7) { transition-delay: 900ms; }
    .programs-grid .fade-in:nth-child(8) { transition-delay: 1050ms; }

    /* ============================================================
       RESULTS SECTION
       ============================================================ */
    .results {
      background: var(--navy);
      padding: var(--section-pad) 0;
      position: relative;
      clip-path: polygon(0 4%, 100% 0, 100% 96%, 0 100%);
      margin: -3rem 0;
      padding-top: calc(var(--section-pad) + 3rem);
      padding-bottom: calc(var(--section-pad) + 3rem);
    }

    .results-header {
      text-align: center;
      margin-bottom: 4rem;
    }

    .results-header .section-heading {
      color: var(--white);
    }

    .results-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
    }

    .result-card {
      background: var(--navy-light);
      border: 1px solid rgba(255, 255, 255, 0.07);
      border-radius: 10px;
      padding: 2.5rem 2rem;
      position: relative;
      transition: all 0.45s var(--ease-apple);
      will-change: transform;
    }

    .result-card:hover {
      transform: translateY(-5px);
      border-color: rgba(197, 160, 85, 0.3);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    }

    .result-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 2rem;
      right: 2rem;
      height: 3px;
      background: var(--gold);
      border-radius: 0 0 2px 2px;
    }

    .result-label {
      font-family: 'Inter', sans-serif;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1rem;
      display: block;
    }

    .result-card h3 {
      font-size: 1.2rem;
      color: var(--white);
      margin-bottom: 1rem;
    }

    .result-arrow {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-bottom: 1rem;
      flex-wrap: wrap;
    }

    /* Before: red-tinted, struck through */
    .result-before {
      font-family: 'Inter', sans-serif;
      font-size: 1.1rem;
      color: rgba(220, 80, 70, 0.75);
      text-decoration: line-through;
      text-decoration-color: rgba(220, 80, 70, 0.6);
    }

    /* Animated arrow */
    .result-arrow-icon {
      color: var(--gold);
      font-size: 1.3rem;
      display: inline-block;
      animation: arrow-slide 1.8s ease-in-out infinite;
      will-change: transform;
    }

    @keyframes arrow-slide {
      0%, 100% { transform: translateX(0); }
      50% { transform: translateX(6px); }
    }

    /* After: large, pulsing gold glow */
    .result-after {
      font-family: 'Playfair Display', serif;
      font-size: 2.6rem;
      font-weight: 700;
      color: var(--gold);
      animation: result-glow 2.5s ease-in-out infinite;
      will-change: text-shadow;
    }

    @keyframes result-glow {
      0%, 100% {
        text-shadow:
          0 0 10px rgba(197, 160, 85, 0.4),
          0 0 30px rgba(197, 160, 85, 0.15);
      }
      50% {
        text-shadow:
          0 0 20px rgba(197, 160, 85, 0.7),
          0 0 50px rgba(197, 160, 85, 0.35),
          0 0 80px rgba(197, 160, 85, 0.1);
      }
    }

    .result-card p {
      color: rgba(255, 255, 255, 0.55);
      font-size: 0.95rem;
      line-height: 1.75;
    }

    @media (max-width: 1024px) {
      .results-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
        margin: 0 auto;
      }
    }

    @media (max-width: 768px) {
      .results {
        clip-path: none;
        margin: 0;
        padding: var(--section-pad-mobile) 0;
      }
    }

    /* ============================================================
       TEAM SECTION
       ============================================================ */
    .team {
      background: var(--white);
      padding: var(--section-pad) 0;
    }

    .team-header {
      text-align: center;
      margin-bottom: 4rem;
    }

    .team-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 3rem;
    }

    .team-card { text-align: center; }

    .team-photo {
      width: 160px;
      height: 160px;
      border-radius: 50%;
      background: var(--medium-gray);
      margin: 0 auto 1.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(0, 0, 0, 0.15);
      font-size: 0.7rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      font-weight: 500;
      position: relative;
      overflow: hidden;
      transition: box-shadow 0.4s var(--ease-apple);
    }

    .team-photo::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 50%;
      border: 2px solid var(--gold);
      opacity: 0;
      transition: opacity var(--transition);
    }

    .team-card:hover .team-photo::after { opacity: 1; }

    .team-photo svg {
      width: 60px;
      height: 60px;
      fill: rgba(0, 0, 0, 0.12);
    }

    .team-card h3 {
      font-size: 1.3rem;
      color: var(--navy);
      margin-bottom: 0.25rem;
    }

    .team-role {
      font-size: 0.85rem;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1rem;
      display: block;
    }

    .team-card p {
      color: var(--text-muted);
      font-size: 0.95rem;
      line-height: 1.7;
      max-width: 320px;
      margin: 0 auto;
    }

    @media (max-width: 768px) {
      .team { padding: var(--section-pad-mobile) 0; }
      .team-grid { grid-template-columns: 1fr; gap: 3rem; max-width: 400px; margin: 0 auto; }
    }

    /* ============================================================
       CONTACT SECTION
       ============================================================ */
    .contact {
      background: var(--light-gray);
      padding: var(--section-pad) 0;
    }

    .contact-header {
      text-align: center;
      margin-bottom: 4rem;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1.5fr;
      gap: 4rem;
      align-items: start;
    }

    .contact-info h3 {
      font-size: 1.3rem;
      color: var(--navy);
      margin-bottom: 2rem;
    }

    .contact-item {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      margin-bottom: 2rem;
    }

    /* Pulsing contact icons */
    .contact-icon {
      width: 44px;
      height: 44px;
      min-width: 44px;
      background: var(--navy);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 2px;
      animation: icon-pulse 3s ease-in-out infinite;
      will-change: box-shadow;
    }

    .contact-icon:nth-of-type(2) { animation-delay: 0.6s; }
    .contact-icon:nth-of-type(3) { animation-delay: 1.2s; }

    @keyframes icon-pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(197, 160, 85, 0.25); }
      50% { box-shadow: 0 0 0 8px rgba(197, 160, 85, 0); }
    }

    .contact-icon svg {
      width: 18px;
      height: 18px;
      stroke: var(--gold);
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .contact-item-label {
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-bottom: 0.25rem;
    }

    .contact-item-value {
      color: var(--dark-text);
      font-size: 1.05rem;
    }

    .contact-item-value a { color: var(--dark-text); }
    .contact-item-value a:hover { color: var(--gold); }

    /* Contact form with gold left border */
    .contact-form {
      background: var(--white);
      border-radius: 10px;
      padding: 2.75rem;
      box-shadow: 0 8px 40px rgba(0, 0, 0, 0.07);
      border-left: 4px solid var(--gold);
    }

    .form-group { margin-bottom: 1.5rem; }

    .form-group label {
      display: block;
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--dark-text);
      margin-bottom: 0.5rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
      width: 100%;
      font-family: 'Inter', sans-serif;
      font-size: 0.95rem;
      padding: 0.9rem 1rem;
      border: 1.5px solid var(--medium-gray);
      border-radius: 6px;
      background: var(--light-gray);
      color: var(--dark-text);
      transition: border-color 0.3s var(--ease-apple), box-shadow 0.3s var(--ease-apple);
      outline: none;
    }

    /* Dramatic gold glow ring on focus */
    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
      border-color: var(--gold);
      box-shadow:
        0 0 0 4px rgba(197, 160, 85, 0.18),
        0 0 20px rgba(197, 160, 85, 0.08);
      background: var(--white);
    }

    .form-group textarea {
      resize: vertical;
      min-height: 120px;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
    }

    @media (max-width: 768px) {
      .contact { padding: var(--section-pad-mobile) 0; }
      .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
      .form-row { grid-template-columns: 1fr; }
      .contact-form { padding: 2rem 1.5rem; }
    }

    /* ============================================================
       FOOTER
       ============================================================ */
    .footer {
      background: var(--navy);
      padding: 4rem 0 0;
      position: relative;
      overflow: hidden;
    }

    /* Gradient top border (gold to transparent) */
    .footer::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold-light) 50%, var(--gold) 70%, transparent);
      z-index: 2;
    }

    /* Grain texture */
    .footer::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
      opacity: 0.025;
      pointer-events: none;
      z-index: 1;
      mix-blend-mode: overlay;
      background-size: 200px 200px;
    }

    .footer .container { position: relative; z-index: 2; }


    .offices-label {
      font-family: 'Inter', sans-serif;
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold-dark);
      margin: 2.25rem 0 1rem;
    }
    .office-list { display: grid; gap: 1.1rem; }
    .office-item strong {
      display: block;
      font-size: 0.82rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      margin-bottom: 0.25rem;
    }
    .office-item span {
      color: var(--text-muted);
      font-size: 0.92rem;
      line-height: 1.5;
    }
    .footer-offices {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem 2rem;
      padding-top: 2rem;
      margin-top: 0.5rem;
      border-top: 1px solid rgba(255,255,255,0.12);
    }
    .footer-offices h4 { margin-bottom: 1rem; }
    .footer-offices .office-item strong { color: var(--gold); }
    .footer-offices .office-item span { color: rgba(255,255,255,0.55); font-size: 0.85rem; }
    @media (max-width: 900px) {
      .footer-offices { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 560px) {
      .footer-offices { grid-template-columns: 1fr; }
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 3rem;
      margin-bottom: 3rem;
    }

    .footer h4 {
      font-family: 'Inter', sans-serif;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--white);
      margin-bottom: 1.5rem;
    }

    .footer p {
      color: rgba(255, 255, 255, 0.48);
      font-size: 0.9rem;
      line-height: 1.75;
    }

    .footer-links { list-style: none; }

    .footer-links li { margin-bottom: 0.75rem; }

    .footer-links a {
      color: rgba(255, 255, 255, 0.48);
      font-size: 0.9rem;
      transition: color var(--transition-fast);
    }

    .footer-links a:hover { color: var(--gold); }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.07);
      padding: 1.5rem 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .footer-copyright {
      color: rgba(255, 255, 255, 0.3);
      font-size: 0.8rem;
    }

    .footer-social {
      display: flex;
      gap: 1rem;
    }

    .footer-social a {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, 0.14);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.4s var(--ease-apple);
    }

    /* Neon-gold glow on hover */
    .footer-social a:hover {
      border-color: var(--gold);
      background: rgba(197, 160, 85, 0.1);
      box-shadow:
        0 0 12px rgba(197, 160, 85, 0.5),
        0 0 30px rgba(197, 160, 85, 0.2);
    }

    .footer-social svg {
      width: 16px;
      height: 16px;
      fill: rgba(255, 255, 255, 0.45);
      transition: fill var(--transition-fast);
    }

    .footer-social a:hover svg { fill: var(--gold); }

    .footer-about-logo {
      font-family: 'Inter', sans-serif;
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 3px;
      color: var(--white);
      text-transform: uppercase;
      margin-bottom: 1rem;
      display: block;
    }

    .footer-about-logo span { color: var(--gold); }

    @media (max-width: 768px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
      .footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }
    }

    @media (max-width: 480px) {
      .footer-grid { grid-template-columns: 1fr; }
    }

    /* ============================================================
       MOBILE HERO TEXT SCALING
       ============================================================ */
    @media (max-width: 768px) {
      .hero h1 {
        font-size: clamp(2.8rem, 10vw, 4.5rem);
        letter-spacing: -1.5px;
      }
      .hero p { font-size: 1rem; }
      .hero-content { padding-top: 6rem; }
    }

    @media (hover: none) {
      /* Degrade hover effects on touch */
      .service-card:hover { transform: none; }
      .program-card:hover { transform: none; }
      .result-card:hover { transform: none; }
      .btn-gold:hover { transform: none; }
    }

    /* ============================================================
       FORM SECTION LABELS (inline style replacements)
       ============================================================ */
    .form-section-label {
      font-family: 'Inter', sans-serif;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1rem;
      display: block;
    }


    .programs-grid-wide {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.25rem;
      margin-top: 2rem;
    }

    .state-program-card {
      background: var(--white);
      border: 1px solid rgba(10,22,40,0.08);
      border-radius: 10px;
      padding: 1.35rem;
      box-shadow: 0 8px 28px rgba(0,0,0,0.05);
    }

    .state-program-card h3 {
      color: var(--navy);
      font-size: 1.05rem;
      margin-bottom: 0.75rem;
    }

    .state-program-card ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .state-program-card li {
      color: var(--text-muted);
      font-size: 0.9rem;
      line-height: 1.5;
      margin-bottom: 0.55rem;
      padding-left: 1rem;
      position: relative;
    }

    .state-program-card li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0.55rem;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--gold);
    }

    .program-note {
      color: var(--text-muted);
      max-width: 820px;
      margin: 1.5rem auto 0;
      text-align: center;
      line-height: 1.7;
      font-size: 0.95rem;
    }

    .form-section-label + .form-section-label,
    .form-group + .form-section-label {
      margin-top: 2rem;
    }
  
    .page-hero {
      position: relative;
      padding: 9.25rem 0 3.25rem;
      background: #0b1c33;
      overflow: hidden;
    }
    .page-hero::before {
      content: '';
      position: absolute; inset: 0;
      background: url('/hero-bg.jpg') center/cover no-repeat;
      opacity: 0.22;
    }
    .page-hero .container { position: relative; z-index: 2; }
    .page-hero .eyebrow {
      display: block;
      font-family: Inter, sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 0.7rem;
    }
    .page-hero h1 {
      color: #fff;
      font-size: clamp(2.1rem, 4.4vw, 3.2rem);
      margin: 0 0 0.55rem;
    }
    .page-hero p {
      color: rgba(255,255,255,0.78);
      max-width: 680px;
      font-size: 1.05rem;
      line-height: 1.7;
      margin: 0;
    }
    .page-main { background: #f6f4ef; }
    .nav-links a.active { color: var(--gold); }
    .loc-wrap { max-width: 1080px; margin: 0 auto; padding: 3.5rem 0 5rem; }
    .loc-card {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      background: #fff;
      margin-bottom: 1.75rem;
      overflow: hidden;
      box-shadow: 0 18px 40px rgba(11,28,51,0.07);
      border: 1px solid rgba(11,28,51,0.05);
    }
    .loc-card:nth-child(even) { grid-template-columns: 0.85fr 1.15fr; }
    .loc-card:nth-child(even) .loc-photo { order: 2; }
    .loc-photo {
      min-height: 280px;
      background-size: cover;
      background-position: center;
    }
    .loc-body {
      padding: 2.4rem 2.2rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .loc-body .state {
      font-family: Inter, sans-serif;
      font-size: 0.74rem;
      font-weight: 700;
      letter-spacing: 2.4px;
      text-transform: uppercase;
      color: var(--gold-dark);
      margin-bottom: 0.55rem;
    }
    .loc-body h2 {
      font-size: 1.7rem;
      color: var(--navy);
      margin: 0 0 0.85rem;
    }
    .loc-body p {
      color: #5c6570;
      line-height: 1.7;
      font-size: 1.02rem;
      margin: 0 0 1.25rem;
    }
    .loc-body a.map {
      font-family: Inter, sans-serif;
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.4px;
      color: var(--navy);
      text-decoration: none;
      border-bottom: 1px solid var(--gold);
      width: fit-content;
    }
    .loc-body a.map:hover { color: var(--gold-dark); }
    @media (max-width: 820px) {
      .loc-card, .loc-card:nth-child(even) { grid-template-columns: 1fr; }
      .loc-card:nth-child(even) .loc-photo { order: 0; }
      .loc-photo { min-height: 220px; }
      .page-hero { padding: 8rem 0 2.5rem; }
    }
