/* ============================================================
   NUKON — page-family styles
   Loaded on every view EXCEPT the front page (LCP).
   Owns: interior page hero, breadcrumbs, service detail rows,
   gallery grid, contact layout, map, values grid, timeline,
   FAQ, 404 / generic entry-content.
   ============================================================ */

/* ---------- INTERIOR PAGE HERO ---------- */
.nk-phero{position:relative;background:var(--leaf-900);overflow:hidden}
.nk-phero__media{position:absolute;inset:0}
.nk-phero__media img{width:100%;height:100%;object-fit:cover;opacity:.42}
.nk-phero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(30,51,23,.82),rgba(30,51,23,.94));
}
.nk-phero__inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:clamp(46px,7vw,88px) var(--pad)}
.nk-phero h1{
  font-family:var(--f-disp);font-weight:600;color:#fff;
  font-size:clamp(31px,4.8vw,54px);line-height:1.08;letter-spacing:-.02em;max-width:20ch;
}
.nk-phero h1 em{font-style:italic;color:var(--amber-soft)}
.nk-phero__sub{margin-top:18px;max-width:60ch;font-size:clamp(15.5px,1.6vw,18px);color:rgba(239,234,224,.88);line-height:1.72}

/* breadcrumbs */
.nk-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:13.5px;color:var(--haze)}
.nk-crumbs a{color:var(--leaf-300);transition:color .2s}
.nk-crumbs a:hover{color:#fff}
.nk-crumbs__sep{opacity:.5}
.nk-crumbs [aria-current="page"]{color:var(--dawn)}

/* ---------- SERVICE DETAIL ROWS ---------- */
.nk-srow{padding:clamp(46px,6vw,88px) 0;border-bottom:1px solid var(--line)}
.nk-srow:last-child{border-bottom:none}
.nk-srow__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,68px);align-items:center}
.nk-srow:nth-child(even) .nk-srow__media{order:2}
@media (max-width:900px){
  .nk-srow__grid{grid-template-columns:1fr;gap:30px}
  .nk-srow:nth-child(even) .nk-srow__media{order:0}
}
.nk-srow__media{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg)}
.nk-srow__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.nk-srow__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:12px;margin-bottom:18px;
  background:var(--leaf-100);color:var(--leaf-700);
  font-weight:700;font-size:15px;
}
.nk-srow h2{font-family:var(--f-disp);font-weight:600;font-size:clamp(25px,3.2vw,38px);line-height:1.14;color:var(--bark);letter-spacing:-.015em}
.nk-srow__lede{margin-top:16px;font-size:16px;color:var(--bark-2);line-height:1.75}
.nk-srow__list{margin-top:22px;display:grid;gap:12px}
.nk-srow__list li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--bark-2);line-height:1.65}
.nk-srow__list .nk-ico{width:19px;height:19px;color:var(--leaf-600);margin-top:3px}

/* placeholder media (no photo yet) */
.nk-ph{
  position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;
  aspect-ratio:4/3;border-radius:var(--r-xl);
  background:
    linear-gradient(135deg,var(--leaf-100),var(--cream-3));
  border:1.5px dashed var(--leaf-300);color:var(--leaf-700);text-align:center;padding:24px;
}
.nk-ph .nk-ico{width:38px;height:38px;opacity:.75}
.nk-ph span{font-size:14px;font-weight:600;letter-spacing:.02em}
.nk-ph small{font-size:12.5px;color:var(--bark-3);font-weight:500;max-width:30ch;line-height:1.55}

/* ---------- VALUES / FEATURE GRID ---------- */
.nk-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(30px,4vw,50px)}
@media (max-width:940px){.nk-vgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.nk-vgrid{grid-template-columns:1fr}}
.nk-vcard{padding:clamp(22px,2.4vw,30px);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:transform .3s var(--ease),box-shadow .3s}
.nk-vcard:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.nk-vcard__icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--leaf-100);color:var(--leaf-700);margin-bottom:17px}
.nk-vcard__icon .nk-ico{width:23px;height:23px}
.nk-vcard h3{font-family:var(--f-disp);font-weight:600;font-size:19px;color:var(--bark);line-height:1.28}
.nk-vcard p{margin-top:10px;font-size:14.5px;color:var(--bark-2);line-height:1.7}

