/*
Theme Name: NRC Strategic Atlas
Theme URI: https://nusantararesearch.id/
Author: Fatima Takeda
Description: A clean editorial business theme for PT Nusantara Research and Consulting. Built for work mapping, client pathways, approach, sectors, engagement models, integrity, insights, partners, and project briefs.
Version: 1.4.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: nrc-strategic-atlas
Tags: custom-logo, custom-colors, custom-menu, featured-images, one-column, editor-style
*/

:root {
  --nrc-navy: #0d1b2a;
  --nrc-navy-soft: #12263b;
  --nrc-gold: #cba75b;
  --nrc-gold-deep: #a98235;
  --nrc-paper: #f7f4ef;
  --nrc-paper-alt: #ece4d4;
  --nrc-white: #fffaf1;
  --nrc-ink: #152436;
  --nrc-muted: #64707c;
  --nrc-line: rgba(13, 27, 42, 0.14);
  --nrc-radius: 24px;
  --nrc-header-height: 72px;
  --nrc-wrap: min(1120px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nrc-header-height) + 18px);
}
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--nrc-paper);
  color: var(--nrc-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 15.5px;
  line-height: 1.55;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(13, 27, 42, 0.035) 1px, transparent 1px) 0 0 / 56px 56px,
    linear-gradient(0deg, rgba(13, 27, 42, 0.028) 1px, transparent 1px) 0 0 / 56px 56px,
    radial-gradient(circle at 18% 8%, rgba(203, 167, 91, 0.18), transparent 23rem),
    radial-gradient(circle at 88% 10%, rgba(13, 27, 42, 0.075), transparent 28rem);
}
body.admin-bar .nrc-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nrc-header { top: 46px; } }

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 0.85rem; }
button, input, textarea, select { font: inherit; }

