
:root {
  --ink: #071825;
  --ink-2: #0c2636;
  --paper: #f4f7f4;
  --white: #ffffff;
  --mist: #dce7e5;
  --line: rgba(7, 24, 37, 0.15);
  --green: #8ce100;
  --green-deep: #4e9d00;
  --cyan: #3ed7c3;
  --text: #152b37;
  --muted: #62747b;
  --max: 1240px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--text);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

button,
summary,
a {
  -webkit-tap-highlight-color: transparent;
}

.container {
  width: min(calc(100% - 64px), var(--max));
  margin: 0 auto;
}

.site-header {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  height: 80px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(5, 20, 30, 0.9);
  color: var(--white);
  backdrop-filter: blur(18px);
}

.header-inner {
  width: min(calc(100% - 40px), 1460px);
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 30px;
}

.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 12px;
}

.brand-logo {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.16));
}

.brand-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.brand-text strong {
  color: inherit;
  font-family: Arial, sans-serif;
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.brand-text small {
  color: rgba(255, 255, 255, 0.52);
  font-family: Arial, sans-serif;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.desktop-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.6vw, 28px);
}

.desktop-nav a {
  position: relative;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  transition: color 180ms ease;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 1px;
  background: var(--green);
  transition: right 180ms ease;
}

.desktop-nav a:hover,
.desktop-nav a:focus-visible {
  color: var(--white);
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after {
  right: 0;
}

.header-cta {
  display: inline-flex;
  height: 42px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  background: var(--green);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  transition: background 180ms ease, transform 180ms ease;
}

.header-cta:hover,
.header-cta:focus-visible {
  background: #a6f12b;
  transform: translateY(-1px);
}

.mobile-nav {
  display: none;
  margin-left: auto;
}

.mobile-nav summary {
  display: grid;
  width: 42px;
  height: 42px;
  cursor: pointer;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  list-style: none;
}

.mobile-nav summary::-webkit-details-marker {
  display: none;
}

.mobile-nav-panel {
  position: fixed;
  inset: 80px 0 auto;
  display: grid;
  padding: 24px;
  background: var(--ink);
  border-top: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 50px rgba(0,0,0,.28);
}

.mobile-nav-panel a {
  padding: 15px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: 14px;
  font-weight: 700;
}

.mobile-nav-panel .mobile-contact {
  margin-top: 16px;
  padding: 15px;
  border: 0;
  background: var(--green);
  color: var(--ink);
  text-align: center;
}

.hero {
  position: relative;
  min-height: 820px;
  overflow: hidden;
  background: var(--ink);
  color: var(--white);
}

.hero-grid,
.contact-grid {
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, black, transparent 75%);
}

.hero-media {
  position: absolute;
  inset: 0;
}

.hero-media::before {
  display: none;
}

.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.72) contrast(1.06) brightness(.88);
}

.hero-media-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7,24,37,.08), rgba(7,24,37,.48)),
    linear-gradient(90deg, rgba(7,24,37,.98) 0%, rgba(7,24,37,.9) 31%, rgba(7,24,37,.56) 50%, rgba(7,24,37,.12) 78%);
}

.image-note {
  position: absolute;
  right: 28px;
  bottom: 28px;
  color: rgba(255,255,255,.7);
  font-size: 10px;
  letter-spacing: .12em;
}

.hero-content {
  position: relative;
  z-index: 3;
  padding-top: 190px;
  padding-bottom: 74px;
}

.hero-kicker,
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .19em;
}

.eyebrow span {
  width: 34px;
  height: 1px;
  background: currentColor;
}

.hero h1 {
  max-width: 900px;
  margin: 0;
  color: var(--white);
  font-size: clamp(54px, 6.6vw, 98px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.055em;
}

.hero h1 span {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.76);
}

.hero-copy {
  max-width: 660px;
  margin: 34px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 2;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 38px;
}

.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 24px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 800;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button-primary {
  background: var(--green);
  color: var(--ink);
}

.button-primary:hover,
.button-primary:focus-visible {
  background: #a7f331;
}

.button-ghost {
  border-color: rgba(255,255,255,.35);
  color: var(--white);
  background: rgba(7,24,37,.24);
  backdrop-filter: blur(8px);
}

.button-ghost:hover,
.button-ghost:focus-visible {
  border-color: var(--white);
  background: rgba(255,255,255,.08);
}

.hero-proof {
  display: grid;
  width: min(100%, 720px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 58px;
  border-left: 2px solid var(--green);
  background: rgba(7,24,37,.7);
  backdrop-filter: blur(10px);
}

.hero-proof div {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 18px 20px;
  border-right: 1px solid rgba(255,255,255,.12);
}

.hero-proof div:last-child {
  border-right: 0;
}

.hero-proof strong {
  font-family: Arial, sans-serif;
  font-size: 15px;
  letter-spacing: .02em;
}

.hero-proof span {
  color: rgba(255,255,255,.58);
  font-size: 11px;
}

.hero-index {
  position: absolute;
  z-index: 3;
  right: 24px;
  top: 50%;
  writing-mode: vertical-rl;
  color: rgba(255,255,255,.5);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .2em;
}

.section-dark {
  background: var(--ink);
  color: var(--white);
}

.section-light {
  background: var(--paper);
}

.section-heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.045em;
}

.section-heading-light h2 {
  color: var(--white);
}

.section-lead {
  max-width: 690px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 2;
}

.section-heading-light .section-lead {
  color: rgba(255,255,255,.6);
}

.business-overview {
  padding: 130px 0 120px;
}

.business-overview-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 80px;
  align-items: end;
}

.business-overview-intro > p {
  margin: 0 0 8px;
  color: rgba(255,255,255,.68);
  font-size: 15px;
  line-height: 2.1;
}

.business-scope-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 74px;
  border-top: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.business-scope-grid .business-scope-card {
  min-height: 310px;
  padding: 30px 26px 34px;
  border-right: 1px solid rgba(255,255,255,.16);
  transition: background 180ms ease, transform 180ms ease;
}

.business-scope-grid .business-scope-card:first-child {
  border-left: 1px solid rgba(255,255,255,.16);
}

.business-scope-grid .business-scope-card:hover {
  background: rgba(255,255,255,.055);
  transform: translateY(-5px);
}

.business-scope-grid .business-scope-card {
  position: relative;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.business-scope-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 24px;
  color: rgba(255,255,255,.78);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  transition: color 180ms ease, gap 180ms ease;
}

.business-scope-card:hover .business-scope-link,
.business-scope-card:focus-visible .business-scope-link {
  color: var(--green);
  gap: 12px;
}

.business-scope-card:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: -2px;
}

.business-scope-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.business-scope-top span {
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.business-scope-top small {
  color: rgba(255,255,255,.36);
  font-family: Arial, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
  text-align: right;
}

.business-scope-grid h3 {
  margin: 70px 0 18px;
  color: var(--white);
  font-size: 23px;
  letter-spacing: -.025em;
}

.business-scope-grid p {
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 13px;
  line-height: 1.95;
}

.business-overview-footer {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 28px;
  padding: 24px 0 0;
}

.business-overview-footer strong {
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .16em;
}

.business-overview-footer span {
  color: rgba(255,255,255,.48);
  font-size: 12px;
}

.business-overview-footer a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--green);
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
}

.strengths {
  padding: 130px 0;
}

.strength-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 70px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.strength-card {
  min-height: 300px;
  padding: 30px 26px 34px;
  border-right: 1px solid var(--line);
  transition: background 180ms ease, transform 180ms ease;
}

.strength-card:first-child {
  border-left: 1px solid var(--line);
}

.strength-card:hover {
  background: var(--white);
  transform: translateY(-5px);
}

.strength-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--green-deep);
}

.strength-card-top span {
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.strength-card h3 {
  margin: 66px 0 18px;
  color: var(--ink);
  font-size: 19px;
  letter-spacing: -.02em;
}

.strength-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}

.service {
  position: relative;
  overflow: hidden;
  padding: 140px 0;
}

.service-grid-scale {
  background: #e6f0ed;
}

.service-high-voltage {
  background: #dce9e5;
}

.service-low-voltage {
  background: #d9e4c6;
}

.service::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .4;
  background-image: radial-gradient(rgba(7,24,37,.15) 1px, transparent 1px);
  background-size: 20px 20px;
  mask-image: linear-gradient(90deg, black, transparent 60%);
}

.service-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(340px, .95fr) minmax(420px, 1.05fr);
  gap: 100px;
}

.service h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(52px, 6vw, 82px);
  line-height: 1.1;
  letter-spacing: -.06em;
}

.service-tagline {
  margin: 28px 0 0;
  color: var(--green-deep);
  font-size: 18px;
  font-weight: 700;
}

.service-copy > p {
  margin: 0 0 18px;
  color: #425961;
  font-size: 15px;
  line-height: 2;
}

.service-number {
  position: absolute;
  right: -20px;
  bottom: -55px;
  color: rgba(7,24,37,.055);
  font-family: Arial, sans-serif;
  font-size: 290px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.08em;
}

.check-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 36px 0;
  border-top: 1px solid rgba(7,24,37,.15);
}

.check-list span {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(7,24,37,.15);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

.check-list span:nth-child(odd) {
  border-right: 1px solid rgba(7,24,37,.15);
}

.check-list svg {
  color: var(--green-deep);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  transition: gap 180ms ease, color 180ms ease;
}

.text-link:hover,
.text-link:focus-visible {
  gap: 22px;
  color: var(--green-deep);
}

.low-voltage-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 36px 0;
  border: 1px solid rgba(7,24,37,.16);
}

.low-voltage-facts div {
  min-height: 110px;
  padding: 22px;
  border-right: 1px solid rgba(7,24,37,.16);
}

.low-voltage-facts div:last-child {
  border: 0;
}

.low-voltage-facts span {
  display: block;
  margin-bottom: 18px;
  color: #668053;
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
}

.low-voltage-facts strong {
  font-size: 13px;
}

.service-links {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
}

.muted-link {
  color: #53665a;
}

.products {
  padding: 130px 0;
}

.products-heading-row {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 90px;
  align-items: end;
}

.products-caution {
  margin: 0 0 8px;
  padding: 18px 0 18px 22px;
  border-left: 2px solid var(--green);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.9;
}

.product-list {
  margin-top: 70px;
  border-top: 1px solid var(--line);
}

.product-list article {
  display: grid;
  grid-template-columns: 60px 58px 1fr 30px;
  min-height: 114px;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  transition: background 180ms ease, padding 180ms ease;
}

.product-list article:hover {
  padding: 0 22px;
  background: var(--white);
}

.product-index {
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
}

.product-list article > svg:not(.product-arrow) {
  color: var(--ink);
}

.product-list small {
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}

.product-list h3 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 22px;
  letter-spacing: -.03em;
}

.product-arrow {
  color: var(--green-deep);
}

.products-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 28px;
}

.products-footer > span {
  color: var(--muted);
  font-size: 11px;
}

.epc {
  padding: 140px 0;
}

.epc-layout {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 110px;
}

.epc-sticky {
  align-self: start;
}

.epc-sticky .button {
  margin-top: 40px;
}

.epc-steps {
  border-top: 1px solid rgba(255,255,255,.15);
}

.epc-steps article {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 22px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
}

.epc-steps article > span {
  padding-top: 4px;
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
}

.epc-steps h3 {
  margin: 0 0 10px;
  font-size: 19px;
}

.epc-steps p {
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 13px;
  line-height: 1.9;
}

.projects {
  padding: 130px 0;
}

.projects-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}

.project-status-card {
  position: relative;
  overflow: hidden;
  padding: 42px;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 24px 70px rgba(7,24,37,.08);
}

.project-status-card::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 180px;
  height: 180px;
  border: 40px solid rgba(140,225,0,.1);
  border-radius: 50%;
}

.status-line {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 6px rgba(140,225,0,.16);
}

.project-status-card h3 {
  margin: 42px 0 10px;
  color: var(--muted);
  font-size: 13px;
}

.project-status-card > strong {
  display: block;
  color: var(--ink);
  font-size: clamp(28px, 3vw, 42px);
  letter-spacing: -.04em;
}

.project-status-card > p {
  margin: 18px 0 34px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

.status-process {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--line);
}

.status-process span {
  position: relative;
  padding-top: 22px;
  color: #9aa5a8;
  font-size: 10px;
  text-align: center;
}

.status-process span::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  background: transparent;
}

.status-process .done,
.status-process .active {
  color: var(--ink);
  font-weight: 700;
}

.status-process .done::before,
.status-process .active::before {
  background: var(--green);
}

.status-process .active::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  transform: translateX(-50%);
}

.insights {
  padding: 130px 0;
  background: var(--white);
}

.insights-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.coming-label {
  margin-bottom: 8px;
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
}

.topic-list {
  margin-top: 62px;
  border-top: 1px solid var(--line);
}

.topic-list article,
.topic-list .top-topic-link {
  display: grid;
  grid-template-columns: 60px 140px 1fr 70px;
  align-items: center;
  gap: 20px;
  min-height: 100px;
  border-bottom: 1px solid var(--line);
}

.topic-no {
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
}

.topic-category {
  color: var(--muted);
  font-size: 11px;
}

.topic-list h3 {
  margin: 0;
  color: var(--ink);
  font-size: 17px;
}

.topic-status {
  padding: 6px 8px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.company {
  padding: 130px 0;
}

.company-layout {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 100px;
}

.company-copy {
  max-width: 500px;
  margin: 28px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 2;
}

.company-data {
  margin: 0;
  border-top: 1px solid var(--line);
}

.company-data div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 30px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.company-data dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.company-data dd {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.8;
}

.company-data a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.contact {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background: var(--green);
  color: var(--ink);
}

.contact-grid {
  opacity: .18;
  background-image:
    linear-gradient(rgba(7,24,37,.28) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,24,37,.28) 1px, transparent 1px);
  mask-image: linear-gradient(90deg, black, transparent);
}

.contact-layout {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 90px;
  align-items: center;
}

.contact .eyebrow {
  color: var(--ink);
}

.contact h2 {
  margin: 0;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.3;
  letter-spacing: -.05em;
}

.contact-layout > div:first-child > p:last-child {
  max-width: 670px;
  margin: 25px 0 0;
  color: rgba(7,24,37,.72);
  font-size: 14px;
  line-height: 2;
}

.contact-actions {
  display: grid;
  gap: 10px;
}

.contact-actions > a {
  display: grid;
  grid-template-columns: 28px 1fr 24px;
  min-height: 88px;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  background: var(--ink);
  color: var(--white);
  transition: transform 180ms ease, background 180ms ease;
}

.contact-actions > a:hover,
.contact-actions > a:focus-visible {
  transform: translateX(5px);
  background: var(--ink-2);
}

.contact-actions span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-actions small {
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .16em;
}

.contact-actions strong {
  font-size: 17px;
}

.site-footer {
  padding: 82px 0 24px;
  background: #04131d;
  color: var(--white);
}

.footer-main {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 100px;
  padding-bottom: 60px;
}

.footer-brand p {
  margin: 28px 0 0;
  color: rgba(255,255,255,.46);
  font-size: 13px;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px;
}

