/* Internal-page compositions use the main theme's semantic colour tokens. */
.nep .breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;line-height:1.6;margin-bottom:28px}
.nep .breadcrumbs a{text-decoration:none;border-bottom:1px solid transparent}
.nep .breadcrumbs a:hover{border-color:currentColor}
.nep .page-heading{padding-top:42px}
.nep .inner-page .page-content>p:first-child{font-size:18px;line-height:1.8;max-width:58ch;margin-top:0}
.nep .page-banner{margin:36px 0 0;overflow:hidden}
.nep .page-banner img{width:100%;height:clamp(240px,30vw,410px);object-fit:cover;object-position:center 58%}
.nep .story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start;padding:48px 0 80px}
.nep .story-layout .page-content{padding:0}
.nep .story-image{margin:0}
.nep .story-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.nep .story-image figcaption{font-size:12px;margin-top:12px;opacity:.8}
.nep .story-layout h2{font-size:clamp(26px,3vw,40px);line-height:1.3;margin:0 0 20px}
.nep .story-layout h2:not(:first-child){margin-top:40px}
.nep .story-layout ol{padding-left:23px}
.nep .story-layout li{padding:0 0 18px 10px;line-height:1.75}
.nep .contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(36px,7vw,112px)}
.nep .contact-layout .page-content{padding-top:0}
.nep .contact-aside img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:28px}
.nep .contact-aside h2{font-size:clamp(25px,2.8vw,36px);line-height:1.35;margin:0 0 16px}
.nep .contact-aside h3{font-size:15px;letter-spacing:0;margin-top:28px}
.nep .contact-aside p,.nep .contact-aside li{font-size:14px;line-height:1.8}
.nep .contact-aside ul{padding-left:18px;margin:12px 0 0}
.nep .contact-aside li+li{margin-top:6px}
.nep .inquiry textarea{resize:vertical;min-height:140px}
.nep .inquiry input,.nep .inquiry select,.nep .inquiry textarea{min-width:0}
.nep .notice h2{font-size:24px;line-height:1.4;margin:0 0 10px}
.nep .notice p{margin:0}
.nep .project-heading{padding-bottom:34px}
.nep .project-heading>p{max-width:64ch}
.nep .project-heading .project-label{font-size:12px;line-height:1.5;margin-top:18px}
.nep .project-hero{width:100%;height:clamp(260px,53vw,720px);object-fit:cover;display:block}
.nep .project-copy{max-width:880px;margin:auto;padding-top:60px}
.nep .project-copy h2{font-size:clamp(26px,3vw,38px);margin-top:36px;line-height:1.35}
.nep .project-copy .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px 0 0}
.nep .project-copy .gallery-item{width:auto;margin:0;max-width:none}
.nep .project-copy .gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.nep .project-contact{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:36px 0 64px}
.nep .project-contact h2{font-size:clamp(25px,3vw,38px);line-height:1.35;max-width:20ch}
.nep .article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px;padding:40px 0 80px}
.nep .article-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}
.nep .article-grid h2{font-size:clamp(24px,3vw,36px);line-height:1.35;margin:0}
.nep .article-grid p{font-size:14px;line-height:1.75;max-width:60ch}
.nep .missing-page{max-width:950px;padding-top:100px;padding-bottom:120px}
.nep .missing-page h1{font-size:clamp(36px,5vw,64px);max-width:18ch;line-height:1.2;margin:16px 0 24px}
.nep .missing-page>p{max-width:58ch}
.nep .missing-page .cta{margin-top:24px}
.nep .projects-content{padding-bottom:24px}
.nep .projects-note{max-width:64ch;margin-top:36px;padding-top:24px;border-top:1px solid var(--nep-line);font-size:12px;line-height:1.8}
.nep .projects-steps{padding-block:8px 96px}
.nep .projects-steps .service-list{margin-top:0}
@media(max-width:767px){
 .nep .page-heading{padding-top:28px}
 .nep .breadcrumbs{margin-bottom:22px;font-size:11px;gap:9px}
 .nep .inner-page .page-content>p:first-child{font-size:16px}
 .nep .story-layout,.nep .contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .nep .story-layout{padding:28px 0 48px}
 .nep .story-image img{aspect-ratio:4/3}
 .nep .contact-aside{padding-top:8px}
 .nep .project-copy{padding-top:28px}
 .nep .project-contact{flex-direction:column;align-items:flex-start;padding-bottom:48px}
 .nep .article-grid{grid-template-columns:minmax(0,1fr);gap:36px;padding-bottom:48px}
 .nep .missing-page{padding-top:70px;padding-bottom:80px}
 .nep .projects-note{margin-top:28px;padding-top:20px}
 .nep .projects-steps{padding-bottom:64px}
}
@media(max-width:479px){.nep .project-copy .gallery{grid-template-columns:minmax(0,1fr)}}