/* ---------- TIMELINE (about) ---------- */
.nk-timeline{margin-top:clamp(30px,4vw,50px);display:grid;gap:0;position:relative}
.nk-tl{display:grid;grid-template-columns:110px 1fr;gap:clamp(18px,3vw,38px);padding:24px 0;border-top:1px solid var(--line)}
.nk-tl:first-child{border-top:none}
@media (max-width:620px){.nk-tl{grid-template-columns:1fr;gap:8px}}
.nk-tl__year{font-family:var(--f-disp);font-weight:600;font-size:22px;color:var(--leaf-600);line-height:1.2}
.nk-tl h3{font-size:17px;font-weight:600;color:var(--bark);margin-bottom:7px}
.nk-tl p{font-size:15px;color:var(--bark-2);line-height:1.7;max-width:66ch}

/* ---------- GALLERY ---------- */
.nk-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
@media (max-width:900px){.nk-gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.nk-gallery{grid-template-columns:1fr}}
.nk-gitem{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:var(--cream-3);box-shadow:var(--sh-sm);
  transition:transform .34s var(--ease),box-shadow .34s;
}
.nk-gitem:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.nk-gitem img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s var(--ease)}
.nk-gitem:hover img{transform:scale(1.045)}
.nk-gitem--tall{grid-row:span 2}
.nk-gitem--tall img,.nk-gitem--tall .nk-ph{aspect-ratio:4/5.4}
.nk-gitem__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:34px 18px 15px;
  background:linear-gradient(180deg,transparent,rgba(30,51,23,.86));
  color:#fff;font-size:14.5px;font-weight:600;letter-spacing:.01em;
}
.nk-gitem .nk-ph{border-radius:0;border:none;border-bottom:none}

.nk-gnote{
  margin-top:clamp(28px,3.5vw,44px);padding:22px 26px;
  background:var(--leaf-100);border:1px solid var(--leaf-200);border-radius:var(--r-lg);
  display:flex;gap:14px;align-items:flex-start;
}
.nk-gnote .nk-ico{width:21px;height:21px;color:var(--leaf-700);margin-top:2px}
.nk-gnote p{font-size:14.5px;color:var(--leaf-800);line-height:1.7}
.nk-gnote strong{font-weight:700}

/* ---------- CONTACT ---------- */
.nk-contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,4.5vw,64px);align-items:start}
@media (max-width:920px){.nk-contact{grid-template-columns:1fr;gap:38px}}

.nk-cinfo{display:flex;flex-direction:column;gap:22px}
.nk-cbox{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .25s,box-shadow .25s}
.nk-cbox:hover{border-color:var(--leaf-300);box-shadow:var(--sh-sm)}
.nk-cbox__icon{width:44px;height:44px;flex:0 0 auto;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--leaf-100);color:var(--leaf-700)}
.nk-cbox__icon .nk-ico{width:21px;height:21px}
.nk-cbox h3{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bark-3);margin-bottom:7px}
.nk-cbox p,.nk-cbox a{font-size:16px;color:var(--bark);line-height:1.6;font-weight:500}
.nk-cbox a:hover{color:var(--leaf-700)}
.nk-cbox small{display:block;margin-top:5px;font-size:13.5px;color:var(--bark-3);font-weight:400}

.nk-cform{padding:clamp(26px,3vw,38px);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-md)}
.nk-cform h2{font-family:var(--f-disp);font-weight:600;font-size:clamp(23px,2.8vw,30px);color:var(--bark);line-height:1.2;margin-bottom:9px}
.nk-cform__sub{font-size:15px;color:var(--bark-2);line-height:1.7;margin-bottom:26px}
.nk-cform .nk-btn{margin-top:22px;width:100%}

/* map */
.nk-map{margin-top:clamp(38px,5vw,64px);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-md);background:var(--cream-3)}
.nk-map iframe{width:100%;height:clamp(300px,42vw,440px);border:0;display:block}
.nk-map__ph{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;
  height:clamp(260px,34vw,380px);text-align:center;padding:30px;
  background:linear-gradient(135deg,var(--leaf-100),var(--cream-3));
  color:var(--leaf-800);
}
.nk-map__ph .nk-ico{width:40px;height:40px;opacity:.7}
.nk-map__ph strong{font-size:16px;font-weight:600}
.nk-map__ph small{font-size:13.5px;color:var(--bark-3);max-width:44ch;line-height:1.6}

/* ---------- FAQ ---------- */
.nk-faq{margin-top:clamp(30px,4vw,50px);display:grid;gap:12px;max-width:840px}
.nk-faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.nk-faq details[open]{border-color:var(--leaf-300);box-shadow:var(--sh-sm)}
.nk-faq summary{
  padding:19px 24px;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-size:16.5px;font-weight:600;color:var(--bark);line-height:1.45;
}
.nk-faq summary::-webkit-details-marker{display:none}
.nk-faq summary::after{
  content:"";flex:0 0 auto;width:11px;height:11px;
  border-right:2px solid var(--leaf-600);border-bottom:2px solid var(--leaf-600);
  transform:rotate(45deg);transition:transform .3s var(--ease);margin-right:4px;
}
.nk-faq details[open] summary::after{transform:rotate(-135deg)}
.nk-faq__body{padding:0 24px 21px;font-size:15px;color:var(--bark-2);line-height:1.75}

