@charset "UTF-8";
/* Spatiëring (Spacing scale) */
/* 4px */
/* 8px */
/* 16px */
/* 24px */
/* 32px */
/* Vaste vormgeving */
@layer general-styling {
  :root {
    color-scheme: light dark;
    interpolate-size: allow-keywords;
    --ff-base: "Satoshi", system-ui, sans-serif;
    --ff-code: "Cascadia Code", monospace;
    --brand-blue: light-dark(hsl(220, 74%, 41%), hsl(220, 100%, 61%));
    --brand-red: light-dark(hsl(357, 68%, 53%), hsl(357, 100%, 63%));
    --brand-gradient: linear-gradient(
      var(--gradient-deg),
      var(--brand-blue),
      var(--brand-red)
    );
  }
  @supports (background: linear-gradient(in oklch, red, blue)) {
    :root {
      --brand-gradient: linear-gradient(
        var(--gradient-deg) in oklch,
        var(--brand-blue),
        var(--brand-red)
      );
    }
  }
  :root {
    --neutral-50: light-dark(hsl(30, 15%, 92%), hsl(60, 5%, 13%));
    --neutral-100: light-dark(hsl(30, 12%, 89%), hsl(60, 4%, 16%));
    --neutral-200: light-dark(hsl(30, 10%, 86%), hsl(60, 3%, 19%));
    --neutral-300: light-dark(hsl(30, 8%, 83%), hsl(60, 2%, 22%));
    --neutral-400: light-dark(hsl(30, 10%, 80%), hsl(60, 3%, 24%));
    --neutral-500: light-dark(hsl(30, 10%, 74%), hsl(60, 4%, 28%));
    --neutral-600: light-dark(hsl(30, 8%, 64%), hsl(60, 5%, 35%));
    --neutral-700: light-dark(hsl(30, 6%, 52%), hsl(60, 2%, 50%));
    --neutral-800: light-dark(hsl(30, 8%, 38%), hsl(60, 3%, 70%));
    --neutral-900: light-dark(hsl(30, 12%, 12%), hsl(60, 4%, 85%));
    --surface-1: var(--neutral-50);
    --surface-2: var(--neutral-100);
    --surface-3: var(--neutral-200);
    --surface-4: var(--neutral-300);
    --border-subtle: var(--neutral-400);
    --border-default: var(--neutral-500);
    --border-strong: var(--neutral-600);
    --text-primary: var(--neutral-900);
    --text-secondary: var(--neutral-800);
    --text-muted: var(--neutral-700);
    --text-inverse: var(--neutral-50);
    --link: inherit;
    --link-hover: var(--brand-blue);
    --link-active: var(--brand-red);
    --accent: light-dark(hsl(357, 60%, 40%), hsl(357, 60%, 40%));
    --primary: var(--brand-blue);
    /* @link https://utopia.fyi/type/calculator?c=360,18,1.2,1240,21,1.333,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
    --fs--2: clamp(0.7387rem, 0.7987rem + -0.0775vw, 0.7813rem);
    --fs--1: clamp(0.9375rem, 0.9182rem + 0.0857vw, 0.9846rem);
    --fs-0: clamp(1.125rem, 1.0483rem + 0.3409vw, 1.3125rem);
    --fs-1: clamp(1.35rem, 1.1865rem + 0.7265vw, 1.7496rem);
    --fs-2: clamp(1.62rem, 1.3287rem + 1.2948vw, 2.3322rem);
    --fs-3: clamp(1.944rem, 1.4675rem + 2.1178vw, 3.1088rem);
    --fs-4: clamp(2.3328rem, 1.5919rem + 3.2931vw, 4.144rem);
    --fs-5: clamp(2.7994rem, 1.6848rem + 4.9538vw, 5.524rem);
    /* @link https://utopia.fyi/space/calculator?c=360,18,1.2,1240,21,1.333,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
    --space-3xs: clamp(0.3125rem, 0.3125rem + 0vw, 0.3125rem);
    --space-2xs: clamp(0.5625rem, 0.5114rem + 0.2273vw, 0.6875rem);
    --space-xs: clamp(0.875rem, 0.8239rem + 0.2273vw, 1rem);
    --space-s: clamp(1.125rem, 1.0483rem + 0.3409vw, 1.3125rem);
    --space-m: clamp(1.6875rem, 1.5597rem + 0.5682vw, 2rem);
    --space-l: clamp(2.25rem, 2.0966rem + 0.6818vw, 2.625rem);
    --space-xl: clamp(3.375rem, 3.1449rem + 1.0227vw, 3.9375rem);
    --space-2xl: clamp(4.5rem, 4.1932rem + 1.3636vw, 5.25rem);
    --space-3xl: clamp(6.75rem, 6.2898rem + 2.0455vw, 7.875rem);
    --space-4xl: clamp(9rem, 8.3864rem + 2.7273vw, 10.5rem);
    /* One-up pairs */
    --space-3xs-2xs: clamp(0.3125rem, 0.1591rem + 0.6818vw, 0.6875rem);
    --space-2xs-xs: clamp(0.5625rem, 0.3835rem + 0.7955vw, 1rem);
    --space-xs-s: clamp(0.875rem, 0.696rem + 0.7955vw, 1.3125rem);
    --space-s-m: clamp(1.125rem, 0.767rem + 1.5909vw, 2rem);
    --space-m-l: clamp(1.6875rem, 1.304rem + 1.7045vw, 2.625rem);
    --space-l-xl: clamp(2.25rem, 1.5597rem + 3.0682vw, 3.9375rem);
    --space-xl-2xl: clamp(3.375rem, 2.608rem + 3.4091vw, 5.25rem);
    --space-2xl-3xl: clamp(4.5rem, 3.1193rem + 6.1364vw, 7.875rem);
    --space-3xl-4xl: clamp(6.75rem, 5.2159rem + 6.8182vw, 10.5rem);
    /* Custom pairs */
    --space-s-l: clamp(1.125rem, 0.5114rem + 2.7273vw, 2.625rem);
    --space-2xl-4xl: clamp(4.5rem, 2.0455rem + 10.9091vw, 10.5rem);
  }
}
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: var(--space-m);
}

