/* ===== DOE Modellers — shared styles ===== */
body { font-family: Inter, sans-serif; }
h1,h2,h3,.font-display { font-family:'Space Grotesk', sans-serif; }

.hero-grad {
  background:
    radial-gradient(120% 120% at 85% 0%, rgba(240,183,26,.20) 0%, rgba(240,183,26,0) 55%),
    radial-gradient(90% 90% at 0% 100%, rgba(240,183,26,.10) 0%, rgba(240,183,26,0) 50%),
    #16140e;
}
.grid-lines {
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 56px 56px;
}

/* scroll reveal */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }

/* image zoom on card hover */
.card-img { transition: transform .6s ease; }
.group:hover .card-img { transform: scale(1.06); }

/* nav color states: white over the dark hero/banner, dark once scrolled */
[data-nav] .nav-text   { color:#16140e; transition:color .3s ease; }
[data-nav] .nav-sub    { color:#6e6757; transition:color .3s ease; }
[data-nav] .nav-link   { color:#3a352b; transition:color .3s ease; }
[data-nav] .nav-burger { color:#16140e; transition:color .3s ease; }
[data-nav].at-top .nav-text   { color:#fff; }
[data-nav].at-top .nav-sub    { color:rgba(255,255,255,.6); }
[data-nav].at-top .nav-link   { color:rgba(255,255,255,.85); }
[data-nav].at-top .nav-burger { color:#fff; }
.nav-link:hover { color:#bd7e06 !important; }
[data-nav].at-top .nav-link:hover { color:#f0b71a !important; }
.nav-link.is-active { color:#bd7e06 !important; }
[data-nav].at-top .nav-link.is-active { color:#f0b71a !important; }

::selection { background:#f0b71a; color:#16140e; }
html { scroll-behavior: smooth; }
