/* ================================================== */
/* About Page Styles (depends on nhy.css global)      */
/* ================================================== */

/* === Greenshift / Blocksy container reset === */
/* Only target content area inside <main>, NOT footer */

/* Entry content in main — allow overflow */
main .entry-content {
  overflow: visible !important;
}

/* Greenshift rows/columns INSIDE main entry-content only */
main .entry-content .wp-block-greenshift-blocks-row,
main .entry-content .gspb_row,
main .entry-content .gspb_row__content,
main .entry-content .wp-block-greenshift-blocks-row-column,
main .entry-content [class*="gspb_row__col"],
main .entry-content [class*="gspb_col-id"] {
  background: transparent !important;
  overflow: visible !important;
}

/* Rows containing our sections — remove padding/margin */
.gspb_row:has(.nhy-banner),
.gspb_row:has(.nhy-experience),
.gspb_row:has(.nhy-howwork),
.gspb_row:has(.nhy-cta),
.gspb_row:has(.nhy-overview),
.gspb_row:has(.nhy-service),
.gspb_row:has(.nhy-philosophy),
.wp-block-greenshift-blocks-row:has(.nhy-banner),
.wp-block-greenshift-blocks-row:has(.nhy-experience),
.wp-block-greenshift-blocks-row:has(.nhy-howwork),
.wp-block-greenshift-blocks-row:has(.nhy-cta),
.wp-block-greenshift-blocks-row:has(.nhy-overview),
.wp-block-greenshift-blocks-row:has(.nhy-service),
.wp-block-greenshift-blocks-row:has(.nhy-philosophy) {
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 100% !important;
}