/* Readable measure for long-form page content. */
.nep .page-content:not(.project-copy){max-width:760px}
.nep .page-content:not(.project-copy) h2{font-size:clamp(24px,2.6vw,30px);line-height:1.3;margin:1.9em 0 .6em}
.nep .page-content:not(.project-copy) h3{font-size:clamp(17px,1.8vw,20px);margin:1.7em 0 .55em}
.nep .page-content:not(.project-copy) h4{font-size:15px;letter-spacing:.02em;margin:1.5em 0 .45em}
.nep .story-layout .page-content h2{font-size:clamp(22px,2.4vw,27px)}
.nep .inner-page>.page-content{padding-bottom:56px}
@media(max-width:767px){.nep .inner-page>.page-content{padding-bottom:44px}}


/* Shared reading and product detail layer for Nếp Studio. */
body.nep[data-astryx-theme="stone"] {
  --nep-detail-copy-width: 68ch;
  --nep-detail-radius: var(--radius-container, 14px);
  --nep-detail-ink: var(--color-text-primary, var(--nep-ink, #272c26));
  --nep-detail-muted: var(--color-text-secondary, var(--nep-muted, #62685f));
  --nep-detail-line: var(--color-border, var(--nep-line, #d6d9cf));
  --nep-detail-accent: var(--color-accent, var(--nep-accent, #475445));
}

/* Use one calm title scale and breadcrumb treatment on detail pages. */
body.nep[data-astryx-theme="stone"] :is(.page-heading h1, .nep-article__header h1, .nep-pdp-editorial .product_title, .product-copy h1) {
  max-width: 22ch;
  color: var(--nep-detail-ink);
  font-family: var(--font-family-body, var(--nep-font));
  font-size: clamp(2.15rem, 4.6vw, 3.7rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.1;
  text-wrap: balance;
}

body.nep[data-astryx-theme="stone"] :is(.page-heading .breadcrumbs, .nep-article__header .breadcrumbs) {
  gap: .7rem;
  color: var(--nep-detail-muted);
  font-size: .75rem;
  letter-spacing: .025em;
}

body.nep[data-astryx-theme="stone"] .breadcrumbs [aria-current="page"] {
  color: var(--nep-detail-ink);
}

body.nep[data-astryx-theme="stone"] .breadcrumbs a {
  color: inherit;
  text-underline-offset: .2em;
}

body.nep[data-astryx-theme="stone"] .breadcrumbs a:hover {
  color: var(--nep-detail-accent);
}

/* Keep long copy on a centered, comfortable measure across pages and products. */
body.nep[data-astryx-theme="stone"] :is(
  .page-content:not(.project-copy),
  .nep-article__body,
  .nep-product-detail__prose,
  .product-copy
) {
  width: min(100%, var(--nep-detail-copy-width));
  max-width: var(--nep-detail-copy-width);
  margin-inline: auto;
  color: var(--nep-detail-ink);
  font-family: var(--font-family-body, var(--nep-font));
  font-size: clamp(1rem, 1.15vw, 1.1rem);
  line-height: 1.8;
  text-align: start;
  overflow-wrap: break-word;
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) > :first-child {
  margin-top: 0;
}

body.nep[data-astryx-theme="stone"] .product-copy.page-content {
  padding: 0;
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) > :last-child {
  margin-bottom: 0;
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) :is(h2, h3, h4) {
  color: var(--nep-detail-ink);
  font-family: var(--font-family-body, var(--nep-font));
  letter-spacing: -.03em;
  line-height: 1.28;
  text-wrap: balance;
  scroll-margin-top: 6rem;
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) h2 {
  margin-block: 1.75em .55em;
  font-size: clamp(1.45rem, 2.5vw, 1.9rem);
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) h3 {
  margin-block: 1.5em .5em;
  font-size: clamp(1.15rem, 1.7vw, 1.35rem);
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) h4 {
  margin-block: 1.35em .45em;
  font-size: 1rem;
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) :is(p, ul, ol, blockquote, figure, table) {
  margin-block-end: 1.05em;
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) :is(a, .wp-block-button__link) {
  text-underline-offset: .2em;
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) blockquote {
  margin-inline: 0;
  padding: .25rem 0 .25rem 1.2rem;
  border-left: 2px solid var(--nep-detail-accent);
  color: var(--nep-detail-muted);
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) :is(img, video, iframe) {
  max-width: 100%;
  border-radius: var(--nep-detail-radius);
}

body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) :is(table, pre) {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

/* Center each editorial header and article reading rail inside the shared page grid. */
body.nep.single-post[data-astryx-theme="stone"] .nep-article__header {
  margin-inline: auto;
}

body.nep.single-post[data-astryx-theme="stone"] .nep-article__layout {
  grid-template-columns: minmax(0, 44rem) 15.5rem;
  justify-content: center;
}

body.nep[data-astryx-theme="stone"] :is(.inner-page > .page-heading, .project-heading) {
  width: min(100%, 78rem);
  margin-inline: auto;
}

body.nep[data-astryx-theme="stone"] :is(.page-banner, .story-image, .contact-aside, .nep-article__media) {
  border-radius: var(--nep-detail-radius);
  overflow: hidden;
}

body.nep[data-astryx-theme="stone"] :is(.nep-article__author, .nep-article__cta, .nep-article__aside-cta, .nep-related-products, .nep-product-detail__description, .nep-product-detail__attributes, .nep-pdp-closing) {
  border-radius: var(--nep-detail-radius);
}

body.nep[data-astryx-theme="stone"] :is(.nep-article__toc-mobile, .nep-toc, .nep-product-detail__attributes, .nep-pdp-disclaimer) {
  border-color: var(--nep-detail-line);
}

@media (max-width: 1120px) {
  body.nep.single-post[data-astryx-theme="stone"] .nep-article__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.nep.single-post[data-astryx-theme="stone"] .nep-article__main {
    width: min(100%, 46rem);
    margin-inline: auto;
  }

  body.nep.single-post[data-astryx-theme="stone"] .nep-article__aside {
    position: static;
    width: min(100%, 46rem);
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  body.nep[data-astryx-theme="stone"] :is(.page-heading h1, .nep-article__header h1, .nep-pdp-editorial .product_title, .product-copy h1) {
    max-width: 19ch;
    font-size: clamp(2rem, 8.8vw, 2.75rem);
    line-height: 1.13;
  }

  body.nep[data-astryx-theme="stone"] :is(.page-content:not(.project-copy), .nep-article__body, .nep-product-detail__prose, .product-copy) {
    width: 100%;
    font-size: 1rem;
    line-height: 1.76;
  }

  body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) h2 {
    margin-top: 1.6em;
    font-size: clamp(1.35rem, 6vw, 1.65rem);
  }

  body.nep[data-astryx-theme="stone"] :is(.page-content, .nep-article__body, .nep-product-detail__prose) :is(img, video, iframe) {
    border-radius: 10px;
  }

  body.nep.single-post[data-astryx-theme="stone"] .nep-article__media img {
    aspect-ratio: 16 / 10;
  }
}


/* Custom Nếp product details share the editorial rhythm used by pages and articles. */
body.nep[data-astryx-theme="stone"] :is(.page-heading .breadcrumbs, .nep-article__header .breadcrumbs, .product-detail .breadcrumbs) {
  gap: .7rem;
  color: var(--nep-detail-muted);
  font-size: .75rem;
}

body.nep[data-astryx-theme="stone"] .product-detail {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: start;
  gap: clamp(1.75rem, 4vw, 4rem);
  width: min(100%, 78rem);
  margin-inline: auto;
}

body.nep[data-astryx-theme="stone"] .product-detail .card-photo {
  margin: 0;
  min-width: 0;
  aspect-ratio: 4 / 3;
  border-radius: var(--nep-detail-radius);
  overflow: hidden;
  background: var(--color-background-muted, var(--nep-surface));
}

body.nep[data-astryx-theme="stone"] .product-detail .card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.nep[data-astryx-theme="stone"] .product-detail .card-photo > span {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 16rem;
  place-items: center;
  color: var(--nep-detail-muted);
  font-size: .9rem;
}

body.nep[data-astryx-theme="stone"] .product-detail .product-copy.page-content {
  width: min(100%, 54ch);
  max-width: 54ch;
  margin: 0;
}

body.nep[data-astryx-theme="stone"] .product-detail .product-copy .breadcrumbs {
  margin-bottom: 1.5rem;
  color: var(--nep-detail-muted);
  font-size: .75rem;
}

body.nep[data-astryx-theme="stone"] .product-detail .product-copy .kicker {
  margin-top: 0;
}

body.nep[data-astryx-theme="stone"] .product-detail .product-copy .cta {
  margin-top: 1.5rem;
}

@media (max-width: 767px) {
  body.nep[data-astryx-theme="stone"] .product-detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  body.nep[data-astryx-theme="stone"] .product-detail .product-copy.page-content {
    width: 100%;
    max-width: none;
  }
}