  /* ---- GILROY ---- */
  @font-face { font-family:'Gilroy'; src:url('../fonts/gilroy-bold/Gilroy-Light.ttf') format('truetype'); font-weight:300; font-style:normal; font-display:swap; }
  @font-face { font-family:'Gilroy'; src:url('../fonts/gilroy-bold/Gilroy-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
  @font-face { font-family:'Gilroy'; src:url('../fonts/gilroy-bold/Gilroy-Medium.ttf') format('truetype'); font-weight:500; font-style:normal; font-display:swap; }
  @font-face { font-family:'Gilroy'; src:url('../fonts/gilroy-bold/Gilroy-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
  @font-face { font-family:'Gilroy'; src:url('../fonts/gilroy-bold/Gilroy-Heavy.ttf') format('truetype'); font-weight:800; font-style:normal; font-display:swap; }

  /* ---- MINION PRO ---- */
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-Regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-It.otf') format('opentype'); font-weight:400; font-style:italic; font-display:swap; }
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-Medium.otf') format('opentype'); font-weight:500; font-style:normal; font-display:swap; }
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-MediumIt.otf') format('opentype'); font-weight:500; font-style:italic; font-display:swap; }
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-Semibold.otf') format('opentype'); font-weight:600; font-style:normal; font-display:swap; }
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-SemiboldIt.otf') format('opentype'); font-weight:600; font-style:italic; font-display:swap; }
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-Bold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }
  @font-face { font-family:'MinionPro'; src:url('../fonts/minion-pro/MinionPro-BoldIt.otf') format('opentype'); font-weight:700; font-style:italic; font-display:swap; }

  body { font-family: 'MinionPro', Georgia, serif; }
  h1, h2, h3, h4, h5, h6 { font-family: 'Gilroy', system-ui, sans-serif; }

  /* ---- VIEWS ---- */
  .view { display: none; }
  .view.active { display: block; }

  /* ---- FORM STEPS ---- */
  .fstep { display: none; }
  .fstep.active { display: block; }

  /* ---- HERO ---- */
  .hero-bg {
    background-image: linear-gradient(120deg,rgba(64,63,65,.92) 0%,rgba(64,63,65,.72) 45%,rgba(64,63,65,.25) 100%),
      url('../images/projects/harvee-school.jpg');
    background-size: cover;
    background-position: center;
  }

  /* ---- MARQUEE ---- */
  @keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
  .marquee-track { display:flex; width:max-content; animation:marquee 45s linear infinite; }
  .marquee-wrap { overflow:hidden; }
  .marquee-wrap:hover .marquee-track { animation-play-state:paused; }

  /* ---- PROJECT CARD ZOOM ---- */
  .pcard-img { transition:transform .55s ease; }
  .pcard:hover .pcard-img { transform:scale(1.07); }

  /* ---- NAV HOVER LINE ---- */
  .navlink { position:relative; padding-bottom:3px; }
  .navlink::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:#f8c100; transition:width .25s ease; }
  .navlink:hover::after { width:100%; }

  /* ---- ACCENT LINE ---- */
  .accent { width:52px; height:3px; background:linear-gradient(90deg,#f8c100,#87c72b); border-radius:2px; }

  /* ---- INPUT FOCUS ---- */
  .finput:focus { outline:none; border-color:#f8c100; box-shadow:0 0 0 3px rgba(248,193,0,.18); }

  /* ---- SCROLLBAR ---- */
  ::-webkit-scrollbar{width:5px} ::-webkit-scrollbar-track{background:#f1f5f9}
  ::-webkit-scrollbar-thumb{background:#f8c100;border-radius:3px}

  /* ---- BUTTON STATES ---- */
  .btn-p { background:#f8c100; color:#403F41; transition:background .2s; }
  .btn-p:hover { background:#e0ae00; }
  .btn-o { border:2px solid #f8c100; color:#403F41; background:#fff; transition:all .2s; }
  .btn-o:hover { background:#f8c100; color:#403F41; }

  /* ---- PROGRESS BAR ---- */
  .prog-fill { height:4px; background:linear-gradient(90deg,#f8c100,#87c72b); border-radius:2px; transition:width .4s ease; }

  /* ---- SUCCESS CIRCLE ---- */
  .success-circle { width:72px; height:72px; background:linear-gradient(135deg,#87c72b,#f8c100); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; color:#403F41; }

  /* ---- ACTIVE NAV ---- */
  .navlink.is-active { color:#111827; }
  .navlink.is-active::after { width:100%; }

  /* ---- PAGE HEADER BAND ---- */
  .page-hero { background-size:cover; background-position:center; }

  /* ---- LIGHTBOX ---- */
  #lightbox { background:rgba(30,30,32,.94); }
  #lightbox img { max-height:78vh; }
