/* EcoAxis brand refinement: logo blue leads; logo green supports. */
:root {
  --blue: #1f6faf;
  --green: #2bb673;
  --navy: #103c62;
  --forest: var(--navy);
  --ink: #153d60;
  --paper: #f4f8fc;
  --muted: #506579;
  --line: #d4e2ee;
}
em, i, address, cite, dfn { font-style: normal; }
h1 .heading-accent, h2 .heading-accent,
.about-banner .heading-accent, .industry-image > span > .heading-accent {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}
h1 .heading-accent, h2 .heading-accent { color: var(--blue); }
.eyebrow, .footer-label { color: var(--blue); }
.eyebrow.light { color: #d1e9fb; }
.text-link { color: var(--blue); }
.text-link.light { color: white; }
.site-header { border-bottom-color: #dce8f2; }
.site-header.is-scrolled { box-shadow: 0 8px 35px #1f6faf14; }
.button-green { background: var(--blue); color: white; }
.button-green:hover { background: #195c92; color: white; }
.button:hover { box-shadow: 0 10px 25px #1f6faf24; }
.button-white { color: var(--blue); }
.button-white:hover { background: #e8f4fc; }

/* A blue atmospheric hero, with the original logo's green as the key accent. */
.hero { background: #103c62; }
.hero-shade {
  background: linear-gradient(90deg, #092c50f5 0%, #104978e8 47%, #1f6fafb5 100%);
}
.hero h1 .heading-accent { color: var(--green); }
.hero-copy > p { color: #e0edf7; }
.hero-flow path { stroke: #a3d7ff; }
.hero-flow circle { fill: var(--green); }
.orbit-track { border-color: #cae6fb70; }
.track-two { border-color: #cae6fb3d; }
.track-three { border-color: #cae6fb3d; }
.orbit-center { background: #103f6acc; border-color: #c5e4ff75; }
.orbit-center strong { color: #9de5bc; }
.orbit-center > .icon { color: var(--green); }
.orbit-node { background: #154f7cbd; border-color: #bddcfb85; }
.orbit-node:hover { background: #1f6faf; }
.orbit-node .icon { color: #b5ebd0; }
.orbit-label, .orbit-caption { color: #d4e9fa; }
.hero-bottom { color: #d8ebfb; border-top-color: #b7dbfb36; }
.hero-film-link small { color: #c1def6; }
.hero-film-link > .icon { color: #a9e4c5; }
.mini-play { border-color: #b1d9f494; }
.intro-strip { border-bottom-color: var(--line); }
.intro-steps { color: var(--blue); }

/* The four identities use only blue and green instead of purple and gold. */
.pillar-materials { --pillar: var(--green); --pillar-tint: #e7f7ef; }
.pillar-equipment, .pillar-technology, .pillar-services {
  --pillar: var(--blue);
  --pillar-tint: #e8f2fb;
}
.pillar-card h3 { color: var(--blue); }
.pillar-tags span { color: #18466d; }
.solution-copy > .button { background: var(--blue); color: white; }
.round-icon, .purpose-symbol, .advantage-icon {
  color: var(--blue);
  border-color: #a9c7e1;
}
.advantage:hover .advantage-icon { background: #e3f0fb; }
.outcome-list .icon, .values-list > div > span { color: #208a58; }
.image-label { background: #114572; color: #d6eafb; }
.image-label > .icon { color: var(--green); }
.about-banner::after { background: linear-gradient(90deg, #0c3d6bd9, #1f6faf4d); }
.about-banner .heading-accent { color: #c9f0dc; }
.purpose-section, .offices-section, .industry-section { background: #eaf3fb; }
.industry-image::after { background: linear-gradient(180deg, #113d6215, #0b3a63c4); }
.industry-image > span > .heading-accent { color: #c9f0dc; }
.industry-grid > a { border-top-color: #b6cfe2; }
.industry-grid > a > .icon:first-child { color: var(--blue); }
.values-list > div > span { background: #e5f5ed; }
.map-number { color: var(--blue); }
.office-map { background: #e0edf8; }
.office-map::before { border-color: #c0d9ed; }
.office-map > .icon { background: #f0f7fc; }
.film-section { background: #edf5fc; }
.film-section::before { background: radial-gradient(ellipse at 90% 0, #1f6faf15, transparent 50%); }
.film-frame, .film-frame > video { background: #0e3557; }
.film-frame { box-shadow: 0 25px 65px #1f6faf28; }
.film-frame > figcaption { color: #cee5f6; }
.film-frame > figcaption > span:last-child { color: #d3f1e0; }

/* Make the ecosystem the second major blue section. */
.ecosystem-section { background: linear-gradient(120deg, #104575 0%, var(--blue) 78%); }
.ecosystem-section h2 .heading-accent { color: #bef0d5; }
.ecosystem-section .section-heading > p { color: #deedf9; }
.wheel-rings { border-color: #c2defa85; }
.wheel-rings::before { border-color: #badcf74d; }
.wheel-rings::after { border-color: #badcf72e; }
.wheel-center { background: #124d7e; border-color: #c8e4fc66; }
.wheel-center > span { color: #d5eafb; }
.wheel-node { background: #144f80; border-color: #a7cff2a6; color: #e3f0fb; }
.wheel-node:hover, .wheel-node.is-active {
  background: #0d3e68;
  border-color: var(--green);
  color: #b4f0d0;
}
.wheel-arrow { color: #ace0c5; }
.detail-number { color: #c3f1d9; }
.ecosystem-panel > p { color: #e0edf9; }
.ecosystem-panel .detail-tags > span { border-color: #c0dcf775; }
.ecosystem-panel .text-link { color: white; }
.cta-copy h2 .heading-accent { color: #c7f0d9; }
.cta-copy > .eyebrow { color: #d6ebfb; }
.footer-bottom { border-color: var(--line); }
.contact-art > span, .contact-art > .icon { background: var(--paper); }
.contact-art-orbit { border-color: #8fbddd; }
.contact-art-orbit::before, .contact-art-orbit::after { border-color: #b7cfe3; }
.form-card { border-color: #d5e3ef; }
.form-field input, .form-field textarea, .form-field select {
  border-color: #ccdce9;
  background: #f7fafc;
}

/* Homepage consultation: the original site's three-field split layout. */
.home-consultation {
  background: #eef5fa;
  scroll-margin-top: 12px;
}
.consultation-card {
  scroll-margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #d2e2ed;
  border-radius: 28px;
  overflow: hidden;
  background: white;
  box-shadow: 0 18px 55px #164d7c0a;
}
.consultation-intro {
  display: flex;
  flex-direction: column;
  padding: 58px 50px;
  color: white;
  background: radial-gradient(ellipse at 0 100%, #2bb67359, transparent 65%),
              linear-gradient(135deg, #0d385e 0%, #17558a 65%, #1f6faf 100%);
}
.consultation-intro > .eyebrow { margin-bottom: 24px; }
.consultation-intro > h2 { color: white; font-size: 2.6rem; }
.consultation-intro > p {
  color: #e3eef9;
  font-size: .88rem;
  line-height: 1.85;
  margin-top: 26px;
}
.consultation-offices { display: grid; gap: 23px; margin-top: 33px; }
.consultation-office h3 { font-size: .9rem; color: white; margin-bottom: 8px; font-weight: 650; letter-spacing: 0; }
.consultation-office address { color: #e0edf7; font-size: .76rem; line-height: 1.85; }
.consultation-contacts { display: grid; gap: 18px; margin-top: auto; padding-top: 35px; }
.consultation-contacts a { display: flex; align-items: center; gap: 17px; font-size: .82rem; }
.consultation-contacts .icon { width: 25px; height: 25px; color: white; }
.consultation-contacts a:hover span { text-decoration: underline; }
.consultation-fields { padding: 58px 48px 48px; min-width: 0; }
.consultation-fields > h2 { color: var(--ink); font-size: 2.1rem; line-height: 1.25; letter-spacing: -.035em; }
.consultation-fields > p { font-size: .85rem; line-height: 1.85; margin-top: 22px; }
.consultation-fields form { margin-top: 42px; }
.consultation-fields .form-row { gap: 22px; }
.consultation-fields .form-field { margin-bottom: 28px; }
.consultation-fields .form-field label { font-size: .8rem; margin-bottom: 13px; }
.consultation-fields .form-field input,
.consultation-fields .form-field textarea {
  border-radius: 9px;
  background: #f5f8fa;
  border-color: #cadbe8;
  padding: 17px 19px;
  font-size: .86rem;
}
.consultation-fields .form-field input { min-height: 60px; }
.consultation-fields .form-field textarea { min-height: 158px; }
.consultation-fields .form-note { margin-top: -6px; margin-bottom: 23px; font-size: .64rem; }
.consultation-fields .form-submit {
  display: flex;
  width: fit-content;
  min-width: 220px;
  margin-left: auto;
  justify-content: center;
  border-radius: 40px;
  min-height: 56px;
  font-size: .82rem;
  font-weight: 650;
}
.consultation-fields .form-status { font-size: .78rem; }

@media (max-width: 1150px) {
  .consultation-intro { padding: 46px 35px; }
  .consultation-fields { padding: 46px 35px 38px; }
  .consultation-fields > h2 { font-size: 1.85rem; }
}
@media (max-width: 900px) {
  .consultation-intro { padding: 40px 28px; }
  .consultation-fields { padding: 40px 28px 34px; }
  .consultation-intro > h2 { font-size: 2.1rem; }
  .consultation-intro > p, .consultation-fields > p { font-size: .79rem; }
  .consultation-fields > h2 { font-size: 1.65rem; }
  .consultation-fields .form-row { gap: 15px; }
  .consultation-fields .form-field input { padding-inline: 13px; }
  .consultation-fields .form-submit { min-width: 200px; }
}
@media (max-width: 760px) {
  .consultation-card { grid-template-columns: 1fr; border-radius: 22px; }
  .consultation-intro { padding: 40px 30px; }
  .consultation-fields { padding: 40px 30px; }
  .consultation-intro > h2 { font-size: 2.3rem; }
  .consultation-fields > h2 { font-size: 1.9rem; }
  .consultation-intro > p, .consultation-fields > p { font-size: .85rem; }
  .consultation-office address { font-size: .78rem; }
}
@media (max-width: 700px) {
  .hero-shade { background: linear-gradient(180deg, #092e55ed 0%, #15568cd9 65%, #104574e0 100%); }
  .hero h1 .heading-accent { color: #48c88a; }
  .consultation-fields .form-field input,
  .consultation-fields .form-field textarea { font-size: 16px; }
}
@media (max-width: 520px) {
  .consultation-intro, .consultation-fields { padding: 35px 24px; }
  .consultation-fields > h2 { font-size: 1.7rem; }
  .consultation-fields form { margin-top: 30px; }
  .consultation-fields .form-row { grid-template-columns: 1fr; gap: 0; }
  .consultation-fields .form-field { margin-bottom: 23px; }
  .consultation-fields .form-submit { width: 100%; min-width: 0; }
  .consultation-intro > .eyebrow { font-size: .56rem; }
}
@media print {
  .consultation-card { border-radius: 0; box-shadow: none; }
  .consultation-intro { background: white; color: var(--ink); }
  .consultation-intro h2, .consultation-intro h3,
  .consultation-intro p, .consultation-intro address { color: var(--ink); }
}