.card {
  display: grid;
  grid-template-rows: auto 1fr;
  block-size: 100%;
  font-size: var(--fs--1);
  border: 1px solid #262c36;
  border-radius: 0.75rem;
  overflow: hidden;
}

.card-image {
  inline-size: 100%;
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: var(--surface-4);
}

.card-body {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  padding: var(--space-s);
  position: relative;
}

.card-body ul {
  gap: ar(--space-2xs);
  list-style: none;
  padding: auto;
}

.card-body a {
  text-decoration: none;
  color: #8f9194;
}
.card-body a:hover {
  color: #c9a24b;
}

.card-meta {
  font-size: var(--fs--2);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.card-title {
  font-size: var(--fs-0);
}
.card-title a {
  color: darkgoldenrod;
  text-decoration: none;
}

:root {
  font-family: "Segoe UI", system-ui, sans-serif;
  margin: 1vw;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  background: #14171c;
  color: #eef0f3;
  line-height: 1.6;
  overflow-x: hidden;
}

ul {
  list-style: none;
  gap: 10px;
}

h3 {
  color: darkgoldenrod;
}

strong {
  color: #8f9194;
}

em {
  color: #818181;
}

.grid-container {
  display: grid;
  grid-template-areas: "nav-container" "hero" "block" "label";
  gap: 10px;
}

.animated-bg {
  --mx: 50%;
  --my: 30%;
  position: fixed;
  inset: 0;
  z-index: -1;
  background: radial-gradient(600px circle at var(--mx) var(--my), rgba(201, 162, 75, 0.12), transparent 60%), radial-gradient(circle at 20% 20%, rgba(201, 162, 75, 0.06), transparent 40%), radial-gradient(circle at 80% 70%, rgba(201, 162, 75, 0.05), transparent 45%), #14171c;
  transition: background 0.15s ease-out;
}

.nav-container {
  grid-area: "nav-container";
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 4vw;
  z-index: 1000;
  transition: background-color 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 5%;
  background: rgba(20, 23, 28, 0.85);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #262c36;
}

.nav-container.scrolled {
  background-color: rgba(15, 23, 32, 0.756); /* pas aan naar jouw donkerblauw/teal thema */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.379);
}

.logo {
  max-height: 10vw;
  max-width: 10vw;
}