.nrc-wrap { width: var(--nrc-wrap); margin: 0 auto; }
.nrc-main section { scroll-margin-top: calc(var(--nrc-header-height) + 18px); }
.nrc-eyebrow {
  color: var(--nrc-gold-deep);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.nrc-h1,
.nrc-h2,
.nrc-section h2,
.nrc-hero h1,
.entry-title {
  margin: 0;
  color: var(--nrc-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.026em;
  line-height: 1.06;
}
.nrc-subtle { color: var(--nrc-muted); }
.nrc-gold-line { width: 62px; height: 2px; margin-top: 0.8rem; background: var(--nrc-gold); }

.nrc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.72rem 1rem;
  border: 1px solid var(--nrc-navy);
  border-radius: 999px;
  background: transparent;
  color: var(--nrc-navy);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.045em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}
.nrc-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(13, 27, 42, 0.14); }
.nrc-btn-primary { background: var(--nrc-navy); border-color: var(--nrc-navy); color: #fff; }
.nrc-btn-light { border-color: rgba(255,255,255,0.7); color: #fff; }

/* Header */
.nrc-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(247, 244, 239, 0.95);
  border-bottom: 1px solid rgba(13, 27, 42, 0.10);
  backdrop-filter: blur(14px);
}
.nrc-nav {
  min-height: var(--nrc-header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.nrc-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.nrc-logo img { width: min(220px, 30vw); }
.nrc-navlinks { display: flex; align-items: center; justify-content: flex-end; gap: 0.88rem; }
.nrc-navlinks a:not(.nrc-btn) {
  position: relative;
  color: #263548;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;
}
.nrc-navlinks a:not(.nrc-btn)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  background: var(--nrc-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}
.nrc-navlinks a:hover::after { transform: scaleX(1); }
.nrc-navlinks .nrc-btn { min-height: 42px; padding: 0.7rem 1rem; }
.nrc-mobile-toggle {
  display: none;
  min-width: 44px;
  padding: 0.62rem 0.85rem;
  border: 1px solid var(--nrc-line);
  border-radius: 999px;
  background: transparent;
  color: var(--nrc-navy);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Shared sections */
.nrc-section,
.nrc-approach {
  padding: clamp(42px, 5.2vh, 58px) 0;
  border-top: 1px solid var(--nrc-line);
}
.nrc-section-head {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(320px, 1fr);
  gap: clamp(1.25rem, 4vw, 2.6rem);
  align-items: center;
  margin-bottom: clamp(1.1rem, 2.8vh, 1.8rem);
}
.nrc-section h2,
.nrc-h2,
.nrc-page-content .entry-title {
  max-width: 640px;
  font-size: clamp(30px, 3.45vw, 46px);
  line-height: 1.07;
}
.nrc-section-head p {
  max-width: 680px;
  margin: 0;
  color: #56616d;
  font-size: clamp(14px, 1.12vw, 16px);
  line-height: 1.55;
}

/* Hero */
.nrc-hero {
  min-height: calc(100svh - var(--nrc-header-height));
  display: flex;
  align-items: center;
  padding: clamp(24px, 4vh, 42px) 0;
}
body.admin-bar .nrc-hero { min-height: calc(100svh - var(--nrc-header-height) - 32px); }
.nrc-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, 0.7fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: center;
}
.nrc-hero h1 {
  max-width: 620px;
  margin: 0.7rem 0 0.85rem;
  font-size: clamp(40px, 4.35vw, 60px);
  line-height: 1;
}
.nrc-hero-lead {
  max-width: 560px;
  color: #47515d;
  font-size: clamp(14px, 1.12vw, 16px);
  line-height: 1.48;
}
.nrc-hero-actions { display: flex; flex-wrap: wrap; gap: 0.72rem; margin: 1rem 0; }
.nrc-trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.72rem; margin-top: 0.85rem; }
.nrc-trust { padding-top: 0.65rem; border-top: 1px solid var(--nrc-line); color: var(--nrc-muted); font-size: 11.5px; line-height: 1.35; }
.nrc-trust strong { display: block; margin-bottom: 0.05rem; color: var(--nrc-navy); font-family: Georgia, serif; font-size: 16px; font-weight: 400; }

.nrc-word-card {
  position: relative;
  min-height: clamp(300px, calc(100svh - var(--nrc-header-height) - 170px), 380px);
  overflow: hidden;
  border: 1px solid rgba(203, 167, 91, 0.50);
  border-radius: 0 42px 0 42px;
  background: var(--nrc-navy);
  color: #fff;
}
.nrc-word-card::before {
  content: "";
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(203, 167, 91, 0.30);
  border-radius: 0 30px 0 30px;
  background-image:
    linear-gradient(rgba(255,255,255,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px);
  background-size: 34px 34px;
}
.nrc-word-card::after {
  content: "";
  position: absolute;
  right: -76px;
  top: -76px;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(203, 167, 91, 0.55);
  border-radius: 50%;
}
.nrc-word-card-inner {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(0.85rem, 1.7vw, 1.35rem);
  padding: clamp(1.25rem, 2.6vw, 2rem);
}
.nrc-atlas-title { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 2.55vw, 35px); font-weight: 400; letter-spacing: -0.018em; line-height: 1.08; }
.nrc-word-list { display: grid; gap: 8px; margin: 0; }
.nrc-word-list div { display: flex; align-items: center; gap: 13px; padding-bottom: 8px; border-bottom: 1px solid rgba(247, 244, 239, 0.16); }
.nrc-word-list span { min-width: 30px; color: var(--nrc-gold); font-size: 10px; font-weight: 800; letter-spacing: 0.16em; }
.nrc-word-list strong { color: #fff; font-size: 15.5px; font-weight: 500; }
.nrc-atlas-caption { max-width: 360px; margin: 0; color: rgba(255,255,255,0.72); font-size: 12.5px; line-height: 1.55; }

/* Cards */
.nrc-difference,
.nrc-service-grid,
.nrc-routes,
.nrc-sector-board,
.nrc-engage,
.nrc-principles { display: grid; gap: 0.9rem; }
.nrc-diff-card,
.nrc-side-card,
.nrc-route,
.nrc-sector,
.nrc-price,
.nrc-principle,
.nrc-article,
.nrc-form,
.nrc-partner-card {
  border: 1px solid var(--nrc-line);
  border-radius: var(--nrc-radius);
  background: rgba(255, 250, 241, 0.76);
}
.nrc-diff-card.dark,
.nrc-side-card,
.nrc-route.dark,
.nrc-integrity-card,
.nrc-article-main,
.nrc-callout { background: var(--nrc-navy); color: #fff; }
.nrc-diff-card h3,
.nrc-side-card h3,
.nrc-route h3,
.nrc-sector h3,
.nrc-price h3,
.nrc-principle h3,
.nrc-article h3,
.nrc-callout h3,
.nrc-partner-card h2,
.nrc-partner-card h3 {
  margin: 0.42rem 0 0.55rem;
  color: var(--nrc-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.012em;
  line-height: 1.13;
}
.nrc-diff-card.dark h3,
.nrc-side-card h3,
.nrc-route.dark h3,
.nrc-callout h3 { color: #fff; }
.nrc-diff-card p,
.nrc-service p,
.nrc-side-card p,
.nrc-route p,
.nrc-sector p,
.nrc-price p,
.nrc-principle p,
.nrc-article p,
.nrc-partner-card p { font-size: 13px; line-height: 1.48; }

.nrc-difference { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nrc-diff-card { min-height: 205px; padding: 1.25rem; }
.nrc-diff-card h3 { font-size: clamp(22px, 2.2vw, 29px); }
.nrc-diff-list { display: grid; gap: 0.45rem; margin-top: 0.75rem; }
.nrc-diff-item { display: flex; align-items: flex-start; gap: 0.65rem; font-size: 14px; }
.nrc-diff-item span:first-child { color: var(--nrc-gold); font-weight: 800; }

/* Work map */
.nrc-portfolio { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.62fr); gap: 0.9rem; align-items: stretch; }
.nrc-portfolio-main { padding: 1rem; border: 1px solid var(--nrc-line); border-radius: 28px; background: var(--nrc-white); }
.nrc-portfolio-side { display: grid; gap: 0.9rem; }
.nrc-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--nrc-line); border-radius: 22px; background: var(--nrc-line); }
.nrc-service { min-height: 118px; padding: 0.95rem; background: var(--nrc-white); }
.nrc-service .num { color: var(--nrc-gold-deep); font-family: Georgia, serif; font-size: 15px; }
.nrc-service h3 { margin: 0.28rem 0 0.35rem; color: var(--nrc-navy); font-family: Georgia, serif; font-size: clamp(17px, 1.52vw, 21px); font-weight: 400; line-height: 1.13; }
.nrc-service p { color: #5f6a75; }
.nrc-side-card { min-height: 0; padding: 1.05rem; border-radius: 22px; }
.nrc-side-card.light { background: var(--nrc-paper-alt); color: var(--nrc-ink); }
.nrc-side-card.light h3 { color: var(--nrc-navy); }
.nrc-side-card p { color: rgba(255,255,255,0.72); }
.nrc-side-card.light p { color: #5c6874; }
.nrc-side-card h3 { font-size: clamp(18px, 1.55vw, 22px); }

/* Pathways */
.nrc-routes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nrc-route { min-height: 210px; padding: 1.15rem; background: var(--nrc-white); }
.nrc-route .tag { color: var(--nrc-gold-deep); font-size: 10.5px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.nrc-route h3 { font-size: clamp(21px, 1.92vw, 26px); }
.nrc-route p { color: #5f6a75; }
.nrc-route ul { margin: 0.7rem 0 0; padding-left: 1rem; color: #56616d; font-size: 13px; }
.nrc-route li { margin: 0.34rem 0; }
.nrc-route.dark p, .nrc-route.dark li { color: rgba(255,255,255,0.78); }

/* Approach */
.nrc-approach { border-radius: 38px 38px 0 0; background: var(--nrc-navy); color: #fff; }
.nrc-approach h2 { color: #fff; }
.nrc-approach .nrc-section-head p { color: rgba(255,255,255,0.72); }
.nrc-timeline { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,0.18); border-radius: 22px; }
.nrc-step { min-height: 145px; padding: 0.9rem; border-right: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.035); }
.nrc-step:last-child { border-right: 0; }
.nrc-step .num { color: var(--nrc-gold); font-family: Georgia, serif; font-size: 21px; }
.nrc-step h3 { margin: 0.55rem 0 0.25rem; color: #fff; font-family: Georgia, serif; font-size: 18px; font-weight: 400; }
.nrc-step p { margin: 0; color: rgba(255,255,255,0.70); font-size: 12px; line-height: 1.43; }

/* Sectors, engagement, integrity */
.nrc-sector-board { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nrc-sector { min-height: 128px; padding: 1.05rem; }
.nrc-sector h3 { font-size: clamp(18px, 1.6vw, 22px); }
.nrc-sector p { color: #5f6a75; }
.nrc-engage { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nrc-price { min-height: 180px; padding: 1rem; background: var(--nrc-white); }
.nrc-price h3 { font-size: clamp(18px, 1.55vw, 22px); }
.nrc-price .fee { margin: 0.65rem 0; padding: 0.48rem 0; border-top: 1px solid var(--nrc-line); border-bottom: 1px solid var(--nrc-line); color: var(--nrc-gold-deep); font-size: 11px; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; }
.nrc-integrity { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 0.9rem; align-items: stretch; }
.nrc-integrity-card { position: relative; overflow: hidden; padding: 1.35rem; border-radius: 28px; }
.nrc-integrity-card::after { content: ""; position: absolute; right: -74px; bottom: -74px; width: 200px; height: 200px; border: 1px solid rgba(203,167,91,0.45); border-radius: 50%; }
.nrc-integrity-card h2 { color: #fff; }
.nrc-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nrc-principle { padding: 0.95rem; background: var(--nrc-white); }
.nrc-principle h3 { font-size: 19px; }

/* Insights */
.nrc-insights { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 0.9rem; }
.nrc-article-main { min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.35rem; border-radius: 28px; }
.nrc-article-main h3 { color: #fff; font-family: Georgia, serif; font-size: clamp(25px, 2.55vw, 34px); font-weight: 400; line-height: 1.06; }
.nrc-article-main p { color: rgba(255,255,255,0.74); }
.nrc-article-list { display: grid; gap: 0.85rem; }
.nrc-article { padding: 0.95rem; background: var(--nrc-white); transition: transform 0.22s ease, border-color 0.22s ease; }
.nrc-article:hover { transform: translateY(-2px); border-color: rgba(203,167,91,0.55); }
.nrc-article h3 { font-size: clamp(18px, 1.55vw, 21px); }

/* Contact */
.nrc-contact { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(1.35rem, 4vw, 3rem); align-items: center; }
.nrc-contact-copy p { color: #56616d; font-size: 15.5px; }
.nrc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0.72rem; padding: 1.15rem; background: var(--nrc-white); border-radius: 28px; }
.nrc-field { display: grid; gap: 0.3rem; }
.nrc-field.full { grid-column: 1 / -1; }
.nrc-field label { color: var(--nrc-gold-deep); font-size: 10.5px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.nrc-field input,
.nrc-field select,
.nrc-field textarea { width: 100%; min-width: 0; padding: 0.72rem 0.82rem; border: 1px solid rgba(13,27,42,0.16); border-radius: 13px; background: #fff; color: var(--nrc-ink); }
.nrc-field textarea { min-height: 96px; resize: vertical; }
.nrc-field input:focus,
.nrc-field select:focus,
.nrc-field textarea:focus { outline: 2px solid rgba(203,167,91,0.35); border-color: var(--nrc-gold); }
.nrc-alert { grid-column: 1 / -1; padding: 0.8rem 0.9rem; border-radius: 13px; font-size: 13px; }
.nrc-alert.ok { background: #eaf4e9; color: #204c24; border: 1px solid rgba(32,76,36,0.20); }
.nrc-alert.err { background: #f7e8e8; color: #7a1e1e; border: 1px solid rgba(122,30,30,0.20); }
.nrc-callout { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-top: 1.25rem; padding: 1.2rem 1.35rem; border-radius: 28px; }
.nrc-callout h3 { margin: 0 0 0.2rem; font-size: 22px; }
.nrc-callout p { margin: 0; color: rgba(255,255,255,0.72); }

/* Partners template */
.nrc-partner-hero { padding: 54px 0 24px; }
.nrc-partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.nrc-partner-card { padding: 1.25rem; background: var(--nrc-white); }

/* Default pages and posts */
.nrc-page-content { padding: 54px 0; }
.nrc-page-content .entry-title { max-width: 900px; margin: 0 0 1.2rem; }
.nrc-page-content .entry-content { max-width: 850px; color: #4c5865; font-size: 16px; }
.nrc-page-content .entry-content a { color: var(--nrc-navy); text-decoration: underline; text-decoration-color: var(--nrc-gold); }
.nrc-page-content .entry-content h2,
.nrc-page-content .entry-content h3 { color: var(--nrc-navy); font-family: Georgia, serif; font-weight: 400; line-height: 1.15; }
.nrc-post-list article { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--nrc-line); }

/* Footer */
.nrc-footer { padding: 3rem 0 2rem; background: var(--nrc-navy); color: #fff; }
.nrc-footer-grid { display: grid; grid-template-columns: 1fr 0.8fr 1fr; gap: 2rem; }
.nrc-footer img { width: 220px; max-width: 100%; margin-bottom: 1rem; }
.nrc-footer p { color: rgba(255,255,255,0.70); }
.nrc-mini-map { display: grid; gap: 0.45rem; }
.nrc-mini-map strong { color: var(--nrc-gold); font-size: 11px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.nrc-mini-map a,
.nrc-mini-map li a { color: rgba(255,255,255,0.74); font-size: 13px; }
.nrc-mini-map ul { display: contents; margin: 0; padding: 0; list-style: none; }

/* Animation */
.nrc-hero .nrc-eyebrow,
.nrc-hero h1,
.nrc-hero-lead,
.nrc-hero-actions,
.nrc-word-card,
.nrc-section-head,
.nrc-diff-card,
.nrc-service,
.nrc-side-card,
.nrc-route,
.nrc-step,
.nrc-sector,
.nrc-price,
.nrc-principle,
.nrc-article-main,
.nrc-article,
.nrc-form,
.nrc-callout {
  transition: opacity 0.58s ease, transform 0.58s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.js .nrc-reveal { opacity: 0; transform: translateY(14px); }
.js .nrc-reveal.is-visible { opacity: 1; transform: translateY(0); }
.nrc-word-card::before { transition: transform 0.8s ease; }
.nrc-word-card:hover::before { transform: translate3d(6px, -6px, 0); }
.nrc-diff-card:hover,
.nrc-service:hover,
.nrc-route:hover,
.nrc-sector:hover,
.nrc-price:hover,
.nrc-principle:hover,
.nrc-article:hover,
.nrc-partner-card:hover {
  border-color: rgba(203, 167, 91, 0.55);
  box-shadow: 0 16px 42px rgba(13, 27, 42, 0.08);
  transform: translateY(-2px);
}
.nrc-side-card:hover,
.nrc-callout:hover { box-shadow: 0 16px 42px rgba(13, 27, 42, 0.12); }

/* Laptop height compression */
@media (min-width: 981px) and (max-height: 760px) {
  :root { --nrc-header-height: 68px; }
  .nrc-section,
  .nrc-approach { padding-top: 32px; padding-bottom: 32px; }
  .nrc-section-head { margin-bottom: 0.95rem; }
  .nrc-section h2,
  .nrc-h2 { font-size: clamp(28px, 3.05vw, 40px); }
  .nrc-section-head p { font-size: 13.5px; }
  .nrc-hero { padding-top: 20px; padding-bottom: 20px; }
  .nrc-hero h1 { font-size: clamp(36px, 3.85vw, 52px); }
  .nrc-hero-lead { font-size: 14px; }
  .nrc-trust-row { display: none; }
  .nrc-word-card { min-height: 280px; }
  .nrc-atlas-title { font-size: clamp(23px, 2.35vw, 31px); }
  .nrc-service { min-height: 100px; padding: 0.82rem; }
  .nrc-service p { font-size: 11.5px; }
  .nrc-route { min-height: 172px; }
  .nrc-sector { min-height: 112px; }
  .nrc-step { min-height: 124px; }
  .nrc-price { min-height: 158px; }
  .nrc-article-main { min-height: 210px; }
}

/* Tablet and small laptops */
@media (max-width: 1120px) {
  :root { --nrc-wrap: min(100% - 40px, 1000px); }
  .nrc-mobile-toggle { display: inline-flex; }
  .nrc-logo img { width: min(205px, 46vw); }
  .nrc-navlinks {
    position: absolute;
    top: var(--nrc-header-height);
    left: 0;
    right: 0;
    display: none;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0.55rem 4vw 1rem;
    background: rgba(247,244,239,0.985);
    border-bottom: 1px solid var(--nrc-line);
  }
  .nrc-navlinks.open { display: grid; }
  .nrc-navlinks a:not(.nrc-btn) { padding: 0.75rem 0; border-bottom: 1px solid rgba(13,27,42,0.08); }
  .nrc-navlinks .nrc-btn { width: 100%; margin-top: 0.7rem; }
  .nrc-hero-grid,
  .nrc-section-head,
  .nrc-portfolio,
  .nrc-integrity,
  .nrc-insights,
  .nrc-contact,
  .nrc-partner-grid { grid-template-columns: 1fr; }
  .nrc-hero { min-height: auto; display: block; padding: 34px 0 40px; }
  body.admin-bar .nrc-hero { min-height: auto; }
  .nrc-hero-grid { gap: 1.35rem; }
  .nrc-hero h1 { max-width: 760px; font-size: clamp(38px, 7vw, 58px); }
  .nrc-word-card { min-height: 285px; }
  .nrc-section-head { gap: 0.75rem; }
  .nrc-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nrc-timeline,
  .nrc-engage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nrc-sector-board,
  .nrc-routes,
  .nrc-principles,
  .nrc-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nrc-step { border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.16); }
}

/* Phones */
@media (max-width: 720px) {
  :root { --nrc-header-height: 66px; --nrc-wrap: min(100% - 28px, 1120px); }
  body { font-size: 14.5px; }
  .nrc-nav { min-height: var(--nrc-header-height); }
  .nrc-logo img { width: min(178px, 58vw); }
  .nrc-mobile-toggle { padding: 0.52rem 0.72rem; }
  .nrc-hero { padding: 22px 0 30px; }
  .nrc-hero h1 { font-size: clamp(33px, 9.6vw, 45px); line-height: 1.02; margin: 0.55rem 0 0.7rem; }
  .nrc-hero-lead { font-size: 14px; line-height: 1.45; }
  .nrc-hero-actions { gap: 0.55rem; margin: 0.9rem 0 0; }
  .nrc-hero-actions .nrc-btn { width: 100%; min-height: 40px; padding: 0.66rem 0.85rem; }
  .nrc-trust-row { display: none; }
  .nrc-word-card { min-height: 220px; border-radius: 0 30px 0 30px; }
  .nrc-word-card::before { inset: 16px; border-radius: 0 20px 0 20px; background-size: 28px 28px; }
  .nrc-word-card::after { width: 168px; height: 168px; right: -74px; top: -74px; }
  .nrc-word-card-inner { padding: 1rem; gap: 0.8rem; }
  .nrc-atlas-title { font-size: 23px; }
  .nrc-word-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 10px; }
  .nrc-word-list div { padding-bottom: 5px; gap: 8px; }
  .nrc-word-list span { min-width: auto; font-size: 9.5px; }
  .nrc-word-list strong { font-size: 13.5px; }
  .nrc-atlas-caption { display: none; }
  .nrc-section,
  .nrc-approach { padding: 32px 0; }
  .nrc-section h2,
  .nrc-h2,
  .nrc-page-content .entry-title { font-size: clamp(28px, 8.8vw, 39px); }
  .nrc-section-head { margin-bottom: 1rem; }
  .nrc-section-head p { display: none; }
  .nrc-difference,
  .nrc-service-grid,
  .nrc-routes,
  .nrc-sector-board,
  .nrc-timeline,
  .nrc-engage,
  .nrc-principles,
  .nrc-footer-grid { grid-template-columns: 1fr; }
  .nrc-diff-card,
  .nrc-route,
  .nrc-sector,
  .nrc-price,
  .nrc-principle,
  .nrc-side-card,
  .nrc-article,
  .nrc-partner-card { padding: 0.95rem; border-radius: 18px; }
  .nrc-diff-card h3,
  .nrc-route h3,
  .nrc-sector h3,
  .nrc-price h3,
  .nrc-principle h3,
  .nrc-service h3 { font-size: 19px; }
  .nrc-diff-list { gap: 0.36rem; }
  .nrc-diff-item { font-size: 13px; }
  .nrc-portfolio-main { padding: 0.75rem; border-radius: 20px; }
  .nrc-service { min-height: auto; padding: 0.9rem; }
  .nrc-service p,
  .nrc-sector p,
  .nrc-price p,
  .nrc-principle p { display: none; }
  .nrc-route p { font-size: 12.5px; }
  .nrc-route ul { display: none; }
  .nrc-step { min-height: auto; padding: 0.85rem; }
  .nrc-step .num { font-size: 18px; }
  .nrc-step h3 { margin: 0.35rem 0 0; font-size: 17px; }
  .nrc-step p { display: none; }
  .nrc-article-main { min-height: 160px; padding: 1rem; border-radius: 20px; }
  .nrc-article-main h3 { font-size: 25px; }
  .nrc-article-main p { display: none; }
  .nrc-form { grid-template-columns: 1fr; padding: 0.95rem; border-radius: 20px; }
  .nrc-field input,
  .nrc-field select,
  .nrc-field textarea { padding: 0.68rem 0.76rem; }
  .nrc-field textarea { min-height: 82px; }
  .nrc-callout { display: grid; padding: 1rem; border-radius: 20px; }
  .nrc-callout h3 { font-size: 20px; }
  .nrc-callout .nrc-btn { width: 100%; }
  .nrc-page-content { padding: 44px 0; }
  .nrc-page-content .entry-content { font-size: 15px; }
  .nrc-footer { padding: 2.5rem 0 1.6rem; }
  .nrc-footer img { width: 190px; }
}

/* Very small phones */
@media (max-width: 390px) {
  .nrc-hero h1 { font-size: 32px; }
  .nrc-section h2,
  .nrc-h2 { font-size: 27px; }
  .nrc-word-card { min-height: 205px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; }
  .js .nrc-reveal { opacity: 1 !important; transform: none !important; }
}

@media print {
  .nrc-header { position: static !important; }
  .nrc-mobile-toggle { display: none !important; }
}