.footer-links div {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-links strong {
  margin-bottom: 6px;
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .16em;
}

.footer-links a {
  width: fit-content;
  color: rgba(255,255,255,.6);
  font-size: 11px;
  transition: color 180ms ease;
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: var(--white);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.34);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .08em;
}

.footer-location {
  display: flex;
  align-items: center;
  gap: 7px;
}

@media (max-width: 1120px) {
  .desktop-nav {
    display: none;
  }

  .mobile-nav {
    display: block;
  }

  .header-cta {
    margin-left: auto;
  }

  .mobile-nav {
    margin-left: 0;
  }

  .strength-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .strength-card:nth-child(3) {
    border-left: 1px solid var(--line);
    border-top: 1px solid var(--line);
  }

  .strength-card:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .business-scope-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .business-scope-grid .business-scope-card:nth-child(3) {
    border-left: 1px solid rgba(255,255,255,.16);
    border-top: 1px solid rgba(255,255,255,.16);
  }

  .business-scope-grid .business-scope-card:nth-child(4) {
    border-top: 1px solid rgba(255,255,255,.16);
  }

  .service-layout,
  .epc-layout {
    gap: 65px;
  }
}

@media (max-width: 820px) {
  .container {
    width: min(calc(100% - 40px), var(--max));
  }

  .site-header {
    height: 70px;
  }

  .header-inner {
    width: calc(100% - 28px);
  }

  .header-cta {
    display: none;
  }

  .mobile-nav-panel {
    inset: 70px 0 auto;
  }

  .hero {
    min-height: 780px;
  }

  .hero-media {
    inset: 0;
    opacity: .55;
  }

  .hero-media::before {
    display: none;
  }

  .hero-media-overlay {
    background: linear-gradient(180deg, rgba(7,24,37,.35), rgba(7,24,37,.96) 75%);
  }

  .hero-content {
    padding-top: 150px;
  }

  .hero h1 {
    font-size: clamp(43px, 11vw, 68px);
  }

  .hero-copy {
    font-size: 14px;
  }

  .hero-proof {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 40px;
  }

  .hero-proof div:nth-child(2) {
    border-right: 0;
  }

  .hero-proof div:nth-child(n + 3) {
    border-top: 1px solid rgba(255,255,255,.12);
  }

  .hero-proof span {
    font-size: 9px;
  }

  .business-overview,
  .strengths,
  .products,
  .epc,
  .projects,
  .insights,
  .company {
    padding: 92px 0;
  }

  .business-overview-intro,
  .service-layout,
  .products-heading-row,
  .epc-layout,
  .projects-layout,
  .company-layout,
  .contact-layout,
  .footer-main {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .business-overview-footer {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .service {
    padding: 96px 0;
  }

  .service h2 {
    font-size: clamp(46px, 14vw, 70px);
  }

  .low-voltage-facts {
    grid-template-columns: 1fr;
  }

  .low-voltage-facts div {
    min-height: 90px;
    border-right: 0;
    border-bottom: 1px solid rgba(7,24,37,.16);
  }

  .products-caution {
    margin-top: 0;
  }

  .products-footer,
  .insights-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .topic-list article,
.topic-list .top-topic-link {
    grid-template-columns: 42px 100px 1fr;
    padding: 20px 0;
  }

  .topic-status {
    display: none;
  }

  .contact {
    padding: 88px 0;
  }

  .footer-links {
    gap: 22px;
  }
}

@media (max-width: 560px) {
  .brand-text strong {
    font-size: 16px;
  }

  .brand-text small {
    display: none;
  }

  .brand-logo {
    width: 36px;
    height: 36px;
  }

  .hero-kicker,
  .eyebrow {
    font-size: 9px;
  }

  .hero h1 {
    font-size: 43px;
  }

  .hero h1 span {
    -webkit-text-stroke: 0;
    color: var(--white);
  }

  .hero-actions,
  .button {
    width: 100%;
  }

  .hero-proof {
    width: 100%;
  }

  .section-heading h2 {
    font-size: 34px;
  }

  .strength-grid {
    grid-template-columns: 1fr;
  }

  .strength-card,
  .strength-card:nth-child(3),
  .strength-card:nth-child(4) {
    min-height: 240px;
    border: 1px solid var(--line);
    border-bottom: 0;
  }

  .strength-card:last-child {
    border-bottom: 1px solid var(--line);
  }

  .strength-card h3 {
    margin-top: 42px;
  }

  .business-scope-grid {
    grid-template-columns: 1fr;
  }

  .business-scope-grid article,
  .business-scope-grid article:nth-child(3),
  .business-scope-grid .business-scope-card:nth-child(4) {
    min-height: 240px;
    border: 1px solid rgba(255,255,255,.16);
    border-bottom: 0;
  }

  .business-scope-grid article:last-child {
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .business-scope-grid h3 {
    margin-top: 42px;
  }

  .check-list {
    grid-template-columns: 1fr;
  }

  .check-list span:nth-child(odd) {
    border-right: 0;
  }

  .product-list article {
    grid-template-columns: 38px 38px 1fr 20px;
    gap: 10px;
  }

  .product-list h3 {
    font-size: 18px;
  }

  .product-list small {
    font-size: 7px;
  }

  .project-status-card {
    padding: 28px 22px;
  }

  .topic-list article,
.topic-list .top-topic-link {
    grid-template-columns: 36px 1fr;
    gap: 8px 12px;
  }

  .topic-category {
    grid-column: 2;
  }

  .topic-list h3 {
    grid-column: 2;
    font-size: 15px;
  }

  .company-data div {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .contact-actions > a {
    grid-template-columns: 24px 1fr 20px;
    padding: 16px;
  }

  .contact-actions strong {
    font-size: 15px;
  }

  .footer-links {
    grid-template-columns: 1fr 1fr;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
  }
}

/* Content pages */
/* Temporary image slots for content planning. Replace with approved photography/CGI later. */
.visual-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 56px;
}

.visual-placeholder {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  border: 1px solid rgba(7,24,37,.18);
  background:
    radial-gradient(circle at 78% 18%, rgba(140,225,0,.18), transparent 27%),
    linear-gradient(135deg, rgba(7,24,37,.94), rgba(16,57,61,.86));
  color: var(--white);
}

.visual-placeholder-compact {
  min-height: 210px;
}

.visual-placeholder-grid {
  position: absolute;
  inset: 0;
  opacity: .16;
  background-image:
    linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
  background-size: 36px 36px;
}

.visual-placeholder::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 14px;
  color: rgba(255,255,255,.35);
  font-family: Arial, sans-serif;
  font-size: 64px;
  font-weight: 200;
  line-height: 1;
}

.visual-placeholder > span,
.visual-placeholder > strong,
.visual-placeholder > small {
  position: relative;
  z-index: 1;
}

.visual-placeholder > span {
  margin-bottom: 10px;
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .17em;
}

.visual-placeholder > strong {
  font-size: 18px;
  line-height: 1.45;
}

.visual-placeholder > small {
  margin-top: 8px;
  color: rgba(255,255,255,.46);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: .12em;
}

.page-section-body > .visual-placeholder {
  margin-top: 42px;
}

.subpage-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  align-items: end;
  gap: 70px;
}

.subpage-hero-layout .visual-placeholder {
  min-height: 330px;
  border-color: rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 76% 18%, rgba(140,225,0,.24), transparent 27%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.015));
  backdrop-filter: blur(3px);
}

.subpage-header {
  background: rgba(5, 20, 30, 0.97);
}

.subpage-main {
  background: var(--paper);
}

.subpage-hero {
  position: relative;
  overflow: hidden;
  min-height: 600px;
  padding: 142px 0 92px;
  color: var(--white);
  background: var(--ink);
}

.subpage-hero::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -220px;
  width: 620px;
  height: 620px;
  border: 120px solid rgba(255,255,255,.035);
  border-radius: 50%;
}

.subpage-hero-green {
  background:
    radial-gradient(circle at 85% 30%, rgba(140,225,0,.24), transparent 32%),
    var(--ink);
}

.subpage-hero-blue {
  background:
    radial-gradient(circle at 82% 26%, rgba(62,215,195,.2), transparent 34%),
    var(--ink);
}

.subpage-hero-dark {
  background:
    radial-gradient(circle at 82% 26%, rgba(255,255,255,.08), transparent 34%),
    #030f17;
}

.subpage-hero-grid {
  position: absolute;
  inset: 0;
  opacity: .26;
  background-image:
    linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, black, transparent 80%);
}

.subpage-hero .container {
  position: relative;
  z-index: 2;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-bottom: 78px;
  color: rgba(255,255,255,.45);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .08em;
}

.breadcrumb span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.breadcrumb i {
  color: var(--green);
  font-style: normal;
}

.breadcrumb b {
  color: rgba(255,255,255,.75);
  font-weight: 600;
}

.subpage-eyebrow {
  margin: 0 0 22px;
  color: var(--green);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2em;
}

.subpage-hero h1 {
  max-width: 1050px;
  margin: 0;
  font-size: clamp(52px, 7vw, 96px);
  line-height: 1.05;
  letter-spacing: -.065em;
}

.subpage-intro {
  max-width: 790px;
  margin: 38px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 16px;
  line-height: 2;
}

.page-highlights {
  position: relative;
  z-index: 3;
  margin-top: -42px;
}

.page-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--white);
  box-shadow: 0 22px 60px rgba(7,24,37,.1);
}

.page-highlight-grid > div {
  min-height: 132px;
  padding: 30px 26px;
  border-right: 1px solid var(--line);
}

.page-highlight-grid > div:last-child {
  border-right: 0;
}

.page-highlight-grid span {
  display: block;
  margin-bottom: 26px;
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
}

.page-highlight-grid strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.6;
}

.page-notice {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 25px;
  margin-top: 72px;
  padding: 22px 26px;
  border-left: 3px solid var(--green);
  background: #e5ecdf;
}

.page-notice strong {
  padding-top: 4px;
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .16em;
}

.page-notice p {
  margin: 0;
  color: #53655e;
  font-size: 12px;
  line-height: 1.9;
}

.page-section {
  padding: 118px 0;
}

.page-section-light {
  background: var(--paper);
}

.page-section-mist {
  background: #e4eeeb;
}

.page-section-dark {
  background: var(--ink);
  color: var(--white);
}

.page-section-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 100px;
}

.page-section h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.38;
  letter-spacing: -.045em;
  white-space: pre-line;
}

.page-section-dark h2 {
  color: var(--white);
}

.page-section-body {
  padding-top: 34px;
}

.page-section-copy {
  margin: 0;
  color: #50656d;
  font-size: 15px;
  line-height: 2.15;
  white-space: pre-line;
}

.page-section-dark .page-section-copy {
  color: rgba(255,255,255,.62);
}

.page-bullet-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 38px 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.page-bullet-list li {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 11px;
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.page-bullet-list li:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.page-bullet-list svg {
  flex: 0 0 auto;
  color: var(--green-deep);
}

.section-note {
  margin: 32px 0 0;
  padding: 18px 20px;
  border-left: 2px solid var(--green);
  background: rgba(255,255,255,.55);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.9;
}

.page-direct-link {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 13px;
  margin-top: 34px;
  padding: 16px 20px;
  background: var(--ink);
  color: var(--white);
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
}

.page-direct-link svg:first-child {
  color: var(--green);
}

.related-pages {
  padding: 90px 0 105px;
  background: var(--white);
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.related-grid a {
  display: flex;
  min-height: 110px;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 25px;
  border-right: 1px solid var(--line);
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  transition: background 180ms ease, padding 180ms ease;
}

.related-grid a:last-child {
  border-right: 0;
}

.related-grid a:hover,
.related-grid a:focus-visible {
  padding-left: 31px;
  background: #eef4ed;
}

.related-grid svg {
  flex: 0 0 auto;
  color: var(--green-deep);
}

.subpage-contact {
  padding: 96px 0;
}

@media (max-width: 820px) {
  .visual-strip {
    grid-template-columns: 1fr;
  }

  .subpage-hero-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .subpage-hero-layout .visual-placeholder {
    min-height: 220px;
  }

  .subpage-hero {
    min-height: 540px;
    padding: 120px 0 74px;
  }

  .breadcrumb {
    margin-bottom: 60px;
  }

  .subpage-hero h1 {
    font-size: clamp(46px, 13vw, 72px);
  }

  .subpage-intro {
    font-size: 14px;
  }

  .page-highlight-grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-highlight-grid > div:nth-child(2) {
    border-right: 0;
  }

  .page-highlight-grid > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }

  .page-section {
    padding: 90px 0;
  }

  .page-section-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .page-section-body {
    padding-top: 16px;
  }

  .related-grid {
    grid-template-columns: 1fr;
  }

  .related-grid a,
  .related-grid a:last-child {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .related-grid a:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 560px) {
  .page-highlight-grid {
    grid-template-columns: 1fr;
  }

  .page-highlight-grid > div,
  .page-highlight-grid > div:nth-child(2),
  .page-highlight-grid > div:nth-child(-n+2) {
    min-height: 108px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .page-highlight-grid > div:last-child {
    border-bottom: 0;
  }

  .page-highlight-grid span {
    margin-bottom: 16px;
  }

  .page-notice {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 52px;
  }

  .page-bullet-list {
    grid-template-columns: 1fr;
  }

  .page-bullet-list li:nth-child(odd) {
    border-right: 0;
  }

  .page-direct-link {
    width: 100%;
    font-size: 13px;
  }
}

/* STEP1 TOP renewal — 2026-08-28 */
.business-scope-icon {
  margin-top: 46px;
  color: var(--green);
}
.business-scope-grid h3 { margin-top: 18px; }

.storage-types {
  padding: 130px 0;
  background: #eef3ef;
}
.storage-split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 68px;
}
.storage-type-card {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  padding: 42px;
  border: 1px solid var(--line);
  background: var(--white);
}
.storage-type-card::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -120px;
  width: 290px;
  height: 290px;
  border: 54px solid rgba(140,225,0,.08);
  border-radius: 50%;
}
.storage-type-high { background: #dce9e5; }
.storage-type-low { background: #edf4df; }
.storage-type-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: var(--green-deep);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}
.storage-type-card h3 {
  margin: 86px 0 22px;
  color: var(--ink);
  font-size: clamp(32px, 3.3vw, 50px);
  letter-spacing: -.05em;
}
.storage-type-card > p {
  max-width: 580px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 2;
}
.storage-type-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 34px 0 38px;
}
.storage-type-tags span {
  padding: 7px 10px;
  border: 1px solid rgba(7,24,37,.16);
  background: rgba(255,255,255,.52);
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
}

.products-manst { background: var(--white); }
.manst-reference-card {
  display: grid;
  grid-template-columns: 160px 1fr;
  align-items: center;
  gap: 18px;
  margin: 0 0 8px;
  padding: 18px;
  border: 1px solid var(--line);
  background: #f7faf8;
}
.manst-reference-card img {
  width: 160px;
  height: 110px;
  object-fit: contain;
  background: #fff;
}
.manst-reference-card div { display: flex; flex-direction: column; gap: 6px; }
.manst-reference-card span,
.manst-reference-card small {
  color: var(--muted);
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: .12em;
}
.manst-reference-card strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
}
.manst-reference-card small { line-height: 1.6; letter-spacing: 0; }
.epc-sticky .visual-placeholder { margin-top: 34px; }

