/* WiraNusa logo and palette applied to the original editorial theme. */
:root {
  --wn-forest: #205476;
  --wn-forest-dark: #0e1a23;
  --wn-cocoa: #2c3444;
  --wn-cream: #faf7f1;
  --wn-paper: #ffffff;
  --wn-copper: #f26c21;
  --wn-ink: #0e1a23;
  --wn-line: rgba(32, 84, 118, 0.18);
}

::selection { background: var(--wn-forest); color: #fff; }
body.wiranusa-site { font-size: 1rem; line-height: 1.65; }
.wn-site-header { background: rgba(255, 255, 255, 0.98); }
.wn-brand { display: block; min-width: 178px; }
.wn-brand img { display: block; height: auto; width: 178px; }
.wn-site-header .wn-brand,
.wn-site-header .wn-brand img { animation: none !important; }
.wn-site-header {
  position: sticky;
  top: 0;
  transition: box-shadow .22s ease, transform .22s ease;
  will-change: auto;
  z-index: 1000;
}
.wn-header-inner { transition: min-height .22s ease; }
.wn-site-header .wn-brand img { transition: width .22s ease !important; }
.wn-site-header.is-compact { box-shadow: 0 10px 26px rgba(14, 26, 35, .11); }
.wn-site-header.is-compact .wn-header-inner { min-height: 64px; }
.wn-site-header.is-compact .wn-brand img { width: 150px; }
.wn-site-header.is-hidden { transform: translateY(-110%); }
.admin-bar .wn-site-header { top: 32px; }
html { scroll-padding-top: 96px; }
:where(main[id], footer[id], main [id], footer [id]) { scroll-margin-top: 96px; }
.admin-bar :where(main[id], footer[id], main [id], footer [id]) { scroll-margin-top: 128px; }
.admin-bar .wn-skip-link { top: calc(32px + 1rem); }
.wn-nav-cta > .wp-block-navigation-item__content,
.wp-element-button { background: var(--wn-copper); border-color: var(--wn-copper); }
.wp-element-button {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1.2;
  max-width: 100%;
  padding: .9rem 1.3rem;
  white-space: nowrap;
}
.wp-element-button:hover { background: #d95b17; }

.wn-hero {
  background-color: var(--wn-forest-dark);
  background-image: linear-gradient(90deg, rgba(14, 26, 35, 0.99) 0%, rgba(32, 84, 118, 0.92) 42%, rgba(32, 84, 118, 0.22) 76%, rgba(14, 26, 35, 0.08) 100%), var(--wn-hero-image);
}
.wn-hero .wn-eyebrow { color: #ff9b61; }
.wn-hero-note { border-left-color: var(--wn-copper); }
.wn-trust-strip,
.has-cream-background-color { background: #fff !important; }
.has-forest-background-color { background: var(--wn-forest) !important; }
.has-forest-dark-background-color { background: var(--wn-forest-dark) !important; }
.has-cocoa-background-color { background: var(--wn-cocoa) !important; }
.has-copper-background-color { background: var(--wn-copper) !important; }
.wn-quote-panel,
.wn-final-cta { background: var(--wn-forest); }
.wn-main .wn-services-section.has-forest-background-color,
.wn-main > .wn-section.has-forest-dark-background-color { background: #fff !important; color: var(--wn-ink) !important; }
.wn-main .wn-services-section h2,
.wn-main .wn-services-section h3,
.wn-main > .wn-section.has-forest-dark-background-color h2,
.wn-main > .wn-section.has-forest-dark-background-color h3 { color: var(--wn-forest) !important; }
.wn-main .wn-services-section .wn-eyebrow,
.wn-main > .wn-section.has-forest-dark-background-color .wn-eyebrow { color: var(--wn-copper); }
.wn-main .wn-services-section .wn-service-list,
.wn-main .wn-services-section .wn-service-list article { border-color: var(--wn-line); }
.wn-main .wn-services-section .wn-service-list article > span { color: var(--wn-copper); }
.wn-main .wn-services-section .wn-service-list article > a { color: var(--wn-forest); }
.wn-main .wn-services-section .wn-service-list p { color: var(--wn-ink); }
.wn-main > .wn-section.has-forest-dark-background-color .wn-commitments .wp-block-column { border-color: var(--wn-line); }
.wn-final-cta { background: #e3eaf0; color: var(--wn-ink); }
.wn-final-cta h2 { color: var(--wn-forest); }
.wn-story-mark {
  background-color: #e3eaf0;
  background-image: url("../images/wiranusa-mark.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 48%;
  color: transparent;
  font-size: 0;
}
.wn-story-mark > p {
  margin: 0;
}
.wn-principle-number,
.wn-timeline-number {
  margin: 0;
}
.wn-site-footer {
  background: var(--wn-forest-dark) !important;
  border-top: 8px solid var(--wn-copper);
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  width: 100vw;
}
.wn-footer-navigation,
.wn-footer-navigation .wp-block-navigation__container {
  align-items: flex-start;
  gap: .4rem;
  width: 100%;
}
.wn-footer-navigation .wp-block-navigation-item,
.wn-footer-navigation .wp-block-navigation-item__content { width: 100%; }
.wn-footer-navigation .wp-block-navigation-item__content { padding: 0; }
.wn-footer-conversation-nav .wn-footer-cta > .wp-block-navigation-item__content {
  background: var(--wn-copper);
  color: #fff !important;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  margin-top: .5rem;
  padding: .85rem 1.2rem;
  width: auto;
}
.wn-footer-legal-nav .wp-block-navigation__container { flex-direction: row; gap: .55rem; }
.wn-footer-legal-nav .wp-block-navigation-item + .wp-block-navigation-item::before {
  content: '·';
  margin-right: .55rem;
}
.wp-block-button.is-style-outline .wp-element-button { color: var(--wn-forest); }
.wp-block-button.is-style-outline .wp-element-button:hover { background: var(--wn-forest); border-color: var(--wn-forest); }

@media (max-width: 1100px) {
  .wn-brand { min-width: 150px; }
  .wn-brand img { width: 150px; }
}

@media (max-width: 600px) {
  .wn-brand img { width: 142px; }
  .wn-hero {
    background-image: linear-gradient(90deg, rgba(14, 26, 35, 0.97), rgba(32, 84, 118, 0.78)), var(--wn-hero-image);
  }
}

/* Editable archive sources and Theme Text chrome. */
.wn-archive-content > .wp-block-group,
.wn-services-archive-content > .wp-block-group { margin-block: 0; }
.wn-resource-archive-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wn-resource-archive-grid .wn-resource-card { height: 100%; }
.wn-category-cta,.wn-post-navigation { width:min(100% - 2 * var(--wn-gutter,24px),var(--wp--style--global--wide-size)); margin-inline:auto; }
.wn-post-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-block:3rem; }
.wn-post-navigation a { border-top:2px solid var(--wp--preset--color--orange); padding:1rem 0; text-decoration:none; }
.wn-post-navigation a[rel="next"] { text-align:right; }
.wn-search-page,.wn-not-found-content { width:min(100%,var(--wp--style--global--wide-size)); margin-inline:auto; }
.wn-search-form,.wn-not-found-content form { display:flex; align-items:end; gap:.75rem; max-width:44rem; }
.wn-search-form label,.wn-not-found-content form label { flex:1; }
.wn-footer-heading { color:#fff; font-family:var(--wp--preset--font-family--source-serif-4); font-size:clamp(1.15rem,1.6vw,1.5rem); margin:0 0 .75rem; }
@media (max-width:900px) { .wn-resource-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .wn-resource-archive-grid,.wn-post-navigation { grid-template-columns:1fr; } .wn-post-navigation a[rel="next"] { text-align:left; } .wn-search-form,.wn-not-found-content form { align-items:stretch; flex-direction:column; } }

@media (max-width: 782px) {
  .admin-bar .wn-site-header { top: 46px; }
  .admin-bar :where(main[id], footer[id], main [id], footer [id]) { scroll-margin-top: 142px; }
  .admin-bar .wn-skip-link { top: calc(46px + 1rem); }
  .wn-site-header.is-compact .wn-brand img { width: 126px; }
}

/* Optional Trust Bar pattern: inserted manually and populated by the owner. */
.wn-trust-bar-pattern {
  border-block: 1px solid rgba(32, 84, 118, 0.18);
  padding-block: clamp(2rem, 4vw, 3.5rem);
}
.wn-trust-bar-heading { align-items: end; gap: 1.5rem; margin-bottom: 1.5rem; }
.wn-trust-bar-heading h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); margin: 0.25rem 0 0; }
.wn-trust-logo-grid { gap: 0.75rem; }
.wn-trust-logo-slot {
  align-items: center;
  background: #faf7f1;
  border: 1px dashed rgba(32, 84, 118, 0.35);
  display: flex;
  justify-content: center;
  min-height: 110px;
  padding: 1rem;
  text-align: center;
}
.wn-trust-logo-slot p { color: #48616f; font-size: 0.78rem; margin: 0; }
.wn-trust-logo-slot img { max-height: 72px; object-fit: contain; width: auto; }
.wn-quote-panel,
.wn-story-mark { font-family: var(--wp--preset--font-family--serif); }

/* Homepage viewport rhythm and gentle, opt-in reveal motion. */
body.home .wn-hero.wn-home-section {
  align-items: center;
  background-position: 58% center;
  display: flex;
  height: auto;
  max-height: none;
  min-height: clamp(560px, 76vh, 720px);
  padding-block: clamp(2rem, 5vh, 3rem);
}
body.home .wn-hero .wn-hero-inner { max-width: 760px; width: 100%; }
body.home .wn-hero.wn-home-section h1 { font-size: clamp(2.7rem, 4.5vw, 4.35rem) !important; }
body.home .wn-hero .has-large-font-size { font-size: clamp(1.05rem, 1.6vw, 1.25rem) !important; line-height: 1.5; }
body.home .wn-hero .wp-block-buttons { gap: .75rem; margin-top: clamp(1rem, 2.5vh, 1.35rem); }
body.home .wn-hero .wn-hero-note { margin-top: 1rem; }
body.home .wn-main > .wn-section,
body.home .wn-main > .wn-final-cta { min-height: 0; padding-block: clamp(4rem, 8vw, 7rem); }
body.home .wn-main > .wn-section.has-cream-background-color,
body.home .wn-main > .wn-section.wn-services-section,
body.home .wn-main > .wn-section.has-forest-dark-background-color,
body.home .wn-main > .wn-final-cta { background: #f5f8fa !important; }

body.home .wn-main > .wn-section.alignwide {
  margin-inline: auto !important;
  max-width: var(--wn-wide);
  width: calc(100% - clamp(2rem, 6vw, 3rem));
}
body.home .wn-main > .wn-section.alignfull,
body.home .wn-main > .wn-final-cta.alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none;
  padding-inline: clamp(1rem, 3vw, 1.5rem);
  width: 100vw;
}
body.home .wn-main > .wn-section > .wn-section-heading,
body.home .wn-main > .wn-section > .wn-card-grid,
body.home .wn-main > .wn-section > .wn-carousel,
body.home .wn-main > .wn-section > .wn-service-list,
body.home .wn-main > .wn-section > .wn-process-grid,
body.home .wn-main > .wn-section > .wn-export-map,
body.home .wn-main > .wn-section > .wn-editorial-columns,
body.home .wn-main > .wn-section > .wn-commitments {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: 100% !important;
}

/* Visible by default; JavaScript may opt supported, off-screen sections into motion. */
.wn-reveal { opacity: 1; transform: none; }
html.wn-reveal-active .wn-reveal.wn-reveal-pending { opacity: 0; transform: translateY(16px); }
html.wn-reveal-active .wn-reveal.is-visible { opacity: 1; transform: none; transition: opacity .45s ease, transform .45s ease; }

/* Compact closing element. */
.wn-site-footer { padding: clamp(1.35rem, 2.6vw, 2.1rem) 1.5rem .65rem; }
.wn-site-footer h2 { font-size: clamp(1.55rem, 2.5vw, 2.35rem) !important; margin-bottom: .7rem; }
.wn-site-footer h3 { font-size: 1rem !important; margin-bottom: .6rem; }
.wn-footer-grid {
  align-items: start;
  display: grid !important;
  gap: clamp(1rem, 2vw, 2rem);
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)) !important;
}
.wn-site-footer p { font-size: .8rem; margin-block: .35rem; }
.wn-site-footer li { font-size: .78rem; margin-block: .22rem; }
.wn-footer-legal { align-items: center; flex-wrap: nowrap !important; margin-top: clamp(.75rem, 1.4vw, 1.25rem) !important; min-height: 32px; padding-top: .45rem; }

@media (max-width: 600px) {
  body.home .wn-hero.wn-home-section { background-position: 64% center; min-height: 60svh; padding-block: clamp(2.75rem, 7vh, 4rem); }
  body.home .wn-hero.wn-home-section h1 { font-size: clamp(2.3rem, 9.5vw, 3rem) !important; }
  body.home .wn-hero .has-large-font-size { font-size: clamp(1rem, 4.5vw, 1.1rem) !important; line-height: 1.5; }
  body.home .wn-main > .wn-section,
  body.home .wn-main > .wn-final-cta { padding-block: clamp(3.5rem, 12vw, 5rem); }
  .wn-footer-legal { align-items: flex-start !important; display: flex !important; flex-direction: column; flex-wrap: wrap !important; gap: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
	.wn-site-header,
	.wn-header-inner,
	.wn-site-header .wn-brand img { transition: none !important; }
	.wn-site-header.is-hidden { transform: none !important; }
  html.wn-reveal-active .wn-reveal,
  html.wn-reveal-active .wn-reveal.wn-reveal-pending,
  html.wn-reveal-active .wn-reveal.is-visible { opacity: 1; transform: none; transition: none; }
}

/* Density pass: keep every homepage block purposeful and visually connected. */
body.home .wn-main { margin-bottom: 0; }
body.home .wn-main > * { margin-block: 0 !important; }
body.home .wn-hero.wn-home-section h1 { font-size: clamp(2.7rem, 4.2vw, 4.1rem) !important; line-height: 1.05; max-width: 800px; text-wrap: balance; }
body.home .wn-main > .wn-section,
body.home .wn-main > .wn-final-cta { padding-block: clamp(3rem, 6vw, 5rem); }
body.home .wn-section-heading { margin: 0 0 2rem !important; max-width: 100% !important; }
body.home .wn-section-heading h2,
body.home .wn-section > h2,
body.home .wn-split h2,
body.home .wn-story h2 { font-size: clamp(2rem, 3.5vw, 3rem) !important; line-height: 1.12; margin: .15rem 0 .65rem; text-wrap: balance; }
body.home .wn-split h2,
body.home .wn-density-split h2 { font-size: clamp(2rem, 3vw, 2.6rem) !important; }
body.home .wn-section-heading > p:last-child { margin-bottom: 0; max-width: 54rem; }
body.home .wn-eyebrow { font-size: .68rem; margin-bottom: .35rem; }
body.home .wn-section p { margin-top: .55rem; }

body.home .wn-featured-section { padding-block: clamp(2.5rem, 4.5vw, 4rem); }
body.home .wn-featured-section .wn-section-heading { margin-bottom: 1.4rem !important; }
body.home .wn-featured-section .wn-section-heading h2 { font-size: clamp(2rem, 3vw, 2.5rem) !important; }
body.home .wn-featured-section .wn-product-grid { gap: clamp(.85rem, 1.4vw, 1.15rem); }
body.home .wn-featured-section .wn-card-body { padding: .9rem 1rem 1rem; }
body.home .wn-featured-section .wn-product-card h3 { margin: .25rem 0 .4rem; }
body.home .wn-featured-section .wn-card-description { -webkit-line-clamp: 3; }

body.home .wn-density-split {
  align-items: start;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr);
  margin-inline: auto !important;
  max-width: var(--wn-wide) !important;
  width: 100% !important;
}
body.home .wn-density-split > .wn-section-heading { margin-bottom: 0 !important; }
body.home .wn-process-split { grid-template-columns: minmax(0, 1fr); }
body.home .wn-services-section .wn-service-list {
  column-gap: clamp(1.5rem, 3vw, 3rem);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.home .wn-process-stack { margin: 0; }
body.home .wn-process-grid { gap: 0; }
body.home .wn-process-grid + .wn-process-grid { margin-top: 0 !important; }
body.home .wn-process-grid .wp-block-column { padding: 1rem 1.1rem; }
body.home .wn-process-grid p { font-size: .9rem; line-height: 1.5; margin-bottom: 0; }
body.home .wn-product-card .wn-card-body > p:not(.wn-kicker),
body.home .wn-category-grid .wn-card > p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.home .wn-story {
  align-items: center;
  gap: clamp(2rem, 4vw, 3.5rem);
  grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr) !important;
}
body.home .wn-story-mark { justify-self: center; max-width: 300px; }

body.home .wn-final-cta { padding-block: clamp(1.15rem, 1.8vw, 1.65rem); }
body.home .wn-final-cta h2 { font-size: clamp(2rem, 3.5vw, 3rem) !important; margin-bottom: .6rem; }
body.home .wn-final-cta .wp-block-buttons { display: flex !important; justify-content: center !important; margin-top: 1rem; width: 100%; }
.wn-main + .wn-site-footer,
.wn-site-footer { margin-block-start: 0 !important; }
body.home .wp-site-blocks > .wn-main,
body.home .wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0 !important; }

@media (max-width: 1100px) {
  body.home .wn-density-split { gap: 1.75rem; }
  body.home .wn-density-split > .wn-section-heading { margin-bottom: 0 !important; }
}

@media (max-width: 900px) {
  body.home .wn-story { grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr) !important; }
  body.home .wn-story-mark { max-width: 240px; }
  .wn-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  body.home .wn-main > .wn-section,
  body.home .wn-main > .wn-final-cta { padding-block: clamp(2.5rem, 10vw, 3.5rem); }
  body.home .wn-section-heading { margin-bottom: 1.5rem !important; }
  body.home .wn-density-split { gap: 1.5rem; }
  body.home .wn-services-section .wn-service-list { grid-template-columns: 1fr; }
  body.home .wn-story { display: grid; grid-template-columns: 1fr !important; }
  body.home .wn-story-mark { aspect-ratio: 5 / 2; max-width: none; width: 100%; }
  body.home .wn-final-cta { padding-block: 1.5rem; }
  .wn-footer-grid { grid-template-columns: 1fr !important; }
}

/* Consistency pass: one horizontal system for the header, hero, and interior content. */
body.home .wn-hero.wn-home-section {
  padding-inline: max(1rem, calc(50vw - 624px));
}
body.home .wn-hero .wn-hero-inner {
  margin-inline: 0 auto !important;
  max-width: 640px !important;
  width: 100% !important;
}

.wn-header-inner {
  margin-inline: auto !important;
  max-width: var(--wn-wide) !important;
  width: 100% !important;
}
.wn-site-header { padding-inline: 1rem; }
body.home .wn-main > .wn-section.alignwide,
body.home .wn-density-split {
  width: min(calc(100vw - 2rem), var(--wn-wide)) !important;
}

body:not(.home) .wn-main {
  max-width: none !important;
  width: 100%;
}
body:not(.home) .wn-main > :not(.alignfull) {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: min(calc(100vw - 2rem), var(--wn-wide)) !important;
}
body:not(.home) .wn-main > .alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  padding-inline: clamp(1rem, 3vw, 1.5rem);
  width: 100vw !important;
}
body:not(.home) .wn-main > .alignwide > *,
body:not(.home) .wn-main > .alignfull > *,
body:not(.home) .wn-main > .wp-block-post-content > * {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: 100% !important;
}
body:not(.home) .wn-main > .alignfull > * {
  width: min(100%, var(--wn-wide)) !important;
}
body:not(.home) .wn-main .wn-services-section > .is-layout-constrained > *,
body:not(.home) .wn-main :where(.wn-carousel, .wn-card-grid, .wn-service-list, .wn-export-map, .wn-product-details, .wn-rfq-form) {
  max-width: none !important;
  width: 100% !important;
}
body:not(.home) .wn-breadcrumbs { padding-inline: 0; }
body:not(.home) .wn-page-hero { margin-bottom: 0 !important; }
body:not(.home) .wn-main > .wn-section {
  margin-block: 0 !important;
  padding-block: clamp(2rem, 3vw, 2.5rem);
}
body:not(.home) .wn-main > .wn-page-hero + .wn-section { padding-top: clamp(2rem, 3vw, 2.5rem); }

/* The Services archive is rendered from one private editor Page. Keep its
   saved blocks on the same wide/full alignment system as normal page content. */
body.post-type-archive-service .wn-main > .wn-services-archive-content {
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
body.post-type-archive-service .wn-services-archive-content > .alignwide {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: min(calc(100vw - 2rem), var(--wn-wide)) !important;
}
body.post-type-archive-service .wn-services-archive-content > .alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  padding-inline: clamp(1rem, 3vw, 1.5rem);
  width: 100vw !important;
}
body.post-type-archive-service .wn-services-archive-content > .alignfull > * {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: 100% !important;
}
body.post-type-archive-service .wn-services-archive-content > .wn-section {
  margin-block: 0 !important;
  padding-block: clamp(3rem, 6vw, 5rem);
}
body.post-type-archive-service .wn-services-page-hero + .wn-section {
  padding-top: clamp(2rem, 3vw, 2.5rem);
}
body.post-type-archive-service .wn-services-positioning p,
body.post-type-archive-service .wn-services-objection p { max-width: 820px; }
body.post-type-archive-service .wn-services-core-section .wn-pattern-numbered-copy a { color: var(--wn-forest); }
body.post-type-archive-service .wn-services-core-section .wn-pattern-numbered-copy a:hover { color: var(--wn-copper); }
body.post-type-archive-service .wn-services-cta .is-style-outline .wp-element-button {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

/* The process columns must use the width already reserved by their parent. */
body.home .wn-process-stack {
  margin-inline: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
body.home .wn-process-grid {
  display: grid !important;
  gap: clamp(1rem, 2vw, 1.75rem) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: none !important;
  width: 100% !important;
}
body.home .wn-process-grid .wp-block-column { border: 1px solid var(--wn-line); }

@media (max-width: 768px) {
  body.home .wn-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  body.home .wn-hero.wn-home-section { padding-inline: 1rem; }
  body.home .wn-hero .wn-hero-inner { max-width: none !important; }
  body.home .wn-process-grid { grid-template-columns: 1fr !important; }
}

/* Editable post-content wrappers retain the exact template-era layout. */
body.home .wn-main > .wn-home-content,
body:not(.home) .wn-main > .wn-page-content {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}
body.home .wn-home-content > * { margin-block: 0 !important; }
body.home .wn-home-content > .wn-section,
body.home .wn-home-content > .wn-final-cta {
  min-height: 0;
  padding-block: clamp(3rem, 6vw, 5rem);
}
body.home .wn-home-content > .wn-section.has-cream-background-color,
body.home .wn-home-content > .wn-section.wn-services-section,
body.home .wn-home-content > .wn-section.has-forest-dark-background-color,
body.home .wn-home-content > .wn-final-cta { background: #f5f8fa !important; }
body.home .wn-home-content > .wn-section.has-forest-dark-background-color h2,
body.home .wn-home-content > .wn-section.has-forest-dark-background-color h3 { color: var(--wn-forest) !important; }
body.home .wn-home-content > .wn-section.has-forest-dark-background-color .wn-eyebrow { color: var(--wn-copper); }
body.home .wn-home-content > .wn-section.has-forest-dark-background-color .wn-commitments .wp-block-column { border-color: var(--wn-line); }
/* Dark sections are remapped to a light band; neutralize stale white text utilities inside their light content areas. */
.wn-main > .wn-section.has-forest-dark-background-color .wn-section-heading p:not(.wn-eyebrow):not(.wn-kicker),
.wn-main > .wn-section.has-forest-dark-background-color .wn-commitments p,
body.home .wn-home-content > .wn-section.has-forest-dark-background-color .wn-section-heading p:not(.wn-eyebrow):not(.wn-kicker),
body.home .wn-home-content > .wn-section.has-forest-dark-background-color .wn-commitments p {
  color: var(--wn-ink) !important;
}
body.home .wn-home-content > .wn-section.alignwide {
  margin-inline: auto !important;
  max-width: var(--wn-wide) !important;
  width: min(calc(100vw - 2rem), var(--wn-wide)) !important;
}
body.home .wn-home-content > .wn-section.alignfull,
body.home .wn-home-content > .wn-final-cta.alignfull {
  margin-inline: 0 !important;
  max-width: none !important;
  padding-inline: 0 !important;
  width: 100% !important;
}
body.home .wn-home-content > .wn-hero.alignfull {
  margin-inline: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
body.home .wn-home-content > .wn-section > .wn-section-heading,
body.home .wn-home-content > .wn-section > .wn-card-grid,
body.home .wn-home-content > .wn-section > .wn-carousel,
body.home .wn-home-content > .wn-section > .wn-service-list,
body.home .wn-home-content > .wn-section > .wn-process-grid,
body.home .wn-home-content > .wn-section > .wn-export-map,
body.home .wn-home-content > .wn-section > .wn-editorial-columns,
body.home .wn-home-content > .wn-section > .wn-commitments {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: 100% !important;
}
body.home .wn-home-content > .wn-featured-section { padding-block: clamp(2.5rem, 4.5vw, 4rem); }
body.home .wn-home-content > .wn-final-cta { padding-block: clamp(1.15rem, 1.8vw, 1.65rem); }

body:not(.home) .wn-page-content > :not(.alignfull) {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: min(calc(100vw - 2rem), var(--wn-wide)) !important;
}
body:not(.home) .wn-page-content > .alignfull {
  margin-inline: 0 !important;
  max-width: none !important;
  padding-inline: 0 !important;
  width: 100% !important;
}
body:not(.home) .wn-page-content > .alignfull > *,
body:not(.home) .wn-page-content > .alignwide > * {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: 100% !important;
}
body:not(.home) .wn-page-content :where(.wn-carousel, .wn-card-grid, .wn-service-list, .wn-export-map, .wn-product-details, .wn-rfq-form) {
  max-width: none !important;
  width: 100% !important;
}
body:not(.home) .wn-page-content > .wn-section {
  margin-block: 0 !important;
  padding-block: clamp(2rem, 3vw, 2.5rem);
}
body:not(.home) .wn-page-content > .wn-page-hero { margin-bottom: 0 !important; }
body:not(.home) .wn-page-content > .wn-page-hero + .wn-section { padding-top: clamp(2rem, 3vw, 2.5rem); }

@media (max-width: 600px) {
  body.home .wn-home-content > .wn-section,
  body.home .wn-home-content > .wn-final-cta { padding-block: clamp(2.5rem, 10vw, 3.5rem); }
  body.home .wn-home-content > .wn-final-cta { padding-block: 1.5rem; }
}

/* Insertable WiraNusa section-pattern library for pages and Resources posts. */
.wn-pattern-section { box-sizing: border-box; margin-block: clamp(2.5rem, 6vw, 5rem); }
.wn-pattern-heading-band { background: #f5f8fa; padding-block: clamp(2.5rem, 5vw, 4rem); }
.wn-pattern-heading > * { margin-left: 0 !important; }
.wn-pattern-heading > p:last-child { color: #344852; max-width: 760px; }
.wn-pattern-card-grid {
  display: grid !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}
.wn-pattern-card-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wn-pattern-card-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wn-pattern-card-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wn-pattern-card-grid > .wp-block-column { margin: 0 !important; }
.wn-pattern-card {
  background: #fff;
  border: 1px solid var(--wn-line);
  border-top: 3px solid #f26c21;
  box-shadow: 0 8px 22px rgba(14, 26, 35, .06);
  display: flex;
  flex-direction: column;
  min-height: 240px;
  padding: clamp(1.15rem, 2vw, 1.6rem);
}
.wn-pattern-card-mark,
.wn-pattern-number {
  color: #f26c21;
  font: 800 .78rem/1 Inter, sans-serif;
  letter-spacing: .08em;
  margin: 0 0 1.25rem;
}
.wn-pattern-card h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); margin-block: 0 .75rem; }
.wn-pattern-card p:last-child { margin-bottom: 0; }
.wn-pattern-numbered > h2 { max-width: 760px; }
.wn-pattern-numbered-list { border-top: 1px solid var(--wn-line); margin-top: 2rem; }
.wn-pattern-numbered-item {
  align-items: flex-start !important;
  border-bottom: 1px solid var(--wn-line);
  display: grid !important;
  gap: clamp(1rem, 3vw, 2.25rem) !important;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  padding-block: clamp(1.25rem, 2.5vw, 1.8rem);
}
.wn-pattern-numbered-item .wn-pattern-number { margin: .35rem 0 0; }
.wn-pattern-numbered-copy > * { margin-left: 0 !important; }
.wn-pattern-numbered-copy h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); margin: 0 0 .35rem; }
.wn-pattern-numbered-copy p { margin: 0; max-width: 780px; }
.wn-pattern-text-image { gap: clamp(1.5rem, 4vw, 4rem) !important; }
.wn-pattern-text-image .wp-block-image { margin: 0; overflow: hidden; }
.wn-pattern-text-image .wp-block-image img { aspect-ratio: 4 / 3; display: block; object-fit: cover; width: 100%; }
.wn-pattern-cta { margin-block: clamp(2.5rem, 6vw, 5rem); padding-block: clamp(2.75rem, 6vw, 4.75rem); }
.wn-pattern-cta-dark { background: #205476; }
.wn-pattern-cta-dark :where(h2, p) { color: #fff !important; }
.wn-pattern-cta-dark .wn-eyebrow { color: #ffd1b6 !important; }
.wn-pattern-cta-light { background: #f5f8fa; border-block: 1px solid var(--wn-line); }
.wn-pattern-cta-inner > * { margin-inline: auto !important; }
.wn-pattern-cta-inner > p { max-width: 720px; }
.wn-pattern-faq > p:not(.wn-eyebrow) { max-width: 760px; }
.wn-pattern-faq-item { background: #fff; border: 1px solid var(--wn-line); margin-block: .75rem; padding: 0; }
.wn-pattern-faq-item summary { color: #205476; cursor: pointer; font-weight: 750; padding: 1rem 3rem 1rem 1.1rem; position: relative; }
.wn-pattern-faq-item summary:focus-visible { box-shadow: inset 0 0 0 3px #f26c21; outline: 0; }
.wn-pattern-faq-item > p { border-top: 1px solid var(--wn-line); margin: 0; padding: 1rem 1.1rem 1.2rem; }
.wn-pattern-stats-grid { display: grid !important; gap: 1rem !important; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wn-pattern-stats-grid > .wp-block-column { margin: 0 !important; }
.wn-pattern-stat { background: #205476; color: #fff; min-height: 150px; padding: 1.25rem; }
.wn-pattern-stat-value { color: #fff; font: 600 clamp(2.2rem, 5vw, 4rem)/1 "Source Serif 4", Georgia, serif; margin: 0 0 .55rem; }
.wn-pattern-stat-label { color: #fff; font-size: .82rem; font-weight: 750; letter-spacing: .055em; margin: 0; text-transform: uppercase; }
.wn-pattern-note { color: #52616b; font-size: .8rem; margin-top: .9rem; }
.wn-pattern-quote { background: #eef4f8; border-left: 6px solid #f26c21; padding: clamp(1.5rem, 4vw, 3rem); }
.wn-pattern-quote-text { color: #205476; font: 600 clamp(1.75rem, 3.2vw, 2.75rem)/1.15 "Source Serif 4", Georgia, serif; margin-block: .5rem 1rem; }
.wn-pattern-quote-source { color: #52616b; font-size: .82rem; margin-bottom: 0; }
.wn-pattern-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wn-pattern-table table { border-collapse: collapse; min-width: 680px; width: 100%; }
.wn-pattern-table th { background: #205476; color: #fff; font-size: .8rem; letter-spacing: .04em; text-align: left; }
.wn-pattern-table :where(th, td) { border: 1px solid #cbd7de; padding: .8rem .9rem; vertical-align: top; }
.wn-pattern-table tbody tr:nth-child(even) { background: #f5f8fa; }
.wn-pattern-table figcaption { color: #52616b; font-size: .78rem; text-align: left; }
.wn-pattern-activity,
.wn-pattern-resources,
.wn-pattern-products { padding-block: clamp(3rem, 6vw, 5rem); }
.wn-pattern-activity { background: #f5f8fa; }
.wn-pattern-resources { background: #fff; }
.wn-pattern-products { background: #faf7f1; }
.wn-pattern-activity > :where(.wn-section-heading, .wn-activity-gallery),
.wn-pattern-resources > :where(.wn-section-heading, .wn-carousel),
.wn-pattern-products > :where(.wn-section-heading, .wn-card-grid) {
  margin-inline: auto !important;
  max-width: var(--wn-wide) !important;
  width: min(calc(100% - 2rem), var(--wn-wide)) !important;
}
.wn-pattern-activity > .wn-section-heading,
.wn-pattern-resources > .wn-section-heading,
.wn-pattern-products > .wn-section-heading { margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important; }

/* Long-form Resources typography with predictable normal, wide, and full alignments. */
body.single-post .wn-main > .wp-block-post-content { font-size: 1.04rem; max-width: none !important; width: 100% !important; }
body.single-post .wn-main > .wp-block-post-content > :not(.alignwide):not(.alignfull) {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 760px !important;
  width: min(calc(100vw - 2rem), 760px) !important;
}
body.single-post .wn-main > .wp-block-post-content > .alignwide {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--wn-wide) !important;
  width: min(calc(100vw - 2rem), var(--wn-wide)) !important;
}
body.single-post .wn-main > .wp-block-post-content > .alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  width: 100vw !important;
}
body.single-post .wp-block-post-content > :where(p, ul, ol) { color: #263943; }
body.single-post .wp-block-post-content > :where(h2, h3) { margin-top: clamp(2.25rem, 5vw, 4rem); }

@media (max-width: 1050px) {
  .wn-pattern-card-grid-4,
  .wn-pattern-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .wn-pattern-card-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .wn-pattern-card-grid-2,
  .wn-pattern-card-grid-3,
  .wn-pattern-card-grid-4,
  .wn-pattern-stats-grid { grid-template-columns: 1fr; }
  .wn-pattern-card { min-height: 0; }
  .wn-pattern-section { margin-block: clamp(2rem, 9vw, 3.5rem); }
  .wn-pattern-activity,
  .wn-pattern-resources,
  .wn-pattern-products { padding-block: clamp(2.5rem, 10vw, 3.5rem); }
}

/* A transformed sticky header must never contain the fixed mobile menu. */
.wn-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
  transform: none !important;
  will-change: auto;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
  z-index: 100001;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
  width: 100%;
  max-width: none;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  align-items: flex-start;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  white-space: normal;
}

.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
  display: block !important;
  --navigation-layout-justification-setting: flex-start;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  box-sizing: border-box;
  margin-inline: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  align-items: flex-start !important;
  box-sizing: border-box;
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
  text-align: left;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  display: flex !important;
  flex-direction: column !important;
  border: 0 !important;
  padding: .25rem 0 .75rem 1rem !important;
  gap: 0 !important;
  left: auto !important;
  right: auto !important;
}
.wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  box-sizing: border-box;
  display: block;
  font-size: .9rem;
  padding: .65rem .25rem !important;
  width: 100%;
}
@media (max-width: 782px) {
  .admin-bar .wn-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    top: 46px;
    height: calc(100dvh - 46px);
    max-height: calc(100dvh - 46px);
  }
}