/* ---------- GENERIC ENTRY CONTENT / 404 ---------- */
.nk-entry{max-width:760px;font-size:16.5px;color:var(--bark-2);line-height:1.8}
.nk-entry > * + *{margin-top:1.15em}
.nk-entry h2{font-family:var(--f-disp);font-weight:600;font-size:clamp(23px,2.8vw,32px);color:var(--bark);line-height:1.22;margin-top:1.7em}
.nk-entry h3{font-family:var(--f-disp);font-weight:600;font-size:20px;color:var(--bark);margin-top:1.5em}
.nk-entry a{color:var(--leaf-700);text-decoration:underline;text-underline-offset:3px}
.nk-entry a:hover{color:var(--leaf-600)}
.nk-entry ul,.nk-entry ol{padding-left:1.3em}
.nk-entry ul li{list-style:disc;margin-top:.5em}
.nk-entry ol li{list-style:decimal;margin-top:.5em}
.nk-entry blockquote{border-left:3px solid var(--leaf-600);padding-left:20px;font-style:italic;color:var(--bark)}
.nk-entry img{border-radius:var(--r-md)}
.nk-entry code{background:var(--cream-3);padding:2px 6px;border-radius:4px;font-size:.9em}

.nk-404{text-align:center;padding:clamp(60px,10vw,120px) 0}
.nk-404__code{font-family:var(--f-disp);font-weight:600;font-size:clamp(70px,14vw,150px);line-height:1;color:var(--leaf-200);letter-spacing:-.03em}
.nk-404 h1{font-family:var(--f-disp);font-weight:600;font-size:clamp(25px,3.4vw,38px);color:var(--bark);margin-top:8px}
.nk-404 p{margin:16px auto 30px;max-width:48ch;color:var(--bark-2);font-size:16px;line-height:1.7}

/* ---------- POST LISTING (blog, archive, category, search) ---------- */
.nk-postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px)}
@media (max-width:940px){.nk-postgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.nk-postgrid{grid-template-columns:1fr}}

.nk-postcard{
  display:flex;flex-direction:column;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform .32s var(--ease),box-shadow .32s,border-color .3s;
}
.nk-postcard:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--leaf-300)}
.nk-postcard__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--leaf-100)}
.nk-postcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.nk-postcard:hover .nk-postcard__media img{transform:scale(1.05)}
.nk-postcard__ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--leaf-400)}
.nk-postcard__ph .nk-ico{width:46px;height:46px}
.nk-postcard__body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2.2vw,26px)}
.nk-postcard__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--bark-3)}
.nk-postcard__cat{
  display:inline-block;padding:4px 11px;border-radius:999px;
  background:var(--leaf-100);color:var(--leaf-700);
  font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
}
a.nk-postcard__cat:hover{background:var(--leaf-600);color:#fff}
.nk-postcard__title{font-family:var(--f-disp);font-weight:600;font-size:20px;line-height:1.28;margin-top:13px;color:var(--bark);letter-spacing:-.01em}
.nk-postcard__title a{color:inherit}
.nk-postcard__title a:hover{color:var(--leaf-700)}
.nk-postcard__excerpt{margin-top:10px;font-size:14.5px;color:var(--bark-2);line-height:1.7;flex:1}
.nk-postcard .nk-textlink{margin-top:18px;align-self:flex-start}

/* ---------- PAGINATION ---------- */
.nk-pagination{margin-top:clamp(34px,4vw,52px)}
.nk-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.nk-pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nk-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 13px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:#fff;color:var(--bark-2);font-size:14.5px;font-weight:600;
  transition:background .25s,color .25s,border-color .25s;
}
.nk-pagination .page-numbers:hover{border-color:var(--leaf-400);color:var(--leaf-700)}
.nk-pagination .page-numbers.current{background:var(--leaf-600);border-color:var(--leaf-600);color:#fff}
.nk-pagination .page-numbers.dots{border-color:transparent;background:transparent}

/* ---------- EMPTY STATE ---------- */
.nk-empty{
  text-align:center;padding:clamp(46px,7vw,84px) clamp(20px,4vw,44px);
  background:#fff;border:1px dashed var(--line);border-radius:var(--r-lg);
}
.nk-empty__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:62px;height:62px;border-radius:50%;
  background:var(--leaf-100);color:var(--leaf-600);
}
.nk-empty__icon .nk-ico{width:30px;height:30px}
.nk-empty h2{font-family:var(--f-disp);font-weight:600;font-size:clamp(21px,2.6vw,27px);color:var(--bark);margin-top:18px}
.nk-empty p{margin:12px auto 26px;max-width:52ch;font-size:15.5px;color:var(--bark-2);line-height:1.72}