.nav-container a {
  float: left;
  display: block;
  color: #c7cdd6;
  text-align: center;
  text-decoration: none;
  font-size: 0.95rem;
}

.nav-container a:hover {
  text-decoration: none;
  color: #e3c98a;
}

.nav-container a.active {
  color: #e3c98a;
}

.nav-tag {
  color: #c9a24b;
  font-size: large;
  font-style: italic;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.hamburger {
  fill: darkgoldenrod;
  width: 2vw;
  height: 2vw;
}

.button-one {
  background: none;
  border: none;
  cursor: pointer;
}

.button-one[aria-expanded=true] .line {
  transition: y 300ms ease-in 300ms, rotate 300ms ease-in, opacity 0ms 300ms;
  transform-origin: center;
}

.button-one[aria-expanded=true] .line {
  transition: y 300ms ease-in, rotate 300ms ease-in 300ms, opacity 0ms 300ms;
}

.button-one[aria-expanded=true] :is(.top, .bottom) {
  y: 45;
}

.button-one[aria-expanded=true] .top {
  rotate: 45deg;
}

.button-one[aria-expanded=true] .middle {
  opacity: 0;
}

.button-one[aria-expanded=true] .bottom {
  rotate: -45deg;
}

.overlay {
  grid-area: "overlay";
  height: 0%;
  width: 100%;
  position: fixed;
  z-index: 999;
  top: 100;
  left: 0;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
  overflow-y: hidden;
  transition: 0.5s;
}

.overlay-content {
  position: relative;
  top: auto;
  width: 100%;
  text-align: center;
  margin-top: 6vw;
}

.overlay a {
  top: 0;
  position: relative;
  margin: 10px;
  padding: 8px;
  text-decoration: none;
  font-size: 36px;
  color: #818181;
  display: flex;
  transition: 0.3s ease;
}

.overlay a:hover, .overlay a:focus {
  color: darkgoldenrod;
}

.overlay .closebtn {
  position: absolute;
  color: #e3c98a;
  top: 25px;
  right: 45px;
  font-size: 60px;
}

.overlay .closebtn:hover {
  color: darkgoldenrod;
}

.hero {
  grid-area: "hero";
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center, bottom;
  text-align: center;
  position: relative;
}

.hero-tag {
  letter-spacing: 4px;
  text-transform: uppercase;
  font-size: 0.8rem;
  color: #c9a24b;
  margin-bottom: 18px;
}

.hero-image {
  background-image: linear-gradient(rgba(0, 0, 0, 0.227), rgba(0, 0, 0, 0.5)), url("img/nhero.png");
  background-position: pointer;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  margin-top: 1vw;
  margin-left: 1vw;
  margin-right: 1vw;
  width: 100%;
  height: 50vw;
  border-radius: 14px;
}

.hero-inner {
  position: relative;
  display: relative;
  min-height: 50vh;
  margin-top: 120vh;
  gap: var(--space-s);
}
.hero-inner h1 {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  text-align: center;
  color: #e3c98a;
}
.hero-inner h2 {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  margin-bottom: 28px;
  font-weight: 700;
}

.hero-inner p {
  text-align: center;
  font-size: medium;
  font-style: oblique;
  line-break: auto;
}

.hero-lede {
  line-break: auto;
  color: var(--text-secondary);
  text-align: center;
  padding: 0;
  margin: 0;
}

.hero-actions {
  margin-block-start: var(--space-2xs);
  gap: 40px;
}

.button {
  color: goldenrod;
  display: pointer;
  font-size: var(--fs--1);
  font-weight: 600;
  text-decoration: none;
  padding: var(--space-2xs) var(--space-s);
  border: 1px solid var(--border-strong);
  border-radius: 100vmax;
  background-color: transparent;
  gap: 30vh;
}

.button-ghost {
  background-color: transparent;
  border-color: var(--border-subtle);
}

.about-grid {
  display: grid;
  /* Berekent automatisch kolommen: flexibel en responsive */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  width: 100%;
  box-sizing: border-box;
  gap: 40px; /* Dubbele gap-waarde opgeschoond */
  padding: 40px 5%;
  /* AANPASSING: Zorgt ervoor dat alle kaarten exact even hoog worden */
  align-items: baseline;
}

.about-card {
  background: #1c2129;
  border: 1px solid #262c36;
  border-radius: 14px;
  padding: 32px;
}

.about-card a {
  color: #e3c98a;
  text-decoration: none;
  font-weight: 600;
}
.about-card a:hover {
  text-decoration: none;
  color: #c9a24b;
}

section.block {
  grid-area: "block";
  max-width: 1080px;
  margin: 0 auto;
  padding: 200px 20px;
}

.section-tag {
  color: #c9a24b;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 0.78rem;
  margin-bottom: 10px;
  display: block;
}

.section-title {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  margin-bottom: 28px;
  font-weight: 700;
}

.verse-card {
  padding: 36px;
  background: #1c2129;
  position: relative;
  overflow: hidden;
}
.verse-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(400px circle at 90% -10%, rgba(201, 162, 75, 0.08), transparent 60%);
  pointer-events: none;
}