.strength-grid-three { grid-template-columns: repeat(3, 1fr); }
.strength-grid-three .strength-card:nth-child(3) { border-top: 0; }

.projects-map-section {
  padding: 130px 0;
  background: #071825;
  color: var(--white);
}
.projects-map-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 70px;
  align-items: end;
}
.project-summary-numbers {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px,1fr));
  border: 1px solid rgba(255,255,255,.16);
}
.project-summary-numbers div {
  min-width: 190px;
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.16);
}
.project-summary-numbers div:last-child { border-right: 0; }
.project-summary-numbers span,
.project-summary-numbers small {
  display: block;
  color: rgba(255,255,255,.48);
  font-family: Arial, sans-serif;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
}
.project-summary-numbers strong {
  display: block;
  margin: 12px 0 5px;
  color: var(--green);
  font-size: 30px;
  letter-spacing: -.04em;
}
.projects-map-layout {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 70px;
  align-items: center;
  margin-top: 74px;
}
.japan-project-map {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    #091f2d;
  background-size: 44px 44px;
}
.japan-project-map svg {
  position: absolute;
  inset: 30px 28px 26px;
  width: calc(100% - 56px);
  height: calc(100% - 56px);
}
.map-land { fill: #24404d; stroke: rgba(255,255,255,.25); stroke-width: 1.5; }
.map-connection { fill: none; stroke: rgba(140,225,0,.32); stroke-width: 1.5; stroke-dasharray: 5 6; }
.map-points circle { fill: var(--green); }
.map-points .pulse { fill: rgba(140,225,0,.12); stroke: rgba(140,225,0,.38); stroke-width: 1; }
.map-label {
  position: absolute;
  min-width: 128px;
  padding: 10px 12px;
  border-left: 2px solid var(--green);
  background: rgba(4,19,29,.82);
  backdrop-filter: blur(8px);
}
.map-label span,
.map-label small {
  display: block;
  color: rgba(255,255,255,.52);
  font-family: Arial, sans-serif;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .13em;
}
.map-label strong { display:block; margin:5px 0 3px; font-size:17px; }
.map-label-kansai { left: 10%; top: 38%; }
.map-label-chubu { right: 7%; top: 31%; }
.map-label-other { right: 8%; bottom: 10%; }
.project-region-list { border-top: 1px solid rgba(255,255,255,.16); }
.project-region-list article {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 18px;
  min-height: 106px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.project-region-list article > span {
  color: var(--green);
  font-family: Arial,sans-serif;
  font-size: 10px;
  font-weight: 800;
}
.project-region-list small { color: rgba(255,255,255,.4); font-family:Arial,sans-serif; font-size:8px; letter-spacing:.12em; }
.project-region-list h3 { margin: 6px 0 0; font-size: 16px; }
.project-region-list article > strong { color: var(--white); font-size: 24px; }
.project-high-row > strong { color: var(--green) !important; }
.project-count-note { margin: 22px 0 0; color: rgba(255,255,255,.48); font-size: 10px; line-height: 1.8; }

.land-callout { padding: 130px 0; }
.land-callout-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 80px;
  align-items: center;
}
.land-point-list {
  display: grid;
  gap: 0;
  margin: 36px 0 38px;
  border-top: 1px solid var(--line);
}
.land-point-list span {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}
.land-point-list svg { color: var(--green-deep); }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover,.button-dark:focus-visible { background: var(--ink-2); }

.contact-split { padding: 110px 0 96px; }
.contact-split-head {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 80px;
  align-items: end;
}
.contact-split-head > p {
  margin: 0 0 6px;
  color: rgba(7,24,37,.7);
  font-size: 13px;
  line-height: 1.9;
}
.contact-split-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 48px;
}
.contact-split-grid > a {
  position: relative;
  min-height: 230px;
  padding: 28px;
  background: var(--ink);
  color: var(--white);
  transition: transform 180ms ease, background 180ms ease;
}
.contact-split-grid > a:hover,
.contact-split-grid > a:focus-visible { transform: translateY(-5px); background: var(--ink-2); }
.contact-split-grid > a > span {
  color: var(--green);
  font-family: Arial,sans-serif;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
}
.contact-split-grid h3 { margin: 54px 0 14px; font-size: 20px; }
.contact-split-grid p { margin: 0; color: rgba(255,255,255,.56); font-size: 11px; line-height: 1.8; }
.contact-split-grid svg { position: absolute; right: 24px; bottom: 24px; color: var(--green); }
.contact-direct {
  position: relative;
  display: flex;
  gap: 30px;
  margin-top: 24px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}
.contact-direct a { display: inline-flex; align-items:center; gap:8px; }

@media (max-width: 1120px) {
  .strength-grid-three { grid-template-columns: repeat(3, 1fr); }
  .strength-grid-three .strength-card:nth-child(3) { border-left: 0; border-top: 0; }
  .projects-map-heading { grid-template-columns: 1fr; }
  .project-summary-numbers { width: fit-content; }
  .projects-map-layout { grid-template-columns: 1fr; }
  .japan-project-map { min-height: 520px; }
}

