:root{
  --paper:#F4F7F1;
  --paper-deep:#ECF1E9;
  --ink:#16241C;
  --forest:#1F4D3A;
  --forest-soft:#2F6B4F;
  --gold:#E8A23D;
  --clay:#D9694F;
  --line:rgba(31,77,58,0.16);
  --radius:14px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Fraunces', serif;
  margin:0;
  color:var(--forest);
  font-weight:600;
}
a{color:inherit;}
img,svg{display:block;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}

/* ---------- HEADER ---------- */
.nk-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 28px;
  max-width:1080px; margin:0 auto;
}
.nk-wordmark{
  display:flex; align-items:center; gap:10px;
  font-family:'Fraunces', serif;
  font-optical-sizing:auto;
  font-weight:600;
  font-size:1.4rem;
  letter-spacing:-0.01em;
  color:var(--forest);
}
.nk-wordmark span{color:var(--gold);}
.nk-logo-mark{width:30px; height:30px; flex-shrink:0;}
.nk-nav-cta{
  font-family:'Work Sans', sans-serif;
  font-weight:600;
  font-size:0.88rem;
  background:var(--forest);
  color:var(--paper);
  padding:10px 18px;
  border-radius:999px;
  text-decoration:none;
  transition:background 0.18s ease;
  white-space:nowrap;
}
.nk-nav-cta:hover{background:var(--forest-soft);}

@media (max-width:480px){
  .nk-header{padding:16px 18px; gap:12px;}
  .nk-wordmark{font-size:1.1rem; gap:8px;}
  .nk-logo-mark{width:26px; height:26px;}
  .nk-nav-cta{font-size:0.78rem; padding:8px 14px;}
}