.verse-text {
  font-size: 1.3rem;
  font-style: italic;
  color: var(--text-muted);
  line-height: 1.6;
  padding-left: 20px;
  margin-bottom: 8px;
  position: relative;
}

.verse-img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  max-height: 285px;
  margin-bottom: 20px;
}

.verse-comp-img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  margin-bottom: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 400px;
}

.verse-ref {
  color: #818181;
  font-size: 0.85rem;
  margin-bottom: 28px;
  position: relative;
  padding-left: 20px;
}

.verse-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  position: relative;
}
.verse-grid h3 {
  color: #e3c98a;
  margin-bottom: 10px;
  font-size: 1rem;
}
.verse-grid p {
  color: #c7cdd6;
  font-size: 0.94rem;
}

.blog-card {
  background: #1c2129;
  border: 1px solid #262c36;
  border-radius: 14px;
  padding: 32px;
  margin-bottom: 20px;
}

.blog-card a {
  color: #e3c98a;
  text-decoration: none;
  font-weight: 600;
}
.blog-card a:hover {
  text-decoration: none;
  color: #c9a24b;
}

.contact-grid {
  display: grid;
  gap: 50px;
}

.contact-info p {
  color: #c7cdd6;
  margin-bottom: 20px;
}
.contact-info a {
  text-decoration: none;
  color: #e3c98a;
}

.icon-bar {
  position: relative;
  margin-top: 100%;
  display: flex;
  transform: translateY(-50%);
  z-index: 1000;
}

/* Style the icon bar links */
.icon-bar a {
  display: absolute;
  text-align: center;
  padding: 16px;
  transition: all 0.3s ease;
  color: darkgoldenrod;
  font-size: 20px;
}

/* Style the social media icons with color, if you want */
.icon-bar a:hover {
  background-color: #3a4250;
}

.linkedin {
  background: transparent;
  color: white;
}

.instagram {
  background: transparent;
  color: white;
}

.discord {
  background: transparent;
  color: white;
  display: inline-block;
  text-decoration: none;
}

.discord-icon {
  width: 20px; /* Pas de breedte aan naar wens */
  height: auto; /* Behoudt de juiste verhoudingen */
  display: block;
}

.mail {
  background: transparent;
  color: white;
  display: inline-block;
  text-decoration: none;
}

.mail-icon {
  width: 20px; /* Pas de breedte aan naar wens */
  height: auto; /* Behoudt de juiste verhoudingen */
  display: block;
}

footer.label {
  grid-area: "label";
  display: absolute;
  border-top: 1px solid #262c36;
  padding: 40px 5%;
  text-align: center;
  color: #3a4250;
  font-size: 0.85rem;
}

.portfolio-item {
  --in-view: true;
}

.portfolio-item {
  --in-view: false;
  animation: portfolio-item-in-view both;
  animation-timeline: view();
  animation-range: entry 0% entry 40%;
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .card {
      animation: card-in 1s both;
      animation-play-state: paused;
      animation-delay: calc(var(--stagger, 0s) * 0.25s);
    }
    @container style(--in-view: true) {
      .card {
        animation-play-state: running;
      }
    }
  }
}

/* for the staggered animation */
.portfolio-grid {
  --min-col-size: 17rem;
  --gap: 2rem;
  container: portfolio/inline-size;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--min-col-size), 100%), 1fr));
}

