/* Nasci Project Detailpagina (nd2) */
@property --nd2-a{syntax:'<angle>';initial-value:0deg;inherits:false;}

.nd2-page{
  font-family:'Satoshi',ui-sans-serif,system-ui,sans-serif;
  background:#F5F7F4;color:#0C2721;
  /* full width: breek uit de content-container van het thema */
  width:auto;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.nd2-page *{margin:0;padding:0;box-sizing:border-box;}
.nd2-page a{text-decoration:none;color:inherit;}
.nd2-page ul{list-style:none;}

/* leesvoortgang */
.nd2-progress{
  position:fixed;left:0;top:0;right:0;height:3px;z-index:99980;
  background:rgba(12,39,33,.08);
}
.nd2-progress i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,#82DB05,#A4EF23);
  box-shadow:0 0 10px rgba(144,229,9,.5);
  font-style:normal;
}

/* ============ HERO ============ */
.nd2-hero{
  position:relative;
  min-height:clamp(520px,78vh,720px);
  display:flex;align-items:flex-end;
  overflow:hidden;
  color:#fff;
  padding:120px 24px 130px;
}
.nd2-hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 30%;
  animation:nd2-kenburns 22s ease-in-out infinite alternate;
}
@keyframes nd2-kenburns{from{transform:scale(1);}to{transform:scale(1.09);}}
.nd2-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(12,39,33,.12) 0%,rgba(12,39,33,.42) 50%,rgba(8,31,26,.94) 100%);
}
.nd2-hero-inner{position:relative;z-index:2;max-width:1350px;margin:0 auto;width:100%;}
.nd2-crumbs{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-size:12.5px;color:rgba(255,255,255,.6);
}
.nd2-crumbs a{transition:color .18s ease;}
.nd2-crumbs a:hover{color:#fff;}
.nd2-crumbs svg{width:11px;height:11px;opacity:.5;}
.nd2-crumbs b{color:#fff;font-weight:600;}
.nd2-tags{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap;}
.nd2-tag{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:999px;
  background:linear-gradient(135deg,#A4EF23,#90E509);
  color:#fff;font-size:11.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  text-shadow:0 1px 6px rgba(12,39,33,.25);
  box-shadow:0 8px 20px rgba(144,229,9,.35);
}
.nd2-tag--ghost{
  background:rgba(8,31,26,.5);color:#fff;
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:none;font-weight:600;letter-spacing:.02em;text-transform:none;text-shadow:none;
}
.nd2-tag--ghost svg{width:13px;height:13px;color:#90E509;}
.nd2-hero h1{
  margin-top:16px;
  font-weight:900;font-size:clamp(34px,5.2vw,45px);line-height:1.06;
  max-width:840px;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
  color:#fff;
}
.nd2-scrib{font-style:normal;color:#90E509;}
.nd2-scrollhint{
  position:absolute;right:26px;bottom:26px;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
  writing-mode:vertical-rl;
}
.nd2-scrollhint i{
  width:1.5px;height:44px;font-style:normal;
  background:linear-gradient(180deg,#90E509,transparent);
  animation:nd2-hint 1.8s ease-in-out infinite;
}
@keyframes nd2-hint{0%,100%{transform:scaleY(1);opacity:1;}50%{transform:scaleY(.55);opacity:.5;}}

/* glassy feitenbalk */
.nd2-facts-wrap{padding:0 24px;position:relative;z-index:3;}
.nd2-facts{
  max-width:1350px;margin:-70px auto 0;
  display:grid;grid-template-columns:repeat(var(--nd2-cols,5),1fr);
  border-radius:22px;overflow:hidden;
  background:rgba(8,31,26,.6);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 34px 76px rgba(8,31,26,.4);
  color:#fff;
}
.nd2-fact{
  padding:20px 22px;
  border-right:1px solid rgba(255,255,255,.1);
}
.nd2-fact:last-child{border-right:none;}
/* mobiel: 2+2 in plaats van alles op één rij */
@media (max-width:900px){
  .nd2-facts{grid-template-columns:repeat(2,1fr);}
  .nd2-fact{border-bottom:1px solid rgba(255,255,255,.1);}
  .nd2-fact:nth-child(2n){border-right:none;}
  .nd2-fact:nth-last-child(-n+2){border-bottom:none;}
}
.nd2-fact small{
  display:block;
  font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.nd2-fact b{
  display:block;margin-top:6px;
  font-size:16.5px;font-weight:900;line-height:1.2;
  font-variant-numeric:tabular-nums;
}
.nd2-fact b em{font-style:normal;color:#B9F35A;}

/* ============ MAIN ============ */
.nd2-main{
  max-width:1350px;margin:0 auto;
  padding:clamp(52px,7vh,84px) 24px;
  display:grid;grid-template-columns:150px minmax(0,1fr);
  gap:clamp(30px,4vw,56px);
  align-items:start;
}
.nd2-story{max-width:860px;}
@media (max-width:1100px){
  .nd2-main{grid-template-columns:1fr;}
  .nd2-toc{display:none;}
  .nd2-story{max-width:none;}
}

/* hoofdstuk-navigatie (scrollspy) */
.nd2-toc{position:sticky;top:90px;}
.nd2-toc li + li{margin-top:2px;}
.nd2-toc a{
  display:flex;align-items:center;gap:10px;
  padding:9px 0;
  font-size:12.5px;font-weight:700;color:rgba(12,39,33,.4);
  transition:color .2s ease;
}
.nd2-toc a i{
  width:18px;height:1.5px;font-style:normal;flex:none;
  background:rgba(12,39,33,.2);
  transition:width .25s ease,background-color .25s ease;
}
.nd2-toc a:hover{color:#0C2721;}
.nd2-toc li.is-active a{color:#0C2721;}
.nd2-toc li.is-active a i{width:30px;background:#90E509;}

/* verhaal */
.nd2-story section{scroll-margin-top:80px;}
.nd2-story h2{
  font-weight:900;font-size:clamp(23px,2.5vw,29px);line-height:1.2;
  margin:38px 0 14px;
  display:flex;align-items:center;gap:12px;
  color:#0C2721;
}
.nd2-story section:first-child h2{margin-top:0;}
.nd2-story h2::before{
  content:"";width:26px;height:4px;border-radius:4px;flex:none;
  background:linear-gradient(90deg,#A4EF23,#82DB05);
}
.nd2-story p{
  font-size:15.5px;line-height:1.8;color:rgba(12,39,33,.72);
  margin-bottom:14px;
}
.nd2-story p b,.nd2-story p strong{color:#0C2721;}

/* bento gallery */
.nd2-gallery{
  margin:30px 0 10px;
  display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:230px 230px;gap:12px;
}
@media (max-width:640px){.nd2-gallery{grid-template-columns:1fr;grid-template-rows:repeat(3,210px);}}
.nd2-shot{
  position:relative;border-radius:20px;overflow:hidden;
  background-size:cover;background-position:center;
  box-shadow:0 20px 48px rgba(12,39,33,.16);
}
.nd2-shot--1{grid-row:1 / 3;}
@media (max-width:640px){.nd2-shot--1{grid-row:auto;}}
.nd2-shot::after{
  content:"";position:absolute;inset:0;background:inherit;
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
}
.nd2-shot:hover::after{transform:scale(1.06);}
.nd2-shot small{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:26px 16px 13px;
  font-size:12px;font-weight:600;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(8,31,26,.6));
}

/* resultaatband */
.nd2-results{
  margin-top:30px;
  position:relative;
  border-radius:24px;
  padding:26px;
  background:
    radial-gradient(60% 70% at 90% 0%,rgba(144,229,9,.14),transparent 62%),
    linear-gradient(160deg,#123B31 0%,#0C2721 60%,#081F1A 100%);
  color:#fff;
  overflow:hidden;
}
.nd2-results::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1.5px;
  background:linear-gradient(90deg,transparent,rgba(144,229,9,.8) 50%,transparent);
}
.nd2-results h3{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#B9F35A;}
.nd2-results-grid{
  margin-top:16px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
@media (max-width:640px){.nd2-results-grid{grid-template-columns:1fr;}}
.nd2-result b{
  display:block;
  font-size:clamp(27px,2.8vw,36px);font-weight:900;color:#fff;
  font-variant-numeric:tabular-nums;line-height:1;
}
.nd2-result b em{font-style:normal;color:#B9F35A;}
.nd2-result small{display:block;margin-top:8px;font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.5;}

/* glassy review */
.nd2-quote{
  margin-top:26px;
  position:relative;
  border-radius:22px;
  padding:26px 26px 22px 30px;
  background:#fff;
  border:1px solid rgba(12,39,33,.08);
  box-shadow:0 24px 60px rgba(12,39,33,.1);
}
.nd2-quote::before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:4px;
  background:linear-gradient(180deg,#A4EF23,#82DB05);
}
.nd2-quote-mark{
  position:absolute;right:22px;top:10px;
  font-size:88px;font-weight:900;line-height:1;
  color:rgba(144,229,9,.18);
  user-select:none;pointer-events:none;
}
.nd2-quote p{font-size:16.5px;line-height:1.7;font-weight:500;color:rgba(12,39,33,.85);max-width:88%;}
.nd2-quote p b{color:#0C2721;}
.nd2-quote-row{margin-top:16px;display:flex;align-items:center;gap:11px;}
.nd2-quote-row img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(144,229,9,.6);max-width:none!important;}
.nd2-quote-row b{display:block;font-size:13.5px;}
.nd2-quote-row small{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:rgba(12,39,33,.55);}
.nd2-stars{display:inline-flex;gap:2px;color:#90E509;}
.nd2-stars svg{width:11px;height:11px;}

/* scroll-reveal */
.nd2-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1);}
.nd2-reveal.is-in{opacity:1;transform:none;}

/* ============ ADVIES-BAND ============ */
.nd2-ctafull{padding:14px 24px clamp(44px,6vh,72px);}
.nd2-ctafull-card::after{
  content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;
  background:conic-gradient(from var(--nd2-a),transparent 0turn,transparent .68turn,rgba(144,229,9,.9) .8turn,#D9FF7A .86turn,rgba(144,229,9,.9) .92turn,transparent 1turn);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;animation:nd2-beam 6s linear infinite;
}
@keyframes nd2-beam{to{--nd2-a:360deg;}}
.nd2-ctafull-card > *{position:relative;z-index:1;}
.nd2-ctafull-trust{
  margin:34px auto 0;max-width:720px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;gap:10px 26px;flex-wrap:wrap;
  font-size:12.5px;color:rgba(255,255,255,.6);
}
.nd2-ctafull-trust span{display:inline-flex;align-items:center;gap:7px;}
.nd2-ctafull-trust svg{width:13px;height:13px;color:#90E509;flex:none;}
.nd2-avs{display:inline-flex;}
.nd2-avs img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid #0D2A22;max-width:none!important;}
.nd2-avs img + img{margin-left:-9px;}

.nd2-ctafull-card{
  position:relative;max-width:1350px;margin:0 auto;
  border-radius:clamp(28px,4vw,44px);overflow:hidden;
  background:
    radial-gradient(50% 60% at 88% 8%,rgba(144,229,9,.18),transparent 60%),
    radial-gradient(45% 55% at 8% 95%,rgba(144,229,9,.12),transparent 58%),
    linear-gradient(160deg,#123B31 0%,#0C2721 55%,#081F1A 100%);
  color:#fff;text-align:center;
  padding:clamp(52px,8vw,88px) 24px clamp(56px,8vw,92px);
  box-shadow:0 44px 96px rgba(12,39,33,.3);
}
.nd2-ctafull-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1.5px;
  background:linear-gradient(90deg,transparent,rgba(144,229,9,.8) 50%,transparent);
}
.nd2-ctafull .nd2-cta-head{display:inline-flex;text-align:left;}
.nd2-ctafull h2{
  margin-top:24px;
  font-weight:900;font-size:clamp(30px,4.6vw,56px);line-height:1.08;
  color:#fff;
}
.nd2-ctafull .nd2-ctafull-sub{
  margin:16px auto 0;max-width:540px;
  font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.65);
}
.nd2-ctafull .nd2-cta{
  width:auto;display:inline-flex;
  margin:28px auto 0;
  padding:8px 8px 8px 28px;
  font-size:15.5px;
}
.nd2-cta-head{display:flex;align-items:center;gap:12px;}
.nd2-avatar{position:relative;flex:none;}
.nd2-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(144,229,9,.6);display:block;max-width:none!important;}
.nd2-avatar::after{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:#90E509;border:2.5px solid #0D2A22;}
.nd2-cta-head b{display:block;font-size:14.5px;font-weight:900;line-height:1.3;}
.nd2-cta-head small{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font-size:11px;color:rgba(255,255,255,.55);}
.nd2-cta{
  margin-top:14px;
  display:flex;align-items:center;justify-content:center;gap:13px;
  padding:7px;border-radius:999px;border:none;cursor:pointer;
  font-family:inherit;font-size:14.5px;font-weight:700;line-height:1;
  background:linear-gradient(135deg,#82DB05 0%,#90E509 55%,#A4EF23 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(144,229,9,.3),inset 0 1px 0 rgba(255,255,255,.35);
  position:relative;isolation:isolate;overflow:hidden;
  transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease;
}
.nd2-cta > span:first-child{position:relative;z-index:2;}
.nd2-cta::before{
  content:"";position:absolute;left:50%;top:50%;
  width:40px;height:40px;border-radius:50%;background:#0C2721;
  transform:translate(-50%,-50%) scale(0);
  transition:transform .55s cubic-bezier(.22,.61,.36,1);z-index:1;
}
.nd2-cta:hover::before{transform:translate(-50%,-50%) scale(16);}
.nd2-cta:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(0,0,0,.4),0 0 0 1px rgba(144,229,9,.35);}
.nd2-cta-circle{
  width:40px;height:40px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  background:rgba(255,255,255,.95);color:#0C2721;
  position:relative;z-index:2;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1),background-color .35s ease;
}
.nd2-cta-circle svg{width:14px;height:14px;}
.nd2-cta:hover .nd2-cta-circle{transform:rotate(45deg);background:#90E509;}

/* ============ VOLGEND PROJECT ============ */
.nd2-next{
  position:relative;display:block;
  min-height:clamp(260px,38vh,360px);
  overflow:hidden;
  color:#fff;
}
.nd2-next-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 40%;
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
}
.nd2-next:hover .nd2-next-bg{transform:scale(1.05);}
.nd2-next::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,31,26,.9) 0%,rgba(8,31,26,.55) 55%,rgba(8,31,26,.75) 100%);
}
.nd2-next-inner{
  position:relative;z-index:2;
  max-width:1350px;margin:0 auto;
  min-height:inherit;
  padding:44px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.nd2-next small{
  display:block;
  font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:#B9F35A;
}
.nd2-next h2{
  margin-top:10px;
  font-weight:900;font-size:clamp(26px,3.6vw,44px);line-height:1.1;
  max-width:640px;
  color:#fff;
}
.nd2-next-loc{
  margin-top:10px;display:inline-flex;align-items:center;gap:6px;
  font-size:13px;color:rgba(255,255,255,.7);
}
.nd2-next-loc svg{width:13px;height:13px;color:#90E509;}
.nd2-next-circ{
  width:76px;height:76px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:#fff;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),background-color .3s ease,color .3s ease,border-color .3s ease;
}
.nd2-next-circ svg{width:24px;height:24px;}
.nd2-next:hover .nd2-next-circ{transform:rotate(45deg) scale(1.06);background:#90E509;border-color:#90E509;color:#0C2721;}

@media (prefers-reduced-motion:reduce){
  .nd2-hero-bg,.nd2-scrollhint i{animation:none;}
  .nd2-shot::after,.nd2-next-bg,.nd2-cta{transition:none;}
  .nd2-reveal{opacity:1;transform:none;transition:none;}
}

/* Typografie: display-headings in Aloevera, body blijft Satoshi */
.nd2-hero h1,.nd2-story h2,.nd2-ctafull h2,.nd2-next h2{
  font-family:'Aloevera','Satoshi',ui-sans-serif,system-ui,sans-serif;
  font-weight:800;
}