/* ---------- HERO ---------- */
.nk-hero{
  padding:64px 28px 76px;
  max-width:1080px; margin:0 auto;
}
.nk-eyebrow{
  font-size:0.82rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--forest-soft);
  margin-bottom:18px;
}
.nk-eyebrow::before{content:"● "; color:var(--gold);}
.nk-hero h1{
  font-size:clamp(2.1rem, 5vw, 3.4rem);
  line-height:1.08;
  max-width:760px;
  letter-spacing:-0.01em;
}
.nk-hero p.lead{
  font-size:1.08rem;
  max-width:560px;
  margin:22px 0 32px;
  color:#3A4A40;
}
.nk-signup-form{
  display:flex; gap:10px; flex-wrap:wrap;
  max-width:480px;
}
.nk-signup-form input[type=email]{
  flex:1 1 220px;
  padding:14px 16px;
  border:1.5px solid var(--line);
  border-radius:10px;
  font-family:'Work Sans', sans-serif;
  font-size:0.95rem;
  background:#fff;
  color:var(--ink);
}
.nk-signup-form input[type=email]::placeholder{color:#7C8A80;}
.nk-signup-form button{
  padding:14px 22px;
  border:none;
  border-radius:10px;
  background:var(--gold);
  color:#2A1B05;
  font-family:'Work Sans', sans-serif;
  font-weight:700;
  font-size:0.95rem;
  cursor:pointer;
  transition:transform 0.12s ease, background 0.18s ease;
}
.nk-signup-form button:hover{background:#D9912E;}
.nk-signup-form button:active{transform:scale(0.97);}
.nk-form-note{font-size:0.82rem; color:#6B7A70; margin-top:10px;}
.nk-form-success{
  display:none;
  margin-top:14px;
  font-size:0.92rem;
  font-weight:600;
  color:var(--forest);
  background:var(--paper-deep);
  border-radius:10px;
  padding:12px 16px;
}

/* ---------- WEEKEND LIST ---------- */
.nk-weekend{
  background:var(--paper-deep);
  padding:64px 28px 72px;
}
.nk-section-head{max-width:680px; margin-bottom:8px;}
.nk-section-head .nk-eyebrow{margin-bottom:14px;}
.nk-section-head h2{font-size:clamp(1.6rem,3.4vw,2.2rem); line-height:1.15;}
.nk-sample-tag{
  display:inline-block;
  margin-top:18px;
  font-size:0.8rem;
  font-weight:600;
  color:var(--clay);
  background:rgba(217,105,79,0.1);
  border-radius:999px;
  padding:6px 14px;
}

.nk-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}
.nk-filter{
  background:none;
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 16px;
  font-size:0.85rem;
  font-family:inherit;
  color:var(--forest);
  cursor:pointer;
  transition:background 0.15s, color 0.15s;
}
.nk-filter:hover{background:rgba(31,77,58,0.06);}
.nk-filter.active{background:var(--forest); color:#fff; border-color:var(--forest);}

.nk-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:20px;
  margin-top:24px;
}
.nk-card{
  position:relative;
  background:#fff;
  border-radius:var(--radius);
  padding:24px 22px 26px;
  border:1px solid var(--line);
  opacity:0;
  transform:translateY(14px);
  animation:nk-rise 0.5s ease forwards;
}
.nk-card:nth-child(1){animation-delay:0.02s;}
.nk-card:nth-child(2){animation-delay:0.1s;}
.nk-card:nth-child(3){animation-delay:0.18s;}
.nk-card:nth-child(4){animation-delay:0.26s;}
.nk-card:nth-child(5){animation-delay:0.34s;}
@keyframes nk-rise{ to{opacity:1; transform:translateY(0);} }
@media (prefers-reduced-motion: reduce){
  .nk-card{animation:none; opacity:1; transform:none;}
}

.nk-card-icon{margin-bottom:14px; height:48px;}
.nk-card-photo{
  width:calc(100% + 44px);
  margin:-24px -22px 16px -22px;
  height:148px;
  object-fit:cover;
  border-radius:var(--radius) var(--radius) 0 0;
  position:relative;
}
.nk-card-photo + .nk-verified{
  position:absolute;
  top:112px;
  left:10px;
  margin-bottom:0;
  background:rgba(255,255,255,0.9);
}
.nk-verified{
  display:inline-block;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--forest);
  background:rgba(31,77,58,0.08);
  border-radius:999px;
  padding:3px 10px;
  margin-bottom:10px;
}
.nk-card-age{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.15rem;
  color:var(--forest);
  margin-bottom:2px;
}
.nk-card-theme{
  font-size:0.82rem;
  color:var(--forest-soft);
  font-weight:600;
  margin-bottom:16px;
}
.nk-event{
  border-top:1px solid var(--line);
  padding-top:12px;
  margin-top:12px;
}
.nk-event:first-of-type{border-top:none; margin-top:0; padding-top:0;}
.nk-event-title{font-weight:600; font-size:0.95rem; margin-bottom:3px;}
.nk-event-meta{font-size:0.8rem; color:#6B7A70; margin-bottom:6px;}
.nk-meta-item{display:flex; align-items:start; gap:4px; margin-bottom:3px;}
.nk-meta-icon{width:14px; height:14px; flex-shrink:0; margin-top:1px;}
.nk-event-why{font-size:0.82rem; color:#3A4A40; font-style:italic;}
.nk-event-link{display:inline-block; margin-top:8px; font-size:0.85rem; font-weight:600; color:var(--forest); text-decoration:none;}
.nk-event-link:hover{text-decoration:underline;}

/* ---------- PHILOSOPHY ---------- */
.nk-philosophy{
  padding:72px 28px;
  max-width:1080px; margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:48px;
  align-items:start;
}
.nk-philosophy h2{font-size:clamp(1.7rem,3.6vw,2.3rem); line-height:1.15;}
.nk-philosophy p{font-size:1.02rem; color:#3A4A40; margin:0 0 16px;}
.nk-philosophy p:last-child{margin-bottom:0;}
@media (max-width:720px){ .nk-philosophy{grid-template-columns:1fr;} }

/* ---------- SIGNUP BAND ---------- */
.nk-signup-band{
  background:var(--forest);
  color:var(--paper);
  padding:72px 28px;
  text-align:center;
}
.nk-signup-band h2{color:var(--paper); font-size:clamp(1.7rem,3.8vw,2.4rem); max-width:640px; margin:0 auto 16px;}
.nk-signup-band p{color:#CFE0D5; max-width:480px; margin:0 auto 32px;}
.nk-signup-band .nk-signup-form{margin:0 auto; justify-content:center;}
.nk-signup-band .nk-signup-form input[type=email]{border:none;}
.nk-signup-band .nk-form-note{color:#A9C2B3;}
.nk-signup-band .nk-form-success{background:rgba(255,255,255,0.12); color:var(--paper);}

/* ---------- FOOTER ---------- */
footer{
  padding:36px 28px 48px;
  max-width:1080px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px;
}
footer .nk-mission{font-size:0.85rem; color:#5C6E62; max-width:520px;}
footer .nk-social{font-size:0.85rem; font-weight:600; text-decoration:none; color:var(--forest);}