@media (max-width: 820px) {
  .storage-split-grid,
  .products-heading-row,
  .land-callout-layout,
  .contact-split-head,
  .contact-split-grid { grid-template-columns: 1fr; }
  .storage-type-card { min-height: 0; padding: 32px 26px; }
  .storage-type-card h3 { margin-top: 56px; }
  .manst-reference-card { margin-top: 28px; }
  .strength-grid-three { grid-template-columns: 1fr; }
  .strength-grid-three .strength-card,
  .strength-grid-three .strength-card:nth-child(3) { border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
  .strength-grid-three .strength-card:first-child { border-top: 0; }
  .projects-map-section { padding: 100px 0; }
  .project-summary-numbers { width: 100%; grid-template-columns: 1fr 1fr; }
  .project-summary-numbers div { min-width: 0; }
  .japan-project-map { min-height: 470px; }
  .contact-split-grid > a { min-height: 190px; }
  .contact-split-grid h3 { margin-top: 40px; }
}

@media (max-width: 560px) {
  .storage-types,.land-callout { padding: 88px 0; }
  .storage-split-grid { margin-top: 42px; }
  .manst-reference-card { grid-template-columns: 105px 1fr; }
  .manst-reference-card img { width: 105px; height: 84px; }
  .project-summary-numbers { grid-template-columns: 1fr; }
  .project-summary-numbers div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .project-summary-numbers div:last-child { border-bottom: 0; }
  .japan-project-map { min-height: 410px; }
  .map-label { min-width: 104px; padding: 8px; }
  .map-label strong { font-size: 14px; }
  .project-region-list article { grid-template-columns: 32px 1fr auto; gap: 10px; }
  .project-region-list article > strong { font-size: 18px; }
  .contact-direct { flex-direction: column; gap: 12px; }
}
.icon-dot{display:inline-grid;width:25px;height:25px;place-items:center;border:1px solid currentColor;border-radius:50%;font-family:Arial;font-size:12px}.arrow{font-family:Arial;font-size:18px}.checkmark{color:var(--green-deep);font-weight:900;margin-right:9px}.contact-actions .mini-icon{color:var(--green);font-size:18px}.footer-location .mini-icon{font-size:12px}.product-list .mini-icon{font-size:20px}.strength-card-top .mini-icon{font-size:18px}.mobile-nav summary{font-size:20px}.business-scope-icon{display:block;font-size:25px}.contact-split-grid .arrow{position:absolute;right:24px;bottom:24px;color:var(--green)}

/* STEP1 image integration v3 */
.storage-type-card { padding: 28px 28px 34px; }
.storage-type-media { position: relative; margin: 24px 0 0; overflow: hidden; border: 1px solid rgba(7,24,37,.12); background: #fff; }
.storage-type-media img { display: block; width: 100%; height: 230px; object-fit: cover; }
.storage-type-media figcaption { position: absolute; left: 12px; bottom: 12px; padding: 6px 8px; background: rgba(7,24,37,.78); color: #fff; font-family: Arial,sans-serif; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.storage-type-card h3 { margin: 34px 0 18px; }

.manst-showcase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; min-width: 460px; }
.manst-product-card { margin:0; padding:14px; border:1px solid var(--line); background:#f7faf8; }
.manst-product-card img { display:block; width:100%; height:170px; object-fit:contain; background:#fff; }
.manst-product-card figcaption { display:flex; flex-direction:column; gap:5px; padding-top:12px; }
.manst-product-card span,.manst-product-card small { color:var(--muted); font-family:Arial,sans-serif; font-size:8px; letter-spacing:.1em; }
.manst-product-card strong { color:var(--ink); font-size:13px; line-height:1.4; }

.section-photo { position:relative; margin:34px 0 0; overflow:hidden; border:1px solid rgba(7,24,37,.14); background:#dfe6e2; }
.section-photo img { display:block; width:100%; height:300px; object-fit:cover; }
.section-photo figcaption { position:absolute; left:14px; bottom:14px; max-width:calc(100% - 28px); padding:7px 10px; background:rgba(7,24,37,.78); color:#fff; font-size:9px; line-height:1.5; }
.section-photo-dark { border-color:rgba(255,255,255,.15); }
.section-photo-dark img { height:250px; }
.land-photo { margin:0; }
.land-photo img { height:440px; }

.real-visual-strip figure { position:relative; margin:0; overflow:hidden; min-height:230px; border:1px solid var(--line); background:#e7ece9; }
.real-visual-strip img { display:block; width:100%; height:230px; object-fit:cover; }
.real-visual-strip figure:first-child img { object-fit:contain; background:#fff; padding:18px; }
.real-visual-strip figcaption { position:absolute; left:12px; bottom:12px; padding:6px 8px; background:rgba(7,24,37,.8); color:#fff; font-family:Arial,sans-serif; font-size:8px; font-weight:800; letter-spacing:.12em; }

.projects-map-layout { grid-template-columns:1fr; gap:30px; }
.project-map-asset { margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:#f5f7f6; border-radius:16px; }
.project-map-asset img { display:block; width:100%; height:auto; }
.project-region-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid rgba(255,255,255,.16); border-top:1px solid rgba(255,255,255,.16); }
.project-region-list article { min-height:116px; padding:18px; grid-template-columns:32px 1fr; grid-template-rows:auto auto; gap:10px; border-right:1px solid rgba(255,255,255,.16); border-bottom:0; }
.project-region-list article:last-of-type { border-right:0; }
.project-region-list article > strong { grid-column:2; font-size:22px; }
.project-count-note { grid-column:1/-1; margin:0; padding:16px 18px; border-top:1px solid rgba(255,255,255,.16); }

@media (max-width: 980px) {
  .manst-showcase-grid { min-width:0; grid-template-columns:1fr 1fr; }
  .project-region-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-region-list article:nth-of-type(2) { border-right:0; }
  .project-region-list article:nth-of-type(-n+2) { border-bottom:1px solid rgba(255,255,255,.16); }
}
@media (max-width: 700px) {
  .storage-type-media img { height:190px; }
  .manst-showcase-grid { grid-template-columns:1fr; }
  .manst-product-card img { height:150px; }
  .section-photo img,.section-photo-dark img,.land-photo img { height:240px; }
  .real-visual-strip img { height:210px; }
  .project-region-list { grid-template-columns:1fr; }
  .project-region-list article { border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .project-region-list article:nth-of-type(4) { border-bottom:0; }
}

/* =========================================================
   STEP2 / COMMON DESIGN SYSTEM v6
   Shared header, footer, typography, cards, CTAs and responsive rules
   ========================================================= */
:root {
  --section-y: 118px;
  --section-y-sm: 82px;
  --radius-sm: 5px;
  --radius-md: 10px;
  --shadow-soft: 0 18px 50px rgba(7,24,37,.08);
}

body { overflow-x: hidden; }
main { display: block; }
section[id] { scroll-margin-top: 92px; }
::selection { background: var(--green); color: var(--ink); }
a:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 4px;
}

/* Header */
.site-header {
  height: 78px;
  background: rgba(5,20,30,.94);
  border-bottom-color: rgba(255,255,255,.11);
}
.header-inner { gap: 26px; }
.desktop-nav a { padding: 4px 0; }
.desktop-nav a.is-current { color: #fff; }
.desktop-nav a.is-current::after { right: 0; }
.header-cta { border-radius: 2px; }
.mobile-nav-panel { max-height: calc(100vh - 78px); overflow-y: auto; }
.mobile-nav-panel a.is-current { color: var(--green); }

/* Typography / section rhythm */
.section-heading h2,
.page-section h2,
.contact h2,
.subpage-hero h1 {
  text-wrap: balance;
}
.section-heading h2 { font-size: clamp(40px, 4.1vw, 60px); line-height: 1.16; }
.section-lead,
.page-section-copy,
.subpage-intro { text-wrap: pretty; }
.business-overview,
.storage-types,
.products,
.epc,
.strengths,
.projects-map-section,
.land-callout,
.topics,
.company { padding-top: var(--section-y); padding-bottom: var(--section-y); }

/* Cards / images */
.storage-type-card,
.manst-product-card,
.strength-card,
.contact-split-grid > a,
.related-grid > a,
.visual-placeholder,
.section-photo,
.real-visual-strip figure,
.project-map-asset {
  border-radius: var(--radius-sm);
}
.storage-type-media,
.manst-product-card img,
.section-photo img,
.real-visual-strip img { border-radius: 3px; }
.storage-type-card,
.manst-product-card,
.strength-card { transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
@media (hover:hover) {
  .storage-type-card:hover,
  .manst-product-card:hover,
  .strength-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-soft); }
}

/* Buttons / links */
.button { border-radius: 2px; }
.text-link { font-weight: 800; }
.text-link .arrow,
.button .arrow,
.header-cta .arrow { transition: transform 180ms ease; }
@media (hover:hover) {
  .text-link:hover .arrow,
  .button:hover .arrow,
  .header-cta:hover .arrow { transform: translateX(4px); }
}

/* Subpage common system */
.subpage-main { background: var(--paper); }
.subpage-hero { min-height: 520px; padding-top: 78px; }
.subpage-hero-layout { min-height: 430px; align-items: center; }
.subpage-hero h1 { font-size: clamp(52px, 6vw, 82px); letter-spacing: -.045em; }
.subpage-intro { max-width: 680px; font-size: 16px; line-height: 1.95; }
.page-highlights { border-bottom: 1px solid var(--line); }
.page-highlight-grid > div { min-height: 110px; }
.page-section { padding-top: 108px; padding-bottom: 108px; }
.page-section-grid { grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr); gap: clamp(48px,7vw,96px); }
.page-section h2 { font-size: clamp(34px,3.4vw,50px); line-height: 1.25; }
.page-section-body { min-width: 0; }
.visual-placeholder { min-height: 280px; }
.related-pages { padding: 88px 0; }
.related-grid > a { min-height: 92px; }
.subpage-contact { padding-top: 96px; padding-bottom: 96px; }

/* Footer */
.site-footer { background: #06151f; }
.footer-main { padding-top: 78px; padding-bottom: 72px; }
.footer-links a { min-height: 30px; display: flex; align-items: center; }
.footer-bottom { min-height: 66px; }

/* Project map: keep geographic asset responsive */
.project-map-asset { max-width: 1240px; margin-inline: auto; }
.project-map-asset img { width: 100%; height: auto; }

@media (max-width: 1120px) {
  .site-header { height: 74px; }
  .mobile-nav-panel { inset: 74px 0 auto; max-height: calc(100vh - 74px); }
  .subpage-hero { padding-top: 74px; }
  .page-section-grid { grid-template-columns: 1fr; gap: 38px; }
  .page-section h2 { max-width: 700px; }
}

@media (max-width: 820px) {
  :root { --section-y: 88px; --section-y-sm: 68px; }
  .site-header { height: 70px; }
  .mobile-nav-panel { inset: 70px 0 auto; max-height: calc(100vh - 70px); }
  .brand-logo { width: 40px; height: 40px; }
  .brand-text strong { font-size: 17px; }
  .section-heading h2 { font-size: clamp(34px, 9vw, 48px); }
  .business-overview,
  .storage-types,
  .products,
  .epc,
  .strengths,
  .projects-map-section,
  .land-callout,
  .topics,
  .company { padding-top: var(--section-y); padding-bottom: var(--section-y); }
  .subpage-hero { min-height: 0; padding-top: 70px; }
  .subpage-hero-layout { min-height: 0; padding: 72px 0 78px; grid-template-columns: 1fr; gap: 36px; }
  .subpage-hero h1 { font-size: clamp(42px, 12vw, 62px); }
  .page-highlight-grid { grid-template-columns: repeat(2,1fr); }
  .page-highlight-grid > div { min-height: 92px; }
  .page-section { padding-top: 80px; padding-bottom: 80px; }
  .related-pages { padding: 70px 0; }
  .footer-main { padding-top: 64px; padding-bottom: 58px; }
}

@media (max-width: 560px) {
  .container { width: min(calc(100% - 32px), var(--max)); }
  .header-inner { width: calc(100% - 24px); }
  .brand { gap: 9px; }
  .brand-logo { width: 36px; height: 36px; }
  .brand-text strong { font-size: 16px; }
  .brand-text small { display: none; }
  .section-heading h2 { font-size: clamp(32px, 10vw, 44px); }
  .section-lead { font-size: 13px; line-height: 1.9; }
  .hero-actions .button { width: 100%; }
  .page-highlight-grid { grid-template-columns: 1fr; }
  .page-highlight-grid > div { min-height: 76px; }
  .page-section { padding-top: 68px; padding-bottom: 68px; }
  .page-section h2 { font-size: 32px; }
  .visual-placeholder { min-height: 220px; }
  .related-grid { grid-template-columns: 1fr; }
  .footer-bottom { min-height: 0; padding: 22px 0; gap: 12px; flex-direction: column; align-items: flex-start; }
}


/* STEP3 v7: Grid-scale storage hub */
.gs-hero { min-height: 720px; }
.gs-hero::after { display:none; }
.gs-hero-media { position:absolute; inset:0; }
.gs-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.76) contrast(1.05) brightness(.78); }
.gs-hero-media-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,20,30,.98) 0%, rgba(5,20,30,.9) 38%, rgba(5,20,30,.55) 62%, rgba(5,20,30,.22) 100%), linear-gradient(180deg, rgba(5,20,30,.12), rgba(5,20,30,.58)); }
.gs-hero .container { min-height:560px; display:flex; flex-direction:column; }
.gs-hero .breadcrumb { flex:0 0 auto; }
.gs-hero-copy { max-width:820px; margin-top:auto; margin-bottom:54px; }
.gs-hero h1 { font-size:clamp(58px,7vw,96px); }
.gs-hero .subpage-intro { max-width:760px; color:rgba(255,255,255,.78); }
.gs-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:36px; }
.gs-primary-btn { display:inline-flex; align-items:center; gap:30px; min-height:56px; padding:0 22px; background:var(--green); color:var(--ink); font-size:13px; font-weight:800; }
.gs-primary-btn span { font-size:19px; }
.gs-text-link { color:rgba(255,255,255,.78); font-size:12px; font-weight:700; letter-spacing:.04em; }
.gs-text-link span { margin-left:8px; color:var(--green); }
.gs-highlights { margin-top:-54px; }
.gs-section-head { display:grid; grid-template-columns:minmax(0,.95fr) minmax(320px,.65fr); gap:80px; align-items:end; margin-bottom:56px; }
.gs-section-head h2 { max-width:720px; margin:0; color:var(--ink); font-size:clamp(36px,4vw,56px); line-height:1.3; letter-spacing:-.045em; }
.gs-section-head > p { margin:0; color:#596e75; font-size:14px; line-height:2.05; }
.gs-section-head-dark h2 { color:#fff; }
.gs-section-head-dark > p { color:rgba(255,255,255,.62); }
.gs-use-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:46px; background:var(--line); border:1px solid var(--line); }
.gs-use-grid > div { min-height:190px; padding:26px; background:#fff; }
.gs-use-grid span, .gs-element-grid article > span, .gs-process > div > span { color:var(--green-deep); font-family:Arial,sans-serif; font-size:9px; font-weight:800; letter-spacing:.16em; }
.gs-use-grid strong { display:block; margin-top:28px; color:var(--ink); font-size:15px; line-height:1.6; }
.gs-use-grid p { margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.9; }
.gs-element-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(7,24,37,.16); border-left:1px solid rgba(7,24,37,.16); }
.gs-element-grid article { min-height:245px; padding:30px; border-right:1px solid rgba(7,24,37,.16); border-bottom:1px solid rgba(7,24,37,.16); background:rgba(255,255,255,.46); }
.gs-element-grid h3 { margin:34px 0 12px; color:var(--ink); font-size:22px; }
.gs-element-grid p { margin:0; color:#5d7076; font-size:12px; line-height:2; }
.gs-support { overflow:hidden; }
.gs-process { display:grid; grid-template-columns:repeat(6,1fr); margin-top:10px; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.gs-process > div { position:relative; min-height:260px; padding:28px 24px 24px; border-right:1px solid rgba(255,255,255,.12); }
.gs-process > div:last-child { border-right:0; }
.gs-process > div::after { content:'→'; position:absolute; right:-10px; top:54px; z-index:2; color:var(--green); font-size:19px; }
.gs-process > div:last-child::after { display:none; }
.gs-process strong { display:block; margin-top:62px; color:#fff; font-size:15px; line-height:1.6; }
.gs-process p { margin:14px 0 0; color:rgba(255,255,255,.5); font-size:10px; line-height:1.9; }
.gs-outline-btn { display:inline-flex; align-items:center; gap:28px; margin-top:40px; padding:15px 20px; border:1px solid rgba(255,255,255,.24); color:#fff; font-size:12px; font-weight:700; }
.gs-outline-btn span { color:var(--green); font-size:17px; }
.gs-voltage-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.gs-voltage-card { overflow:hidden; background:#fff; border:1px solid var(--line); }
.gs-card-media { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--ink); }
.gs-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.gs-voltage-card:hover .gs-card-media img { transform:scale(1.02); }
.gs-card-media > span { position:absolute; left:20px; bottom:18px; padding:7px 10px; background:rgba(5,20,30,.86); color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; letter-spacing:.16em; }
.gs-voltage-body { padding:32px; }
.gs-voltage-body h3 { margin:0; color:var(--ink); font-size:25px; }
.gs-voltage-body > p { margin:16px 0 0; color:#5c7077; font-size:12px; line-height:2; }
.gs-voltage-body ul { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:26px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.gs-voltage-body li { padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink); font-size:11px; font-weight:700; }
.gs-voltage-body li:nth-child(odd) { padding-right:12px; border-right:1px solid var(--line); }
.gs-voltage-body li:nth-child(even) { padding-left:12px; }
.gs-status { display:flex; align-items:baseline; gap:12px; margin-top:26px; padding:18px 0; border-bottom:1px solid var(--line); }
.gs-status b { color:var(--green-deep); font-size:31px; line-height:1; }
.gs-status span { color:var(--muted); font-size:11px; }
.gs-voltage-body > a { display:flex; justify-content:space-between; align-items:center; margin-top:22px; color:var(--ink); font-size:12px; font-weight:800; }
.gs-voltage-body > a span { color:var(--green-deep); font-size:18px; }
.gs-status-note { margin:16px 0 0; color:var(--muted); font-size:10px; line-height:1.8; }
.gs-product-epc-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.gs-product-epc-grid article { background:#fff; border:1px solid rgba(7,24,37,.12); }
.gs-wide-media { aspect-ratio:16/9; overflow:hidden; background:#fff; }
.gs-wide-media img { width:100%; height:100%; object-fit:cover; }
.gs-product-epc-grid article:first-child .gs-wide-media img { object-fit:contain; padding:24px; background:#f7f9f6; }
.gs-product-copy { padding:30px; }
.gs-product-copy > span { color:var(--green-deep); font-family:Arial,sans-serif; font-size:9px; font-weight:800; letter-spacing:.16em; }
.gs-product-copy h3 { margin:16px 0 0; color:var(--ink); font-size:23px; line-height:1.5; }
.gs-product-copy p { margin:14px 0 0; color:#5f7177; font-size:12px; line-height:2; }
.gs-product-copy a { display:inline-block; margin-top:24px; color:var(--ink); font-size:11px; font-weight:800; }
.gs-factor-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:36px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.gs-factor-grid > div { min-height:100px; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.gs-factor-grid span { display:block; color:var(--green-deep); font-family:Arial,sans-serif; font-size:8px; font-weight:800; letter-spacing:.14em; }
.gs-factor-grid strong { display:block; margin-top:16px; color:var(--ink); font-size:13px; }
.gs-consult-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.gs-consult h2 { margin:0; color:#fff; font-size:clamp(36px,4vw,54px); line-height:1.35; letter-spacing:-.045em; }
.gs-consult-grid > div:first-child > p:last-child { margin:26px 0 0; color:rgba(255,255,255,.58); font-size:13px; line-height:2; }
.gs-consult-list { border-top:1px solid rgba(255,255,255,.18); }
.gs-consult-list > div { display:grid; grid-template-columns:52px 1fr; align-items:center; min-height:67px; border-bottom:1px solid rgba(255,255,255,.14); }
.gs-consult-list span { color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; }
.gs-consult-list p { margin:0; color:rgba(255,255,255,.82); font-size:12px; font-weight:700; }

@media (max-width: 1050px) {
  .gs-section-head { grid-template-columns:1fr; gap:20px; }
  .gs-process { grid-template-columns:repeat(3,1fr); }
  .gs-process > div:nth-child(3) { border-right:0; }
  .gs-process > div:nth-child(3)::after { display:none; }
  .gs-process > div:nth-child(-n+3) { border-bottom:1px solid rgba(255,255,255,.12); }
  .gs-element-grid { grid-template-columns:repeat(2,1fr); }
  .gs-consult-grid { grid-template-columns:1fr; gap:44px; }
}

@media (max-width: 760px) {
  .gs-hero { min-height:680px; }
  .gs-hero .container { min-height:520px; }
  .gs-hero-media img { object-position:62% center; }
  .gs-hero-media-overlay { background:linear-gradient(180deg, rgba(5,20,30,.66), rgba(5,20,30,.94) 72%); }
  .gs-hero-copy { margin-bottom:30px; }
  .gs-hero h1 { font-size:clamp(46px,14vw,64px); }
  .gs-hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .gs-primary-btn { width:100%; justify-content:space-between; }
  .gs-use-grid, .gs-element-grid, .gs-voltage-grid, .gs-product-epc-grid { grid-template-columns:1fr; }
  .gs-process { grid-template-columns:1fr; }
  .gs-process > div, .gs-process > div:nth-child(3) { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .gs-process > div::after { display:none; }
  .gs-process strong { margin-top:28px; }
  .gs-voltage-body { padding:24px; }
  .gs-voltage-body ul { grid-template-columns:1fr; }
  .gs-voltage-body li:nth-child(odd) { padding-right:0; border-right:0; }
  .gs-voltage-body li:nth-child(even) { padding-left:0; }
  .gs-factor-grid { grid-template-columns:1fr; }
}


/* STEP3 v8: Low-voltage storage hub */
.lv-hero { min-height:720px; }
.lv-hero::after { display:none; }
.lv-hero-media { position:absolute; inset:0; }
.lv-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.8) contrast(1.05) brightness(.74); }
.lv-hero-media-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,20,30,.98) 0%,rgba(5,20,30,.91) 40%,rgba(5,20,30,.54) 66%,rgba(5,20,30,.18) 100%),linear-gradient(180deg,rgba(5,20,30,.1),rgba(5,20,30,.6)); }
.lv-hero .container { min-height:560px; display:flex; flex-direction:column; }
.lv-hero-copy { max-width:830px; margin-top:auto; margin-bottom:54px; }
.lv-hero h1 { font-size:clamp(54px,6.5vw,92px); }
.lv-hero .subpage-intro { max-width:770px; color:rgba(255,255,255,.8); }
.lv-highlights { margin-top:-54px; }
.lv-overview-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:38px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.lv-overview-grid article { min-height:170px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.lv-overview-grid span,.lv-flow-grid article>span,.lv-reason-grid article>span { color:var(--green-deep); font-family:Arial,sans-serif; font-size:8px; font-weight:800; letter-spacing:.16em; }
.lv-overview-grid strong { display:block; margin-top:24px; color:var(--ink); font-size:16px; }
.lv-overview-grid p { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.9; }
.lv-status { overflow:hidden; }
.lv-status-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr); gap:30px; align-items:stretch; }
.lv-map { position:relative; margin:0; overflow:hidden; min-height:520px; background:#f4f7f5; border:1px solid rgba(255,255,255,.16); border-radius:10px; }
.lv-map img { display:block; width:100%; height:100%; object-fit:contain; }
.lv-map figcaption { position:absolute; left:14px; bottom:14px; padding:7px 9px; background:rgba(5,20,30,.8); color:#fff; font-size:9px; }
.lv-status-panel { border-top:1px solid rgba(255,255,255,.2); }
.lv-total { min-height:166px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.lv-total span { display:block; color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; letter-spacing:.16em; }
.lv-total strong { display:inline-block; margin-top:20px; color:#fff; font-size:52px; line-height:1; }
.lv-total small { margin-left:12px; color:rgba(255,255,255,.56); font-size:12px; }
.lv-region { display:grid; grid-template-columns:42px 1fr auto; align-items:center; min-height:92px; border-bottom:1px solid rgba(255,255,255,.14); }
.lv-region>span { color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; }
.lv-region small { display:block; color:rgba(255,255,255,.42); font-family:Arial,sans-serif; font-size:7px; letter-spacing:.12em; }
.lv-region strong { display:block; margin-top:6px; color:#fff; font-size:13px; }
.lv-region b { color:#fff; font-size:22px; }
.lv-status-note { margin:18px 0 0; color:rgba(255,255,255,.45); font-size:9px; line-height:1.8; }
.lv-flow-grid { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid rgba(7,24,37,.16); border-left:1px solid rgba(7,24,37,.16); }
.lv-flow-grid article { position:relative; min-height:240px; padding:26px 22px; border-right:1px solid rgba(7,24,37,.16); border-bottom:1px solid rgba(7,24,37,.16); background:rgba(255,255,255,.58); }
.lv-flow-grid article:not(:last-child)::after { content:'→'; position:absolute; right:-10px; top:47px; z-index:2; color:var(--green-deep); font-size:18px; }
.lv-flow-grid h3 { margin:54px 0 12px; color:var(--ink); font-size:16px; }
.lv-flow-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.9; }
.lv-land-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:72px; align-items:center; }
.lv-land h2 { margin:18px 0 28px; color:var(--ink); font-size:clamp(36px,4vw,54px); line-height:1.35; }
.lv-check-list { margin:30px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.lv-check-list li { position:relative; padding:14px 0 14px 28px; border-bottom:1px solid var(--line); color:var(--ink); font-size:12px; font-weight:700; }
.lv-check-list li::before { content:'✓'; position:absolute; left:0; color:var(--green-deep); font-weight:900; }
.lv-land-media { position:relative; margin:0; overflow:hidden; min-height:520px; border:1px solid var(--line); }
.lv-land-media img { display:block; width:100%; height:520px; object-fit:cover; }
.lv-land-media figcaption,.lv-product-media figcaption { position:absolute; left:14px; bottom:14px; max-width:calc(100% - 28px); padding:7px 9px; background:rgba(5,20,30,.8); color:#fff; font-size:9px; line-height:1.5; }
.lv-system-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:24px; align-items:stretch; }
.lv-product-media { position:relative; margin:0; min-height:450px; background:#fff; border:1px solid var(--line); }
.lv-product-media img { width:100%; height:450px; object-fit:contain; padding:36px; }
.lv-component-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.lv-component-grid article { min-height:225px; padding:26px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.lv-component-grid span { color:var(--green-deep); font-family:Arial,sans-serif; font-size:8px; font-weight:800; }
.lv-component-grid h3 { margin:40px 0 12px; color:var(--ink); font-size:18px; }
.lv-component-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.9; }
.lv-aggregation-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.lv-aggregation h2 { margin:18px 0 24px; color:#fff; font-size:clamp(36px,4vw,54px); line-height:1.35; }
.lv-aggregation-grid>div:first-child>p:last-child { color:rgba(255,255,255,.6); font-size:13px; line-height:2; }
.lv-aggregation-list { border-top:1px solid rgba(255,255,255,.18); }
.lv-aggregation-list>div { display:grid; grid-template-columns:50px 190px 1fr; align-items:start; min-height:105px; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.lv-aggregation-list span { color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; }
.lv-aggregation-list strong { color:#fff; font-size:14px; }
.lv-aggregation-list p { margin:0; color:rgba(255,255,255,.48); font-size:10px; line-height:1.9; }
.lv-reason-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.lv-reason-grid article { min-height:250px; padding:28px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.lv-reason-grid h3 { margin:50px 0 14px; color:var(--ink); font-size:19px; line-height:1.5; }
.lv-reason-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.9; }

@media(max-width:1050px){
  .lv-status-layout,.lv-land-grid,.lv-system-grid,.lv-aggregation-grid{grid-template-columns:1fr;gap:42px}
  .lv-flow-grid{grid-template-columns:repeat(3,1fr)}
  .lv-flow-grid article:nth-child(3)::after{display:none}
  .lv-reason-grid{grid-template-columns:1fr 1fr}
  .lv-land-media,.lv-land-media img{min-height:400px;height:400px}
}
@media(max-width:760px){
  .lv-hero{min-height:680px}
  .lv-hero .container{min-height:520px}
  .lv-hero-media img{object-position:58% center}
  .lv-hero-media-overlay{background:linear-gradient(180deg,rgba(5,20,30,.6),rgba(5,20,30,.95) 70%)}
  .lv-hero-copy{margin-bottom:30px}
  .lv-hero h1{font-size:clamp(42px,13vw,62px)}
  .lv-overview-grid,.lv-component-grid,.lv-reason-grid{grid-template-columns:1fr}
  .lv-status-layout{gap:28px}
  .lv-map{min-height:360px}
  .lv-total strong{font-size:44px}
  .lv-region{grid-template-columns:36px 1fr auto}
  .lv-flow-grid{grid-template-columns:1fr}
  .lv-flow-grid article{min-height:auto}
  .lv-flow-grid article::after{display:none!important}
  .lv-flow-grid h3{margin-top:26px}
  .lv-land-media,.lv-land-media img{min-height:280px;height:280px}
  .lv-product-media,.lv-product-media img{min-height:300px;height:300px}
  .lv-product-media img{padding:20px}
  .lv-aggregation-list>div{grid-template-columns:38px 1fr;gap:8px}
  .lv-aggregation-list p{grid-column:2}
}


/* STEP3 v9: High-voltage storage hub */
.hv-hero { min-height:720px; }
.hv-hero::after { display:none; }
.hv-hero-media { position:absolute; inset:0; }
.hv-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 54%; filter:saturate(.78) contrast(1.06) brightness(.72); }
.hv-hero-media-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,20,30,.98) 0%,rgba(5,20,30,.91) 39%,rgba(5,20,30,.53) 65%,rgba(5,20,30,.16) 100%),linear-gradient(180deg,rgba(5,20,30,.08),rgba(5,20,30,.62)); }
.hv-hero .container { min-height:560px; display:flex; flex-direction:column; }
.hv-hero-copy { max-width:850px; margin-top:auto; margin-bottom:54px; }
.hv-hero h1 { font-size:clamp(54px,6.5vw,92px); }
.hv-hero .subpage-intro { max-width:780px; color:rgba(255,255,255,.8); }
.hv-highlights { margin-top:-54px; }
.hv-overview-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:38px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.hv-overview-grid article { min-height:188px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.hv-overview-grid span,.hv-flow-grid article>span,.hv-reason-grid article>span,.hv-system-card>span { color:var(--green-deep); font-family:Arial,sans-serif; font-size:8px; font-weight:800; letter-spacing:.16em; }
.hv-overview-grid strong { display:block; margin-top:28px; color:var(--ink); font-size:17px; line-height:1.55; }
.hv-overview-grid p { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.9; }
.hv-status-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:stretch; }
.hv-status-media { position:relative; margin:0; min-height:520px; overflow:hidden; border:1px solid rgba(255,255,255,.15); }
.hv-status-media img { display:block; width:100%; height:520px; object-fit:cover; filter:saturate(.78) contrast(1.05); }
.hv-status-media figcaption,.hv-product-media figcaption,.hv-epc-media figcaption { position:absolute; left:14px; bottom:14px; max-width:calc(100% - 28px); padding:7px 9px; background:rgba(5,20,30,.82); color:#fff; font-size:9px; line-height:1.5; }
.hv-status-panel { display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.2); }
.hv-status-total { padding:32px 0 30px; border-bottom:1px solid rgba(255,255,255,.16); }
.hv-status-total>span { display:block; color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; letter-spacing:.16em; }
.hv-status-total strong { display:inline-block; margin-top:24px; color:#fff; font-size:58px; line-height:1; }
.hv-status-total small { margin-left:14px; color:rgba(255,255,255,.58); font-size:12px; }
.hv-status-row { display:grid; grid-template-columns:50px 1fr auto; align-items:center; min-height:102px; border-bottom:1px solid rgba(255,255,255,.14); }
.hv-status-row>span { color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; }
.hv-status-row small { display:block; color:rgba(255,255,255,.42); font-family:Arial,sans-serif; font-size:7px; letter-spacing:.12em; }
.hv-status-row strong { display:block; margin-top:7px; color:#fff; font-size:14px; }
.hv-status-row b { color:#fff; font-size:18px; }
.hv-status-note { margin:22px 0 0; color:rgba(255,255,255,.46); font-size:9px; line-height:1.9; }
.hv-system-layout { display:grid; grid-template-columns:.96fr 1.04fr; gap:26px; align-items:stretch; }
.hv-product-media { position:relative; margin:0; min-height:520px; background:#fff; border:1px solid var(--line); }
.hv-product-media img { width:100%; height:520px; object-fit:contain; padding:34px; }
.hv-system-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.hv-system-card { min-height:260px; padding:28px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.hv-system-card h3 { margin:52px 0 13px; color:var(--ink); font-size:18px; }
.hv-system-card p { margin:0; color:var(--muted); font-size:11px; line-height:1.9; }
.hv-flow-grid { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid rgba(7,24,37,.16); border-left:1px solid rgba(7,24,37,.16); }
.hv-flow-grid article { position:relative; min-height:250px; padding:26px 22px; background:rgba(255,255,255,.62); border-right:1px solid rgba(7,24,37,.16); border-bottom:1px solid rgba(7,24,37,.16); }
.hv-flow-grid article:not(:last-child)::after { content:'→'; position:absolute; right:-10px; top:47px; z-index:2; color:var(--green-deep); font-size:18px; }
.hv-flow-grid h3 { margin:54px 0 12px; color:var(--ink); font-size:16px; }
.hv-flow-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.9; }
.hv-epc-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:center; }
.hv-epc-media { position:relative; margin:0; min-height:500px; overflow:hidden; border:1px solid var(--line); }
.hv-epc-media img { width:100%; height:500px; object-fit:cover; }
.hv-epc-list { margin:26px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.hv-epc-list li { display:grid; grid-template-columns:42px 1fr; align-items:center; min-height:60px; border-bottom:1px solid var(--line); color:var(--ink); font-size:12px; font-weight:700; }
.hv-epc-list li span { color:var(--green-deep); font-family:Arial,sans-serif; font-size:9px; font-weight:800; }
.hv-gridconnection-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:88px; }
.hv-gridconnection h2 { margin:18px 0 24px; color:#fff; font-size:clamp(36px,4vw,54px); line-height:1.35; }
.hv-gridconnection-grid>div:first-child>p:last-child { color:rgba(255,255,255,.6); font-size:13px; line-height:2; }
.hv-grid-list { border-top:1px solid rgba(255,255,255,.18); }
.hv-grid-list>div { display:grid; grid-template-columns:50px 210px 1fr; align-items:start; min-height:112px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.hv-grid-list span { color:var(--green); font-family:Arial,sans-serif; font-size:9px; font-weight:800; }
.hv-grid-list strong { color:#fff; font-size:14px; }
.hv-grid-list p { margin:0; color:rgba(255,255,255,.48); font-size:10px; line-height:1.9; }
.hv-reason-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.hv-reason-grid article { min-height:260px; padding:28px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.hv-reason-grid h3 { margin:50px 0 14px; color:var(--ink); font-size:19px; line-height:1.5; }
.hv-reason-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.9; }
@media(max-width:1050px){
  .hv-overview-grid{grid-template-columns:1fr 1fr}
  .hv-status-layout,.hv-system-layout,.hv-epc-layout,.hv-gridconnection-grid{grid-template-columns:1fr;gap:42px}
  .hv-flow-grid{grid-template-columns:repeat(3,1fr)}
  .hv-flow-grid article:nth-child(3)::after{display:none}
  .hv-reason-grid{grid-template-columns:1fr 1fr}
  .hv-status-media,.hv-status-media img,.hv-epc-media,.hv-epc-media img{min-height:400px;height:400px}
}
@media(max-width:760px){
  .hv-hero{min-height:680px}
  .hv-hero .container{min-height:520px}
  .hv-hero-media img{object-position:62% center}
  .hv-hero-media-overlay{background:linear-gradient(180deg,rgba(5,20,30,.6),rgba(5,20,30,.95) 70%)}
  .hv-hero-copy{margin-bottom:30px}
  .hv-hero h1{font-size:clamp(42px,13vw,62px)}
  .hv-overview-grid,.hv-system-grid,.hv-reason-grid{grid-template-columns:1fr}
  .hv-status-total strong{font-size:46px}
  .hv-status-row{grid-template-columns:38px 1fr auto}
  .hv-product-media,.hv-product-media img{min-height:310px;height:310px}
  .hv-product-media img{padding:20px}
  .hv-flow-grid{grid-template-columns:1fr}
  .hv-flow-grid article{min-height:auto}
  .hv-flow-grid article::after{display:none!important}
  .hv-flow-grid h3{margin-top:26px}
  .hv-status-media,.hv-status-media img,.hv-epc-media,.hv-epc-media img{min-height:280px;height:280px}
  .hv-grid-list>div{grid-template-columns:38px 1fr;gap:8px}
  .hv-grid-list p{grid-column:2}
}

/* STEP3 v10: Products & Solutions hub */
.product-hero{min-height:720px;overflow:hidden}.product-hero::after{display:none}.product-hero .container{position:relative;z-index:2;min-height:610px}.product-hero-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center;min-height:520px}.product-hero-copy{max-width:760px}.product-hero h1{font-size:clamp(54px,6.2vw,88px);line-height:1.04}.product-hero .subpage-intro{max-width:720px;color:rgba(255,255,255,.76)}.product-hero-media{position:relative;margin:0;min-height:500px;background:#fff;border:1px solid rgba(255,255,255,.17);box-shadow:0 34px 70px rgba(0,0,0,.2)}.product-hero-media::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(43,125,91,.08),transparent 44%);pointer-events:none}.product-hero-media img{display:block;width:100%;height:500px;object-fit:contain;padding:32px}.product-hero-media figcaption,.product-manst-card figcaption{color:var(--muted);font-size:10px;line-height:1.8}.product-hero-media figcaption{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);padding:8px 10px;background:rgba(5,20,30,.82);color:#fff}.product-highlights{margin-top:-54px}.product-notice{margin-top:56px}.product-portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.product-portfolio-grid article{min-height:330px;padding:30px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.product-portfolio-grid article>span,.product-manst-card figcaption>span,.product-system-grid article>span,.product-flow-grid article>span,.product-check-list span,.product-why-grid article>span,.product-source-note>span{color:var(--green-deep);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.16em}.product-portfolio-grid h3{margin:64px 0 16px;color:var(--ink);font-size:22px;line-height:1.35}.product-portfolio-grid p{margin:0;color:var(--muted);font-size:11px;line-height:1.95}.product-portfolio-grid a{display:inline-flex;gap:14px;margin-top:28px;color:var(--ink);font-size:11px;font-weight:800;text-decoration:none}.product-portfolio-grid a b{color:var(--green-deep)}.product-manst-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px}.product-manst-card{margin:0;background:#fff;border:1px solid var(--line)}.product-manst-image{height:430px;padding:28px;background:linear-gradient(180deg,#fff,#f6f8f6)}.product-manst-image img{width:100%;height:100%;object-fit:contain}.product-manst-card figcaption{padding:26px 28px 30px}.product-manst-card figcaption strong{display:block;margin:14px 0 10px;color:var(--ink);font-size:18px}.product-manst-card figcaption p{margin:0}.product-source-note{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:center;margin-top:24px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-source-note p{margin:0;color:var(--muted);font-size:10px;line-height:1.8}.product-source-note a{color:var(--ink);font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}.product-system-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.product-system-grid article{min-height:220px;padding:28px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.product-system-grid article>span{color:var(--green)}.product-system-grid strong{display:block;margin:48px 0 12px;color:#fff;font-size:18px}.product-system-grid p{margin:0;color:rgba(255,255,255,.5);font-size:10px;line-height:1.9}.page-direct-link-light{color:#fff!important;border-color:rgba(255,255,255,.2)!important}.product-flow-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:42px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.product-flow-grid article{position:relative;min-height:240px;padding:26px 22px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.product-flow-grid article:not(:last-child)::after{content:'→';position:absolute;right:-10px;top:45px;z-index:2;color:var(--green-deep);font-size:18px}.product-flow-grid h3{margin:54px 0 12px;color:var(--ink);font-size:16px}.product-flow-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}.product-check-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px;align-items:start}.product-check-list{border-top:1px solid var(--line)}.product-check-list>div{display:grid;grid-template-columns:54px 1fr;align-items:center;min-height:80px;border-bottom:1px solid var(--line)}.product-check-list strong{color:var(--ink);font-size:13px}.product-why-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.product-why-grid article{min-height:270px;padding:28px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.product-why-grid h3{margin:52px 0 14px;color:var(--ink);font-size:18px;line-height:1.5}.product-why-grid p{margin:0;color:var(--muted);font-size:11px;line-height:1.9}
@media(max-width:1050px){.product-hero-layout{grid-template-columns:1fr;gap:34px;padding-bottom:52px}.product-hero-media,.product-hero-media img{min-height:400px;height:400px}.product-portfolio-grid{grid-template-columns:1fr 1fr}.product-system-grid{grid-template-columns:1fr 1fr}.product-flow-grid{grid-template-columns:repeat(3,1fr)}.product-flow-grid article:nth-child(3)::after{display:none}.product-check-layout{grid-template-columns:1fr;gap:42px}.product-why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.product-hero{min-height:760px}.product-hero .container{min-height:auto}.product-hero-layout{padding-top:28px}.product-hero h1{font-size:clamp(44px,13vw,62px)}.product-hero-media,.product-hero-media img{min-height:300px;height:300px}.product-hero-media img{padding:18px}.product-portfolio-grid,.product-manst-grid,.product-system-grid,.product-why-grid{grid-template-columns:1fr}.product-portfolio-grid article{min-height:auto}.product-manst-image{height:300px;padding:18px}.product-source-note{grid-template-columns:1fr;gap:10px}.product-source-note a{white-space:normal}.product-flow-grid{grid-template-columns:1fr}.product-flow-grid article{min-height:auto}.product-flow-grid article::after{display:none!important}.product-flow-grid h3{margin-top:26px}.product-check-list>div{grid-template-columns:42px 1fr}.product-why-grid article{min-height:auto}.product-highlights{margin-top:-28px}}

/* STEP3 v11: EPC hub */
.epc-hero{min-height:720px;overflow:hidden}.epc-hero::after{display:none}.epc-hero .container{position:relative;z-index:2;min-height:610px}.epc-hero-layout{display:grid;grid-template-columns:1.03fr .97fr;gap:62px;align-items:center;min-height:520px}.epc-hero h1{font-size:clamp(54px,6vw,86px);line-height:1.08}.epc-hero .subpage-intro{max-width:760px;color:rgba(255,255,255,.72)}.epc-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.epc-hero-tags span{padding:8px 11px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.72);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.16em}.epc-hero-media,.epc-engineering-media,.epc-construction-media,.epc-product-media{position:relative;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#fff}.epc-hero-media{min-height:500px;box-shadow:0 34px 70px rgba(0,0,0,.18)}.epc-hero-media img{width:100%;height:500px;object-fit:cover}.epc-hero-media figcaption,.epc-engineering-media figcaption,.epc-construction-media figcaption,.epc-product-media figcaption{position:absolute;left:14px;bottom:14px;padding:8px 10px;background:rgba(5,20,30,.82);color:#fff;font-size:9px;line-height:1.5}.epc-highlights{margin-top:-54px}.epc-intro-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:92px;align-items:start}.epc-scope-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.epc-scope-grid article{min-height:230px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.epc-scope-grid span,.epc-flow-grid>article>span,.epc-detail-list span,.epc-construction-grid span,.epc-grid-list span,.epc-management-grid article>span{color:var(--green-deep);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.16em}.epc-scope-grid strong{display:block;margin:52px 0 13px;color:var(--ink);font-size:19px}.epc-scope-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}.epc-flow h2{max-width:830px}.epc-flow-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:42px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.epc-flow-grid article{position:relative;min-height:260px;padding:27px 22px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.epc-flow-grid article:not(:last-child)::after{content:'→';position:absolute;right:-10px;top:47px;z-index:2;color:var(--green-deep);font-size:18px}.epc-flow-grid h3{margin:58px 0 13px;color:var(--ink);font-size:16px;line-height:1.45}.epc-flow-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}.epc-engineering-layout,.epc-construction-layout{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}.epc-engineering-media,.epc-construction-media{min-height:520px;border-color:var(--line)}.epc-engineering-media img,.epc-construction-media img{width:100%;height:520px;object-fit:cover}.epc-detail-list{margin:32px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.epc-detail-list li{display:grid;grid-template-columns:50px 1fr;align-items:center;min-height:64px;border-bottom:1px solid var(--line)}.epc-detail-list strong{color:var(--ink);font-size:12px}.epc-procurement-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:88px;align-items:center}.epc-procurement h2,.epc-grid h2{margin:18px 0 24px;color:#fff;font-size:clamp(38px,4.4vw,58px);line-height:1.32}.epc-procurement-layout>div>p,.epc-grid-layout>div:first-child>p:last-child{color:rgba(255,255,255,.56);font-size:12px;line-height:2}.epc-product-media{min-height:470px;border-color:rgba(255,255,255,.13)}.epc-product-media img{width:100%;height:470px;object-fit:contain;padding:28px;background:#f7f9f6}.epc-construction-layout{grid-template-columns:1.08fr .92fr}.epc-construction-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.epc-construction-grid>div{min-height:94px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.epc-construction-grid strong{display:block;margin-top:16px;color:var(--ink);font-size:12px}.epc-grid-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.epc-grid-list{border-top:1px solid rgba(255,255,255,.18)}.epc-grid-list>div{display:grid;grid-template-columns:50px 210px 1fr;gap:8px;align-items:start;min-height:112px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.14)}.epc-grid-list span{color:var(--green)}.epc-grid-list strong{color:#fff;font-size:13px}.epc-grid-list p{margin:0;color:rgba(255,255,255,.48);font-size:10px;line-height:1.9}.epc-voltage-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}.epc-voltage-grid>a{display:block;background:#fff;border:1px solid var(--line);text-decoration:none;transition:transform .18s ease}.epc-voltage-grid>a:hover{transform:translateY(-2px)}.epc-voltage-grid figure{position:relative;margin:0;height:340px;overflow:hidden}.epc-voltage-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.epc-voltage-grid>a:hover img{transform:scale(1.02)}.epc-voltage-grid figcaption{position:absolute;left:18px;bottom:16px;padding:7px 9px;background:rgba(5,20,30,.84);color:var(--green);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.16em}.epc-voltage-grid>a>div{padding:28px}.epc-voltage-grid h3{margin:0;color:var(--ink);font-size:23px}.epc-voltage-grid p{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.9}.epc-voltage-grid a span{display:inline-block;margin-top:22px;color:var(--green-deep);font-size:10px;font-weight:800}.epc-management-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:start}.epc-management-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.epc-management-grid article{min-height:220px;padding:28px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.epc-management-grid strong{display:block;margin:48px 0 12px;color:var(--ink);font-size:18px}.epc-management-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}.epc-om-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px}.epc-om-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.epc-om-points span{padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.12em}
@media(max-width:1050px){.epc-hero-layout,.epc-intro-layout,.epc-engineering-layout,.epc-procurement-layout,.epc-construction-layout,.epc-grid-layout,.epc-management-layout,.epc-om-layout{grid-template-columns:1fr;gap:42px}.epc-flow-grid{grid-template-columns:repeat(3,1fr)}.epc-flow-grid article:nth-child(3)::after{display:none}.epc-engineering-media,.epc-engineering-media img,.epc-construction-media,.epc-construction-media img{min-height:400px;height:400px}.epc-management-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.epc-hero{min-height:760px}.epc-hero .container{min-height:auto}.epc-hero-layout{padding:26px 0 48px}.epc-hero h1{font-size:clamp(44px,13vw,62px)}.epc-hero-media,.epc-hero-media img{min-height:300px;height:300px}.epc-highlights{margin-top:-28px}.epc-scope-grid,.epc-management-grid,.epc-voltage-grid{grid-template-columns:1fr}.epc-flow-grid{grid-template-columns:1fr}.epc-flow-grid article{min-height:auto}.epc-flow-grid article::after{display:none!important}.epc-flow-grid h3{margin-top:26px}.epc-engineering-media,.epc-engineering-media img,.epc-construction-media,.epc-construction-media img{min-height:280px;height:280px}.epc-product-media,.epc-product-media img{min-height:300px;height:300px}.epc-product-media img{padding:18px}.epc-construction-grid{grid-template-columns:1fr}.epc-grid-list>div{grid-template-columns:38px 1fr;gap:8px}.epc-grid-list p{grid-column:2}.epc-voltage-grid figure{height:260px}.epc-management-grid article{min-height:auto}.epc-om-points{gap:6px}}


/* STEP3 v12: Strengths + MANST relationship */
.strengths-hero{min-height:720px;overflow:hidden}.strengths-hero::after{display:none}.strengths-hero .container{position:relative;z-index:2}.strengths-hero-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:62px;align-items:center;min-height:500px}.strengths-hero h1{font-size:clamp(54px,6.2vw,88px);line-height:1.08}.strengths-hero .subpage-intro{max-width:730px}.strengths-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.strengths-hero-tags span{padding:8px 11px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.72);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.15em}.strengths-hero-media{position:relative;margin:0;min-height:500px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 34px 70px rgba(0,0,0,.18)}.strengths-hero-media img{width:100%;height:500px;object-fit:cover}.strengths-hero-media figcaption,.strengths-product-media figcaption,.strengths-map figcaption,.strengths-voltage-grid figcaption,.manst-rel-hero figure figcaption,.manst-rel-product-grid figcaption{position:absolute;left:14px;bottom:14px;padding:8px 10px;background:rgba(5,20,30,.84);color:#fff;font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.13em}.strengths-highlights{margin-top:-54px}.strengths-two-col{display:grid;grid-template-columns:.84fr 1.16fr;gap:88px;align-items:start}.strengths-lead{margin:26px 0 0;color:#50656d;font-size:14px;line-height:2.05}.strengths-text-link{display:inline-flex;gap:16px;align-items:center;margin-top:28px;color:var(--ink);font-size:11px;font-weight:800}.strengths-text-link span{color:var(--green-deep);font-size:17px}.strengths-product-media{position:relative;margin:0;height:420px;overflow:hidden;border:1px solid var(--line);background:#f7f9f6}.strengths-product-media img{width:100%;height:100%;object-fit:contain;padding:26px}.strengths-point-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.strengths-point-grid article{min-height:190px;padding:22px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.strengths-point-grid span,.strengths-media-pair article>div>span,.strengths-flow span,.strengths-voltage-grid a>div>span,.strengths-four-grid span,.manst-rel-categories span,.manst-rel-role-grid article>span,.manst-rel-check-grid span{color:var(--green-deep);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.16em}.strengths-point-grid strong{display:block;margin:40px 0 11px;color:var(--ink);font-size:17px}.strengths-point-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}.strengths-section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:end}.strengths-section-head h2{margin:0;color:var(--ink);font-size:clamp(36px,4.3vw,56px);line-height:1.35;letter-spacing:-.045em}.page-section-dark .strengths-section-head h2{color:#fff}.strengths-section-head>p{margin:0 0 6px;color:#5b6f76;font-size:13px;line-height:2}.page-section-dark .strengths-section-head>p{color:rgba(255,255,255,.55)}.strengths-media-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:46px}.strengths-media-pair article{background:#fff;border:1px solid var(--line)}.strengths-media-pair figure{margin:0;height:340px;overflow:hidden;background:#f7f9f6}.strengths-media-pair figure img{width:100%;height:100%;object-fit:cover}.strengths-media-pair article:first-child figure img{object-fit:contain;padding:24px}.strengths-media-pair article>div{padding:28px}.strengths-media-pair h3{margin:14px 0 12px;color:var(--ink);font-size:24px}.strengths-media-pair p{margin:0;color:var(--muted);font-size:11px;line-height:1.9}.strengths-media-pair a{display:inline-block;margin-top:22px;color:var(--ink);font-size:10px;font-weight:800}.strengths-media-pair b{color:var(--green-deep)}.strengths-flow{display:grid;grid-template-columns:repeat(6,1fr);margin-top:28px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.strengths-flow article{position:relative;min-height:120px;padding:20px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.strengths-flow article:not(:last-child)::after{content:'→';position:absolute;right:-10px;top:48px;z-index:2;color:var(--green-deep);font-size:17px}.strengths-flow strong{display:block;margin-top:26px;color:var(--ink);font-size:11px;line-height:1.6}.strengths-practice-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:86px;align-items:center}.strengths-practice h2{margin:18px 0 26px;color:#fff;font-size:clamp(39px,4.6vw,60px);line-height:1.3}.strengths-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.strengths-stats>div{padding:24px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.strengths-stats span{display:block;color:var(--green);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.16em}.strengths-stats strong{display:block;margin:18px 0 6px;color:#fff;font-size:38px}.strengths-stats small{color:rgba(255,255,255,.48);font-size:10px}.strengths-dark-note{margin:18px 0 0;color:rgba(255,255,255,.4);font-size:9px;line-height:1.8}.strengths-map{position:relative;margin:0;min-height:520px;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#fff}.strengths-map img{width:100%;height:520px;object-fit:contain;padding:22px}.strengths-voltage-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}.strengths-voltage-grid>a{display:block;background:#fff;border:1px solid var(--line);text-decoration:none;transition:transform .18s ease}.strengths-voltage-grid>a:hover{transform:translateY(-2px)}.strengths-voltage-grid figure{position:relative;margin:0;height:340px;overflow:hidden}.strengths-voltage-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.strengths-voltage-grid>a:hover img{transform:scale(1.02)}.strengths-voltage-grid a>div{padding:28px}.strengths-voltage-grid h3{margin:12px 0 12px;color:var(--ink);font-size:23px}.strengths-voltage-grid p{margin:0;color:var(--muted);font-size:11px;line-height:1.9}.strengths-voltage-grid b{display:inline-block;margin-top:21px;color:var(--green-deep);font-size:10px}.strengths-four-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.strengths-four-grid a{position:relative;min-height:300px;padding:28px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}.strengths-four-grid strong{display:block;margin:56px 0 14px;color:var(--ink);font-size:19px;line-height:1.5}.strengths-four-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}.strengths-four-grid b{position:absolute;right:24px;bottom:22px;color:var(--green-deep);font-size:18px}
.manst-rel-hero{min-height:700px}.manst-rel-hero::after{display:none}.manst-rel-hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.manst-rel-hero h1{font-size:clamp(52px,6vw,82px);line-height:1.08}.manst-rel-hero figure{position:relative;margin:0;height:470px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#f7f9f6}.manst-rel-hero figure img{width:100%;height:100%;object-fit:contain;padding:28px}.manst-rel-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.manst-rel-product-grid figure{position:relative;margin:0;height:390px;overflow:hidden;border:1px solid var(--line);background:#f7f9f6}.manst-rel-product-grid img{width:100%;height:100%;object-fit:contain;padding:22px}.manst-rel-categories{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.manst-rel-categories article{min-height:240px;padding:28px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.manst-rel-categories strong{display:block;margin:48px 0 14px;color:var(--ink);font-size:18px;line-height:1.5}.manst-rel-categories p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}.manst-rel-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}.manst-rel-role-grid article{min-height:300px;padding:28px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035)}.manst-rel-role-grid article>span{color:var(--green)}.manst-rel-role-grid strong{display:block;margin:48px 0 18px;color:#fff;font-size:21px}.manst-rel-role-grid ul{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.12)}.manst-rel-role-grid li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.56);font-size:10px}.manst-rel-check-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.manst-rel-check-grid article{min-height:110px;padding:22px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.manst-rel-check-grid strong{display:block;margin-top:24px;color:var(--ink);font-size:12px}
@media(max-width:1050px){.strengths-hero-layout,.strengths-two-col,.strengths-section-head,.strengths-practice-layout,.manst-rel-hero-layout{grid-template-columns:1fr;gap:42px}.strengths-flow{grid-template-columns:repeat(3,1fr)}.strengths-flow article:nth-child(3)::after{display:none}.strengths-four-grid{grid-template-columns:1fr 1fr}.manst-rel-role-grid{grid-template-columns:1fr 1fr}.manst-rel-product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.strengths-hero{min-height:760px}.strengths-hero h1{font-size:clamp(44px,13vw,62px)}.strengths-hero-media,.strengths-hero-media img{min-height:300px;height:300px}.strengths-highlights{margin-top:-28px}.strengths-point-grid,.strengths-media-pair,.strengths-stats,.strengths-voltage-grid,.strengths-four-grid,.manst-rel-product-grid,.manst-rel-categories,.manst-rel-role-grid,.manst-rel-check-grid{grid-template-columns:1fr}.strengths-product-media{height:300px}.strengths-media-pair figure{height:280px}.strengths-flow{grid-template-columns:1fr}.strengths-flow article{min-height:auto}.strengths-flow article::after{display:none!important}.strengths-map,.strengths-map img{min-height:340px;height:340px}.strengths-voltage-grid figure{height:260px}.strengths-four-grid a{min-height:230px}.manst-rel-hero figure{height:320px}.manst-rel-product-grid figure{height:300px}.manst-rel-role-grid article{min-height:auto}}

/* === v13 batch lower-page system === */
.batch-hero{position:relative;overflow:hidden;background:#071825;color:#fff;padding:150px 0 96px}.batch-hero.green{background:linear-gradient(135deg,#0b2d29,#0d4438)}.batch-hero.blue{background:linear-gradient(135deg,#071825,#123247)}.batch-hero.light{background:#edf3ef;color:var(--ink)}.batch-hero-grid{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:56px 56px}.batch-hero.light .batch-hero-grid{opacity:.15;background-image:linear-gradient(rgba(7,24,37,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(7,24,37,.22) 1px,transparent 1px)}.batch-hero .container{position:relative;z-index:2}.batch-hero-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:64px;align-items:center}.batch-hero h1{margin:18px 0 20px;font-size:clamp(46px,5.5vw,78px);line-height:1.1;letter-spacing:-.045em}.batch-hero p.batch-intro{max-width:720px;margin:0;color:rgba(255,255,255,.65);font-size:14px;line-height:2}.batch-hero.light p.batch-intro{color:#53676f}.batch-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.batch-hero-tags span{padding:8px 10px;border:1px solid rgba(255,255,255,.18);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.15em;color:rgba(255,255,255,.7)}.batch-hero.light .batch-hero-tags span{border-color:rgba(7,24,37,.12);color:#52676f}.batch-hero-media{position:relative;margin:0;height:420px;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#fff}.batch-hero-media img{width:100%;height:100%;object-fit:cover}.batch-hero-media.contain img{object-fit:contain;padding:28px}.batch-hero-media figcaption{position:absolute;left:14px;bottom:14px;padding:7px 9px;background:rgba(5,20,30,.84);color:#fff;font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.12em}
.batch-highlights{background:#fff;border-bottom:1px solid var(--line)}.batch-highlight-grid{display:grid;grid-template-columns:repeat(4,1fr)}.batch-highlight-grid>div{padding:28px 24px;border-right:1px solid var(--line)}.batch-highlight-grid>div:first-child{border-left:1px solid var(--line)}.batch-highlight-grid span{display:block;color:var(--green-deep);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.14em}.batch-highlight-grid strong{display:block;margin-top:12px;color:var(--ink);font-size:18px;line-height:1.55}
.batch-section{padding:104px 0}.batch-section.mist{background:#edf3ef}.batch-section.dark{background:#071825;color:#fff}.batch-section-grid{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:clamp(48px,7vw,96px);align-items:start}.batch-section h2{margin:15px 0 0;color:var(--ink);font-size:clamp(34px,3.7vw,52px);line-height:1.28;letter-spacing:-.04em}.batch-section.dark h2{color:#fff}.batch-body>p{margin:0;color:#536970;font-size:13px;line-height:2.05}.batch-section.dark .batch-body>p{color:rgba(255,255,255,.58)}.batch-note{margin-top:24px;padding:18px 20px;border-left:3px solid var(--green-deep);background:rgba(79,184,142,.07);color:#52676f;font-size:11px;line-height:1.85}.batch-section.dark .batch-note{background:rgba(79,184,142,.08);color:rgba(255,255,255,.58)}
.batch-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:32px}.batch-card-grid.three{grid-template-columns:repeat(3,1fr)}.batch-card-grid.four{grid-template-columns:repeat(4,1fr)}.batch-card{position:relative;padding:26px;background:#fff;border:1px solid var(--line);min-height:190px}.batch-section.dark .batch-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}.batch-card>span{display:block;color:var(--green-deep);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.14em}.batch-section.dark .batch-card>span{color:var(--green)}.batch-card h3{margin:34px 0 12px;color:var(--ink);font-size:20px;line-height:1.5}.batch-section.dark .batch-card h3{color:#fff}.batch-card p{margin:0;color:#657981;font-size:10px;line-height:1.9}.batch-section.dark .batch-card p{color:rgba(255,255,255,.5)}.batch-card a{display:inline-flex;margin-top:20px;color:var(--green-deep);font-size:10px;font-weight:800}.batch-list{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--line)}.batch-list li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);color:#536970;font-size:11px;line-height:1.8}.batch-list b{color:var(--green-deep)}.batch-section.dark .batch-list{border-color:rgba(255,255,255,.14)}.batch-section.dark .batch-list li{border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.56)}
.batch-process{display:grid;grid-template-columns:repeat(6,1fr);margin-top:34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.batch-process article{position:relative;min-height:130px;padding:20px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.batch-process article:not(:last-child)::after{content:'→';position:absolute;right:-10px;top:54px;z-index:2;color:var(--green-deep);font-size:18px}.batch-process span{color:var(--green-deep);font-family:Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:.12em}.batch-process strong{display:block;margin-top:28px;color:var(--ink);font-size:11px;line-height:1.6}
.batch-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.batch-image-card{background:#fff;border:1px solid var(--line)}.batch-image-card figure{position:relative;margin:0;height:280px;overflow:hidden;background:#f8faf8}.batch-image-card figure img{width:100%;height:100%;object-fit:cover}.batch-image-card.contain figure img{object-fit:contain;padding:24px}.batch-image-card>div{padding:24px}.batch-image-card h3{margin:0 0 10px;color:var(--ink);font-size:22px}.batch-image-card p{margin:0;color:#657981;font-size:10px;line-height:1.9}.batch-image-card a{display:inline-block;margin-top:18px;color:var(--green-deep);font-size:10px;font-weight:800}
.batch-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.batch-stat-grid>div{padding:24px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.batch-stat-grid span{display:block;color:var(--green-deep);font:800 8px Arial,sans-serif;letter-spacing:.14em}.batch-stat-grid strong{display:block;margin:16px 0 6px;color:var(--ink);font-size:34px}.batch-stat-grid small{color:#75878d;font-size:10px}
.batch-table{width:100%;border-collapse:collapse;margin-top:28px;background:#fff}.batch-table th,.batch-table td{padding:16px 18px;border:1px solid var(--line);vertical-align:top;text-align:left;font-size:11px;line-height:1.75}.batch-table th{width:29%;color:var(--ink);background:#f4f7f4}.batch-table td{color:#5d7279}.batch-section.dark .batch-table th,.batch-section.dark .batch-table td{border-color:rgba(255,255,255,.13)}
.batch-faq{margin-top:28px}.batch-faq details{border-top:1px solid var(--line)}.batch-faq details:last-child{border-bottom:1px solid var(--line)}.batch-faq summary{cursor:pointer;padding:19px 4px;color:var(--ink);font-size:13px;font-weight:800}.batch-faq p{margin:0;padding:0 4px 20px;color:#657981;font-size:11px;line-height:1.9}.batch-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.batch-topic{padding:26px;background:#fff;border:1px solid var(--line)}.batch-topic span{color:var(--green-deep);font:800 8px Arial,sans-serif;letter-spacing:.14em}.batch-topic h3{margin:28px 0 12px;font-size:19px;color:var(--ink)}.batch-topic p{margin:0;color:#667b82;font-size:10px;line-height:1.9}.batch-topic small{display:inline-block;margin-top:18px;padding:6px 8px;background:#edf3ef;color:#557069;font-size:8px;font-weight:800;letter-spacing:.08em}.batch-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.batch-link-grid a{display:flex;justify-content:space-between;gap:18px;padding:20px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:800}.batch-link-grid a b{color:var(--green-deep)}
.batch-contact-band{padding:78px 0;background:#0c282d;color:#fff}.batch-contact-layout{display:grid;grid-template-columns:1fr .9fr;gap:72px;align-items:center}.batch-contact-band h2{margin:14px 0 16px;color:#fff;font-size:clamp(34px,4vw,52px);line-height:1.28}.batch-contact-band p{margin:0;color:rgba(255,255,255,.58);font-size:12px;line-height:1.9}.batch-contact-actions{display:grid;gap:10px}.batch-contact-actions a{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border:1px solid rgba(255,255,255,.16);color:#fff}.batch-contact-actions small{display:block;color:rgba(255,255,255,.42);font:800 8px Arial,sans-serif;letter-spacing:.14em}.batch-contact-actions strong{display:block;margin-top:5px;font-size:15px}
.batch-map{margin-top:30px;background:#fff;border:1px solid var(--line);padding:18px}.batch-map img{display:block;width:100%;height:500px;object-fit:contain}.batch-address{padding:24px;background:#fff;border:1px solid var(--line);font-size:12px;color:#52676f;line-height:2}.batch-empty{margin-top:28px;padding:28px;background:#fff;border:1px dashed #b9c8c2;color:#657981;font-size:11px;line-height:1.9}.batch-email-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.batch-email-cards a{padding:24px;background:#fff;border:1px solid var(--line);color:var(--ink)}.batch-email-cards span{display:block;color:var(--green-deep);font:800 8px Arial,sans-serif;letter-spacing:.13em}.batch-email-cards strong{display:block;margin:26px 0 10px;font-size:18px}.batch-email-cards small{color:#72858b;font-size:9px;line-height:1.7}
@media(max-width:1020px){.batch-hero-layout,.batch-section-grid,.batch-contact-layout{grid-template-columns:1fr}.batch-hero-media{height:360px}.batch-card-grid.three,.batch-card-grid.four,.batch-topic-grid{grid-template-columns:repeat(2,1fr)}.batch-process{grid-template-columns:repeat(3,1fr)}.batch-highlight-grid{grid-template-columns:repeat(2,1fr)}.batch-link-grid,.batch-email-cards{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.batch-hero{padding:118px 0 72px}.batch-hero h1{font-size:42px}.batch-hero-media{height:280px}.batch-section{padding:72px 0}.batch-card-grid,.batch-card-grid.three,.batch-card-grid.four,.batch-image-pair,.batch-topic-grid,.batch-link-grid,.batch-email-cards{grid-template-columns:1fr}.batch-process{grid-template-columns:1fr}.batch-process article:not(:last-child)::after{content:'↓';right:18px;top:auto;bottom:-12px}.batch-highlight-grid{grid-template-columns:1fr}.batch-highlight-grid>div{border-left:1px solid var(--line)}.batch-stat-grid{grid-template-columns:1fr}.batch-map img{height:340px}}


/* v14 inquiry forms */
.form-page-intro{max-width:760px;color:#536970;font-size:12px;line-height:1.95}
.inquiry-form-wrap{max-width:980px;margin:0 auto}
.inquiry-form{background:#fff;border:1px solid var(--line);padding:44px}
.form-section-title{margin:0 0 24px;padding-bottom:15px;border-bottom:1px solid var(--line);color:var(--ink);font-size:19px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.form-field{display:grid;gap:8px}
.form-field.full{grid-column:1/-1}
.form-field label{color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.02em}
.form-required{display:inline-block;margin-left:7px;padding:3px 6px;background:#e9f1eb;color:var(--green-deep);font-size:8px;letter-spacing:.08em;vertical-align:1px}
.form-optional{display:inline-block;margin-left:7px;color:#839298;font-size:8px;font-weight:700}
.form-field input,.form-field select,.form-field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #cfd9d7;background:#fff;color:var(--ink);font:inherit;font-size:12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.form-field textarea{min-height:150px;resize:vertical;line-height:1.8}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--green-deep);box-shadow:0 0 0 3px rgba(15,126,86,.08)}
.form-help{margin:0;color:#74868c;font-size:9px;line-height:1.7}
.form-consent{display:flex;gap:10px;align-items:flex-start;margin:28px 0 0;color:#5d7279;font-size:10px;line-height:1.8}
.form-consent input{margin-top:4px}
.form-consent a{color:var(--green-deep);text-decoration:underline}
.form-submit-row{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.form-submit-row p{margin:0;color:#7b8c92;font-size:9px;line-height:1.7}
.form-submit{appearance:none;border:0;min-width:250px;min-height:58px;padding:0 28px;background:var(--green);color:var(--ink);font-size:12px;font-weight:900;cursor:pointer;transition:transform .18s ease,background .18s ease}
.form-submit:hover,.form-submit:focus-visible{transform:translateY(-1px);background:#67e8a9}
.form-note-box{margin:0 0 30px;padding:18px 20px;background:#f3f7f4;border-left:3px solid var(--green-deep);color:#5c7077;font-size:10px;line-height:1.85}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form-links{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}
.contact-form-links a{display:block;padding:18px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}
.contact-form-links span{display:block;color:var(--green-deep);font:800 8px Arial,sans-serif;letter-spacing:.12em}
.contact-form-links strong{display:block;margin-top:12px;font-size:12px;line-height:1.55}
@media(max-width:1020px){.contact-form-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.inquiry-form{padding:24px 18px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.form-submit-row{align-items:stretch;flex-direction:column}.form-submit{width:100%}.contact-form-links{grid-template-columns:1fr}}


/* v15: simplified header (no global navigation) */
.header-inner .header-cta{margin-left:auto;}
@media (max-width:820px){
  .header-cta{display:inline-flex;height:38px;padding:0 14px;font-size:12px;}
  .brand-logo{width:38px;height:38px;}
  .brand-text strong{font-size:16px;}
}

/* v15: top column links */
.topic-list .top-topic-link{display:grid;color:inherit;text-decoration:none;transition:background .18s ease,transform .18s ease;}
.topic-list .top-topic-link:hover,.topic-list .top-topic-link:focus-visible{background:rgba(126,217,87,.08);transform:translateY(-1px);}
.column-index-button{margin-top:28px;}

/* v15: representative message */
.representative-message{background:#fff;}
.message-signature{display:flex;align-items:baseline;justify-content:flex-end;gap:14px;margin-top:30px!important;border-top:1px solid var(--line);padding-top:20px;}
.message-signature span{font-size:12px;color:var(--muted);letter-spacing:.08em;}
.message-signature strong{font-size:20px;color:var(--ink);}

/* v16: global navigation, accessibility, audience routes, articles */
.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;padding:12px 16px;background:#fff;color:#071825;font-weight:800;border:2px solid #65e6a8}.skip-link:focus{top:12px}
.desktop-nav{margin-left:auto;gap:clamp(10px,1.15vw,20px)}
.desktop-nav-item{position:relative;display:flex;align-items:center;height:80px}.desktop-nav-item>a{display:flex;align-items:center;height:100%}.desktop-submenu{position:absolute;top:68px;left:-18px;min-width:190px;padding:10px;background:#0b2230;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 45px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s ease}.desktop-submenu a{display:block;padding:11px 12px;color:rgba(255,255,255,.82);font-size:12px}.desktop-submenu a::after{display:none}.has-submenu:hover .desktop-submenu,.has-submenu:focus-within .desktop-submenu{opacity:1;visibility:visible;transform:none}
.menu-bars{position:relative;width:18px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}.menu-bars::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}.mobile-subgroup{padding:0 0 6px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-subgroup a{padding:10px 0;border-bottom:0;color:rgba(255,255,255,.7);font-size:13px}
.business-scope-icon,.mini-icon{width:20px;height:20px;position:relative}.business-scope-icon::before,.mini-icon::before{content:"";display:block;width:10px;height:10px;border:1px solid currentColor;transform:rotate(45deg);margin:4px}
.audience-nav{padding:44px 0;background:#f1f6f3;border-bottom:1px solid var(--line)}.audience-nav-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.audience-nav-head h2{margin:0;font-size:clamp(28px,3vw,42px)}.audience-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.audience-nav-grid>a{display:block;min-height:220px;padding:28px;background:#fff;color:var(--ink);position:relative}.audience-nav-grid>a:hover{background:#f8fbf9}.audience-nav-grid span{font-size:11px;letter-spacing:.12em;color:var(--green-deep);font-weight:800}.audience-nav-grid h3{font-size:24px;line-height:1.35;margin:24px 0 10px}.audience-nav-grid p{color:var(--muted);line-height:1.75}.audience-nav-grid b{position:absolute;left:28px;bottom:26px;font-size:13px}
.column-more-link{display:inline-flex;margin-top:22px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}.published-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.published-article-grid>a{padding:26px;border:1px solid var(--line);background:#fff;color:var(--ink);min-height:220px;display:flex;flex-direction:column}.published-article-grid small{color:var(--green-deep);font-weight:800}.published-article-grid h3{font-size:21px;line-height:1.5;margin:24px 0}.published-article-grid span{margin-top:auto;font-size:12px;font-weight:800}
.article-wrap{padding:70px 0 110px;background:#fff}.article-content{max-width:920px}.article-meta{display:flex;gap:18px;margin-top:28px;color:#687b82;font-size:12px}.article-section{padding:34px 0;border-bottom:1px solid var(--line)}.article-section h2{font-size:clamp(28px,3vw,38px);margin:0 0 20px}.article-section h3{font-size:20px}.article-section p{font-size:16px;line-height:2;color:#425b63}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}.article-grid>div{padding:22px;border:1px solid var(--line);background:#f6f9f7}.article-grid p{font-size:14px;line-height:1.8}.article-steps{list-style:none;padding:0;margin:22px 0;display:grid;gap:12px;counter-reset:step}.article-steps li{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.article-steps b{font-size:15px}.article-steps span{color:#536b72;line-height:1.7}.article-note{margin:34px 0;padding:22px 24px;background:#f2f7f4;border-left:3px solid var(--green)}.article-note p{margin:8px 0 0;color:#536b72;line-height:1.8}.article-related{margin-top:50px}.article-related>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.article-related a{padding:18px 20px;border:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;color:var(--ink)}.article-related span{font-size:12px;white-space:nowrap}.article-cta{margin-top:60px;padding:34px;background:#071825;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.article-cta h2{margin:6px 0 10px}.article-cta p{color:rgba(255,255,255,.7)}
@media(max-width:1280px){.desktop-nav{gap:10px}.desktop-nav a{font-size:12px}.header-inner{gap:18px}.brand-text small{display:none}}
@media(max-width:1120px){.desktop-nav{display:none}.mobile-nav{display:block}.header-cta{margin-left:auto}.published-article-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.audience-nav{padding:32px 0}.audience-nav-grid,.published-article-grid,.article-grid,.article-related>div{grid-template-columns:1fr}.audience-nav-grid>a{min-height:190px}.article-steps li{grid-template-columns:1fr;gap:6px}.article-cta{align-items:flex-start;flex-direction:column}.article-meta{flex-direction:column;gap:6px}}


/* v17 column expansion */
.article-summary-box{margin:28px 0;padding:24px 26px;border:1px solid rgba(6,74,60,.18);background:#f1f7f4;border-radius:14px}.article-summary-box strong{display:block;margin-bottom:8px;font-size:1.05rem}.article-summary-box p{margin:0}.article-checklist{display:grid;gap:12px;margin:22px 0;padding:0;list-style:none}.article-checklist li{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:16px 18px;border:1px solid rgba(7,24,37,.1);border-radius:12px;background:#fff}.article-checklist li b{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#0b6b3a;color:#fff;font-size:.82rem}.article-checklist li span strong{display:block;margin-bottom:4px}.article-sources{margin-top:40px;padding-top:26px;border-top:1px solid rgba(7,24,37,.14)}.article-sources h2{font-size:1.35rem}.article-sources ul{padding-left:1.2em}.article-sources li{margin:10px 0;line-height:1.7}.article-sources a{text-decoration:underline;text-underline-offset:3px}.article-warning{margin:28px 0;padding:22px 24px;border-left:4px solid #aa6c00;background:#fff8e8}.article-warning strong{display:block;margin-bottom:6px}.article-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.article-kpi-grid>div{padding:20px;border-radius:12px;background:#071825;color:#fff}.article-kpi-grid small{display:block;opacity:.65;margin-bottom:6px}.article-kpi-grid strong{display:block;font-size:1.05rem}.published-article-grid.is-many{grid-template-columns:repeat(3,minmax(0,1fr))}.published-article-grid.is-many a{min-height:210px}.column-feature-banner{margin-top:24px;display:grid;grid-template-columns:1.1fr .9fr;gap:1px;background:rgba(7,24,37,.12);border:1px solid rgba(7,24,37,.12)}.column-feature-banner>div,.column-feature-banner>a{background:#fff;padding:28px}.column-feature-banner a{display:flex;flex-direction:column;justify-content:space-between}.column-feature-banner small{font-weight:700;color:#0b6b3a;letter-spacing:.08em}.column-feature-banner h3{font-size:1.45rem;margin:10px 0}.column-feature-banner b{margin-top:18px}@media(max-width:900px){.article-kpi-grid,.published-article-grid.is-many,.column-feature-banner{grid-template-columns:1fr}}


/* === v19 visual content system / 2026-08-29 === */
.page-visual-section,
.article-hero-visual,
.category-hero-visual{padding:42px 0 22px;background:#f7f9f9}
.page-visual-section.is-dark{background:#071825}
.page-visual-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.page-visual{margin:0;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(7,24,37,.10);box-shadow:0 18px 60px rgba(7,24,37,.08)}
.page-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#eef3f2}
.page-visual.is-diagram img{object-fit:contain;padding:0;background:#f5f8f7}
.page-visual figcaption{padding:12px 18px 14px;font-size:12px;line-height:1.65;color:#64717a;border-top:1px solid rgba(7,24,37,.08);background:#fff}
.page-visual-label{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.14em;color:#47615b}
.page-visual-label:before{content:"";width:28px;height:1px;background:#1c8f6a}

/* Column hub thumbnails */
.published-article-grid>a{overflow:hidden}
.article-card-thumb{display:block;margin:-1px -1px 18px;overflow:hidden;background:#eef3f2;aspect-ratio:16/9}
.article-card-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.topic-thumb{display:block;width:172px;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#e9efed;flex:0 0 172px}
.topic-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.top-topic-link{display:grid;grid-template-columns:52px 172px minmax(92px,130px) 1fr auto;gap:20px;align-items:center}

/* Column categories */
.batch-card.category-card-with-image{padding-top:0;overflow:hidden}
.category-card-visual{display:block;margin:0 -1px 20px;aspect-ratio:16/9;background:#edf2f1;overflow:hidden}
.category-card-visual img{display:block;width:100%;height:100%;object-fit:cover}
.category-hero-visual{padding-top:24px}
.category-hero-visual .page-visual{max-width:1080px;margin:0 auto}

/* Article lead visual */
.article-hero-visual{padding-top:26px;padding-bottom:34px}
.article-hero-visual .page-visual{max-width:1080px;margin:0 auto}
.article-hero-visual .page-visual figcaption{font-size:12px}

/* Home visual enrichments */
.home-strength-visual{margin:34px 0 4px}
.home-land-visual{margin-top:24px}
.home-company-visual{margin:26px 0 0}
.home-company-visual .page-visual{border-radius:18px}

/* Ensure diagrams remain readable on phones */
@media (max-width:980px){
  .top-topic-link{grid-template-columns:42px 130px 110px 1fr;gap:14px}
  .top-topic-link .topic-status{grid-column:4}
  .topic-thumb{width:130px;flex-basis:130px}
}
@media (max-width:720px){
  .page-visual-shell{width:min(100% - 28px,1180px)}
  .page-visual-section,.article-hero-visual,.category-hero-visual{padding:24px 0 16px}
  .page-visual{border-radius:16px}
  .page-visual figcaption{padding:10px 13px 12px;font-size:11px}
  .top-topic-link{display:grid;grid-template-columns:34px 1fr auto;gap:10px 12px}
  .topic-thumb{width:100%;grid-column:1/-1;aspect-ratio:16/9;border-radius:10px}
  .top-topic-link .topic-category{grid-column:2}
  .top-topic-link h3{grid-column:1/-1}
  .top-topic-link .topic-status{grid-column:1/-1}
}
/* v19 final card edge adjustments */
.published-article-grid .article-card-thumb{margin:-26px -26px 18px}
.batch-card.category-card-with-image .category-card-visual{margin:0 -26px 20px}
.batch-card.category-card-with-image h3{margin-top:24px}
@media (max-width:720px){
  .published-article-grid .article-card-thumb{margin:-20px -20px 16px}
  .batch-card.category-card-with-image .category-card-visual{margin:0 -20px 18px}
}

/* v20: fix TOP latest-articles grid after thumbnail enrichment */
.topic-list .top-topic-link{
  grid-template-columns:52px 172px minmax(92px,130px) minmax(0,1fr) 72px;
  gap:20px;
  min-height:148px;
  padding:22px 0;
  align-items:center;
}
.topic-list .top-topic-link .topic-thumb{
  width:172px;
  align-self:center;
}
.topic-list .top-topic-link h3{
  min-width:0;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.topic-list .top-topic-link .topic-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  min-width:60px;
  white-space:nowrap;
}

@media (max-width:980px){
  .topic-list .top-topic-link{
    grid-template-columns:42px 130px 105px minmax(0,1fr) 62px;
    gap:14px;
    min-height:132px;
    padding:20px 0;
  }
  .topic-list .top-topic-link .topic-thumb{width:130px;}
}

@media (max-width:820px){
  .topic-list .top-topic-link{
    grid-template-columns:38px 120px 96px minmax(0,1fr);
    gap:14px;
    min-height:122px;
  }
  .topic-list .top-topic-link .topic-thumb{width:120px;}
  .topic-list .top-topic-link .topic-status{display:none;}
}

@media (max-width:720px){
  .topic-list .top-topic-link{
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:10px 12px;
    padding:22px 0 26px;
  }
  .topic-list .top-topic-link .topic-thumb{
    width:100%;
    grid-column:1/-1;
    aspect-ratio:16/9;
    border-radius:10px;
  }
  .topic-list .top-topic-link .topic-category{grid-column:2/-1;}
  .topic-list .top-topic-link h3{grid-column:1/-1;font-size:16px;line-height:1.65;}
  .topic-list .top-topic-link .topic-status{display:none;}
}

/* === v22 language switch / zh-CN === */
.lang-switch{display:flex;align-items:center;gap:7px;flex:0 0 auto;white-space:nowrap;font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.lang-switch a,.lang-switch span{color:inherit;text-decoration:none}.lang-switch a:hover,.lang-switch a:focus-visible{color:#fff}.lang-switch .is-active{color:var(--green);font-weight:900}.lang-switch .lang-sep{opacity:.35}
.mobile-lang-switch{display:flex;align-items:center;justify-content:center;gap:11px;padding:15px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif;font-size:13px;font-weight:800;color:rgba(255,255,255,.65)}
.mobile-lang-switch a,.mobile-lang-switch span{padding:0;border:0;color:inherit;text-decoration:none}.mobile-lang-switch a:hover,.mobile-lang-switch a:focus-visible{color:#fff}.mobile-lang-switch .is-active{color:var(--green)}
html[lang="zh-CN"] body{font-family:"Noto Sans SC","Noto Sans CJK SC","Microsoft YaHei","PingFang SC","Hiragino Sans GB",Arial,sans-serif}
html[lang="zh-CN"] .desktop-nav a{letter-spacing:0}
@media(max-width:1280px){.lang-switch{font-size:10px;gap:5px}}
@media(max-width:1120px){.lang-switch{display:none}}

/* v23 multilingual header */
.header-inner>.header-cta+.lang-switch{margin-left:0;margin-right:0}
@media(min-width:1121px){.header-inner>.lang-switch{padding-left:2px}}


/* v24: conversion, product-source and form refinements */
.footer-service-hours{margin:14px 0 0;color:rgba(255,255,255,.46);font-size:9px;line-height:1.75}
.v24-check-list{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line)}
.v24-check-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);color:#4f666e;font-size:12px;line-height:1.7}
.v24-check-list b{color:var(--green-deep)}
.manufacturer-caption,.concept-caption{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 10px;background:rgba(5,20,30,.84);color:#fff;font-size:9px;line-height:1.55}
.batch-image-card figure{position:relative}
.form-upload-field input[type=file]{padding:10px;background:#f7faf8}
.form-help{display:block;color:#6b7d82;font-size:9px;line-height:1.65}
.form-upload-field.is-error input{border-color:#b65050}
.epc-coverage-note{margin-top:24px}
.batch-table small{display:block;margin-top:6px;color:#6a7c82;font-size:9px;line-height:1.6}
@media(max-width:680px){.manufacturer-caption,.concept-caption{font-size:8px}.v24-check-list li{font-size:11px}}