/* ---------- SINGLE POST ---------- */
.nk-postmeta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--bark-3);margin-bottom:26px}
.nk-postfigure{border-radius:var(--r-lg);overflow:hidden;margin-bottom:clamp(28px,3.4vw,44px);box-shadow:var(--sh-md)}
.nk-postfigure img{display:block;width:100%;height:auto}
.nk-pagelinks{margin-top:26px;font-size:14.5px;color:var(--bark-2)}
.nk-pagelinks a{color:var(--leaf-700);text-decoration:underline;text-underline-offset:3px}

.nk-share{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:clamp(32px,4vw,48px);padding-top:26px;border-top:1px solid var(--line);
}
.nk-share__label{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bark-3);margin-right:4px}

/* ---------- 404 EXTRA ---------- */
.nk-404__links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:30px}
.nk-404__links a{
  padding:9px 17px;border:1px solid var(--line);border-radius:999px;
  background:#fff;font-size:14px;font-weight:500;color:var(--bark-2);
  transition:border-color .25s,color .25s,background .25s;
}
.nk-404__links a:hover{border-color:var(--leaf-400);color:var(--leaf-700);background:var(--leaf-100)}

/* ---------- SEARCH FORM ---------- */
.nk-searchform{display:flex;gap:9px;flex-wrap:wrap;max-width:520px}
.nk-searchform__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nk-searchform__field{
  flex:1;min-width:200px;height:48px;padding:0 16px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:#fff;color:var(--bark);font:inherit;font-size:15px;
  transition:border-color .25s,box-shadow .25s;
}
.nk-searchform__field:focus{outline:none;border-color:var(--leaf-500);box-shadow:0 0 0 3px var(--leaf-100)}

/* ---------- COMMENTS ---------- */
.nk-comments{margin-top:clamp(38px,5vw,60px);padding-top:clamp(30px,4vw,44px);border-top:1px solid var(--line)}
.nk-comments__title{font-family:var(--f-disp);font-weight:600;font-size:clamp(21px,2.6vw,27px);color:var(--bark)}
.nk-comments ol{list-style:none;padding:0;margin:26px 0 0}
.nk-comments ol ol{margin-left:clamp(16px,3vw,38px)}
.nk-comments .comment-body{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:20px 22px;margin-bottom:14px;font-size:15px;color:var(--bark-2);line-height:1.72;
}
.nk-comments .comment-author{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--bark)}
.nk-comments .comment-author img{border-radius:50%}
.nk-comments .comment-metadata{font-size:12.5px;color:var(--bark-3);margin:4px 0 10px}
.nk-comments .comment-metadata a,.nk-comments .reply a{color:var(--leaf-700)}
.nk-comments .comment-respond{margin-top:30px}
.nk-comments .comment-reply-title{font-family:var(--f-disp);font-weight:600;font-size:21px;color:var(--bark);margin-bottom:14px}
.nk-comments .comment-form p{margin-bottom:14px}
.nk-comments .comment-form label{display:block;font-size:13.5px;font-weight:600;color:var(--bark);margin-bottom:6px}
.nk-comments .comment-form input[type=text],
.nk-comments .comment-form input[type=email],
.nk-comments .comment-form input[type=url],
.nk-comments .comment-form textarea{
  width:100%;padding:12px 15px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:#fff;color:var(--bark);font:inherit;font-size:15px;
}
.nk-comments .comment-form input:focus,.nk-comments .comment-form textarea:focus{outline:none;border-color:var(--leaf-500);box-shadow:0 0 0 3px var(--leaf-100)}
.nk-comments .comment-form .submit{
  display:inline-flex;align-items:center;height:48px;padding:0 26px;
  border:0;border-radius:var(--r-sm);cursor:pointer;
  background:var(--leaf-600);color:#fff;font:inherit;font-size:15px;font-weight:600;
  transition:background .25s;
}
.nk-comments .comment-form .submit:hover{background:var(--leaf-700)}
.nk-comments .no-comments{font-size:15px;color:var(--bark-3)}