/* === Full-width background via box-shadow === */
.nhy-banner {
  -webkit-box-shadow: 0 0 0 100vmax var(--nhy-black, #0A0A0A);
  box-shadow: 0 0 0 100vmax var(--nhy-black, #0A0A0A);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}
.nhy-experience {
  -webkit-box-shadow: 0 0 0 100vmax var(--nhy-off-white, #FAFAF8);
  box-shadow: 0 0 0 100vmax var(--nhy-off-white, #FAFAF8);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}
.nhy-howwork {
  -webkit-box-shadow: 0 0 0 100vmax var(--nhy-black, #0A0A0A);
  box-shadow: 0 0 0 100vmax var(--nhy-black, #0A0A0A);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}
.nhy-cta {
  -webkit-box-shadow: 0 0 0 100vmax var(--nhy-black, #0A0A0A);
  box-shadow: 0 0 0 100vmax var(--nhy-black, #0A0A0A);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}
.nhy-overview {
  -webkit-box-shadow: 0 0 0 100vmax var(--nhy-white, #FFFFFF);
  box-shadow: 0 0 0 100vmax var(--nhy-white, #FFFFFF);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}
.nhy-service {
  -webkit-box-shadow: 0 0 0 100vmax var(--nhy-white, #FFFFFF);
  box-shadow: 0 0 0 100vmax var(--nhy-white, #FFFFFF);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}
.nhy-philosophy {
  -webkit-box-shadow: 0 0 0 100vmax var(--nhy-white, #FFFFFF);
  box-shadow: 0 0 0 100vmax var(--nhy-white, #FFFFFF);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}

/* ================================================== */
/* Page Banner (Hero) */
/* ================================================== */
/* === Banner === */
.nhy-banner {
  position: relative;
  min-height: 520px;
  background: var(--nhy-black, #0A0A0A);
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  overflow: hidden;
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}

/* Sky gradient */
.nhy-banner::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(180deg, #050510 0%, #0a0a1a 30%, #0d0d12 60%, #111 100%);
}

/* Watermark */
.nhy-banner::after {
  content: 'ABOUT'; position: absolute; right: -20px; bottom: -30px;
  font-family: 'Montserrat'; font-size: 200px; font-weight: 900;
  color: rgba(255,255,255,.015); letter-spacing: 20px;
  pointer-events: none; line-height: 1;
}

/* Background layers container */
.nhy-banner-bg {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1;
  pointer-events: none; overflow: hidden;
}

/* Stars */
.nhy-banner-stars { position: absolute; top: 0; left: 0; right: 0; bottom: 40%; }
.nhy-banner-stars::before,
.nhy-banner-stars::after {
  content: ''; position: absolute; border-radius: 50%;
}
.nhy-banner-stars::before {
  width: 2px; height: 2px; top: 15%; left: 20%;
  box-shadow:
    0 0 1px rgba(255,255,255,.6), 120px 30px 1px rgba(255,255,255,.3),
    240px -10px 1px rgba(255,255,255,.5), 380px 50px 1px rgba(255,255,255,.2),
    500px 20px 1px rgba(255,255,255,.4), 620px 60px 1px rgba(255,255,255,.3),
    80px 80px 1px rgba(255,255,255,.2), 300px 90px 1px rgba(255,255,255,.35),
    450px 100px 1px rgba(255,255,255,.25), 700px 40px 1px rgba(255,255,255,.15),
    180px 120px 1px rgba(255,255,255,.2), 550px 110px 1px rgba(255,255,255,.3),
    820px 70px 1px rgba(255,255,255,.2), 950px 30px 1px rgba(255,255,255,.35),
    1050px 90px 1px rgba(255,255,255,.25), 1200px 50px 1px rgba(255,255,255,.2),
    1400px 80px 1px rgba(255,255,255,.3), 1600px 35px 1px rgba(255,255,255,.25);
  background: rgba(255,255,255,.6);
}
.nhy-banner-stars::after {
  width: 1px; height: 1px; top: 8%; left: 45%;
  box-shadow:
    0 0 1px rgba(255,255,255,.4), 60px 40px 1px rgba(255,255,255,.25),
    -100px 20px 1px rgba(255,255,255,.3), 200px -15px 1px rgba(255,255,255,.2),
    -200px 60px 1px rgba(255,255,255,.35), 350px 45px 1px rgba(255,255,255,.15);
  background: rgba(255,255,255,.4);
}

/* Horizon glow */
.nhy-banner-horizon {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background:
    radial-gradient(ellipse 120% 60% at 50% 100%, rgba(201,168,76,.06) 0%, transparent 70%),
    linear-gradient(0deg, rgba(20,18,12,.5) 0%, transparent 100%);
}

/* City skyline */
.nhy-banner-skyline { position: absolute; bottom: 0; left: 0; right: 0; height: 180px; }
.nhy-banner-skyline::before {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 180px;
  background:
    linear-gradient(0deg, #0c0c0c 100%, transparent 100%) no-repeat 12% bottom / 6px 140px,
    linear-gradient(0deg, #0c0c0c 100%, transparent 100%) no-repeat calc(12% - 8px) bottom / 22px 40px,
    linear-gradient(0deg, #0e0e0e 100%, transparent 100%) no-repeat 25% bottom / 8px 110px,
    linear-gradient(0deg, #0e0e0e 100%, transparent 100%) no-repeat calc(25% - 12px) bottom / 32px 50px,
    linear-gradient(0deg, #0d0d0d 100%, transparent 100%) no-repeat 35% bottom / 60px 75px,
    linear-gradient(0deg, #0d0d0d 100%, transparent 100%) no-repeat 38% bottom / 40px 95px,
    linear-gradient(0deg, #0c0c0c 100%, transparent 100%) no-repeat 42% bottom / 50px 60px,
    linear-gradient(0deg, #0b0b0b 100%, transparent 100%) no-repeat 55% bottom / 3px 170px,
    linear-gradient(0deg, #0b0b0b 100%, transparent 100%) no-repeat calc(55% - 3px) bottom / 9px 165px,
    linear-gradient(0deg, #0b0b0b 100%, transparent 100%) no-repeat calc(55% - 16px) bottom / 36px 80px,
    linear-gradient(0deg, #0d0d0d 100%, transparent 100%) no-repeat 68% bottom / 55px 85px,
    linear-gradient(0deg, #0c0c0c 100%, transparent 100%) no-repeat 72% bottom / 35px 105px,
    linear-gradient(0deg, #0d0d0d 100%, transparent 100%) no-repeat 76% bottom / 45px 65px,
    linear-gradient(0deg, #0e0e0e 100%, transparent 100%) no-repeat 85% bottom / 5px 125px,
    linear-gradient(0deg, #0e0e0e 100%, transparent 100%) no-repeat calc(85% - 10px) bottom / 25px 45px,
    linear-gradient(0deg, #0d0d0d 100%, transparent 100%) no-repeat 92% bottom / 35px 50px,
    linear-gradient(0deg, #0d0d0d 100%, transparent 100%) no-repeat 5% bottom / 30px 55px;
}

/* Beacons */
.nhy-banner-beacons { position: absolute; bottom: 0; left: 0; right: 0; height: 180px; }
.nhy-beacon {
  position: absolute; width: 6px; height: 6px; border-radius: 50%;
}
.nhy-beacon::before {
  content: ''; position: absolute; top: 50%; left: 50%;
  width: 20px; height: 20px; border-radius: 50%;
  -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);
  -webkit-animation: nhy-beacon-pulse 2s ease-in-out infinite;
  animation: nhy-beacon-pulse 2s ease-in-out infinite;
}
.nhy-beacon::after {
  content: ''; position: absolute; top: 50%; left: 50%;
  width: 40px; height: 40px; border-radius: 50%;
  -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);
  -webkit-animation: nhy-beacon-glow 2s ease-in-out infinite;
  animation: nhy-beacon-glow 2s ease-in-out infinite;
}
.nhy-beacon-1 { bottom: 168px; left: 55%; background: var(--nhy-gold); }
.nhy-beacon-1::before { background: rgba(201,168,76,.25); -webkit-animation-delay: 0s; animation-delay: 0s; }
.nhy-beacon-1::after { background: rgba(201,168,76,.08); -webkit-animation-delay: 0s; animation-delay: 0s; }
.nhy-beacon-2 { bottom: 138px; left: 12%; background: #e04040; }
.nhy-beacon-2::before { background: rgba(224,64,64,.2); -webkit-animation-delay: .7s; animation-delay: .7s; }
.nhy-beacon-2::after { background: rgba(224,64,64,.06); -webkit-animation-delay: .7s; animation-delay: .7s; }
.nhy-beacon-3 { bottom: 123px; left: 85%; background: var(--nhy-gold); }
.nhy-beacon-3::before { background: rgba(201,168,76,.2); -webkit-animation-delay: 1.3s; animation-delay: 1.3s; }
.nhy-beacon-3::after { background: rgba(201,168,76,.06); -webkit-animation-delay: 1.3s; animation-delay: 1.3s; }
.nhy-beacon-4 { bottom: 108px; left: 25%; background: #e04040; }
.nhy-beacon-4::before { background: rgba(224,64,64,.2); -webkit-animation-delay: .4s; animation-delay: .4s; }
.nhy-beacon-4::after { background: rgba(224,64,64,.06); -webkit-animation-delay: .4s; animation-delay: .4s; }
.nhy-beacon-5 { bottom: 93px; left: 72%; background: var(--nhy-gold); }
.nhy-beacon-5::before { background: rgba(201,168,76,.2); -webkit-animation-delay: 1s; animation-delay: 1s; }
.nhy-beacon-5::after { background: rgba(201,168,76,.06); -webkit-animation-delay: 1s; animation-delay: 1s; }

@-webkit-keyframes nhy-beacon-pulse {
  0%,100% { opacity: .3; -webkit-transform: translate(-50%,-50%) scale(.6); transform: translate(-50%,-50%) scale(.6); }
  50% { opacity: 1; -webkit-transform: translate(-50%,-50%) scale(1); transform: translate(-50%,-50%) scale(1); }
}
@keyframes nhy-beacon-pulse {
  0%,100% { opacity: .3; transform: translate(-50%,-50%) scale(.6); }
  50% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
}
@-webkit-keyframes nhy-beacon-glow {
  0%,100% { opacity: 0; -webkit-transform: translate(-50%,-50%) scale(.5); transform: translate(-50%,-50%) scale(.5); }
  50% { opacity: 1; -webkit-transform: translate(-50%,-50%) scale(1.2); transform: translate(-50%,-50%) scale(1.2); }
}
@keyframes nhy-beacon-glow {
  0%,100% { opacity: 0; transform: translate(-50%,-50%) scale(.5); }
  50% { opacity: 1; transform: translate(-50%,-50%) scale(1.2); }
}

/* Beam */
.nhy-banner-beam {
  position: absolute; bottom: 168px; left: calc(55% + 3px);
  width: 2px; height: 0; -webkit-transform-origin: bottom center; transform-origin: bottom center; z-index: 0;
}
.nhy-banner-beam::before {
  content: ''; position: absolute; bottom: 0; left: -60px;
  width: 120px; height: 300px;
  background: linear-gradient(0deg, rgba(201,168,76,.08) 0%, rgba(201,168,76,.02) 40%, transparent 100%);
  -webkit-clip-path: polygon(50% 100%, 15% 0%, 85% 0%);
  clip-path: polygon(50% 100%, 15% 0%, 85% 0%);
  -webkit-animation: nhy-beam-sweep 8s ease-in-out infinite;
  animation: nhy-beam-sweep 8s ease-in-out infinite;
  -webkit-transform-origin: bottom center; transform-origin: bottom center;
}
@-webkit-keyframes nhy-beam-sweep {
  0%,100% { -webkit-transform: rotate(-25deg); opacity: .6; }
  50% { -webkit-transform: rotate(25deg); opacity: .9; }
}
@keyframes nhy-beam-sweep {
  0%,100% { transform: rotate(-25deg); opacity: .6; }
  50% { transform: rotate(25deg); opacity: .9; }
}

/* Grid overlay */
.nhy-banner-grid {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 40%, rgba(0,0,0,.5) 70%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 40%, rgba(0,0,0,.5) 70%, transparent 100%);
}

/* Content */
.nhy-banner-inner {
  position: relative; z-index: 2;
  max-width: var(--nhy-max-w, 1400px); margin: 0 auto; width: 100%;
  padding: 80px var(--nhy-pad, 56px);
}
.nhy-banner-eyebrow {
  font-size: 11px; letter-spacing: 4px; text-transform: uppercase;
  color: var(--nhy-gold); margin-bottom: 24px; font-weight: 500;
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.nhy-banner-eyebrow::before {
  content: ''; width: 32px; height: 1px; background: var(--nhy-gold); margin-right: 12px;
}
.nhy-banner-inner h1 {
  font-family: 'Montserrat'; font-size: 56px; font-weight: 900;
  line-height: 1.1; color: var(--nhy-white, #fff); margin-bottom: 24px; letter-spacing: -1px;
}
.nhy-banner-desc {
  font-size: 15px; line-height: 1.8; color: rgba(255,255,255,.4); max-width: 560px;
}

/* === 2560px+ === */
@media (min-width: 2560px) {
  .nhy-banner { min-height: 620px; }
  .nhy-banner-inner h1 { font-size: 68px; }
  .nhy-banner-desc { font-size: 17px; }
  .nhy-banner::after { font-size: 280px; }
}

/* === Tablet === */
@media (max-width: 1080px) {
  .nhy-banner-inner h1 { font-size: 42px; }
  .nhy-banner::after { font-size: 120px; }
}

/* === Mobile === */
@media (max-width: 640px) {
  .nhy-banner { min-height: 420px; }
  .nhy-banner::after { display: none; }
  .nhy-banner-inner { padding: 48px var(--nhy-pad, 16px); }
  .nhy-banner-inner h1 { font-size: 30px; letter-spacing: -.5px; }
  .nhy-banner-eyebrow { font-size: 9px; letter-spacing: 3px; }
  .nhy-banner-desc { font-size: 13px; }
}

/* ================================================== */
/* Company Overview */
/* ================================================== */
.nhy-overview {
  padding: 100px var(--nhy-pad, 56px);
  max-width: var(--nhy-max-w, 1400px);
  margin: 0 auto;
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}
.nhy-overview-layout {
  display: -ms-grid; display: grid;
  -ms-grid-columns: 1fr 80px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  -webkit-box-align: start; align-items: start;
}
.nhy-overview-text .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-overview-text h2 {
  font-family: 'Montserrat'; font-size: 32px; font-weight: 800;
  color: var(--nhy-black); line-height: 1.35; margin-bottom: 24px;
}
.nhy-overview-text .nhy-text-en {
  font-size: 15px; color: var(--nhy-gray); line-height: 1.85; margin-bottom: 20px;
}

.nhy-overview-visual { position: relative; }
.nhy-overview-img {
  width: 100%; min-height: 300px;
  border: 1px solid rgba(201,168,76,.08); overflow: hidden; position: relative;
}
@supports (aspect-ratio: 4/3) {
  .nhy-overview-img { aspect-ratio: 4/3; min-height: auto; }
}
.nhy-overview-img img {
  display: block; width: 100%; height: 100%;
  -o-object-fit: cover; object-fit: cover;
  -o-object-position: center; object-position: center;
  -webkit-transition: -webkit-transform 6s ease;
  transition: -webkit-transform 6s ease;
  transition: transform 6s ease;
  transition: transform 6s ease, -webkit-transform 6s ease;
}
.nhy-overview-img:hover img { -webkit-transform: scale(1.03); transform: scale(1.03); }

.nhy-overview-stats {
  display: -ms-grid; display: grid;
  grid-template-columns: repeat(4, 1fr);
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  gap: 0; margin-top: 24px; border: 1px solid var(--nhy-gray-border);
}
.nhy-overview-stat {
  padding: 24px 20px; text-align: center;
  border-right: 1px solid var(--nhy-gray-border);
}
.nhy-overview-stat:last-child { border-right: none; }
.nhy-overview-stat-val {
  font-family: 'Montserrat'; font-size: 32px; font-weight: 900;
  color: var(--nhy-black); line-height: 1;
}
.nhy-overview-stat-val span { color: var(--nhy-gold); }
.nhy-overview-stat-lab {
  font-size: 11px; color: var(--nhy-gray-light); margin-top: 6px; letter-spacing: .5px;
}

/* === 2560px+ === */
@media (min-width: 2560px) {
  .nhy-overview { padding: 140px var(--nhy-pad); }
  .nhy-overview-text h2 { font-size: 40px; }
  .nhy-overview-text .nhy-text-en { font-size: 17px; }
  .nhy-overview-stat-val { font-size: 40px; }
  .nhy-overview-layout { gap: 120px; }
}

/* === Tablet === */
@media (max-width: 1080px) {
  .nhy-overview-layout { grid-template-columns: 1fr; gap: 48px; }
}

/* === Mobile === */
@media (max-width: 640px) {
  .nhy-overview { padding: 48px var(--nhy-pad, 16px); }
  .nhy-overview-text h2 { font-size: 24px; }
  .nhy-overview-stats { grid-template-columns: repeat(2, 1fr) !important; }
  .nhy-overview-stat { padding: 16px 12px; }
  .nhy-overview-stat-val { font-size: 24px; }
}

/* ================================================== */
/* Industry Experience */
/* ================================================== */
.nhy-experience {
  background: var(--nhy-off-white, #FAFAF8);
  padding: 100px 0;
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}
.nhy-experience-inner {
  max-width: var(--nhy-max-w, 1400px);
  margin: 0 auto;
  padding: 0 var(--nhy-pad, 56px);
}
.nhy-experience-layout {
  display: -ms-grid; display: grid;
  grid-template-columns: .55fr .45fr;
  -ms-grid-columns: .55fr 72px .45fr;
  gap: 72px;
  -webkit-box-align: center; align-items: center;
}

.nhy-exp-text .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-exp-text h2 {
  font-family: 'Montserrat'; font-size: 32px; font-weight: 800;
  color: var(--nhy-black); line-height: 1.35; margin-bottom: 24px;
}
.nhy-exp-text .nhy-text-en {
  font-size: 15px; color: var(--nhy-gray); line-height: 1.85; margin-bottom: 16px;
}

.nhy-exp-visual { }
.nhy-exp-cards {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal;
  -ms-flex-direction: column; flex-direction: column;
  gap: 16px;
}
/* gap fallback */
@supports not (gap: 1px) {
  .nhy-exp-cards > * + * { margin-top: 16px; }
}
.nhy-exp-card {
  padding: 28px 24px;
  background: var(--nhy-white, #fff);
  border: 1px solid var(--nhy-gray-border);
  -webkit-transition: all .35s; transition: all .35s;
  position: relative; overflow: hidden;
}
.nhy-exp-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--nhy-gray-border);
  -webkit-transition: background .35s; transition: background .35s;
}
.nhy-exp-card:hover {
  border-color: rgba(201,168,76,.3);
  -webkit-box-shadow: 0 8px 32px rgba(0,0,0,.06);
  box-shadow: 0 8px 32px rgba(0,0,0,.06);
}
.nhy-exp-card:hover::before { background: var(--nhy-gold); }
.nhy-exp-card h4 {
  font-size: 14px; font-weight: 700; color: var(--nhy-black);
  margin-bottom: 6px;
}
.nhy-exp-card p {
  font-size: 13px; color: var(--nhy-gray); line-height: 1.7;
}

/* === 2560px+ === */
@media (min-width: 2560px) {
  .nhy-experience { padding: 140px 0; }
  .nhy-exp-text h2 { font-size: 40px; }
  .nhy-exp-text .nhy-text-en { font-size: 17px; }
  .nhy-experience-layout { gap: 100px; }
}

/* === Tablet === */
@media (max-width: 1080px) {
  .nhy-experience-layout { grid-template-columns: 1fr; gap: 40px; }
}

/* === Mobile === */
@media (max-width: 640px) {
  .nhy-experience { padding: 48px 0; }
  .nhy-exp-text h2 { font-size: 24px; }
}

/* ================================================== */
/* Service & Support */
/* ================================================== */
.nhy-service {
  padding: 100px var(--nhy-pad, 56px);
  max-width: var(--nhy-max-w, 1400px);
  margin: 0 auto;
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}
.nhy-service-header { margin-bottom: 64px; }
.nhy-service-header .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-service-header h2 {
  font-family: 'Montserrat'; font-size: 32px; font-weight: 800;
  color: var(--nhy-black); line-height: 1.35;
}

.nhy-service-grid {
  display: -ms-grid; display: grid;
  grid-template-columns: repeat(5, 1fr);
  -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 0;
}
.nhy-service-item {
  padding: 40px 28px; text-align: center;
  border: 1px solid var(--nhy-gray-border);
  margin-right: -1px; margin-bottom: -1px;
  -webkit-transition: all .35s; transition: all .35s;
  position: relative;
}
.nhy-service-item:hover {
  background: var(--nhy-black); border-color: var(--nhy-black); z-index: 2;
}
.nhy-service-item:hover .nhy-svc-icon {
  background: var(--nhy-gold-dim);
  border-color: rgba(201,168,76,.25);
}
.nhy-service-item:hover .nhy-svc-icon svg { stroke: var(--nhy-gold); }
.nhy-service-item:hover h4 { color: var(--nhy-white, #fff); }
.nhy-service-item:hover p { color: rgba(255,255,255,.5); }

.nhy-svc-icon {
  width: 56px; height: 56px; margin: 0 auto 20px;
  border-radius: 50%;
  background: var(--nhy-gray-bg);
  border: 1px solid var(--nhy-gray-border);
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  -webkit-transition: all .35s; transition: all .35s;
}
.nhy-svc-icon svg {
  width: 24px; height: 24px; stroke: var(--nhy-gray); fill: none;
  stroke-width: 1.5; -webkit-transition: all .35s; transition: all .35s;
}
.nhy-service-item h4 {
  font-size: 14px; font-weight: 700; color: var(--nhy-black);
  margin-bottom: 8px; -webkit-transition: color .35s; transition: color .35s;
}
.nhy-service-item p {
  font-size: 12px; color: var(--nhy-gray); line-height: 1.65;
  -webkit-transition: color .35s; transition: color .35s;
}

/* === 2560px+ === */
@media (min-width: 2560px) {
  .nhy-service { padding: 140px var(--nhy-pad); }
  .nhy-service-header h2 { font-size: 40px; }
  .nhy-service-item { padding: 52px 36px; }
  .nhy-service-item h4 { font-size: 16px; }
  .nhy-service-item p { font-size: 14px; }
}

/* === Tablet === */
@media (max-width: 1080px) {
  .nhy-service-grid { grid-template-columns: repeat(3, 1fr); }
}

/* === Mobile === */
@media (max-width: 640px) {
  .nhy-service { padding: 48px var(--nhy-pad, 16px); }
  .nhy-service-grid { grid-template-columns: 1fr 1fr; }
  .nhy-service-item { padding: 24px 16px; }
  .nhy-service-item h4 { font-size: 13px; }
}

/* === Small phone === */
@media (max-width: 380px) {
  .nhy-service-grid { grid-template-columns: 1fr; }
}

/* ================================================== */
/* How We Work */
/* ================================================== */
.nhy-howwork {
  background: var(--nhy-black, #0A0A0A);
  padding: 100px 0;
  overflow: hidden; position: relative;
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}
.nhy-howwork::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse 60% 80% at 30% 60%, rgba(201,168,76,.04) 0%, transparent 70%);
}
.nhy-howwork-inner {
  max-width: var(--nhy-max-w, 1400px);
  margin: 0 auto;
  padding: 0 var(--nhy-pad, 56px);
  position: relative; z-index: 2;
}
.nhy-howwork-header { margin-bottom: 64px; }
.nhy-howwork-header .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-howwork-header h2 {
  font-family: 'Montserrat'; font-size: 32px; font-weight: 800;
  color: var(--nhy-white, #fff); line-height: 1.35; margin-bottom: 12px;
}
.nhy-howwork-header .nhy-subtitle {
  font-size: 15px; color: rgba(255,255,255,.4); max-width: 480px; line-height: 1.75;
}

.nhy-howwork-layout {
  display: -ms-grid; display: grid;
  grid-template-columns: 1fr 1fr;
  -ms-grid-columns: 1fr 72px 1fr;
  gap: 72px;
  -webkit-box-align: center; align-items: center;
}

.nhy-hw-commitments {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal;
  -ms-flex-direction: column; flex-direction: column;
}
.nhy-hw-item {
  display: -ms-grid; display: grid;
  -ms-grid-columns: 48px 20px 1fr;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  -webkit-transition: all .3s; transition: all .3s;
}
.nhy-hw-item:first-child { padding-top: 0; }
.nhy-hw-item:last-child { border-bottom: none; }
.nhy-hw-num {
  font-family: 'Space Mono', monospace; font-size: 13px; font-weight: 700;
  color: rgba(255,255,255,.15);
  -webkit-transition: color .3s; transition: color .3s;
  padding-top: 2px;
}
.nhy-hw-item:hover .nhy-hw-num { color: var(--nhy-gold); }
.nhy-hw-item h4 {
  font-size: 15px; font-weight: 700; color: var(--nhy-white, #fff); margin-bottom: 6px;
}
.nhy-hw-item p {
  font-size: 13px; color: rgba(255,255,255,.4); line-height: 1.7;
}

.nhy-hw-quote {
  position: relative; padding: 48px 40px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
}
.nhy-hw-quote::before {
  content: '\201C'; position: absolute; top: 16px; left: 24px;
  font-family: 'Montserrat'; font-size: 80px; font-weight: 900;
  color: rgba(201,168,76,.12); line-height: 1;
}
.nhy-hw-quote blockquote {
  font-family: 'Montserrat'; font-size: 28px; font-weight: 800;
  color: var(--nhy-white, #fff); line-height: 1.4; margin-bottom: 16px;
  position: relative; z-index: 2;
}
.nhy-hw-quote .nhy-quote-sub {
  font-family: 'Montserrat'; font-size: 14px; font-weight: 500;
  color: rgba(255,255,255,.3); line-height: 1.6; font-style: italic;
}

/* === 2560px+ === */
@media (min-width: 2560px) {
  .nhy-howwork { padding: 140px 0; }
  .nhy-howwork-header h2 { font-size: 40px; }
  .nhy-howwork-header .nhy-subtitle { font-size: 17px; }
  .nhy-hw-quote blockquote { font-size: 36px; }
  .nhy-howwork-layout { gap: 100px; }
}

/* === Tablet === */
@media (max-width: 1080px) {
  .nhy-howwork-layout { grid-template-columns: 1fr; gap: 40px; }
}

/* === Mobile === */
@media (max-width: 640px) {
  .nhy-howwork { padding: 48px 0; }
  .nhy-howwork-header h2 { font-size: 24px; }
  .nhy-hw-quote { padding: 32px 24px; }
  .nhy-hw-quote blockquote { font-size: 20px; }
  .nhy-hw-item { grid-template-columns: 36px 1fr; gap: 14px; padding: 20px 0; }
}

/* ================================================== */
/* Philosophy */
/* ================================================== */
.nhy-philosophy {
  padding: 100px var(--nhy-pad, 56px);
  max-width: var(--nhy-max-w, 1400px);
  margin: 0 auto;
  border-bottom: 1px solid var(--nhy-gray-border, #E0E0E0);
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}
.nhy-philosophy-header { margin-bottom: 64px; text-align: center; }
.nhy-philosophy-header .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-philosophy-header h2 {
  font-family: 'Montserrat'; font-size: 32px; font-weight: 800;
  color: var(--nhy-black); line-height: 1.35;
}

.nhy-philosophy-grid {
  display: -ms-grid; display: grid;
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-columns: 1fr 1fr 1fr;
  gap: 0;
}
.nhy-phil-item {
  padding: 56px 40px; text-align: center;
  border-right: 1px solid var(--nhy-gray-border);
  position: relative;
}
.nhy-phil-item:last-child { border-right: none; }
.nhy-phil-num {
  font-family: 'Space Mono', monospace; font-size: 48px; font-weight: 700;
  color: var(--nhy-gold-dim, rgba(201,168,76,.15)); line-height: 1; margin-bottom: 20px;
}
.nhy-phil-item h3 {
  font-family: 'Montserrat'; font-size: 20px; font-weight: 800;
  color: var(--nhy-black); margin-bottom: 4px;
}
.nhy-phil-sub {
  font-family: 'Montserrat'; font-size: 13px; font-weight: 500;
  color: var(--nhy-gray); margin-bottom: 16px; letter-spacing: 1px;
}
.nhy-phil-item p {
  font-size: 13px; color: var(--nhy-gray); line-height: 1.75;
}

.nhy-philosophy-motto {
  margin-top: 64px; text-align: center;
  padding: 40px; background: var(--nhy-gray-bg, #F5F5F3);
}
.nhy-motto-main {
  font-family: 'Montserrat'; font-size: 22px; font-weight: 900;
  color: var(--nhy-black); margin-bottom: 8px; letter-spacing: 3px;
}
.nhy-motto-sub {
  font-family: 'Montserrat'; font-size: 14px; font-weight: 600;
  color: var(--nhy-gold); letter-spacing: 3px; text-transform: uppercase;
}

/* === 2560px+ === */
@media (min-width: 2560px) {
  .nhy-philosophy { padding: 140px var(--nhy-pad); }
  .nhy-philosophy-header h2 { font-size: 40px; }
  .nhy-phil-num { font-size: 60px; }
  .nhy-phil-item h3 { font-size: 24px; }
  .nhy-phil-item p { font-size: 15px; }
  .nhy-motto-main { font-size: 28px; }
}

/* === Tablet === */
@media (max-width: 1080px) {
  .nhy-philosophy-grid { grid-template-columns: 1fr; }
  .nhy-phil-item {
    border-right: none;
    border-bottom: 1px solid var(--nhy-gray-border);
    padding: 32px 24px;
  }
  .nhy-phil-item:last-child { border-bottom: none; }
}

/* === Mobile === */
@media (max-width: 640px) {
  .nhy-philosophy { padding: 48px var(--nhy-pad, 16px); }
  .nhy-philosophy-header h2 { font-size: 24px; }
  .nhy-phil-item { padding: 28px 16px; }
  .nhy-philosophy-motto { padding: 28px 16px; }
  .nhy-motto-main { font-size: 18px; letter-spacing: 2px; }
}

/* ================================================== */
/* CTA (Call to Action) */
/* ================================================== */
.nhy-cta {
  background: var(--nhy-black, #0A0A0A);
  padding: 100px var(--nhy-pad, 56px);
  text-align: center; position: relative;
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}
.nhy-cta-inner {
  max-width: 560px; margin: 0 auto;
}
.nhy-cta .nhy-sec-tag { color: var(--nhy-gold); }
.nhy-cta h2 {
  font-family: 'Montserrat'; font-size: 32px; font-weight: 800;
  color: var(--nhy-white, #fff); margin-bottom: 16px; line-height: 1.35;
}
.nhy-cta p {
  font-size: 14px; color: rgba(255,255,255,.55); line-height: 1.8; margin-bottom: 40px;
}

.nhy-cta-btns {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  gap: 16px;
}
/* gap fallback */
@supports not (gap: 1px) {
  .nhy-cta-btns > * + * { margin-left: 16px; }
}
.nhy-btn-w {
  padding: 14px 40px;
  background: var(--nhy-white, #fff);
  color: var(--nhy-black, #0A0A0A);
  font-size: 13px; font-weight: 600;
  text-decoration: none; letter-spacing: 1px;
  -webkit-transition: all .3s; transition: all .3s;
  display: inline-block;
}
.nhy-btn-w:hover { background: var(--nhy-gold); }
.nhy-btn-link {
  font-size: 13px; color: rgba(255,255,255,.4);
  text-decoration: none; letter-spacing: 1px;
  -webkit-transition: color .3s; transition: color .3s;
  display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  gap: 8px;
}
@supports not (gap: 1px) {
  .nhy-btn-link svg { margin-left: 8px; }
}
.nhy-btn-link:hover { color: var(--nhy-white, #fff); }
.nhy-btn-link svg {
  width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.5;
}

.nhy-cta-trust {
  margin-top: 40px;
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  gap: 12px; -ms-flex-wrap: wrap; flex-wrap: wrap;
}
@supports not (gap: 1px) {
  .nhy-cta-trust > * + * { margin-left: 12px; }
}
.nhy-cta-trust span {
  font-size: 11px; color: rgba(255,255,255,.4); letter-spacing: 1px; text-transform: uppercase;
}

/* === 2560px+ === */
@media (min-width: 2560px) {
  .nhy-cta { padding: 140px var(--nhy-pad); }
  .nhy-cta-inner { max-width: 700px; }
  .nhy-cta h2 { font-size: 40px; }
  .nhy-cta p { font-size: 17px; }
  .nhy-btn-w { padding: 18px 52px; font-size: 15px; }
}

/* === Mobile === */
@media (max-width: 640px) {
  .nhy-cta { padding: 48px var(--nhy-pad, 16px); }
  .nhy-cta h2 { font-size: 24px; }
  .nhy-cta p { font-size: 13px; }
  .nhy-cta-btns {
    -webkit-box-orient: vertical; -webkit-box-direction: normal;
    -ms-flex-direction: column; flex-direction: column;
    -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;
  }
  .nhy-cta-btns .nhy-btn-w { text-align: center; }
  .nhy-cta-btns .nhy-btn-link {
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    padding: 12px 0;
  }
  .nhy-cta-trust { gap: 8px; margin-top: 28px; }
  .nhy-cta-trust span { font-size: 9px; }
  /* gap fallback mobile */
  @supports not (gap: 1px) {
    .nhy-cta-btns > * + * { margin-left: 0; margin-top: 10px; }
  }
}