/* 2 cols + 1 gap */
@container portfolio (width > calc(17rem * 2 + 2rem)) {
  .portfolio-item:nth-child(2n) {
    --stagger: 1;
  }
}
/* three cols + 2 gaps */
@container portfolio (width > calc(17rem * 3 + 2rem * 2)) {
  .portfolio-item:nth-child(3n+1) {
    --stagger: 0;
  }
  .portfolio-item:nth-child(3n+2) {
    --stagger: 1;
  }
  .portfolio-item:nth-child(3n+3) {
    --stagger: 2;
  }
}
@keyframes portfolio-item-in-view {
  from {
    --in-view: false;
  }
  to {
    --in-view: true;
  }
}
@keyframes card-reveal {
  from {
    opacity: 0;
    translate: 0 2rem;
    scale: 0.96;
  }
  to {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }
}
@keyframes card-in {
  0% {
    opacity: 0;
    translate: 0 50px;
  }
  100% {
    opacity: 1;
    translate: 0;
  }
}
/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  :root {
    font-size: small;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    margin: 1vw;
  }
  * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  html {
    scroll-behavior: smooth;
  }
  .logo {
    max-height: 30vw;
    max-width: 30vw;
  }
  .hamburger {
    width: 5vw;
    height: 5vw;
  }
  .nav-container {
    width: 100%;
    height: 10vw;
  }
  .overlay-content {
    margin: 0;
    margin-top: 10vw;
    padding: 0;
  }
  .overlay a {
    font-size: 24px;
    margin-top: 8vw;
  }
  .overlay a:hover {
    color: darkgoldenrod;
  }
  .icon-bar {
    position: relative;
    margin-top: 15vh;
    display: flex;
    transform: translateY(-50%);
    z-index: 1000;
  }
  .icon-bar a {
    display: absolute;
    text-align: center;
    padding: 16px;
    transition: all 0.3s ease;
    color: darkgoldenrod;
    font-size: 20px;
  }
  .hero {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center, bottom;
    text-align: center;
    position: relative;
  }
  .hero-image {
    margin-top: 2vw;
    width: 100%;
    height: 50vw;
    padding: 4vh;
  }
  .button-one {
    margin: 4vw;
  }
  .hero-inner {
    display: relative;
    min-height: 50vh;
    margin: 10vh;
    margin-top: 30vh;
  }
  .hero-inner p {
    font-size: small;
    font-style: oblique;
    line-break: auto;
  }
  .profile-img {
    width: 50%;
    height: auto;
  }
  .label {
    display: absolute;
    border-top: 1px solid #262c36;
    padding: 20px 5%;
    text-align: center;
    color: #3a4250;
    font-size: 0.85rem;
  }
  .section {
    margin: 0;
  }
  section.block {
    grid-area: "block";
    max-width: 1080px;
    margin: 0 auto;
    padding: 200px 20px;
  }
}
/* Small devices (portrait tablets and large phones, 600px and up) */
/* Medium devices (landscape tablets, 768px and up) */
/* Large devices (laptops/desktops, 992px and up) */
/* Extra large devices (large laptops and desktops, 1200px and up) */
@media screen and (min-width: 600px) {
  #div1 {
    font-size: 80px;
  }
}
@media (max-width: 820px) {
  .about-grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
@media screen and (max-height: 450px) {
  .overlay {
    overflow-y: auto;
  }
  .nav .logo {
    max-height: 15vw;
    max-width: 15vw;
  }
  .overlay a {
    font-size: 20px;
  }
  .overlay .closebtn {
    font-size: 40px;
    top: 25px;
    right: 35px;
  }
}
@media (min-width: 600px) {
  .overlay {
    grid-area: 1/span 6;
  }
  .nav-container {
    grid-area: 2/span 1;
  }
  .hero {
    grid-area: 2/span 4;
  }
  .block {
    grid-area: 3/span 6;
  }
  .label {
    grid-area: 4/span 6;
  }
}
@media (min-width: 768px) {
  .overlay-content {
    grid-area: 1/span 6;
  }
  .nav-container {
    grid-area: 2/span 1;
  }
  .hero {
    grid-area: 2/span 4;
  }
  .block {
    grid-area: 2/span 1;
  }
  .label {
    grid-area: 3/span 6;
  }
}/*# sourceMappingURL=style.css.map */