:root {
  --green: #08762c;
  --green-dark: #07542c;
  --deep: #063b24;
  --orange: #ed6d00;
  --ink: #142019;
  --muted: #5f6d65;
  --line: #d8e2db;
  --pale: #f2f7f3;
  --pale-2: #e8f2eb;
  --white: #fff;
  --shadow: 0 24px 70px rgba(6, 59, 36, .11);
  --radius: 20px;
  --container: min(1180px, calc(100% - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #f5a25b; outline-offset: 3px; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 1000; padding: 10px 16px; background: var(--deep); color: #fff; }
.skip-link:focus { top: 12px; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(216,226,219,.72); box-shadow: 0 8px 30px rgba(6,59,36,.04); backdrop-filter: blur(18px); }
.header-meta { height: 24px; display: flex; justify-content: flex-end; align-items: center; gap: 20px; color: #536158; font-size: 12px; }
.header-main { min-height: 70px; display: flex; align-items: center; gap: 28px; }
.brand { margin-right: auto; flex: 0 0 auto; }
.brand img { width: 118px; height: auto; transform-origin: 50% 100%; transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.brand:hover img { transform: translateY(-3px) rotate(-1.5deg) scale(1.045); filter: drop-shadow(0 8px 12px rgba(6,59,36,.16)); }
.nav-list { display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; list-style: none; font-weight: 700; font-size: 14px; white-space: nowrap; }
.nav-list a:not(.button) { position: relative; padding-block: 22px; }
.nav-list a:not(.button)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 14px; height: 2px; background: var(--green); transition: right .2s ease; }
.nav-list a:not(.button):hover::after, .nav-list a[aria-current="page"]::after { right: 0; }
.header-actions { display: flex; gap: 10px; }
.mobile-actions { display: none; }
.header-actions .button, .mobile-actions .button { min-height: 46px; padding-inline: 18px; font-size: 13px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; border: 1px solid transparent; border-radius: 8px; font-weight: 700; line-height: 1.3; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(6,59,36,.15); }
.button-green { background: var(--green); color: #fff; }
.button-orange { background: var(--orange); color: #fff; }
.button-outline { border-color: var(--green); color: var(--green); background: #fff; }
.button-white { border-color: rgba(255,255,255,.7); color: #fff; background: transparent; }
.button .arrow { font-size: 20px; line-height: 1; }
.mail-icon { width: 18px; height: 13px; border: 1.5px solid currentColor; border-radius: 2px; position: relative; }
.mail-icon::after { content: ""; position: absolute; left: 2px; right: 2px; top: 1px; height: 7px; border-bottom: 1.5px solid currentColor; transform: rotate(32deg) skewX(-26deg); }
.pc-icon { position: relative; width: 17px; height: 12px; border: 1.5px solid currentColor; border-radius: 2px; }
.pc-icon::before { content: ""; position: absolute; left: 2px; right: 2px; bottom: -4px; height: 1.5px; background: currentColor; border-radius: 2px; }
.pc-icon::after { content: ""; position: absolute; left: 5px; right: 5px; bottom: -7px; height: 1.5px; background: currentColor; border-radius: 2px; }
.menu-button { display: none; width: 46px; height: 46px; border: 1px solid var(--line); background: #fff; border-radius: 6px; color: var(--deep); }
.menu-button span, .menu-button::before, .menu-button::after { content: ""; display: block; width: 21px; height: 2px; background: currentColor; margin: 5px auto; transition: transform .2s ease, opacity .2s ease; }
.menu-button[aria-expanded="true"] span { opacity: 0; }
.menu-button[aria-expanded="true"]::before { transform: translateY(7px) rotate(45deg); }
.menu-button[aria-expanded="true"]::after { transform: translateY(-7px) rotate(-45deg); }

.hero { position: relative; min-height: clamp(480px, 34.5vw, 580px); display: grid; align-items: center; overflow: hidden; color: var(--ink); background: #fff; }
.hero-picture { position: absolute; inset: 0; overflow: hidden; }
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 36%, rgba(255,255,255,.74) 50%, rgba(255,255,255,.13) 66%, rgba(255,255,255,0) 76%); }
.hero > .container { width: min(1320px, calc(100% - 64px)); }
.hero-content { position: relative; z-index: 1; width: min(700px, 58%); padding-block: 68px; }
.hero .eyebrow { display: none; }
.eyebrow { display: block; margin-bottom: 18px; color: #8cd09f; font-size: 13px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero h1 { margin: 0; font-size: clamp(34px, 3.5vw, 48px); line-height: 1.32; letter-spacing: -.03em; }
.hero h1 em { color: var(--green); font-style: normal; }
.hero-topic { white-space: nowrap; }
.hero-result { display: block; }
.hero-lead { max-width: 610px; margin: 22px 0 0; font-size: 17px; font-weight: 600; line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-badge { position: absolute; right: max(4vw, 42px); bottom: 42px; z-index: 2; width: 158px; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-radius: 50%; color: var(--green); background: rgba(255,255,255,.97); border: 2px solid var(--green); box-shadow: 0 15px 38px rgba(6,59,36,.18), 0 0 0 6px rgba(255,255,255,.76); font-size: 12px; font-weight: 800; line-height: 1.35; }
.hero-badge strong { display: block; margin: 1px 0 2px; font-size: 29px; line-height: 1.05; letter-spacing: -.035em; }
.hero-badge strong small { margin-left: 2px; font-size: 12px; letter-spacing: 0; }
.hero-badge em { font-size: 10px; font-style: normal; font-weight: 700; color: #31483a; }

.section { padding-block: 104px; }
.section-pale { background: var(--pale); }
.section-dark { background: var(--deep); color: #fff; }
.section-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: end; margin-bottom: 48px; }
.section-head h2 { margin: 0; font-size: clamp(28px, 3vw, 42px); line-height: 1.35; letter-spacing: -.025em; }
.section-head p { margin: 0; color: var(--muted); }
.section-dark .section-head p { color: #c4d3ca; }
.title-rule { width: 72px; height: 3px; margin-top: 22px; background: var(--green); }
.display-word { margin: 0 0 -10px; color: #e3eee6; font-size: clamp(46px, 8vw, 92px); line-height: 1; letter-spacing: -.04em; font-weight: 800; }
.display-word-compact { margin-bottom: -4px; font-size: clamp(44px, 6vw, 74px); color: #dcebe0; }

.problem-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.problem { min-height: 238px; padding: 38px 30px; border-right: 1px solid var(--line); text-align: center; transition: background .25s ease, transform .25s ease; }
.problem:hover { background: var(--pale); transform: translateY(-4px); }
.problem:last-child { border-right: 0; }
.line-icon { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 24px; border: 2px solid var(--green); border-radius: 50%; color: var(--green); font-size: 24px; font-weight: 800; }
.problem-icon { width: 68px; height: 68px; margin: 0 auto 24px; padding: 11px; background: #f0f7f2; border-radius: 18px; }
.problem p { margin: 0; font-weight: 700; line-height: 1.85; }
.answer-band { padding: 42px 0; color: #fff; background: linear-gradient(90deg, rgba(6,59,36,.94), rgba(8,118,44,.80)), url("/wordpress/wp-content/themes/eegreen-renewal/assets/images/divider.jpg") center/cover; text-align: center; }
.answer-band h2 { margin: 0 0 10px; font-size: clamp(25px, 3vw, 38px); }
.answer-band p { margin: 0; font-size: 17px; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { display: flex; flex-direction: column; min-height: 100%; background: #fff; border: 1px solid rgba(216,226,219,.9); border-radius: var(--radius); overflow: hidden; box-shadow: 0 16px 48px rgba(6,59,36,.07); transition: transform .3s ease, box-shadow .3s ease; }
.card:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.card-image { width: 100%; aspect-ratio: 1.52; object-fit: cover; }
.card-image-pair { width: 100%; aspect-ratio: 1.52; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; background: #e9efeb; }
.card-image-pair img { width: 100%; height: 100%; object-fit: cover; }
.card-image-pair img + img { border-left: 2px solid #fff; }
.card-body { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.card-heading { display: flex; align-items: center; justify-content: space-between; margin-top: -54px; position: relative; z-index: 2; }
.card-icon { width: 72px; height: 72px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 12px 30px rgba(6,59,36,.12); }
.card-number { color: #a1c9ad; font-size: 34px; font-weight: 800; line-height: 1; }
.card h3 { margin: 12px 0 10px; font-size: 22px; line-height: 1.45; }
.card p { margin: 0 0 24px; color: var(--muted); }
.card-link { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; color: var(--green); font-weight: 700; }
.card-link::after { content: "→"; font-size: 20px; }

.case-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.case-card { background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); transition: transform .28s ease, box-shadow .28s ease; }
.case-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.case-card-static:hover { transform: none; box-shadow: none; }
.case-card img { width: 100%; aspect-ratio: 1.45; object-fit: cover; }
.case-card div { padding: 20px; }
.case-card small { color: var(--green); font-weight: 700; }
.case-card h3 { margin: 8px 0 0; font-size: 17px; line-height: 1.55; }

.quick-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: center; padding: 52px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.quick-panel h2 { margin: 0; font-size: clamp(28px, 3vw, 42px); line-height: 1.4; }
.quick-panel p { color: var(--muted); }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 24px; }
.metric { padding: 18px 10px; background: var(--pale); border-radius: 8px; text-align: center; color: var(--green); font-weight: 700; line-height: 1.45; }
.metric strong { display: block; font-size: 22px; }

.strength-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-bottom: 46px; background: #fff; color: var(--ink); border-radius: 18px; overflow: hidden; box-shadow: 0 16px 44px rgba(6,59,36,.06); }
.strength-step { position: relative; padding: 30px; border-right: 1px solid var(--line); }
.strength-step img { width: 50px; height: 50px; margin-bottom: 18px; padding: 9px; border-radius: 14px; background: var(--pale); }
.strength-step:last-child { border-right: 0; }
.strength-step b { color: var(--green); }
.strength-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.strength-card { display: grid; grid-template-columns: 180px 1fr; min-height: 190px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: 12px; overflow: hidden; }
.strength-card img { width: 100%; height: 100%; object-fit: cover; }
.strength-card div { padding: 28px; }
.strength-card h3 { margin: 0 0 10px; font-size: 21px; }
.strength-card p { margin: 0; color: #c4d3ca; }
.strength-section { color: var(--ink); background: linear-gradient(145deg, #f3f8f4 0%, #edf5ef 100%); }
.strength-section .section-head p { color: var(--muted); }
.strength-section .strength-card { background: #fff; border-color: var(--line); box-shadow: 0 14px 40px rgba(6,59,36,.06); }
.strength-section .strength-card p { color: var(--muted); }

.recruit-strip { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; min-height: 300px; background: var(--pale); border-radius: 16px; overflow: hidden; }
.recruit-copy { padding: 48px; }
.recruit-copy h2 { margin: 0 0 14px; font-size: clamp(28px, 3vw, 40px); }
.recruit-image { width: 100%; height: 100%; object-fit: cover; }
.news-list { border-top: 1px solid var(--line); }
.news-row { display: grid; grid-template-columns: 130px 110px 1fr 24px; gap: 20px; align-items: center; padding: 25px 4px; border-bottom: 1px solid var(--line); }
.news-row time { color: var(--muted); }
.tag { display: inline-flex; min-height: 28px; align-items: center; justify-content: center; padding-inline: 12px; border-radius: 999px; color: var(--green); background: var(--pale-2); font-size: 13px; font-weight: 700; }

.contact-cta { padding: 72px 0; background: linear-gradient(180deg, #fff, #f4f9f5); }
.contact-box { display: grid; grid-template-columns: 150px minmax(0,1fr) 310px; gap: 30px; align-items: center; padding: 28px 34px 24px; background: rgba(255,255,255,.96); border: 1px solid #91bda0; border-radius: 22px; box-shadow: 0 22px 60px rgba(6,59,36,.08); }
.cta-illustration { width: 150px; height: 192px; overflow: hidden; align-self: end; display: flex; align-items: flex-end; justify-content: center; }
.cta-illustration img { width: 146px; height: 188px; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 10px 14px rgba(6,59,36,.08)); transform: scale(1.28); transform-origin: center bottom; }
.cta-copy { min-width: 0; }
.contact-box h2 { margin: 0 0 8px; font-size: 30px; }
.contact-box p { margin: 0; color: var(--muted); }
.cta-benefits { display: flex; gap: 10px; margin-top: 18px; }
.cta-benefits span { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 6px 12px; color: var(--green); background: var(--pale); border-radius: 10px; font-size: 13px; font-weight: 800; }
.cta-benefits img { width: 26px; height: 26px; }
.contact-actions { display: grid; gap: 10px; min-width: 300px; }
.phone-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2px 10px; min-height: 62px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--green); background: #fff; font-size: 22px; font-weight: 800; }
.phone-card small { flex-basis: 100%; color: var(--ink); text-align: center; font-size: 11px; line-height: 1; }

.site-footer { padding: 58px 0 24px; background: #fff; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1.05fr 1.65fr 1fr; gap: 42px; }
.footer-brand img { width: 118px; margin-bottom: 16px; }
.footer-brand p, .footer-company p { margin: 0; color: var(--muted); font-size: 14px; }
.footer-links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px 18px; align-content: start; font-size: 12px; font-weight: 700; line-height: 1.5; }
.footer-links a { min-width: 0; overflow-wrap: anywhere; }
.footer-links a { color: #304139; }
.footer-links a:hover { color: var(--green); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 44px; padding-top: 18px; border-top: 1px solid var(--line); color: #718078; font-size: 12px; }
.image-disclaimer { margin: 14px 0 0; color: #7a867f; font-size: 11px; line-height: 1.75; }

/* Inner pages */
.page-hero { position: relative; min-height: 320px; display: grid; place-items: center; overflow: hidden; color: #fff; text-align: center; background: var(--deep); }
.page-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(3,52,33,.82), rgba(3,52,33,.48)); }
.page-hero-content { position: relative; z-index: 1; width: min(1040px, calc(100% - 40px)); padding: 64px 0; }
.page-hero h1 { margin: 0 0 14px; font-size: clamp(32px, 3.5vw, 46px); line-height: 1.4; text-wrap: balance; }
.page-hero p { margin: 0; font-size: 17px; }
.page-09 .page-hero::after,
.page-10 .page-hero::after { background: linear-gradient(135deg, rgba(3,52,33,.64), rgba(3,52,33,.18)); }
.page-09 .page-hero-content,
.page-10 .page-hero-content { text-shadow: 0 2px 14px rgba(0,35,22,.42); }
.breadcrumbs { padding: 14px 0; color: var(--muted); font-size: 13px; border-bottom: 1px solid var(--line); }
.intro-grid, .split { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.intro-grid h2, .split h2 { margin: 0; font-size: clamp(28px, 3vw, 42px); line-height: 1.42; }
.split img { width: 100%; aspect-ratio: 1.35; object-fit: cover; border-radius: 12px; }
.split.reverse img { order: 2; }
.split p { color: var(--muted); }
.number-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.number-card { padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 16px; transition: transform .25s ease, box-shadow .25s ease; }
.number-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(6,59,36,.07); }
.number-card-link { display: flex; flex-direction: column; }
.number-card-link .card-link { margin-top: auto; padding-top: 20px; }
.number-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.number-card-icon { width: 48px; height: 48px; padding: 9px; background: var(--pale); border-radius: 14px; }
.number-card .num { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 50%; color: var(--green); background: var(--pale-2); font-weight: 800; }
.number-card-top .num { margin-bottom: 0; }
.number-card h3 { margin: 0 0 10px; font-size: 19px; }
.number-card p { margin: 0; color: var(--muted); }
.flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; counter-reset: flow; }
.flow li { position: relative; list-style: none; }
.flow-icon { width: 48px; height: 48px; margin-bottom: 12px; padding: 9px; border-radius: 14px; background: rgba(255,255,255,.86); }
.flow li::before { counter-increment: flow; content: counter(flow, decimal-leading-zero); width: 68px; height: 68px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 50%; color: var(--green); background: #fff; font-weight: 800; }
.flow li:not(:last-child)::after { content: "→"; position: absolute; right: -15px; top: 18px; color: #8ab79a; font-size: 24px; }
.flow strong { display: block; font-size: 18px; }
.info-table { width: 100%; border-collapse: collapse; }
.info-table th, .info-table td { padding: 20px 24px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.info-table th { width: 28%; color: var(--green); background: var(--pale); }
.faq-list { display: grid; gap: 12px; }
.faq-list details { border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.faq-list summary { position: relative; padding: 24px 64px 24px 66px; cursor: pointer; font-weight: 700; list-style: none; }
.faq-list summary::before { content: "Q"; position: absolute; left: 24px; top: 20px; color: var(--green); font-size: 20px; }
.faq-list summary::after { content: "+"; position: absolute; right: 26px; top: 17px; color: var(--green); font-size: 26px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-answer { padding: 0 66px 24px; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.field { display: grid; gap: 8px; }
.field-full { grid-column: 1 / -1; }
.field label { font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; min-height: 52px; padding: 13px 14px; border: 1px solid #b9cbbf; border-radius: 6px; background: #fff; }
.field textarea { min-height: 160px; resize: vertical; }
.form-note { margin-top: 18px; color: var(--muted); font-size: 14px; }
.form-success { display: none; margin-top: 24px; padding: 18px; color: var(--deep); background: var(--pale-2); border-radius: 8px; font-weight: 700; }
.form-success.is-visible { display: block; }
.vision-circles { position: relative; width: min(900px, 100%); height: 650px; margin: 30px auto 0; }
.vision-circle { position: absolute; width: 390px; aspect-ratio: 1; display: grid; place-content: center; padding: 58px; border: 2px solid; border-radius: 50%; background: rgba(255,255,255,.84); text-align: left; }
.vision-circle h3 { margin: 0 0 14px; text-align: center; font-size: 22px; }
.vision-circle ul { margin: 0; padding-left: 20px; }
.vision-circle-a { left: 255px; top: 0; padding-bottom: 112px; color: #b52820; border-color: #df4f43; background: rgba(255,240,238,.78); }
.vision-circle-b { left: 60px; top: 245px; color: #275eaa; border-color: #4d86cc; background: rgba(238,246,255,.78); }
.vision-circle-c { right: 60px; top: 245px; color: #b45d16; border-color: #e49a4f; background: rgba(255,247,237,.80); }
.vision-center { position: absolute; left: 50%; top: 310px; transform: translate(-50%,-50%); z-index: 2; width: 155px; aspect-ratio: 1; display: grid; place-content: center; border: 2px solid #d6b43b; border-radius: 50%; background: #fff9dd; color: var(--ink); text-align: center; font-size: 19px; font-weight: 800; }
.legal-list { display: grid; }
.legal-item { display: grid; grid-template-columns: 260px 1fr; gap: 40px; padding: 34px 0; border-top: 1px solid var(--line); }
.legal-item h2 { margin: 0; color: var(--green); font-size: 20px; }
.legal-item p { margin: 0; }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.filter-button { min-height: 44px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--green); font-weight: 700; cursor: pointer; }
.filter-button.is-active { color: #fff; background: var(--green); border-color: var(--green); }
.notice { padding: 18px 22px; color: var(--muted); background: #fbfcfb; border: 1px solid var(--line); border-radius: 8px; }
#news-assessment, #contact-form { scroll-margin-top: 112px; }
.breadcrumbs a { display: inline-flex; min-height: 36px; align-items: center; padding-inline: 2px; }

@media screen and (max-width: 1120px) {
  :root { --container: min(100% - 48px, 1020px); }
  .nav-list { gap: 16px; font-size: 13px; }
  .header-actions .button { padding-inline: 14px; }
  .case-grid { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 900px) {
  .header-meta { display: none; }
  .header-main { min-height: 70px; }
  .menu-button { display: block; }
  .main-nav { position: fixed; inset: 70px 0 auto 0; max-height: calc(100vh - 70px); padding: 24px; background: #fff; border-top: 1px solid var(--line); box-shadow: var(--shadow); overflow: auto; transform: translateY(-120%); visibility: hidden; transition: transform .25s ease, visibility .25s; }
  .main-nav.is-open { transform: translateY(0); visibility: visible; }
  .nav-list { display: grid; gap: 0; font-size: 16px; }
  .nav-list a:not(.button) { display: block; padding: 15px 4px; border-bottom: 1px solid var(--line); }
  .nav-list a:not(.button)::after { display: none; }
  .header-actions { display: none; }
  .mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
  .hero { min-height: 620px; }
  .hero-content { width: min(720px, 84%); }
  .problem-grid { grid-template-columns: repeat(2, 1fr); }
  .problem:nth-child(2) { border-right: 0; }
  .problem:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .card-grid, .number-card-grid { grid-template-columns: repeat(2, 1fr); }
  .strength-grid { grid-template-columns: 1fr; }
  .quick-panel, .intro-grid, .split, .recruit-strip { grid-template-columns: 1fr; }
  .contact-box { grid-template-columns: 120px minmax(0,1fr); }
  .cta-illustration { width: 120px; height: 166px; }
  .cta-illustration img { width: 120px; height: 164px; }
  .contact-actions { grid-column: 2; }
  .split.reverse img { order: 0; }
  .quick-panel { padding: 38px; }
  .recruit-image { max-height: 350px; }
  .flow { grid-template-columns: repeat(2, 1fr); row-gap: 44px; }
  .flow li:nth-child(2)::after { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .vision-circles { height: auto; display: grid; gap: 16px; }
  .vision-circle, .vision-circle-a { position: static; width: 100%; aspect-ratio: auto; padding: 32px; border-radius: 20px; }
  .vision-center { position: static; transform: none; width: auto; aspect-ratio: auto; padding: 22px; border-radius: 20px; }
}

@media screen and (max-width: 640px) {
  :root { --container: calc(100% - 40px); }
  .section { padding-block: 58px; }
  .brand img { width: 104px; }
  .hero { min-height: 670px; align-items: end; color: #fff; }
  .hero-media { object-position: 70% center; }
  .hero::after { background: linear-gradient(0deg, rgba(2,35,20,.95) 0%, rgba(2,35,20,.72) 66%, rgba(2,35,20,.2) 100%); }
  .hero-content { width: 100%; padding: 210px 0 52px; }
  .hero h1 { font-size: 30px; line-height: 1.42; }
  .hero h1 em { color: #8dde9f; }
  .hero-topic { white-space: normal; }
  .hero-qualifier { display: block; }
  .hero-lead { font-size: 16px; }
  .hero-actions { display: grid; }
  .hero-badge { display: none; }
  .section-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 34px; }
  .problem-grid, .card-grid, .number-card-grid, .case-grid, .metric-grid, .strength-flow { grid-template-columns: 1fr; }
  .problem { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .strength-step { border-right: 0; border-bottom: 1px solid var(--line); }
  .strength-card { grid-template-columns: 1fr; }
  .strength-card img { height: 200px; }
  .quick-panel { padding: 28px 22px; }
  .news-row { grid-template-columns: 95px 1fr 24px; gap: 12px; }
  .news-row .tag { display: none; }
  .contact-box { grid-template-columns: 1fr; padding: 28px 22px; text-align: center; }
  .cta-illustration { width: 138px; height: 174px; margin: 0 auto; }
  .cta-illustration img { width: 138px; height: 172px; }
  .cta-benefits { justify-content: center; flex-wrap: wrap; }
  .contact-actions { grid-column: auto; min-width: 0; }
  .footer-grid, .footer-links { grid-template-columns: 1fr; }
  .footer-links { gap: 0; }
  .footer-links a { display: flex; min-height: 42px; align-items: center; border-bottom: 1px solid var(--line); }
  .footer-bottom { display: grid; }
  .page-hero { min-height: 300px; }
  .page-hero h1 { font-size: 31px; }
  .flow { grid-template-columns: 1fr; }
  .flow li:not(:last-child)::after { content: "↓"; left: 22px; right: auto; top: 78px; }
  .info-table, .info-table tbody, .info-table tr, .info-table th, .info-table td { display: block; width: 100%; }
  .info-table th { padding-bottom: 8px; border-bottom: 0; }
  .info-table td { padding-top: 8px; }
  .form-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .legal-item { grid-template-columns: 1fr; gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  .brand:hover img { transform: none; filter: none; }
}

/* 2026-09-27 design alignment */
.brand { position: relative; }
.brand::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 0; height: 3px; border-radius: 3px; background: var(--green); transform: translateX(-50%); transition: width .24s ease; }
.brand img { transform-origin: center; transition: transform .24s ease, filter .24s ease; }
.brand:hover img { transform: scale(1.085); filter: drop-shadow(0 7px 10px rgba(6,59,36,.2)); }
.brand:hover::after { width: 70%; }
.button-icon { width: 21px; height: 21px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.button-icon-raster { object-fit: contain; border-radius: 5px; background: #fff; }
.mail-icon, .pc-icon { display: none; }

.has-submenu { position: relative; }
.nav-parent-row { display: flex; align-items: center; }
.submenu-toggle { width: 22px; height: 36px; position: relative; padding: 0; border: 0; background: transparent; color: var(--green); cursor: pointer; }
.submenu-toggle::before { content: ""; position: absolute; left: 6px; top: 12px; width: 7px; height: 7px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.submenu { position: absolute; left: 50%; top: calc(100% - 6px); z-index: 5; width: 240px; margin: 0; padding: 10px; list-style: none; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.98); box-shadow: 0 20px 50px rgba(6,59,36,.14); opacity: 0; visibility: hidden; transform: translate(-50%,8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.submenu a { display: block; padding: 10px 12px !important; border-radius: 7px; font-size: 13px; white-space: normal; }
.submenu a::after { display: none; }
.submenu a:hover { color: var(--green); background: var(--pale); }
.has-submenu:hover .submenu, .has-submenu:focus-within .submenu { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.hero-mobile-kicker { display: none; }

.editorial-intro { overflow: hidden; }
.editorial-intro .display-word { margin-bottom: 22px; font-size: clamp(58px,8vw,112px); }
.editorial-intro .intro-grid { align-items: end; }
.editorial-intro .intro-grid > p { margin: 0; color: var(--muted); font-size: 17px; }
.service-tile-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.service-tile { min-height: 520px; display: flex; flex-direction: column; overflow: hidden; color: var(--ink); background: #fff; border-radius: 18px; box-shadow: 0 20px 60px rgba(6,59,36,.08); transition: transform .3s ease, box-shadow .3s ease; }
.service-tile:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.service-tile img { width: 100%; aspect-ratio: 1.22; object-fit: cover; }
.service-tile > div { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.service-tile span, .option-card span, .company-nav-card span { color: #a7cdb2; font-size: 34px; font-weight: 800; line-height: 1; }
.service-tile h3 { margin: 13px 0 10px; font-size: 24px; }
.service-tile p { margin: 0 0 22px; color: var(--muted); }
.service-tile b { margin-top: auto; color: var(--green); font-size: 13px; letter-spacing: .08em; }
.assessment-banner { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 32px; padding: 34px 40px; color: #fff; background: linear-gradient(110deg,#07542c,#0c8136); border-radius: 16px; box-shadow: 0 18px 45px rgba(6,59,36,.18); }
.assessment-banner span { color: #8fd7a5; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.assessment-banner h3 { margin: 5px 0 4px; font-size: 24px; }
.assessment-banner p { margin: 0; color: #d8e9dd; }
.assessment-banner b { white-space: nowrap; }
.process-band { color: #fff; background: var(--deep); }
.process-band h2 { margin: 0; font-size: clamp(30px,4vw,48px); line-height: 1.35; }
.process-line { display: grid; grid-template-columns: repeat(4,1fr); margin: 58px 0 0; padding: 0; list-style: none; }
.process-line li { position: relative; display: grid; justify-items: center; gap: 18px; text-align: center; }
.process-line li:not(:last-child)::after { content: "→"; position: absolute; right: -10px; top: 27px; color: #80b790; font-size: 28px; }
.process-line span { width: 76px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: #fff; font-size: 18px; font-weight: 800; }
.process-line strong { font-size: 17px; }
.visual-divider { position: relative; min-height: 330px; display: grid; place-items: center; overflow: hidden; color: #fff; text-align: center; }
.visual-divider img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.visual-divider::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,52,33,.82),rgba(3,52,33,.5)); }
.visual-divider > div { position: relative; z-index: 1; width: min(900px,calc(100% - 40px)); }
.visual-divider span { color: #9ad8ac; font-size: 14px; font-weight: 800; letter-spacing: .14em; }
.visual-divider h2 { margin: 8px 0; font-size: clamp(31px,4vw,48px); }
.visual-divider p { margin: 0; }
.editorial-stack { display: grid; gap: 100px; }
.editorial-feature { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 72px; align-items: center; }
.editorial-feature.reverse img { order: 2; }
.editorial-feature img { width: 100%; aspect-ratio: 1.28; object-fit: cover; border-radius: 18px; box-shadow: 0 24px 60px rgba(6,59,36,.1); }
.editorial-feature h3 { margin: 0 0 18px; font-size: clamp(28px,3.2vw,43px); line-height: 1.4; letter-spacing: -.02em; }
.editorial-feature p { margin: 0 0 24px; color: var(--muted); }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.value-grid > article { min-height: 220px; padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 14px 40px rgba(6,59,36,.05); }
.value-grid span { color: #abd0b5; font-size: 28px; font-weight: 800; }
.value-grid h3 { margin: 18px 0 10px; font-size: 21px; }
.value-grid p { margin: 0; color: var(--muted); }
.detail-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.detail-card { position: relative; min-height: 300px; padding: 30px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.detail-card > span { position: absolute; right: 20px; top: 12px; color: #e0eee4; font-size: 64px; font-weight: 800; line-height: 1; }
.detail-card img { position: relative; width: 58px; height: 58px; margin-bottom: 34px; padding: 10px; border-radius: 16px; background: var(--pale); }
.detail-card h3 { position: relative; margin: 0 0 12px; font-size: 21px; }
.detail-card p { position: relative; margin: 0; color: var(--muted); }
.construction-detail { border-top: 4px solid var(--orange); }
.quality-band { background: linear-gradient(135deg,#f6faf7,#edf5ef); }
.option-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.option-card { overflow: hidden; background: #fff; border-radius: 16px; }
.option-card img { width: 100%; aspect-ratio: 1.45; object-fit: cover; }
.option-card > div { padding: 26px; }
.option-card h3 { margin: 10px 0; font-size: 22px; }
.option-card p { margin: 0; color: var(--muted); }
.quick-stat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.quick-stat-grid article { min-height: 190px; display: grid; place-content: center; gap: 12px; padding: 30px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.quick-stat-grid strong { color: var(--green); font-size: 30px; line-height: 1.2; white-space: pre-line; }
.quick-stat-grid span { color: var(--muted); }
.service-notice { display: flex; gap: 30px; margin-top: 42px; }
.service-notice strong { flex: 0 0 160px; color: var(--green); }
.company-nav-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.company-nav-card { overflow: hidden; background: #fff; border-radius: 16px; box-shadow: 0 18px 50px rgba(6,59,36,.07); }
.company-nav-card img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.company-nav-card > div { padding: 26px; }
.company-nav-card h3 { margin: 10px 0; font-size: 22px; }
.company-nav-card p { color: var(--muted); }
.company-nav-card b { color: var(--green); font-size: 12px; letter-spacing: .08em; }
.company-divider { min-height: 280px; }
.credential-grid, .company-links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.credential-grid article { padding: 34px; background: var(--pale); border: 1px solid var(--line); border-radius: 14px; }
.credential-grid span, .company-link-panel span { color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.credential-grid h3 { margin: 8px 0; font-size: 22px; }
.company-link-panel { display: grid; grid-template-columns: 44% 1fr; overflow: hidden; background: #fff; border-radius: 16px; box-shadow: 0 16px 44px rgba(6,59,36,.07); }
.company-link-panel img { width: 100%; height: 100%; object-fit: cover; }
.company-link-panel div { padding: 30px; }
.company-link-panel h3 { margin: 6px 0; font-size: 24px; }
.company-link-panel p { color: var(--muted); }
.company-link-panel b { color: var(--green); }
.location-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.location-grid article { min-width: 0; display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 4px 20px; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.location-grid span { grid-row: 1/3; align-self: center; padding: 5px 10px; color: var(--green); border: 1px solid #9bc7a8; border-radius: 999px; text-align: center; font-size: 12px; font-weight: 800; }
.location-grid h3, .location-grid p { margin: 0; }
.location-grid p { min-width: 0; color: var(--muted); overflow-wrap: anywhere; word-break: break-word; }
.license-band { color: #fff; background: var(--deep); }
.license-band .section-head p { color: #c4d3ca; }
.license-band .info-table th { color: #a6ddb5; background: rgba(255,255,255,.05); }
.license-band .info-table th, .license-band .info-table td { border-color: rgba(255,255,255,.18); }
.philosophy-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.philosophy-layout > h3 { margin: 0; font-size: clamp(30px,4vw,48px); line-height: 1.45; }
.philosophy-layout > div { padding: 40px; border-left: 4px solid #8ec6a0; background: var(--pale); border-radius: 0 16px 16px 0; }
.vision-section .section-head { margin-bottom: 20px; }
.vision-circles { height: 730px; }
.vision-circle { width: 430px; padding: 66px; display: grid; place-items: center; }
.vision-circle > div { width: 100%; text-align: center; }
.vision-circle small { font-size: 10px; font-weight: 800; }
.vision-circle h3 { margin: 5px 0; font-size: 22px; }
.vision-circle b { font-size: 13px; }
.vision-circle ul { width: 100%; margin: 18px 0 0; padding-left: 20px; text-align: left; font-size: 14px; }
.vision-circle-a { left: calc(50% - 215px); top: 0; padding-bottom: 125px; color: #276d4d; border-color: #3d916d; background: rgba(219,239,227,.83); }
.vision-circle-b { left: 20px; top: 285px; color: #226685; border-color: #3f91ad; background: rgba(225,242,247,.84); }
.vision-circle-c { right: 20px; top: 285px; color: #9a641f; border-color: #c28d42; background: rgba(250,239,220,.84); }
.vision-center { top: 380px; width: 150px; color: #fff; border-color: var(--deep); background: var(--deep); font-size: 16px; }
.vision-center strong { font-size: 20px; }
.vision-statement { min-height: 74px; display: grid; place-items: center; margin: 18px auto 0; padding: 16px 26px; border: 2px solid #79b88d; border-radius: 8px; text-align: center; font-size: 19px; font-weight: 800; }
.policy-list { display: grid; gap: 18px; }
.policy-row { display: grid; grid-template-columns: 90px 1fr; gap: 28px; align-items: center; padding: 30px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.policy-row > span { color: #afd1b9; font-size: 42px; font-weight: 800; }
.policy-row h3 { margin: 0 0 7px; font-size: 21px; }
.policy-row p { margin: 0; color: var(--muted); }
.case-archive-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 54px 32px; }
.case-archive-card { border: 0; border-radius: 0; background: transparent; overflow: visible; }
.case-archive-card img { aspect-ratio: 1.6; border-radius: 14px; }
.case-archive-card div { min-height: 220px; display: grid; grid-template-columns: 70px 1fr; grid-template-rows: auto auto 1fr auto; gap: 4px 12px; padding: 22px 0 0; }
.case-index { grid-row: 1/4; color: #add2b8; font-size: 38px; font-weight: 800; }
.case-archive-card small { align-self: center; }
.case-archive-card h3 { min-height: 54px; margin: 6px 0; font-size: 22px; }
.case-archive-card .card-link { grid-column: 1/-1; padding-top: 16px; border-top: 1px solid var(--line); }
.case-format-band { color: #fff; background: var(--deep); }
.case-format-band .section-head p { color: #c7d8cd; }
.format-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.format-grid article { padding: 22px 28px; border-left: 1px solid rgba(255,255,255,.18); }
.format-grid article:first-child { border-left: 0; }
.format-grid span { color: #80b894; font-size: 38px; font-weight: 800; }
.format-grid small { display: block; margin-top: 10px; color: #8dd1a1; }
.format-grid h3 { margin: 4px 0; }
.format-grid p { margin: 0; color: #c7d8cd; }

@media screen and (max-width: 900px) {
  .nav-parent-row { border-bottom: 1px solid var(--line); }
  .nav-parent-row > a { flex: 1; border-bottom: 0 !important; }
  .submenu-toggle { width: 48px; height: 52px; }
  .submenu-toggle::before { left: 18px; top: 19px; width: 9px; height: 9px; }
  .submenu-toggle[aria-expanded="true"]::before { transform: translateY(4px) rotate(225deg); }
  .submenu { position: static; width: 100%; display: none; padding: 4px 0 10px 18px; border: 0; border-radius: 0; background: var(--pale); box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .has-submenu.is-open .submenu { display: block; }
  .submenu a { padding: 10px 12px !important; }
  .has-submenu:hover .submenu, .has-submenu:focus-within .submenu { transform: none; }
  .service-tile-grid, .detail-card-grid, .option-grid, .company-nav-grid { grid-template-columns: repeat(2,1fr); }
  .editorial-feature, .philosophy-layout { grid-template-columns: 1fr; gap: 38px; }
  .editorial-feature.reverse img { order: 0; }
  .company-links { grid-template-columns: 1fr; }
  .vision-circle-a { left: calc(50% - 215px); }
  .vision-circle-b { left: 0; }
  .vision-circle-c { right: 0; }
}

@media screen and (max-width: 640px) {
  .hero { min-height: 790px; }
  .hero-media { object-position: 67% center; transform: scale(1.08); }
  .hero::after { background: linear-gradient(0deg,rgba(2,28,17,.97) 0%,rgba(2,28,17,.84) 53%,rgba(2,28,17,.15) 100%); }
  .hero-content { padding: 245px 0 48px; }
  .hero-mobile-kicker { display: inline-flex; margin: 0 0 16px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; color: #fff; background: rgba(4,77,39,.7); font-size: 12px; font-weight: 800; }
  .hero h1 { font-size: clamp(29px,7.5vw,32px); line-height: 1.48; text-shadow: 0 4px 24px rgba(0,0,0,.28); }
  .hero-topic em { font-size: .9em; letter-spacing: -.055em; }
  .hero-result { font-size: .9em; white-space: nowrap; }
  .hero-lead { font-size: 15px; line-height: 1.8; }
  .hero-badge { display: flex; right: 20px; top: 24px; bottom: auto; width: 116px; border-width: 1.5px; font-size: 10px; }
  .hero-badge strong { font-size: 22px; }
  .hero-badge em { font-size: 8px; }
  .editorial-intro .display-word { font-size: 48px; }
  .service-tile-grid, .detail-card-grid, .option-grid, .value-grid, .quick-stat-grid, .company-nav-grid, .credential-grid, .location-grid, .case-archive-grid, .format-grid { grid-template-columns: 1fr; }
  .assessment-banner { align-items: flex-start; flex-direction: column; padding: 28px 24px; }
  .process-line { grid-template-columns: 1fr; gap: 34px; }
  .process-line li { grid-template-columns: 68px 1fr; align-items: center; justify-items: start; text-align: left; }
  .process-line li:not(:last-child)::after { content: "↓"; left: 27px; right: auto; top: 70px; }
  .process-line span { width: 64px; }
  .editorial-feature img { aspect-ratio: 1.1; }
  .service-notice { display: grid; gap: 10px; }
  .company-link-panel { grid-template-columns: 1fr; }
  .company-link-panel img { height: 220px; }
  .philosophy-layout > div { padding: 28px; }
  .vision-circles { height: auto; display: grid; gap: 18px; }
  .vision-circle, .vision-circle-a, .vision-circle-b, .vision-circle-c { position: static; width: 100%; aspect-ratio: auto; padding: 34px 28px; border-radius: 28px; }
  .vision-center { position: static; width: 100%; aspect-ratio: auto; transform: none; padding: 18px; border-radius: 16px; }
  .vision-statement { font-size: 16px; }
  .policy-row { grid-template-columns: 58px 1fr; gap: 16px; padding: 24px 20px; }
  .policy-row > span { font-size: 32px; }
  .case-archive-card div { min-height: 200px; }
  .format-grid article { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .format-grid article:first-child { border-top: 0; }
}

/* 2026-09-27 pages 07–17 */
.brand::after { display: none; }
.brand img { background: transparent; }
.brand:hover img { transform: scale(1.07); filter: drop-shadow(0 8px 7px rgba(6,59,36,.28)); }
.process-line:has(.process-illustration) { gap: 22px; }
.process-line:has(.process-illustration) li { min-height: 260px; align-content: start; gap: 12px; padding: 28px 20px 24px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(255,255,255,.055); }
.process-illustration { width: 78px; height: 78px; padding: 14px; border-radius: 20px; background: #fff; }
.process-line:has(.process-illustration) span { width: auto; aspect-ratio: auto; color: #8ed1a1; background: transparent; font-size: 13px; letter-spacing: .12em; }
.process-line:has(.process-illustration) li:not(:last-child)::after { right: -25px; top: 103px; z-index: 2; }

.case-archive-card div { padding-inline: 12px; }
.case-archive-card .card-link { margin-inline: -12px; padding: 16px 12px 4px; transition: color .2s ease, padding-left .2s ease; }
.case-archive-card:hover .card-link { padding-left: 18px; }

.page-08 .page-hero { min-height: 450px; place-items: stretch; text-align: left; }
.page-08 .page-hero img { object-position: 72% center; }
.page-08 .page-hero::after { background: linear-gradient(90deg,rgba(2,28,20,.93) 0%,rgba(2,37,27,.66) 43%,rgba(2,37,27,.04) 78%); }
.page-08 .page-hero-content { width: var(--container); display: grid; align-content: center; margin-inline: auto; padding-block: 80px; }
.page-08 .page-hero-content > * { max-width: 600px; }
.page-08 .page-hero .eyebrow { color: #6ef0a0; }
.assessment-console { color: #fff; background: #061f18; }
.assessment-console-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; align-items: center; }
.assessment-console h2 { margin: 0 0 22px; font-size: clamp(32px,4vw,52px); line-height: 1.35; }
.assessment-console p { color: #c7d8d1; }
.assessment-dashboard { padding: 18px; border: 1px solid rgba(112,239,166,.24); border-radius: 24px; background: linear-gradient(145deg,rgba(13,62,48,.96),rgba(5,30,23,.96)); box-shadow: 0 34px 80px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.08); }
.dash-top { display: flex; justify-content: space-between; align-items: center; padding: 4px 4px 16px; color: #8cf0b2; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.dash-top i, .dash-grid i { padding: 5px 9px; border: 1px solid rgba(110,240,160,.35); border-radius: 999px; color: #72e6a0; font-size: 9px; font-style: normal; }
.dash-map { position: relative; min-height: 250px; display: grid; align-content: end; overflow: hidden; padding: 28px; border-radius: 15px; background: linear-gradient(180deg,rgba(1,20,15,.08),rgba(1,20,15,.86)), url('/wordpress/wp-content/themes/eegreen-renewal/assets/images/assessment-ai.webp') center/cover; }
.dash-map::after { content: ''; position: absolute; inset: 18% 11%; border: 1px solid rgba(107,238,161,.52); clip-path: polygon(8% 16%,74% 4%,95% 43%,72% 92%,16% 83%,0 48%); }
.dash-map b, .dash-map small { position: relative; z-index: 2; }
.dash-map b { font-size: 22px; }
.dash-map small { color: #a8c7bb; }
.scan-line { position: absolute; left: 0; right: 0; top: 36%; z-index: 1; height: 1px; background: #6ef0a0; box-shadow: 0 0 18px #6ef0a0; }
.dash-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 10px; }
.dash-grid article { display: grid; gap: 5px; padding: 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.035); }
.dash-grid small { color: #6ed994; font-size: 9px; letter-spacing: .12em; }
.dash-grid strong { font-size: 13px; }
.dash-grid i { justify-self: start; }
.quick-facts { background: linear-gradient(180deg,#f5faf7,#fff); }

.disclosure-stats { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line); }
.disclosure-stats article { min-height: 190px; display: grid; align-content: center; gap: 6px; padding: 30px; border-left: 1px solid var(--line); text-align: center; }
.disclosure-stats article:first-child { border-left: 0; }
.disclosure-stats small { color: var(--muted); }
.disclosure-stats strong { color: var(--green); font-size: clamp(25px,3vw,38px); letter-spacing: -.02em; }
.table-shell { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.table-shell .info-table tr:last-child th, .table-shell .info-table tr:last-child td { border-bottom: 0; }
.document-note { margin: 20px 0 0; color: var(--muted); font-size: 13px; }

.page-13 .page-hero { min-height: 430px; }
.page-13 .page-hero img { object-position: center 35%; }
.page-13 .page-hero::after { background: linear-gradient(90deg,rgba(3,52,33,.72),rgba(3,52,33,.34)); }
.recruit-message-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: center; }
.recruit-message h2 { margin: 0 0 24px; font-size: clamp(34px,4vw,54px); line-height: 1.38; }
.recruit-message p { color: var(--muted); font-size: 17px; }
.recruit-message img { width: 100%; aspect-ratio: 1.32; object-fit: cover; border-radius: 18px; box-shadow: var(--shadow); }
.recruit-attraction { position: relative; overflow: hidden; }
.recruit-attraction::before { content: 'WHY'; position: absolute; right: -2vw; top: 1rem; color: #e2eee5; font-size: min(16vw,210px); font-weight: 900; line-height: 1; }
.recruit-attraction .container { position: relative; }
.recruit-attraction-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.recruit-attraction-grid article { min-height: 320px; padding: 34px; background: #fff; border-radius: 18px; box-shadow: 0 18px 50px rgba(6,59,36,.06); }
.recruit-attraction-grid span { color: #abd1b6; font-size: 38px; font-weight: 800; }
.recruit-attraction-grid h3 { margin: 24px 0 14px; font-size: 23px; line-height: 1.5; }
.recruit-attraction-grid p, .recruit-job-grid p, .recruit-people-grid p { color: var(--muted); }
.recruit-job-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.recruit-job-grid article { padding: 28px 24px; border: 1px solid var(--line); border-radius: 16px; }
.recruit-job-grid img { width: 58px; height: 58px; margin-bottom: 24px; padding: 10px; border-radius: 16px; background: var(--pale); }
.recruit-job-grid h3 { font-size: 19px; }
.recruit-people { color: #fff; background: var(--deep); }
.recruit-people .section-head p { color: #c6d8cd; }
.recruit-people-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.recruit-people-grid article { padding: 34px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,255,255,.055); }
.recruit-people-grid small { color: #8dd2a0; font-weight: 800; letter-spacing: .12em; }
.recruit-people-grid h3 { margin: 18px 0 10px; font-size: 22px; }
.recruit-people-grid p { color: #c6d8cd; }
.recruit-entry { background: linear-gradient(120deg,#eff8f2,#fff); }
.recruit-entry .container { display: flex; justify-content: space-between; align-items: center; gap: 50px; }
.recruit-entry h2 { margin: 0 0 14px; font-size: clamp(30px,4vw,48px); }
.recruit-entry p { max-width: 720px; color: var(--muted); }

.news-pickup article { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.news-pickup article > img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.news-pickup article > div { padding: 54px; }
.news-pickup time { margin-right: 14px; color: var(--muted); }
.news-pickup h3 { margin: 22px 0 16px; font-size: clamp(24px,3vw,36px); line-height: 1.5; }
.news-pickup p { color: var(--muted); }

.page-15 .filters { justify-content: center; }
.page-15 .faq-list { gap: 16px; }
.page-15 .faq-list details { border-radius: 15px; box-shadow: 0 10px 34px rgba(6,59,36,.04); }
.page-16 #contact-form { max-width: 940px; margin-inline: auto; padding: 48px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 22px 60px rgba(6,59,36,.07); }
.page-16 .number-card-grid { gap: 22px; }
.page-16 .number-card { min-height: 280px; }

.privacy-intro { padding-bottom: 70px; }
.privacy-nav { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.privacy-nav a { min-height: 92px; display: flex; align-items: center; gap: 12px; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; font-weight: 700; }
.privacy-nav a:hover { color: var(--green); background: var(--pale); }
.privacy-nav span { color: #a7cdb2; font-size: 20px; }
.legal-shell { max-width: 1040px; }
.legal-shell > .section-head { margin-bottom: 30px; }
.legal-item { scroll-margin-top: 120px; }

.case-detail-hero { min-height: 430px; }
.case-detail-hero img { object-position: center; }
.case-detail-hero::after { background: linear-gradient(90deg,rgba(3,52,33,.86),rgba(3,52,33,.4)); }
.case-draft { padding-block: 34px; background: #fff8ef; }
.case-draft p { margin: 0; color: #71512e; }
.case-draft strong { margin-right: 18px; }
.case-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.case-summary-grid > div { min-height: 300px; padding: 40px; border: 1px solid var(--line); border-radius: 18px; }
.case-summary-grid > div:nth-child(2) { background: var(--pale); }
.case-summary-grid h2 { margin: 0 0 16px; font-size: 28px; }
.case-summary-grid p { color: var(--muted); }
.back-to-list { display: inline-flex; margin-top: 38px; color: var(--green); font-weight: 800; }

@media screen and (max-width: 900px) {
  .assessment-console-grid, .recruit-message-grid, .news-pickup article { grid-template-columns: 1fr; }
  .recruit-attraction-grid, .recruit-people-grid { grid-template-columns: 1fr; }
  .recruit-job-grid { grid-template-columns: repeat(2,1fr); }
  .privacy-nav { grid-template-columns: repeat(2,1fr); }
  .news-pickup article > img { min-height: 300px; }
}

@media screen and (max-width: 640px) {
  .page-08 .page-hero { min-height: 480px; }
  .page-08 .page-hero-content { padding-block: 58px; }
  .assessment-console-grid { gap: 42px; }
  .dash-grid { grid-template-columns: 1fr; }
  .process-line:has(.process-illustration) li { min-height: 225px; }
  .process-line:has(.process-illustration) li:not(:last-child)::after { left: 50%; top: auto; bottom: -33px; transform: translateX(-50%); }
  .disclosure-stats, .recruit-job-grid, .privacy-nav, .case-summary-grid { grid-template-columns: 1fr; }
  .disclosure-stats article { min-height: 140px; border-left: 0; border-top: 1px solid var(--line); }
  .disclosure-stats article:first-child { border-top: 0; }
  .page-13 .page-hero { min-height: 380px; }
  .page-13 .page-hero img { object-position: 66% center; }
  .recruit-message-grid { gap: 38px; }
  .recruit-message-grid img { aspect-ratio: 1; }
  .recruit-entry .container { display: grid; }
  .news-pickup article > div { padding: 30px 24px; }
  .page-16 #contact-form { padding: 28px 20px; }
  .case-draft strong { display: block; margin: 0 0 8px; }
  .case-summary-grid > div { min-height: auto; padding: 28px 24px; }
}

/* 2026-09-28 content, imagery and editorial refinements */
.section-display { margin-bottom: 14px; font-size: clamp(54px,9vw,118px); color: #e3eee6; }
.page-hero-content h1 { text-wrap: balance; }
.desktop-break { display: block; }

/* TOP: lighter hero and clearly differentiated opening sections */
.hero { background: #f7fbf8; }
.hero-media { filter: saturate(.92) brightness(1.045); }
.hero::after { background: linear-gradient(90deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.95) 34%,rgba(255,255,255,.70) 50%,rgba(255,255,255,.08) 70%,transparent 82%); }
.top-challenges { position: relative; overflow: hidden; background: #fff; }
.top-challenges::before { content: "CHALLENGES"; position: absolute; right: -20px; top: 34px; color: #f2f7f3; font-size: min(10vw,140px); font-weight: 900; line-height: 1; }
.top-challenges .container { position: relative; }
.top-challenges .problem-grid { grid-template-columns: repeat(2,1fr); gap: 18px; border: 0; }
.top-challenges .problem { min-height: 150px; display: grid; grid-template-columns: 84px 1fr; align-items: center; gap: 24px; padding: 28px 30px; border: 1px solid var(--line); border-radius: 18px; text-align: left; background: linear-gradient(135deg,#fff,#f8fbf9); box-shadow: 0 14px 38px rgba(6,59,36,.045); }
.top-challenges .problem:hover { border-color: #a7cdb2; background: #f4faf6; }
.top-challenges .problem-icon { margin: 0; }
.answer-band { position: relative; padding: 56px 0 72px; color: var(--ink); background: #fff; text-align: left; overflow: hidden; }
.answer-band::before { content: none; }
.answer-band .container { position: relative; display: grid; grid-template-columns: .95fr 1.05fr; gap: 76px; align-items: center; }
.answer-band h2 { margin: 0; padding-left: 28px; border-left: 5px solid var(--green); font-size: clamp(28px,3vw,42px); }
.answer-band p { position: relative; min-height: 148px; display: flex; align-items: center; margin: 0; max-width: 650px; padding: 28px 22px; overflow: hidden; color: var(--muted); background: #fff; font-size: 18px; font-weight: 700; }
.answer-band p::before { content: "ONE STOP"; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); color: rgba(8,118,44,.075); font-size: clamp(58px,6vw,88px); font-weight: 900; line-height: 1; letter-spacing: -.04em; white-space: nowrap; pointer-events: none; }

/* Company information and downloadable brochure */
.company-divider h2 { text-wrap: balance; }
.brochure-panel img { object-fit: contain; padding: 22px; background: #eef4ef; }
.brochure-panel b { display: inline-flex; align-items: center; margin-top: 6px; padding: 10px 14px; color: #fff; background: var(--green); border-radius: 8px; }
.brochure-panel small { display: block; margin-top: 9px; color: var(--muted); }
.license-card-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.license-card-grid article { display: grid; gap: 8px; padding: 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(255,255,255,.065); }
.license-card-grid strong { color: #fff; font-size: 18px; }
.license-card-grid span { color: #a6ddb5; }
.business-info-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 24px; }
.business-info-grid article { padding: 34px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.business-info-grid span { color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.business-info-grid h3 { margin: 8px 0 12px; font-size: 24px; }
.business-info-grid p { margin: 0; color: var(--muted); }

/* Philosophy / vision */
.philosophy-section { position: relative; overflow: hidden; }
.philosophy-section > .container { position: relative; z-index: 1; }
.philosophy-logo { position: absolute; right: 4vw; top: 110px; width: clamp(180px,24vw,360px); opacity: .065; will-change: transform; pointer-events: none; }
.philosophy-logo img { width: 100%; }
.philosophy-layout > h3 { position: relative; padding: 38px 0 38px 36px; }
.philosophy-layout > h3::before { content: ""; position: absolute; left: 0; top: 32px; bottom: 32px; width: 6px; border-radius: 99px; background: linear-gradient(var(--green),#9ed0ab); }
.philosophy-layout > div { padding: 42px 44px; }
.philosophy-layout > div p:first-child { margin-top: 0; }
.philosophy-layout > div p:last-child { margin-bottom: 0; }
.policy-section { background: #fff; }
.policy-row { align-items: start; padding: 34px 38px; border-left: 5px solid #b7d8c0; }
.policy-row:nth-child(2) { border-left-color: #79aa8a; }
.policy-row:nth-child(3) { border-left-color: var(--green); }
.policy-row p { font-size: 16px; line-height: 1.9; }
.vision-circle > div { display: flex; min-height: 100%; flex-direction: column; justify-content: center; align-items: center; }
.vision-circle ul { max-width: 310px; }

/* Disclosure */
.as-of-date { display: inline-flex; margin: -18px 0 24px; padding: 7px 15px; color: var(--green); background: var(--pale); border-radius: 999px; font-size: 13px; font-weight: 800; }
.record-stack { min-width: 0; display: grid; gap: 34px; }
.record-block { min-width: 0; max-width: 100%; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 16px 40px rgba(6,59,36,.045); }
.record-block h3 { margin: 0 0 18px; font-size: 23px; }
.record-scroll { min-width: 0; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.record-table { width: 100%; min-width: 920px; border-collapse: collapse; font-size: 13px; }
.record-table th, .record-table td { padding: 15px 12px; border: 1px solid var(--line); text-align: center; }
.record-table thead th { color: #fff; background: var(--deep); line-height: 1.45; }
.record-table tbody th { color: var(--green); background: var(--pale); white-space: nowrap; }
.qualification-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.qualification-grid article { min-height: 170px; display: grid; align-content: center; gap: 12px; padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 16px; text-align: center; }
.qualification-grid strong { font-size: 17px; }
.qualification-grid span { color: var(--green); font-size: 32px; font-weight: 900; }
.quality-list { display: grid; grid-template-columns: 1.4fr .6fr; gap: 18px; }
.quality-list article { display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: center; padding: 30px; border: 1px solid var(--line); border-radius: 16px; }
.quality-list span { color: #add2b8; font-size: 34px; font-weight: 900; }
.quality-list p { margin: 0; }
.text-link { color: var(--green); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

/* Recruitment photography and illustrated application flow */
.recruit-job-grid { grid-template-columns: repeat(2,1fr); gap: 24px; }
.recruit-job-grid article { padding: 0; overflow: hidden; background: #fff; box-shadow: 0 14px 40px rgba(6,59,36,.06); }
.recruit-job-grid article > img { width: 100%; height: auto; aspect-ratio: 4/3; margin: 0; padding: 0; border-radius: 0; object-fit: cover; background: none; }
.recruit-job-grid article > div { padding: 26px 28px 30px; }
.recruit-job-grid article h3 { margin: 0 0 10px; font-size: 22px; }
.recruit-job-grid article p { margin: 0; }
.selection-flow { color: var(--ink); background: #f5faf6; }
.selection-flow h2 { margin: 0; font-size: clamp(30px,4vw,48px); }
.selection-flow > .container > img { width: 100%; margin: 34px 0 6px; border-radius: 22px; box-shadow: 0 18px 44px rgba(6,59,36,.07); }
.selection-flow ol { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin: 22px 0 0; padding: 0; list-style: none; }
.selection-flow li { display: grid; gap: 5px; padding: 18px 20px; border-left: 3px solid #9ac9a7; background: #fff; }
.selection-flow li span { color: var(--green); font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.selection-flow li strong { font-size: 15px; }

@media screen and (max-width: 900px) {
  .top-challenges .problem-grid, .business-info-grid, .quality-list { grid-template-columns: 1fr; }
  .answer-band .container { grid-template-columns: 1fr; gap: 24px; }
  .qualification-grid { grid-template-columns: repeat(2,1fr); }
  .selection-flow ol { grid-template-columns: repeat(2,1fr); }
}
@media screen and (max-width: 640px) {
  .hero { min-height: 760px; }
  .hero-media { object-position: 66% center; filter: saturate(1) brightness(1.06); }
  .hero::after { background: linear-gradient(0deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 57%,rgba(255,255,255,.18) 100%); }
  .hero-content { padding-top: 285px; }
  .hero-mobile-kicker { color: var(--green); border-color: #8fc39e; background: rgba(255,255,255,.9); }
  .hero h1 { text-shadow: none; }
  .top-challenges .problem { grid-template-columns: 64px 1fr; gap: 16px; padding: 22px 18px; }
  .top-challenges .problem-icon { width: 58px; height: 58px; }
  .answer-band::before { top: 18px; transform: none; font-size: 58px; }
  .answer-band h2 { padding-left: 18px; }
  .desktop-break { display: none; }
  .license-card-grid, .qualification-grid, .recruit-job-grid, .selection-flow ol { grid-template-columns: 1fr; }
  .location-grid article { grid-template-columns: 1fr; gap: 10px; }
  .location-grid span { grid-row: auto; justify-self: start; }
  .philosophy-logo { right: -30px; top: 150px; width: 230px; }
  .philosophy-layout > h3 { padding: 20px 0 20px 24px; }
  .policy-row { padding: 26px 22px; }
  .record-block { padding: 22px 16px; }
  .quality-list article { grid-template-columns: 48px 1fr; padding: 24px 20px; }
}
@media screen and (max-width: 900px) {
  .hero { color: var(--ink); }
  .hero h1 em { color: var(--green); }
  .hero-lead { color: #203129; }
}

/* 2026-09-28 meeting updates */
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand img { width: 102px; max-height: 54px; object-fit: contain; }
.brand span { color: var(--ink); font-size: 13px; font-weight: 800; letter-spacing: .02em; white-space: nowrap; }
.brand:hover img { transform: scale(1.055); filter: drop-shadow(0 6px 7px rgba(6,59,36,.2)); }
.header-actions .button { padding-inline: 14px; }
.hero-lead-break { display: block; }
.assessment-benefits { grid-template-columns: repeat(3,1fr); }
.quick-stat-grid-three { grid-template-columns: repeat(3,1fr); }
.option-card img { aspect-ratio: 16/9; object-fit: cover; }
.vision-section .section-head { display: grid; grid-template-columns: minmax(180px,.58fr) minmax(420px,1.42fr); gap: 52px; align-items: end; }
.vision-section .section-head > p { max-width: none; margin: 0; padding: 28px 32px; border-left: 5px solid var(--green); background: #fff; color: var(--ink); font-size: clamp(19px,2vw,25px); font-weight: 800; line-height: 1.75; box-shadow: 0 16px 40px rgba(6,59,36,.06); }
.vision-section .section-head h2 { font-size: clamp(40px,5vw,66px); }
.vision-section .section-display { opacity: .92; }
.philosophy-logo img { object-fit: contain; }

@media screen and (max-width: 1120px) {
  .brand span { display: none; }
  .header-actions .button { padding-inline: 12px; font-size: 12px; }
}
@media screen and (max-width: 900px) {
  .vision-section .section-head { grid-template-columns: 1fr; gap: 24px; }
  .vision-section .section-head > p { padding: 22px 24px; font-size: 18px; }
  .hero-lead-break { display: none; }
}
@media screen and (max-width: 640px) {
  .brand img { width: 92px; max-height: 48px; }
  .assessment-benefits, .quick-stat-grid-three { grid-template-columns: 1fr; }
}

/* 2026-09-28 quick assessment refresh */
.top-assessment { overflow: hidden; background: linear-gradient(180deg,#f7faf6 0%,#fff 100%); }
.top-assessment-panel { position: relative; display: grid; grid-template-columns: minmax(220px,.85fr) minmax(430px,1.55fr) minmax(200px,.65fr); gap: 28px; align-items: center; padding: 34px 36px; border: 1px solid #d9e7dc; border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 22px 60px rgba(6,59,36,.07); }
.top-assessment-visual img { width: 100%; filter: drop-shadow(0 20px 22px rgba(20,46,32,.14)); }
.top-assessment-copy h2 { margin: 3px 0 8px; color: var(--ink); font-size: clamp(26px,2.6vw,38px); line-height: 1.35; }
.top-assessment-copy > p { margin: 0 0 20px; color: var(--muted); }
.assessment-benefits { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.assessment-benefits article { min-height: 116px; display: grid; align-content: center; justify-items: center; gap: 4px; padding: 12px 8px; border: 1px solid #e3ece5; border-radius: 12px; background: #f8fbf8; text-align: center; }
.assessment-benefits small { color: var(--green); font-size: 14px; font-weight: 900; }
.assessment-benefits strong { color: #113e25; font-size: 15px; line-height: 1.45; }
.assessment-benefits span { color: var(--muted); font-size: 10px; }
.assessment-footnote { margin: 13px 0 0 !important; color: #6e7d73 !important; font-size: 11px !important; line-height: 1.6; }
.top-assessment-actions { display: grid; gap: 12px; }
.top-assessment-actions .button { width: 100%; min-height: 58px; justify-content: center; padding-inline: 18px; }

.page-08 .page-hero { min-height: 450px; color: var(--ink); background: radial-gradient(circle at 75% 45%,#eaf6ec 0,#f8fbf7 43%,#fff 78%); }
.page-08 .page-hero img { inset: 5% 3% 5% auto; width: 57%; height: 90%; object-fit: contain; object-position: right center; filter: drop-shadow(0 24px 28px rgba(18,52,34,.12)); }
.page-08 .page-hero::after { background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 37%,rgba(255,255,255,.52) 57%,rgba(255,255,255,0) 76%); }
.page-08 .page-hero-content { width: var(--container); }
.page-08 .page-hero-content > * { max-width: 560px; }
.page-08 .page-hero .eyebrow { color: var(--green); }
.page-08 .page-hero h1 { color: var(--ink); }
.page-08 .page-hero p { color: #405148; }
.assessment-overview { overflow: hidden; background: #fff; }
.assessment-overview-copy { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; padding: 38px 42px; border-left: 6px solid var(--green); border-radius: 0 18px 18px 0; background: linear-gradient(110deg,#f2f8f3,#fff); }
.assessment-overview-copy h2 { margin: 8px 0 14px; font-size: clamp(30px,3.5vw,46px); line-height: 1.45; }
.assessment-overview-copy p { max-width: 760px; margin: 0; color: var(--muted); }
.assessment-overview-actions { display: grid; gap: 12px; min-width: 240px; }
.assessment-overview-actions .button { justify-content: center; }
.quick-stat-grid-four { grid-template-columns: repeat(4,1fr); }
.quick-stat-grid-four article { min-height: 210px; padding: 26px 18px; }
.quick-stat-grid-four small { color: var(--green); font-size: 16px; font-weight: 900; }
.quick-stat-grid-four strong { font-size: clamp(22px,2.3vw,30px); white-space: normal; }
.quick-stat-grid-four span { font-size: 13px; }
#service-facts { scroll-margin-top: 110px; }

@media screen and (max-width: 1050px) {
  .top-assessment-panel { grid-template-columns: 220px 1fr; }
  .top-assessment-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .assessment-benefits { grid-template-columns: repeat(2,1fr); }
}
@media screen and (max-width: 900px) {
  .quick-stat-grid-four { grid-template-columns: repeat(2,1fr); }
  .assessment-overview-copy { grid-template-columns: 1fr; gap: 28px; }
  .assessment-overview-actions { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 640px) {
  .top-assessment-panel { grid-template-columns: 1fr; gap: 22px; padding: 26px 20px; }
  .top-assessment-visual img { max-width: 380px; margin-inline: auto; }
  .assessment-benefits { grid-template-columns: repeat(2,1fr); }
  .top-assessment-actions { grid-column: auto; grid-template-columns: 1fr; }
  .page-08 .page-hero { min-height: 620px; }
  .page-08 .page-hero img { inset: 32px 5% auto; width: 90%; height: 290px; object-position: center; }
  .page-08 .page-hero::after { background: linear-gradient(0deg,#fff 0%,rgba(255,255,255,.98) 49%,rgba(255,255,255,.12) 72%); }
  .page-08 .page-hero-content { align-content: end; padding: 330px 0 48px; }
  .page-08 .page-hero h1 { font-size: 34px; }
  .assessment-overview-copy { padding: 30px 24px; }
  .assessment-overview-actions { grid-template-columns: 1fr; min-width: 0; }
  .quick-stat-grid-four { grid-template-columns: 1fr; }
  .quick-stat-grid-four article { min-height: 150px; }
}

/* Final meeting overrides */
.assessment-benefits { grid-template-columns: repeat(3,1fr); }
.quick-stat-grid-three { grid-template-columns: repeat(3,1fr); }
.quick-stat-grid-three article { min-height: 210px; padding: 26px 18px; }
.quick-stat-grid-three small { color: var(--green); font-size: 16px; font-weight: 900; }
.quick-stat-grid-three strong { font-size: clamp(22px,2.3vw,30px); white-space: normal; }
.quick-stat-grid-three span { font-size: 13px; }
@media screen and (max-width: 900px) {
  .assessment-benefits, .quick-stat-grid-three { grid-template-columns: 1fr; }
}

/* 2026-10-01 official logo lockup */
.brand .brand-lockup {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: auto;
  transition: transform .24s ease, filter .24s ease;
}
.brand .brand-mark {
  display: block;
  width: 104px;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none;
  filter: none;
}
.brand .brand-name {
  display: block;
  width: 138px;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none;
  filter: none;
}
.brand:hover .brand-lockup {
  transform: scale(1.045);
  filter: drop-shadow(0 7px 8px rgba(6,59,36,.18));
}
.brand:hover .brand-mark,
.brand:hover .brand-name { transform: none; filter: none; }
.footer-brand-lockup {
  display: grid;
  justify-items: center;
  gap: 3px;
  width: 152px;
  margin-bottom: 16px;
}
.footer-brand .footer-brand-mark,
.footer-brand .footer-brand-name {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.footer-brand .footer-brand-name { width: 95%; }

@media screen and (max-width: 1120px) and (min-width: 901px) {
  .header-main { gap: 20px; }
  .brand .brand-lockup { gap: 8px; }
  .brand .brand-mark { width: 92px; }
  .brand .brand-name { width: 120px; }
}

@media screen and (max-width: 640px) {
  .brand .brand-lockup { gap: 7px; }
  .brand .brand-mark { width: 82px; }
  .brand .brand-name { width: 108px; }
  .footer-brand-lockup { width: 138px; }
}

/* 2026-10-09 supplied construction photos, report samples and resilient icon media */
.construction-card-grid { align-items: stretch; }
.construction-detail { min-height: 390px; padding: 0 24px 26px; }
.construction-detail > span { z-index: 2; top: 16px; color: rgba(255,255,255,.92); text-shadow: 0 2px 10px rgba(0,0,0,.28); }
.construction-card-media { position: relative; width: calc(100% + 48px); height: 190px; display: grid; margin: 0 -24px 24px; overflow: hidden; background: #e7eee9; }
.construction-card-media.is-split { grid-template-columns: 1fr 1fr; gap: 2px; }
.detail-card .construction-card-media img { width: 100%; height: 100%; margin: 0; padding: 0; border-radius: 0; background: transparent; object-fit: cover; }
.construction-detail h3 { margin-top: 0; }
.construction-operation-media { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.construction-focus.reverse .construction-operation-media { order: 2; }
.editorial-feature .construction-operation-media img { width: 100%; height: 420px; aspect-ratio: auto; border-radius: 14px; object-fit: cover; box-shadow: 0 24px 60px rgba(6,59,36,.1); }
.assessment-report-grid { max-width: 900px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 44px auto 0; }
.assessment-report-grid figure { margin: 0; padding: 16px 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 16px 40px rgba(6,59,36,.06); }
.assessment-report-grid img { width: 100%; max-height: 480px; object-fit: contain; border: 1px solid #e5e9e6; background: #fafbfa; }
.assessment-report-grid figcaption { margin-top: 12px; color: var(--muted); font-size: 14px; text-align: center; }

@media screen and (max-width: 900px) {
  .construction-focus.reverse .construction-operation-media { order: 0; }
  .editorial-feature .construction-operation-media img { height: 340px; }
}

@media screen and (max-width: 640px) {
  .construction-detail { min-height: 0; }
  .construction-card-media { height: 210px; }
  .construction-operation-media { grid-template-columns: 1fr; }
  .editorial-feature .construction-operation-media img { height: 270px; }
  .assessment-report-grid { grid-template-columns: 1fr; gap: 18px; }
  .assessment-report-grid img { max-height: 420px; }
}

/* 2026-10-09 usability, illustration and performance refinements */
.display-word { font-size: clamp(32px,5vw,64px); letter-spacing: -.025em; }
.display-word-compact { font-size: clamp(32px,4.5vw,56px); }
.section-display { font-size: clamp(38px,6vw,74px); }
.editorial-intro .display-word { font-size: clamp(40px,6vw,72px); }

.strength-card { position: relative; }
.strength-number { position: absolute; z-index: 2; left: 18px; top: 16px; color: #fff; font-size: clamp(36px,4vw,58px); font-weight: 900; line-height: 1; letter-spacing: -.06em; text-shadow: 0 3px 16px rgba(0,0,0,.32); }
.strength-card img { filter: saturate(.92); }

.simple-illustration,
.process-raster,
.value-illustration,
.selection-illustration { object-fit: contain; }
.process-line:has(.process-raster) li { min-height: 275px; }
.process-line:has(.process-raster) .process-illustration { width: 104px; height: 104px; padding: 4px; object-fit: contain; }

.value-illustration-card { position: relative; padding-top: 34px !important; }
.value-illustration-card .value-illustration { width: 112px; height: 112px; margin-bottom: 20px; padding: 4px; object-fit: contain; color: var(--green); border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(6,59,36,.08); }
.value-illustration-card > span { position: absolute; top: 26px; right: 28px; }

.philosophy-section { min-height: 760px; display: grid; align-items: center; padding-block: clamp(110px,12vw,170px); color: #fff; background: radial-gradient(circle at 78% 28%,rgba(106,193,130,.28),transparent 33%),linear-gradient(135deg,#052f21 0%,#07502e 60%,#0c6a37 100%); }
.philosophy-section::before,
.philosophy-section::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; pointer-events: none; }
.philosophy-section::before { width: 420px; height: 420px; right: -110px; top: -90px; animation: philosophy-drift 8s ease-in-out infinite alternate; }
.philosophy-section::after { width: 220px; height: 220px; left: -70px; bottom: 30px; animation: philosophy-drift 10s ease-in-out infinite alternate-reverse; }
.philosophy-section .section-display { color: rgba(255,255,255,.09); }
.philosophy-section .eyebrow { color: #a9dfb8; }
.philosophy-section .section-head h2 { color: #fff; font-size: clamp(46px,6vw,76px); }
.philosophy-section .title-rule { background: #9fe0b2; }
.philosophy-section .philosophy-layout { grid-template-columns: .85fr 1.15fr; gap: 42px; align-items: stretch; }
.philosophy-section .philosophy-layout > h3 { display: grid; align-content: center; margin: 0; color: #fff; font-size: clamp(36px,4.8vw,60px); line-height: 1.35; }
.philosophy-section .philosophy-layout > div { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.09); backdrop-filter: blur(10px); border-radius: 20px; box-shadow: 0 28px 70px rgba(0,0,0,.16); }
.philosophy-section .philosophy-layout p { color: rgba(255,255,255,.9); }
.philosophy-section .philosophy-logo { top: 50%; right: 3vw; width: clamp(300px,35vw,540px); opacity: .11; filter: grayscale(1) brightness(3); }
@keyframes philosophy-drift { to { transform: translate3d(20px,22px,0) scale(1.05); } }

.vision-circles { width: min(980px,100%); height: 790px; }
.vision-circle { width: 450px; padding: 62px; }
.vision-circle-a { left: calc(50% - 225px); padding-bottom: 132px; }
.vision-circle-b { left: 12px; top: 320px; }
.vision-circle-c { right: 12px; top: 320px; }
.vision-circle h3 { font-size: 21px; }
.vision-circle b { font-size: 13px; }
.vision-circle ul { max-width: 335px; margin-top: 13px; font-size: 12.5px; line-height: 1.48; }
.vision-center { top: 424px; width: 164px; font-size: 17px; }
.vision-center strong { font-size: 22px; }

.recruit-job-grid { grid-template-columns: repeat(4,1fr); gap: 16px; }
.recruit-job-grid article > img { height: 150px; aspect-ratio: auto; }
.recruit-job-grid article > div { padding: 22px 20px 25px; }
.recruit-job-grid article h3 { font-size: 19px; }
.selection-flow { padding-block: 100px; }
.selection-flow ol { gap: 28px; margin-top: 44px; }
.selection-flow li { position: relative; min-height: 250px; align-content: start; justify-items: center; gap: 22px; padding: 30px 20px 24px; border: 1px solid var(--line); border-radius: 18px; text-align: center; box-shadow: 0 14px 36px rgba(6,59,36,.05); }
.selection-flow li strong { min-height: 48px; display: grid; place-items: center; font-size: 16px; }
.selection-illustration { width: 96px; height: 96px; margin-top: 4px; padding: 12px; color: var(--green); }
.selection-flow li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; right: -24px; top: 112px; color: #7fb48e; font-size: 24px; }

.faq-groups { display: grid; gap: 52px; }
.faq-group-title { margin: 0 0 18px; padding-left: 16px; border-left: 4px solid var(--green); font-size: 24px; }
.faq-category-label { display: inline-flex; align-items: center; min-height: 26px; margin-right: 14px; padding: 3px 10px; border-radius: 999px; color: var(--green); background: var(--pale); font-size: 11px; font-weight: 800; vertical-align: middle; }
.faq-question-text { vertical-align: middle; }

@media screen and (max-width: 1000px) {
  .recruit-job-grid { grid-template-columns: repeat(2,1fr); }
  .vision-circles { transform: scale(.91); transform-origin: top center; margin-bottom: -65px; }
}
@media screen and (max-width: 900px) {
  .philosophy-section { min-height: 0; }
  .philosophy-section .philosophy-layout { grid-template-columns: 1fr; }
  .vision-circles { height: auto; transform: none; margin-bottom: 0; }
  .vision-circle, .vision-circle-a, .vision-circle-b, .vision-circle-c { position: static; width: 100%; aspect-ratio: auto; padding: 38px 32px; border-radius: 28px; }
  .vision-center { position: static; width: 100%; aspect-ratio: auto; transform: none; padding: 22px; border-radius: 18px; }
  .selection-flow ol { grid-template-columns: repeat(2,1fr); }
  .selection-flow li:not(:last-child)::after { display: none; }
}
@media screen and (max-width: 640px) {
  .display-word, .section-display, .editorial-intro .display-word { font-size: 38px; }
  .strength-number { left: 14px; top: 14px; font-size: 40px; }
  .process-line:has(.process-raster) li { min-height: 0; grid-template-columns: 80px 48px 1fr; }
  .process-line:has(.process-raster) .process-illustration { width: 74px; height: 74px; }
  .philosophy-section { padding-block: 92px; }
  .philosophy-section .philosophy-layout > div { padding: 30px 24px; }
  .recruit-job-grid, .selection-flow ol { grid-template-columns: 1fr; }
  .recruit-job-grid article > img { height: 135px; }
  .selection-flow li { min-height: 220px; }
  .faq-list summary { padding-left: 56px; }
  .faq-category-label { display: flex; width: fit-content; margin: 0 0 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .philosophy-section::before, .philosophy-section::after { animation: none; }
}

/* 2026-10-10 review comments */
body { font-size: 17px; }
.header-meta { justify-content: flex-end; padding-bottom: 1px; }
.brand .brand-mark { width: 112px; }
.brand .brand-name { width: 148px; }
.display-word { font-size: clamp(30px,4.3vw,56px); }
.display-word-compact { font-size: clamp(30px,4vw,50px); }
.section-display { font-size: clamp(36px,5.2vw,64px); }
.editorial-intro .display-word { font-size: clamp(38px,5.2vw,62px); }
.hero-badge { width: 172px; padding: 22px; line-height: 1.35; }
.hero-badge span { color: var(--green); font-size: 13px; font-weight: 900; }
.hero-badge strong { margin: 5px 0; color: var(--green); font-size: 19px; line-height: 1.25; letter-spacing: 0; }
.hero-badge em { color: #31483a; font-size: 11px; line-height: 1.5; }
.case-card div > p { margin: 11px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.cta-note { display: block; margin-top: 5px; color: #718078; font-size: 12px; line-height: 1.6; }
.image-disclaimer { margin: 34px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: #65736b; font-size: 13px; line-height: 1.75; }
.footer-bottom { justify-content: center; margin-top: 16px; padding-top: 16px; font-size: 14px; }

@media screen and (max-width: 1120px) and (min-width: 901px) {
  .brand .brand-mark { width: 96px; }
  .brand .brand-name { width: 128px; }
}
@media screen and (max-width: 640px) {
  body { font-size: 16px; }
  .brand .brand-mark { width: 86px; }
  .brand .brand-name { width: 112px; }
  .hero-badge { width: 130px; padding: 15px; }
  .hero-badge span { font-size: 10px; }
  .hero-badge strong { font-size: 15px; }
  .hero-badge em { font-size: 8px; }
  .display-word, .section-display, .editorial-intro .display-word { font-size: 34px; }
  .image-disclaimer { font-size: 12px; }
}

/* 2026-10-10 requested page revisions */
@media screen and (min-width: 1400px) {
  .site-header .header-meta,
  .site-header .header-main {
    width: calc(100% - 200px);
    max-width: none;
    margin-inline: 100px;
  }
}

.hero-badge {
  width: 192px;
  padding: 24px;
}
.hero-badge span,
.hero-badge strong,
.hero-badge em { white-space: nowrap; }
.hero-badge span { font-size: 15px; line-height: 1.35; }
.hero-badge strong { margin: 6px 0; font-size: 23px; line-height: 1.25; }
.hero-badge em { font-size: 13px; line-height: 1.45; }

.top-assessment-copy h2 {
  font-size: clamp(21px,1.75vw,30px);
  white-space: nowrap;
}
.assessment-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); }
.assessment-benefits strong {
  font-size: clamp(11px,1vw,14px);
  white-space: nowrap;
}

.strength-number {
  left: 0;
  top: 0;
  width: 88px;
  height: 88px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 13px 0 0 13px;
  color: #fff;
  background: #67b368;
  clip-path: polygon(0 0,100% 0,0 100%);
  font-size: 21px;
  letter-spacing: 0;
  text-shadow: none;
}

.realestate-value-feature {
  grid-template-columns: 1fr;
  gap: 30px;
}
.editorial-feature.realestate-value-feature > img {
  width: 100%;
  height: 330px;
  aspect-ratio: auto;
  object-fit: cover;
}
.realestate-value-feature > div { max-width: 900px; }

.construction-focus {
  grid-template-columns: 1fr;
}
.editorial-feature .construction-operation-media img {
  height: 280px;
  object-position: center;
}

.page-08 .page-hero h1 {
  max-width: 760px;
  font-size: clamp(26px,2.25vw,34px);
  white-space: nowrap;
}

.vision-section .section-head > p {
  position: relative;
  overflow: hidden;
  padding: 36px 40px 36px 54px;
  border: 0;
  border-radius: 20px;
  color: #fff;
  background: #07542c;
  font-size: clamp(22px,2.35vw,30px);
  line-height: 1.8;
  box-shadow: 0 24px 56px rgba(6,59,36,.18);
  animation: vision-message-breathe 5s ease-in-out infinite alternate;
}
.vision-section .section-head > p::before {
  content: "“";
  position: absolute;
  left: 18px;
  top: -12px;
  color: #9bd4aa;
  font: 700 74px/1 Georgia,serif;
}
@keyframes vision-message-breathe {
  to { transform: translateY(-5px); box-shadow: 0 30px 66px rgba(6,59,36,.24); }
}

.simple-illustration,
.process-raster,
.value-illustration { color: #222; }
.process-line:has(.process-raster) .process-illustration {
  border: 1px solid #d8e2db;
  background: #fff;
  box-shadow: none;
}
.value-illustration-card .value-illustration {
  color: #222;
  border: 1px solid #d8e2db;
  background: #fff;
  box-shadow: none;
}
.selection-illustration {
  width: 150px;
  height: 132px;
  margin-top: 0;
  padding: 0;
  object-fit: contain;
}
.selection-flow li {
  gap: 16px;
  background: #fff;
  box-shadow: none;
}
.cta-illustration img { filter: none; }
.recruit-consultation-note {
  margin: 24px 0 0;
  padding: 20px 24px;
  border-left: 4px solid #67b368;
  background: #fff;
  font-weight: 700;
}

/* 2026-10-10 raster illustration system */
.problem-icon,
.card-icon,
.number-card-icon,
.flow-icon,
.detail-card > img,
.cta-benefits img {
  object-fit: contain;
  padding: 3px;
  background: #fff;
}
.cta-benefits img { border-radius: 6px; }

@media screen and (max-width: 900px) {
  .construction-focus { grid-template-columns: 1fr; }
  .top-assessment-copy h2 { white-space: normal; }
  .page-08 .page-hero h1 { white-space: normal; }
  .vision-section .section-head > p { padding: 28px 28px 28px 44px; font-size: 20px; }
  .editorial-feature.realestate-value-feature > img { height: 260px; }
}
@media screen and (max-width: 640px) {
  .hero-badge { width: 144px; padding: 15px; }
  .hero-badge span { font-size: 10px; }
  .hero-badge strong { font-size: 16px; }
  .hero-badge em { font-size: 9px; }
  .assessment-benefits strong { font-size: 14px; }
  .editorial-feature.realestate-value-feature > img { height: 220px; }
  .editorial-feature .construction-operation-media img { height: auto; aspect-ratio: 4 / 3; }
  .vision-section .section-head > p { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  .vision-section .section-head > p { animation: none; }
}

/* 2026-10-11 directed refinements */
.button-icon,
.cta-benefits img {
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.header-actions .button-icon,
.mobile-actions .button-icon,
.contact-actions .button-icon { filter: brightness(0) invert(1); }
.contact-box { grid-template-columns: 180px minmax(0,1fr) 310px; }
.cta-illustration { width: 180px; height: 190px; }
.cta-illustration img { width: 180px; height: 180px; transform: none; }

.strength-card:first-child > img { transform: scaleX(-1); }

.service-process .process-line,
.assessment-process .process-line { gap: 28px; }
.service-process .process-line li,
.assessment-process .process-line li { min-height: 250px; justify-content: start; }
.service-process .process-line .process-illustration,
.assessment-process .process-line .process-illustration { width: 132px; height: 132px; padding: 6px; }
.service-process .process-line li:not(:last-child)::after,
.assessment-process .process-line li:not(:last-child)::after {
  content: "▶︎";
  right: -28px;
  top: 82px;
  font-size: 25px;
}
.assessment-process .process-line li:not(:last-child)::after {
  color: transparent;
  background: linear-gradient(90deg,#bfe7ca,#67b368,#0b7440);
  -webkit-background-clip: text;
  background-clip: text;
}

.service-strength-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 270px !important;
  display: grid;
  align-content: end;
  border: 1px solid rgba(6,59,36,.09) !important;
}
.service-strength-card::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background: var(--strength-bg) center/cover no-repeat;
  opacity: .14;
  filter: grayscale(.25);
}
.service-strength-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.97) 76%);
}
.service-strength-card h3 { margin-top: 0; }

.page-03 .detail-card > img { width: 92px; height: 92px; padding: 8px; margin-bottom: 28px; }
.investigation-process .process-line .process-illustration { width: 112px; height: 112px; }

.construction-detail { border-top-color: var(--green); }
.quality-icon-card { display: grid; justify-items: center; align-content: start; text-align: center; }
.quality-icon-card > img { width: 104px; height: 104px; margin-bottom: 18px; object-fit: contain; }
.quality-icon-card h3 { margin: 0 0 10px; }

.realestate-values > article { text-align: center; }
.realestate-values .value-illustration {
  width: min(100%,220px);
  height: 180px;
  margin: 8px auto 22px;
  border: 0;
}
.realestate-values .value-illustration-card > span { top: 20px; right: 24px; font-size: 32px; }
.realestate-values h3,
.realestate-values p { text-align: center; }

.overview-logo { display: grid; place-items: center; margin: 0 auto 28px; }
.overview-logo img { width: min(360px,72vw); height: auto; object-fit: contain; }

.philosophy-title-wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,330px);
  gap: 52px;
  align-items: center;
  margin-bottom: 52px;
}
.philosophy-title-wrap .section-head { margin: 0; }
.philosophy-title-wrap .philosophy-logo {
  position: static;
  width: 100%;
  opacity: .13;
  filter: grayscale(1) brightness(3);
}
.vision-section .section-head { display: block; margin-bottom: 24px; text-align: center; }
.vision-section .section-head > div { width: 100%; }
.vision-section .section-head .title-rule { margin-inline: auto; }
.vision-section .section-head > p:empty { display: none; }
.vision-core-message {
  position: relative;
  z-index: 0;
  max-width: 1020px;
  margin: 0 auto 30px;
  overflow: hidden;
  padding: 38px clamp(28px,5vw,72px);
  border: 1px solid rgba(103,179,104,.22);
  border-radius: 26px;
  color: #087342;
  background:
    radial-gradient(circle at 18% 18%,rgba(103,179,104,.18),transparent 36%),
    linear-gradient(145deg,#fff,#edf7ef 64%,#dceee1);
  box-shadow: 0 26px 66px rgba(6,59,36,.13), inset 0 1px 0 #fff;
  font-size: clamp(20px,2.15vw,29px);
  font-weight: 800;
  line-height: 1.8;
  text-align: center;
}
.vision-core-message::before,
.vision-core-message::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  border: 1px solid rgba(103,179,104,.2);
}
.vision-core-message::before { width: 260px; height: 260px; right: -110px; top: -130px; }
.vision-core-message::after { width: 140px; height: 140px; left: -48px; bottom: -82px; }

.recruit-attraction { background: #f2eee4; }
.recruit-attraction::before { color: rgba(87,70,40,.07); }
.recruit-attraction-grid { gap: 34px; padding: 12px 10px 28px; }
.recruit-attraction-grid article {
  position: relative;
  border: 1px solid #ded5c1;
  border-radius: 3px;
  background: #fffdf6;
  box-shadow: 0 16px 28px rgba(78,60,28,.13);
}
.recruit-attraction-grid article::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -13px;
  width: 90px;
  height: 26px;
  background: rgba(211,195,151,.55);
  transform: translateX(-50%) rotate(-2deg);
}
.recruit-attraction-grid article:nth-child(1) { transform: rotate(-1deg); }
.recruit-attraction-grid article:nth-child(2) { transform: rotate(1.1deg); }
.recruit-attraction-grid article:nth-child(3) { transform: rotate(-.6deg); }

.recruit-people {
  color: var(--ink);
  background:
    linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px),
    #d9d3c7;
  background-size: 28px 28px;
}
.recruit-people .section-head p { color: #4f594f; }
.recruit-people-grid { gap: 34px; padding: 24px 12px; }
.recruit-people-grid article {
  position: relative;
  min-height: 300px;
  padding: 46px 32px 34px;
  border: 0;
  border-radius: 2px;
  color: var(--ink);
  background: #fffdf7;
  box-shadow: 3px 10px 28px rgba(63,52,36,.24);
}
.recruit-people-grid article::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 15px;
  width: 15px;
  height: 15px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #67b368;
  box-shadow: 0 3px 5px rgba(0,0,0,.25);
  transform: translateX(-50%);
}
.recruit-people-grid article:nth-child(1) { transform: rotate(-1deg); }
.recruit-people-grid article:nth-child(2) { transform: rotate(.7deg); }
.recruit-people-grid article:nth-child(3) { transform: rotate(-.4deg); }
.recruit-people-grid small { color: var(--green); }
.recruit-people-grid p { color: #59645d; }
.recruit-consultation-note {
  position: relative;
  margin-top: 34px;
  padding: 30px 30px 30px 126px;
  border: 2px solid #67b368;
  border-radius: 24px;
  background: #fff;
}
.recruit-consultation-note::after {
  content: "";
  position: absolute;
  left: 54px;
  bottom: -18px;
  width: 28px;
  height: 28px;
  border-right: 2px solid #67b368;
  border-bottom: 2px solid #67b368;
  background: #fff;
  transform: rotate(45deg);
}
.recruit-consultation-note > span {
  position: absolute;
  left: 28px;
  top: 50%;
  color: var(--green);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: .05em;
  transform: translateY(-50%);
}

/* Short page-loading logo animation */
body::before,
body::after {
  content: "";
  position: fixed;
  z-index: 99998;
  pointer-events: none;
  animation: eeg-loader-out .8s .38s ease forwards;
}
body::before { inset: 0; background: #fff; }
body::after {
  z-index: 99999;
  left: 50%;
  top: 50%;
  width: 132px;
  height: 76px;
  background: url('/wordpress/wp-content/themes/eegreen-renewal/assets/images/eeg-logo-mark-official.png') center/contain no-repeat;
  transform: translate(-50%,-50%);
  animation: eeg-logo-pulse .8s ease both, eeg-loader-out .8s .38s ease forwards;
}
@keyframes eeg-logo-pulse {
  0% { opacity: 0; transform: translate(-50%,-46%) scale(.88); }
  45% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
  100% { opacity: 1; transform: translate(-50%,-52%) scale(1.02); }
}
@keyframes eeg-loader-out { to { opacity: 0; visibility: hidden; } }

/* Lightweight parallax and dissolve-in motion */
.parallax-media { will-change: transform; transform: translate3d(0,var(--parallax-y,0),0) scale(1.06); }
.motion-ready .reveal-item {
  opacity: 0;
  transform: translate3d(0,-28px,0);
  transition: opacity 1.05s ease, transform 1.05s cubic-bezier(.2,.7,.2,1);
}
.motion-ready .reveal-item.is-revealed { opacity: 1; transform: translate3d(0,0,0); }

@media screen and (max-width: 900px) {
  .contact-box { grid-template-columns: 1fr; }
  .cta-illustration { width: 150px; height: 156px; margin-inline: auto; }
  .cta-illustration img { width: 150px; height: 150px; }
  .philosophy-title-wrap { grid-template-columns: 1fr 190px; gap: 22px; }
  .service-process .process-line li:not(:last-child)::after,
  .assessment-process .process-line li:not(:last-child)::after { left: 50%; right: auto; top: auto; bottom: -34px; transform: translateX(-50%) rotate(90deg); }
}
@media screen and (max-width: 640px) {
  .page-08 .page-hero h1 {
    max-width: 100%;
    font-size: clamp(24px,7vw,29px);
    word-break: keep-all;
    overflow-wrap: normal;
  }
  .service-process .process-line li,
  .assessment-process .process-line li { grid-template-columns: 82px 1fr; }
  .service-process .process-raster,
  .assessment-process .process-raster { width: 82px; height: 82px; }
  .philosophy-title-wrap { grid-template-columns: 1fr; }
  .philosophy-title-wrap .philosophy-logo { width: 210px; justify-self: end; }
  .vision-core-message { padding: 28px 22px; font-size: 18px; }
  .recruit-attraction-grid article,
  .recruit-people-grid article { transform: none !important; }
  .recruit-consultation-note { padding: 74px 22px 26px; }
  .recruit-consultation-note > span { left: 22px; top: 24px; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  body::before,
  body::after { display: none; }
  .parallax-media { transform: none !important; }
  .motion-ready .reveal-item { opacity: 1; transform: none; transition: none; }
}

/* 2026-10-11 content and mobile refinements */
.service-process .process-line li,
.investigation-process .process-line li,
.assessment-process .process-line li {
  border: 0;
  background: transparent;
  box-shadow: none;
  justify-items: center;
  text-align: center;
}
.service-process .process-line .process-illustration {
  width: 154px;
  height: 154px;
  padding: 3px;
}
.service-process .process-line strong,
.investigation-process .process-line strong,
.assessment-process .process-line strong {
  max-width: 220px;
  line-height: 1.6;
}

.service-strength-grid {
  position: relative;
  gap: 26px;
  padding-top: 18px;
}
.service-strength-grid::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg,transparent,#67b368 15%,#0b7440 50%,#67b368 85%,transparent);
}
.service-strength-card {
  min-height: 310px !important;
  padding: 38px 32px 34px !important;
  border-top: 5px solid var(--green) !important;
  box-shadow: 0 22px 52px rgba(6,59,36,.11) !important;
}
.service-strength-card h3 {
  position: relative;
  padding-top: 22px;
  font-size: 23px;
  line-height: 1.45;
}
.service-strength-card h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 46px;
  height: 4px;
  border-radius: 99px;
  background: var(--green);
}
.service-strength-card:nth-child(2) { transform: translateY(-12px); }

.investigation-scope-card {
  display: grid;
  justify-items: center;
  align-content: start;
  text-align: center;
  padding-top: 34px;
  box-shadow: 0 18px 44px rgba(6,59,36,.07);
}
.page-03 .investigation-scope-card > img {
  width: 126px;
  height: 126px;
  margin: 0 auto 22px;
  padding: 5px;
  border-radius: 24px;
}
.investigation-scope-card h3 { margin-top: 0; }
.investigation-process .process-line .process-illustration {
  width: 142px;
  height: 142px;
  padding: 4px;
}

.assessment-process .process-line li { min-height: 342px; }
.assessment-process .process-line .assessment-flow-art {
  display: block;
  width: 172px;
  height: 226px;
  padding: 0;
  border-radius: 0;
  background-color: #fff;
  background-image: url('/wordpress/wp-content/themes/eegreen-renewal/assets/illustrations/assessment-flow-art.jpg');
  background-repeat: no-repeat;
  background-size: 400% 100%;
}
.assessment-process .process-line .assessment-flow-art-1 { background-position: 0 0; }
.assessment-process .process-line .assessment-flow-art-2 { background-position: 33.333% 0; }
.assessment-process .process-line .assessment-flow-art-3 { background-position: 66.666% 0; }
.assessment-process .process-line .assessment-flow-art-4 { background-position: 100% 0; }
.assessment-result-grid { counter-reset: report-card; }
.assessment-result-card {
  position: relative;
  min-height: 330px !important;
  overflow: hidden;
  padding: 30px !important;
  border: 1px solid #c9ded0 !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg,#3f8656 0 54px,#fff 54px) !important;
  box-shadow: 0 18px 44px rgba(6,59,36,.08) !important;
}
.assessment-result-card > span {
  position: absolute;
  right: 22px;
  top: 14px;
  color: #fff;
  font-size: 17px;
  letter-spacing: .08em;
}
.assessment-result-sheet {
  width: 78px;
  height: 92px;
  display: grid;
  gap: 7px;
  align-content: center;
  margin: 38px auto 20px;
  padding: 16px 13px;
  border: 1px solid #b8d1be;
  border-radius: 4px;
  background: #fff;
  box-shadow: 5px 6px 0 #e4f0e6;
}
.assessment-result-sheet i {
  height: 4px;
  border-radius: 99px;
  background: #b8d1be;
}
.assessment-result-sheet i:first-child { width: 72%; background: var(--green); }
.assessment-result-card h3,
.assessment-result-card p { text-align: center; }
.assessment-result-card h3 { margin: 0 0 9px; }

.quality-icon-card {
  position: relative;
  overflow: hidden;
  padding-top: 34px !important;
}
.quality-detail-art {
  width: min(100%,260px);
  aspect-ratio: .9;
  margin: 0 auto 20px;
  background-image: url('/wordpress/wp-content/themes/eegreen-renewal/assets/illustrations/construction-quality-art.webp');
  background-repeat: no-repeat;
  background-size: 300% 100%;
}
.quality-detail-art-schedule { background-position: 0 0; }
.quality-detail-art-quality { background-position: 50% 0; }
.quality-detail-art-safety { background-position: 100% 0; }
.responsibility-badge {
  position: absolute;
  z-index: 2;
  right: 16px;
  top: 14px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff !important;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(103,179,104,.28),0 8px 18px rgba(6,59,36,.15);
  font-size: 15px !important;
  font-weight: 900;
  letter-spacing: .08em;
}

.overview-logo img { filter: none; }
.philosophy-title-wrap .philosophy-logo {
  opacity: .12;
  filter: grayscale(1) brightness(2.8) blur(3px);
}

@media screen and (max-width: 900px) {
  .service-strength-card:nth-child(2) { transform: none; }
  .assessment-process .process-line li { min-height: 310px; }
  .assessment-process .process-line .assessment-flow-art { width: 150px; height: 200px; }
}
@media screen and (max-width: 640px) {
  .service-process .process-line li,
  .investigation-process .process-line li,
  .assessment-process .process-line li {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 14px;
    min-width: 0;
    padding-inline: 12px;
    text-align: center;
  }
  .service-process .process-line .process-illustration,
  .investigation-process .process-line .process-illustration { width: 126px; height: 126px; }
  .assessment-process .process-line .assessment-flow-art { width: 138px; height: 184px; }
  .service-strength-card { min-height: 280px !important; padding: 32px 24px 28px !important; }
  .investigation-scope-card { min-height: 0; padding: 28px 22px; }
  .page-03 .investigation-scope-card > img { width: 112px; height: 112px; }
  .assessment-result-card { min-height: 300px !important; }
  .quality-detail-art { width: min(100%,240px); }
  .responsibility-badge { right: 14px; top: 14px; width: 54px; height: 54px; }
  .assessment-overview-copy { min-width: 0; }
  .assessment-overview-copy h2,
  .assessment-overview-copy p { overflow-wrap: anywhere; }
}

/* 2026-10-11 targeted visual refinements */
.service-process,
.investigation-process {
  color: var(--ink);
  background: #edf7ef;
}
.service-process .eyebrow,
.investigation-process .eyebrow { color: var(--green); }
.service-process h2,
.investigation-process h2,
.service-process .process-line strong,
.investigation-process .process-line strong { color: var(--deep); }

.assessment-process {
  color: var(--ink);
  background: #fff;
}
.assessment-process .eyebrow { color: var(--green); }
.assessment-process h2,
.assessment-process .process-line strong { color: var(--deep); }

.targeted-parallax > img {
  top: -200px;
  height: calc(100% + 400px);
}
.targeted-parallax > img.parallax-media {
  transform: translate3d(0,var(--parallax-y,0),0) scale(1.04);
}

.service-strength-grid { padding-top: 0; }
.service-strength-grid::before { display: none; }
.service-strength-card {
  min-height: 360px !important;
  padding: 44px 34px 36px !important;
  border: 0 !important;
  border-radius: 24px 24px 78px 24px !important;
  box-shadow: 0 25px 58px rgba(6,45,29,.2) !important;
}
.service-strength-card:nth-child(2) {
  border-radius: 78px 24px 24px 24px !important;
}
.service-strength-card:nth-child(3) {
  border-radius: 24px 78px 24px 24px !important;
}
.service-strength-card::before {
  inset: 0;
  opacity: 1;
  filter: saturate(.92) contrast(.96);
}
.service-strength-card::after {
  background: linear-gradient(180deg,rgba(3,35,22,.02) 8%,rgba(3,35,22,.18) 42%,rgba(3,35,22,.88) 79%,rgba(3,35,22,.97));
}
.service-strength-card h3,
.service-strength-card p {
  position: relative;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.28);
}
.service-strength-card h3::before { background: #a8e4b6; }

.responsibility-badge {
  width: 62px;
  height: 62px;
  overflow: hidden;
  border: 2px solid var(--green);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255,255,255,.88),0 8px 20px rgba(6,59,36,.2);
}
.responsibility-badge img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 50%;
}

.vision-core-message > span { display: block; }
.vision-circles { perspective: 1200px; }
.vision-circle {
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transition: transform .36s cubic-bezier(.2,.75,.2,1), box-shadow .36s ease, filter .36s ease;
}
@media (hover: hover) and (pointer: fine) {
  .vision-circle:hover {
    z-index: 5;
    transform: translateY(-14px) translateZ(44px) rotateX(4deg) rotateY(-3deg) scale(1.025);
    box-shadow: 0 30px 62px rgba(6,59,36,.22), inset 0 1px 0 rgba(255,255,255,.8);
    filter: saturate(1.08);
  }
  .vision-circle-b:hover { transform: translateY(-14px) translateZ(44px) rotateX(4deg) rotateY(3deg) scale(1.025); }
  .vision-circle-c:hover { transform: translateY(-14px) translateZ(44px) rotateX(4deg) rotateY(-3deg) scale(1.025); }
}

@media screen and (max-width: 640px) {
  .targeted-parallax > img { top: -140px; height: calc(100% + 280px); }
  .service-strength-card { min-height: 330px !important; }
  .service-strength-card:nth-child(1),
  .service-strength-card:nth-child(2),
  .service-strength-card:nth-child(3) { border-radius: 22px 22px 54px 22px !important; }
  .vision-core-message > span { display: inline; }
  .responsibility-badge { width: 56px; height: 56px; }
  .responsibility-badge img { width: 46px; height: 46px; }
}

/* 2026-10-11 requested layout refinements */
.top-case-parallax {
  min-height: 320px;
}
.top-case-parallax::after {
  background: linear-gradient(90deg,rgba(3,52,33,.82),rgba(3,52,33,.5));
}
.top-case-parallax > img {
  object-position: center 45%;
}
.top-case-parallax .top-case-parallax-copy {
  min-height: 0;
}
.top-case-parallax .top-case-parallax-copy span {
  color: #9ad8ac;
  font-size: 14px;
  font-weight: 800;
  line-height: normal;
  letter-spacing: .14em;
  text-shadow: none;
}

.service-process .process-line .process-illustration,
.investigation-process .process-line .process-illustration {
  padding: 18px;
  border: 0;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(6,59,36,.08);
}
.service-process .process-line li:not(:last-child)::after,
.investigation-process .process-line li:not(:last-child)::after,
.assessment-process .process-line li:not(:last-child)::after {
  content: "▶︎";
  right: -28px;
  width: 28px;
  text-align: center;
}
.service-process .process-line li:not(:last-child)::after,
.investigation-process .process-line li:not(:last-child)::after {
  top: 72px;
}
.assessment-process .process-line li:not(:last-child)::after {
  top: 100px;
}
.investigation-process {
  background: linear-gradient(90deg,#f7fbf8 0%,#edf7ef 46%,#dcefe1 100%);
}
.assessment-process .process-line .assessment-flow-art {
  border: 0;
  background-color: transparent;
  box-shadow: none;
}

.service-strength-grid .service-strength-card {
  align-self: start;
  transform: none !important;
}
.service-strength-card::before {
  background-position: center top;
}

.page-04 .editorial-intro h2 {
  text-wrap: balance;
}
.quality-detail-art {
  width: min(100%,280px);
  aspect-ratio: 1.08;
}
.responsibility-badge img {
  width: 50px;
  height: 50px;
  padding: 3px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
}

.company-nav-card,
.company-link-panel {
  transition: transform .28s cubic-bezier(.2,.75,.2,1), box-shadow .28s ease;
}
.company-nav-card img,
.company-link-panel img {
  transition: transform .38s cubic-bezier(.2,.75,.2,1), filter .28s ease;
}
@media (hover: hover) and (pointer: fine) {
  .company-nav-card:hover,
  .company-link-panel:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 64px rgba(6,59,36,.15);
  }
  .company-nav-card:hover img,
  .company-link-panel:hover img {
    transform: scale(1.045);
    filter: saturate(1.06);
  }
}

.philosophy-title-wrap .philosophy-logo {
  transform: translate3d(0,var(--philosophy-parallax-y,0),0);
  will-change: transform;
}

.assessment-result-art {
  width: 148px;
  height: 176px;
  margin: 32px auto 18px;
  background: #fff url('/wordpress/wp-content/themes/eegreen-renewal/assets/illustrations/assessment-result-icons.png') no-repeat;
  background-size: 300% 100%;
}
.assessment-result-art-1 { background-position: 0 0; }
.assessment-result-art-2 { background-position: 50% 0; }
.assessment-result-art-3 { background-position: 100% 0; }

.contact-choice-section .number-card-icon {
  width: 92px;
  height: 92px;
  padding: 8px;
  border-radius: 22px;
}
.contact-phone-panel {
  display: grid;
  grid-template-columns: minmax(260px,420px) minmax(0,1fr);
  gap: clamp(34px,6vw,82px);
  align-items: center;
  padding: clamp(34px,5vw,64px);
  border: 1px solid #c9ded0;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(6,59,36,.09);
}
.contact-phone-panel > img {
  width: 100%;
  max-height: 360px;
  object-fit: contain;
}
.contact-phone-panel h3 {
  margin: 8px 0 12px;
  font-size: clamp(26px,3vw,40px);
  text-wrap: balance;
}
.contact-phone-number {
  display: inline-block;
  color: var(--green);
  font-size: clamp(34px,4.6vw,56px);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .02em;
}
.contact-phone-panel p { color: var(--muted); }
.contact-phone-note {
  display: grid;
  gap: 6px;
  margin-top: 26px;
  padding: 18px 20px;
  border-left: 4px solid var(--green);
  background: var(--pale);
}
.contact-phone-note strong { color: var(--deep); }

@media screen and (max-width: 900px) {
  .contact-phone-panel { grid-template-columns: 1fr; text-align: center; }
  .contact-phone-panel > img { max-width: 420px; margin-inline: auto; }
  .contact-phone-note { text-align: left; }
}
@media screen and (max-width: 640px) {
  .top-case-parallax { min-height: 240px; }
  .service-process .process-line li:not(:last-child)::after,
  .investigation-process .process-line li:not(:last-child)::after,
  .assessment-process .process-line li:not(:last-child)::after {
    left: 50%;
    right: auto;
    top: auto;
    bottom: -34px;
    transform: translateX(-50%) rotate(90deg);
  }
  .assessment-result-art { width: 132px; height: 158px; }
  .contact-choice-section .number-card-icon { width: 78px; height: 78px; }
  .contact-phone-panel { padding: 28px 22px; border-radius: 20px; }
  .contact-phone-panel > img { max-height: 250px; }
  .contact-phone-panel h3 { font-size: 24px; }
  .contact-phone-number { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .company-nav-card,
  .company-link-panel,
  .company-nav-card img,
  .company-link-panel img,
  .philosophy-title-wrap .philosophy-logo { transition: none; transform: none !important; }
}

/* 2026-10-12 answer, deliverable and recruitment refinements */
.selection-flow li { min-height: 390px; }
.selection-flow li p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
  text-align: left;
}

@media screen and (max-width: 900px) {
  .selection-flow li { min-height: 360px; }
}
@media screen and (max-width: 640px) {
  .answer-band { padding: 44px 0 58px; }
  .answer-band p { min-height: 150px; padding: 24px 10px; font-size: 16px; }
  .answer-band p::before { font-size: 52px; }
  .assessment-benefits { grid-template-columns: 1fr; gap: 12px; }
  .assessment-benefits article { min-height: 104px; padding: 18px 16px; }
  .selection-flow li { min-height: 0; padding: 28px 24px; }
}

/* 2026-10-12 mobile hero, parallax and persistent actions */
.mobile-parallax-break { display: none; }
.mobile-bottom-actions { display: none; }
.top-case-parallax { min-height: 400px; }

@media screen and (max-width: 640px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }

  .mobile-bottom-actions {
    position: fixed;
    z-index: 140;
    left: 10px;
    right: 10px;
    bottom: max(8px,env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(216,226,219,.92);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 34px rgba(6,59,36,.18);
    backdrop-filter: blur(14px);
  }
  .mobile-bottom-actions .button {
    min-width: 0;
    min-height: 48px;
    padding-inline: 8px;
    font-size: 13px;
  }
  .main-nav .mobile-actions { display: none; }

  .hero { min-height: 760px; }
  .hero-picture { inset: 0 0 auto; height: 330px; background: #eef5f0; }
  .hero-media {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 65% center;
    transform: none;
  }
  .hero::after {
    background: linear-gradient(0deg,#fff 0%,rgba(255,255,255,.98) 55%,rgba(255,255,255,.12) 78%);
  }
  .hero > .container { width: calc(100% - 20px); }
  .hero-content { padding: 340px 0 40px; }
  .hero h1 {
    font-size: clamp(20px,5.4vw,24px);
    line-height: 1.62;
    letter-spacing: -.045em;
    white-space: nowrap;
  }
  .hero-topic { display: block; white-space: nowrap; }
  .hero-topic em { font-size: 1em; letter-spacing: inherit; }
  .hero-qualifier { display: inline; }
  .hero-result { display: block; font-size: 1em; white-space: nowrap; }

  .top-case-parallax { min-height: 340px; }
  .mobile-parallax-break { display: initial; }
}

/* 2026-10-12 linked challenges, one-stop details and vision readability */
.top-challenges .problem {
  color: inherit;
  cursor: pointer;
}
.top-challenges .problem:focus-visible {
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(8,118,44,.14),0 18px 42px rgba(6,59,36,.1);
}

.service-process .process-line li { min-height: 410px; }
.service-process .process-line li p {
  max-width: 238px;
  margin: 0;
  color: #405349;
  font-size: 13px;
  line-height: 1.75;
  text-align: left;
}

.vision-circles { width: min(1020px,100%); height: 830px; }
.vision-circle { width: 470px; padding: 60px; }
.vision-circle-a { left: calc(50% - 235px); padding-bottom: 138px; }
.vision-circle-b { left: 0; top: 338px; }
.vision-circle-c { right: 0; top: 338px; }
.vision-circle h3 { font-size: 23px; }
.vision-circle b { font-size: 15px; }
.vision-circle ul { max-width: 350px; margin-top: 15px; font-size: 14px; line-height: 1.55; }
.vision-center { top: 448px; width: 170px; }

.card-link,
.breadcrumbs a,
.footer-company a,
.contact-phone-number,
.hero-mobile-kicker a,
.header-meta a,
.back-to-list,
.text-link,
main p a:not(.button):not(.phone-card),
main li a:not(.button) {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  transition: color .2s ease,text-decoration-color .2s ease,opacity .2s ease;
}
.news-row,
.assessment-banner,
.phone-card { transition: color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease; }

@media (hover: hover) and (pointer: fine) {
  .card-link:hover,
  .breadcrumbs a:hover,
  .footer-company a:hover,
  .contact-phone-number:hover,
  .hero-mobile-kicker a:hover,
  .header-meta a:hover,
  .back-to-list:hover,
  .text-link:hover,
  main p a:not(.button):not(.phone-card):hover,
  main li a:not(.button):hover {
    color: var(--green);
    text-decoration-color: currentColor;
  }
  .news-row:hover { color: var(--green); background: var(--pale); transform: translateX(4px); }
  .assessment-banner:hover { box-shadow: 0 24px 58px rgba(6,59,36,.26); transform: translateY(-4px); }
  .phone-card:hover { color: #fff; background: var(--green); border-color: var(--green); transform: translateY(-2px); }
  .phone-card:hover small { color: #fff; }
}

@media screen and (max-width: 1000px) and (min-width: 901px) {
  .vision-circles { margin-bottom: -55px; }
}

@media screen and (max-width: 900px) {
  .vision-circle,
  .vision-circle-a,
  .vision-circle-b,
  .vision-circle-c { width: 100%; padding: 42px 36px; }
  .vision-circle ul { max-width: 620px; font-size: 15px; }
  .vision-center { width: 100%; }
}

@media screen and (max-width: 640px) {
  .hero-mobile-kicker {
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    border-radius: 12px;
    font-size: 10.5px;
    line-height: 1.45;
  }
  .hero-mobile-kicker a { font-weight: 900; }
  .hero-mobile-kicker span { font-size: 10px; font-weight: 700; }
  .service-process .process-line li { min-height: 0; }
  .service-process .process-line li p {
    max-width: 320px;
    font-size: 14px;
    text-align: center;
  }
  .vision-circle,
  .vision-circle-a,
  .vision-circle-b,
  .vision-circle-c { padding: 36px 26px; }
  .vision-circle h3 { font-size: 22px; }
  .vision-circle b { font-size: 15px; }
  .vision-circle ul { font-size: 14px; }
}

/* 2026-10-13 case report redesign */
.mobile-bottom-actions .button-icon { filter: brightness(0) invert(1); }
.case-detail-page { background: #f4f6f3; }
.case-detail-page .breadcrumbs { background: #fff; border-bottom: 1px solid #dce5de; }
.case-report-hero {
  min-height: 270px;
  background: linear-gradient(115deg,rgba(3,52,33,.98),rgba(8,118,44,.88));
}
.case-report-hero::before {
  content: "PROJECT REPORT";
  position: absolute;
  right: max(5vw,40px);
  bottom: -18px;
  color: rgba(255,255,255,.08);
  font-size: clamp(64px,10vw,148px);
  font-weight: 900;
  line-height: .85;
  letter-spacing: -.05em;
}
.case-report-hero::after { background: linear-gradient(90deg,rgba(3,52,33,.22),transparent 62%); }
.case-report-hero .page-hero-content { position: relative; z-index: 1; padding-block: 72px 58px; }
.case-report-hero .page-hero-content h1 { margin-top: 8px; font-size: clamp(36px,5vw,62px); }

.case-report-cover { padding-block: 58px 76px; }
.case-report-cover-sheet {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(360px,.94fr);
  min-height: 500px;
  overflow: hidden;
  border-top: 8px solid var(--green);
  background: #fff;
  box-shadow: 0 24px 70px rgba(3,52,33,.1);
}
.case-report-cover-sheet::before {
  content: "EEGREEN CASE FILE";
  position: absolute;
  z-index: -1;
  left: 40px;
  bottom: 12px;
  color: #f0f5f1;
  font-size: clamp(42px,6vw,82px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.04em;
}
.case-report-cover-copy { display: flex; flex-direction: column; justify-content: center; padding: 64px 62px 78px; }
.case-report-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.case-report-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 12px;
  border: 1px solid #b8cdbf;
  color: var(--deep);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
.case-report-cover-copy h1 {
  max-width: 760px;
  margin: 14px 0 22px;
  color: var(--deep);
  font-size: clamp(32px,4.1vw,54px);
  line-height: 1.35;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.case-report-cover-copy > p { max-width: 680px; margin: 0; color: var(--muted); font-size: 17px; line-height: 2; }
.case-report-cover-sheet figure { position: relative; min-height: 500px; margin: 0; overflow: hidden; background: #e9efeb; }
.case-report-cover-sheet figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,255,255,.18),transparent 28%); pointer-events: none; }
.case-report-cover-sheet figure img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.case-report-cover-sheet figcaption {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 18px;
  padding: 7px 10px;
  color: #fff;
  background: rgba(3,52,33,.82);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.case-report-context { padding-top: 0; background: #f4f6f3; }
.case-summary-grid { gap: 18px; }
.case-summary-grid > article {
  min-height: 270px;
  display: grid;
  grid-template-columns: 82px minmax(0,1fr);
  align-items: start;
  gap: 28px;
  padding: 42px;
  border: 1px solid #d8e2db;
  border-top: 4px solid var(--green);
  border-radius: 0;
  background: #fff;
  box-shadow: 0 10px 30px rgba(3,52,33,.04);
}
.case-summary-grid > article:nth-child(2) { border-top-color: #d8a044; }
.case-summary-grid > article > img { width: 82px; height: 82px; padding: 8px; object-fit: contain; }
.case-summary-grid h2 { margin: 8px 0 14px; color: var(--deep); font-size: clamp(24px,2.4vw,32px); }
.case-summary-grid p { margin: 0; color: var(--muted); line-height: 1.95; }
.case-summary-grid p + p { margin-top: 1em; }

.case-flow-report { background: #fff; }
.case-report-heading {
  display: grid;
  grid-template-columns: 160px minmax(260px,.7fr) minmax(300px,1fr);
  align-items: end;
  gap: 30px;
  padding-bottom: 24px;
  border-bottom: 2px solid var(--deep);
}
.case-report-heading > span { color: var(--green); font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.case-report-heading h2 { margin: 0; color: var(--deep); font-size: clamp(28px,3.2vw,42px); }
.case-report-heading > p { margin: 0; color: var(--muted); line-height: 1.8; }
.case-flow-list {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ccd9d0;
  list-style: none;
}
.case-flow-list li {
  position: relative;
  min-height: 260px;
  display: grid;
  align-content: start;
  grid-template-rows: auto 1fr;
  gap: 30px;
  padding: 32px 28px 38px;
  border-right: 1px solid #ccd9d0;
}
.case-flow-list li:last-child { border-right: 0; }
.case-flow-list li > span { color: #a7bcae; font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.case-flow-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 34px;
  right: -6px;
  width: 11px;
  height: 11px;
  border-top: 2px solid var(--green);
  border-right: 2px solid var(--green);
  background: #fff;
  transform: rotate(45deg);
}
.case-flow-list h3 { margin: 0 0 14px; color: var(--deep); font-size: 19px; line-height: 1.55; }
.case-flow-list p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.85; }

.case-approach-report { background: linear-gradient(135deg,#eaf4ed,#f8fbf9 62%); }
.case-response-report {
  position: relative;
  margin-top: 40px;
  overflow: hidden;
  border-left: 8px solid var(--green);
  background: #fff;
  box-shadow: 0 20px 54px rgba(3,52,33,.08);
}
.case-response-report::before { content: "APPROACH"; position: absolute; right: 18px; top: 6px; color: #f1f6f2; font-size: clamp(48px,7vw,94px); font-weight: 900; line-height: 1; }
.case-response-report > header { position: relative; padding: 44px 46px 36px; border-bottom: 1px solid #d8e2db; }
.case-response-report > header small { color: var(--green); font-weight: 900; letter-spacing: .12em; }
.case-response-report > header h3 { max-width: 960px; margin: 12px 0 0; color: var(--deep); font-size: clamp(23px,2.6vw,35px); line-height: 1.65; }
.case-response-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.case-response-grid article { min-height: 260px; padding: 36px 38px; border-right: 1px solid #d8e2db; }
.case-response-grid article:last-child { border-right: 0; }
.case-response-grid span { color: #99b7a2; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.case-response-grid h3 { margin: 18px 0 12px; color: var(--deep); font-size: 20px; line-height: 1.55; }
.case-response-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
.case-consult-button { margin-top: 28px; background: #fff; }

.case-result-report-section { background: #f4f6f3; }
.case-result-report { border: 1px solid #cad8ce; background: #fff; box-shadow: 0 18px 56px rgba(3,52,33,.07); }
.case-result-report > header {
  display: grid;
  grid-template-columns: 140px minmax(390px,max-content) minmax(280px,1fr);
  align-items: center;
  gap: 30px;
  padding: 36px 42px;
  color: #fff;
  background: var(--deep);
}
.case-result-report > header span { color: #9bd5aa; font-size: 12px; font-weight: 900; letter-spacing: .15em; }
.case-result-report > header h2 { margin: 0; font-size: clamp(24px,2.35vw,32px); white-space: nowrap; }
.case-result-report > header p { margin: 0; color: #d6e4da; line-height: 1.8; }
.case-result-rows article { display: grid; grid-template-columns: 100px minmax(0,1fr); min-height: 150px; border-bottom: 1px solid #d8e2db; }
.case-result-rows article > span { display: grid; place-items: center; color: var(--green); background: #eef6f0; font-size: 18px; font-weight: 900; }
.case-result-rows article > div { display: grid; grid-template-columns: minmax(220px,.35fr) minmax(0,1fr); align-items: center; gap: 30px; padding: 30px 38px; }
.case-result-rows h3 { margin: 0; color: var(--deep); font-size: 21px; }
.case-result-rows p { margin: 0; color: var(--muted); line-height: 1.9; }
.case-result-report > footer { display: grid; grid-template-columns: 100px minmax(0,1fr); align-items: center; gap: 26px; padding: 24px 38px; background: #f8faf8; }
.case-result-report > footer small { color: var(--green); font-weight: 900; letter-spacing: .1em; }
.case-result-report > footer p { margin: 0; color: var(--muted); font-size: 13px; }

@media screen and (max-width: 980px) {
  .case-report-cover-sheet { grid-template-columns: 1fr; }
  .case-report-cover-sheet figure,
  .case-report-cover-sheet figure img { min-height: 380px; max-height: 480px; }
  .case-report-heading,
  .case-result-report > header { grid-template-columns: 120px 1fr; }
  .case-report-heading > p,
  .case-result-report > header > p { grid-column: 2; }
  .case-flow-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-flow-list li:nth-child(2) { border-right: 0; }
  .case-flow-list li:nth-child(-n+2) { border-bottom: 1px solid #ccd9d0; }
  .case-flow-list li:nth-child(2)::after { display: none; }
  .case-response-grid { grid-template-columns: 1fr; }
  .case-response-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid #d8e2db; }
  .case-response-grid article:last-child { border-bottom: 0; }
}

@media screen and (max-width: 640px) {
  .mobile-bottom-actions .button-icon { filter: brightness(0) invert(1) !important; }
  .case-report-hero { min-height: 210px; }
  .case-report-hero::before { right: -10px; bottom: 2px; font-size: 52px; }
  .case-report-hero .page-hero-content { padding-block: 58px 42px; }
  .case-report-cover { padding-block: 30px 48px; }
  .case-report-cover-sheet { border-top-width: 6px; }
  .case-report-cover-copy { padding: 34px 24px 44px; }
  .case-report-cover-copy h1 { margin-top: 10px; font-size: 29px; line-height: 1.42; }
  .case-report-cover-copy > p { font-size: 15px; line-height: 1.9; }
  .case-report-meta { margin-bottom: 26px; }
  .case-report-cover-sheet figure,
  .case-report-cover-sheet figure img { min-height: 250px; max-height: 300px; }
  .case-report-context { padding-bottom: 58px; }
  .case-summary-grid { grid-template-columns: 1fr; }
  .case-summary-grid > article { min-height: auto; grid-template-columns: 58px minmax(0,1fr); gap: 16px; padding: 28px 22px; }
  .case-summary-grid > article > img { width: 58px; height: 58px; padding: 4px; }
  .case-summary-grid h2 { margin-top: 5px; font-size: 24px; }
  .case-report-heading { grid-template-columns: 1fr; gap: 8px; }
  .case-report-heading > p { grid-column: auto; margin-top: 6px; }
  .case-flow-list { grid-template-columns: 1fr; }
  .case-flow-list li { min-height: auto; grid-template-columns: 44px minmax(0,1fr); grid-template-rows: auto; gap: 12px; padding: 26px 10px; border-right: 0; border-bottom: 1px solid #ccd9d0; }
  .case-flow-list li:nth-child(2) { border-bottom: 1px solid #ccd9d0; }
  .case-flow-list li:last-child { border-bottom: 0; }
  .case-flow-list li::after { display: none !important; }
  .case-flow-list h3 { font-size: 18px; }
  .case-response-report { margin-top: 28px; border-left-width: 5px; }
  .case-response-report::before { top: 10px; right: 2px; font-size: 42px; }
  .case-response-report > header { padding: 30px 22px 28px; }
  .case-response-report > header h3 { font-size: 22px; }
  .case-response-grid article { padding: 28px 22px; }
  .case-result-report > header { grid-template-columns: 1fr; gap: 10px; padding: 30px 24px; }
  .case-result-report > header h2 { white-space: normal; }
  .case-result-report > header > p { grid-column: auto; margin-top: 6px; }
  .case-result-rows article { grid-template-columns: 54px minmax(0,1fr); }
  .case-result-rows article > div { grid-template-columns: 1fr; gap: 10px; padding: 24px 18px; }
  .case-result-rows h3 { font-size: 18px; }
  .case-result-rows p { font-size: 14px; }
  .case-result-report > footer { grid-template-columns: 1fr; gap: 8px; padding: 22px; }
}

/* Real estate track record */
.realestate-results { background: #fff; }
.realestate-results-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 28px;
}
.realestate-result-card {
  overflow: hidden;
  border: 1px solid #d8e2db;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(3,52,33,.08);
}
.realestate-result-card figure { margin: 0; overflow: hidden; background: #edf3ef; }
.realestate-result-card figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .55s ease;
}
.realestate-result-card:hover figure img { transform: scale(1.025); }
.realestate-result-copy { padding: 28px 30px 32px; }
.realestate-result-copy > span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
}
.realestate-result-copy h3 {
  margin: 10px 0 22px;
  color: var(--deep);
  font-size: clamp(20px,2vw,26px);
  line-height: 1.55;
}
.realestate-result-process {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}
.realestate-result-process b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #edf6ef;
  color: var(--deep);
  font-size: 13px;
}
.realestate-result-process i { color: var(--green); font-style: normal; font-weight: 900; }

@media screen and (max-width: 760px) {
  .realestate-results-grid { grid-template-columns: 1fr; gap: 22px; }
  .realestate-result-copy { padding: 24px 22px 26px; }
  .realestate-result-copy h3 { font-size: 21px; }
  .realestate-result-process { gap: 8px; }
  .realestate-result-process b { padding-inline: 11px; font-size: 12px; }
}

/* 2026-10-13 vision, footer and CTA refinements */
.top-assessment .assessment-footnote {
  margin-top: 20px !important;
  padding: 14px 16px;
  border-left: 4px solid var(--green);
  border-radius: 0 8px 8px 0;
  color: #33483c !important;
  background: #edf6ef;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.8;
}

.footer-company-logo {
  display: block;
  width: 148px;
  margin-bottom: 10px;
}
.footer-company-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.footer-designated-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-bottom: 12px;
  color: var(--green);
  font-size: 14px;
  font-weight: 800;
}

@media screen and (max-width: 900px) {
  .vision-circles {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    display: grid !important;
    gap: 20px !important;
    margin: 30px auto 28px !important;
    transform: none !important;
  }
  .vision-circle,
  .vision-circle-a,
  .vision-circle-b,
  .vision-circle-c {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    aspect-ratio: auto !important;
    transform: none !important;
  }
  .vision-circle:hover,
  .vision-circle-a:hover,
  .vision-circle-b:hover,
  .vision-circle-c:hover {
    transform: scale(1.025) !important;
  }
  .vision-center {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    transform: none !important;
  }
  .vision-statement {
    position: relative;
    z-index: 1;
    clear: both;
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 640px) {
  .footer-company-logo { width: 138px; }
  .footer-designated-link { margin-bottom: 14px; }
  .top-assessment .assessment-footnote {
    padding: 13px 14px;
    font-size: 13px !important;
    text-align: left;
  }
}

/* 2026-10-13 header, footer and CTA image-swap refinements */
.header-meta {
  justify-content: flex-start;
  white-space: nowrap;
}
.brand .brand-mark { width: 122px; }
.brand .brand-name { width: 160px; }

.footer-company-logo {
  width: 222px;
  margin-bottom: 5px;
}
.footer-designated-link {
  min-height: 0;
  margin: 0 0 6px;
}

.cta-illustration { position: relative; }
.cta-illustration img {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate3d(-50%, 0, 0);
  backface-visibility: hidden;
  will-change: opacity;
  transition: opacity .48s ease;
}
.cta-illustration .cta-advisor-default { z-index: 2; opacity: 1; }
.cta-illustration .cta-advisor-hover { z-index: 1; opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  .contact-cta:hover .cta-advisor-default,
  .contact-cta:focus-within .cta-advisor-default { opacity: 0; }
  .contact-cta:hover .cta-advisor-hover,
  .contact-cta:focus-within .cta-advisor-hover { opacity: 1; }
}

@media screen and (max-width: 1120px) and (min-width: 901px) {
  .brand .brand-mark { width: 102px; }
  .brand .brand-name { width: 136px; }
}

@media screen and (max-width: 900px) {
  .header-meta {
    display: flex;
    height: 28px;
    gap: clamp(6px, 1.2vw, 12px);
    font-size: clamp(9px, 2.6vw, 11px);
  }
  .header-main { min-height: 72px; }
  .main-nav {
    inset: 100px 0 auto 0;
    max-height: calc(100vh - 100px);
  }
  .hero-mobile-kicker { display: none; }
}

@media screen and (max-width: 640px) {
  .brand .brand-mark { width: 94px; }
  .brand .brand-name { width: 124px; }
  .footer-company-logo { width: 207px; }
}

@media (prefers-reduced-motion: reduce) {
  .cta-illustration img { transition: none; }
}

/* User-requested image and report refinements (2026-10-27) */
.assessment-device-mockup{position:relative;isolation:isolate;max-width:100%;}
.assessment-device-mockup>img:first-child{display:block;width:100%;height:auto;}
.assessment-device-mockup .assessment-report-overlay{position:absolute;z-index:1;object-fit:cover;object-position:center 20%;border-radius:2px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);}
.assessment-device-mockup .assessment-report-overlay-desktop{left:23%;top:13%;width:62%;height:50%;}
.assessment-device-mockup .assessment-report-overlay-mobile{left:78%;top:37%;width:16%;height:47%;object-fit:cover;}
.top-assessment-visual .assessment-device-mockup .assessment-report-overlay-desktop{left:23%;top:13%;width:62%;height:50%;}
.top-assessment-visual .assessment-device-mockup .assessment-report-overlay-mobile{left:78%;top:37%;width:16%;height:47%;}
.quick-stat-grid-three{align-items:stretch;}
.quick-stat-grid-three>article{display:flex;flex-direction:column;align-items:flex-start;min-height:100%;}
.assessment-footnote{font-size:clamp(.9rem,1.15vw,1.05rem);line-height:1.8;}
.assessment-download{margin-top:clamp(2rem,5vw,4rem);padding:clamp(1.1rem,3vw,2rem);background:#f3f7f3;border:1px solid #dce8dd;border-radius:18px;}
.assessment-download>a{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:clamp(1rem,3vw,2.5rem);align-items:center;color:inherit;text-decoration:none;}
.assessment-download img{display:block;width:100%;height:auto;box-shadow:0 8px 24px rgba(34,34,34,.12);}
.assessment-download span{display:flex;flex-direction:column;gap:.6rem;}
.assessment-download small{color:#67B368;font-weight:700;letter-spacing:.14em;}
.assessment-download strong{font-size:clamp(1.15rem,2.2vw,1.7rem);}
.assessment-download b{margin-top:.6rem;color:#246c3c;}
.assessment-banner{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:1.25rem;}
.assessment-banner-image{width:100%;height:100px;object-fit:cover;border-radius:10px;}
.realestate-proof{margin:1rem 0 0;line-height:1.9;}
.case-response-report h3{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.9;overflow-wrap:anywhere;}
.philosophy-logo-caption{display:block;position:relative;z-index:1;color:#67B368;font-size:clamp(.85rem,1.2vw,1rem);font-weight:700;letter-spacing:.13em;margin-bottom:.5rem;}
.disclosure-contact-link{margin-top:1.25rem;line-height:1.8;}
@media screen and (max-width:700px){
 .assessment-device-mockup .assessment-report-overlay-desktop{left:23%;top:13%;width:62%;height:50%;}
 .assessment-device-mockup .assessment-report-overlay-mobile{left:78%;top:37%;width:16%;height:47%;}
 .assessment-download>a{grid-template-columns:minmax(0,38%) 1fr;}
 .assessment-banner{grid-template-columns:1fr;}
 .assessment-banner-image{height:auto;max-height:190px;}
 .realestate-proof{font-size:.95rem;}
}


/* 2026-10-27 requested refinements */
.assessment-devices-image { display:block; width:100%; max-width:620px; height:auto; margin-inline:auto; object-fit:contain; filter:drop-shadow(0 18px 24px rgba(20,46,32,.12)); }
.top-assessment-visual .assessment-devices-image { width:min(100%,540px); }
.quick-stat-grid-three > article { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; }
.quick-stat-grid-three > article > small { min-height:2.8em; display:flex; align-items:flex-end; justify-content:center; text-align:center; }
.page-08 .assessment-footnote { font-size:clamp(1rem,1.5vw,1.2rem)!important; line-height:1.85!important; color:var(--deep)!important; }
.assessment-download-content { display:grid; grid-template-columns:minmax(150px,240px) 1fr; gap:clamp(1rem,3vw,2.5rem); align-items:center; }
.assessment-download-content > img { display:block; width:100%; height:auto; box-shadow:0 8px 24px rgba(34,34,34,.12); }
.assessment-download-content > div { display:flex; flex-direction:column; align-items:flex-start; gap:.65rem; }
.assessment-download-content .button { margin-top:.35rem; }
.assessment-pdf-size { color:var(--muted); letter-spacing:normal; font-weight:500; }
.realestate-result-card .realestate-proof { margin:0; padding:0 30px 30px; line-height:1.9; }
.philosophy-title-wrap { position:relative; grid-template-columns:minmax(0,1fr) minmax(300px,420px); min-height:220px; }
.philosophy-title-wrap .philosophy-logo { position:relative; display:flex; align-items:center; justify-content:center; width:100%; opacity:.1; filter:grayscale(1) brightness(2.8) blur(3px); }
.philosophy-title-wrap .philosophy-logo img { display:block; width:100%; height:auto; }
.philosophy-logo-caption { position:absolute; z-index:1; top:50%; left:50%; width:max-content; max-width:100%; transform:translate(-50%,-50%); margin:0; color:#67B368; font-size:clamp(1.35rem,2.2vw,2rem); font-weight:800; letter-spacing:.1em; text-align:center; }
.vision-circles { width:min(1020px,100%); }
.vision-circle-b { left:calc(50% - 440px); top:338px; }
.vision-circle-c { right:calc(50% - 440px); top:338px; }
.contact-form-embed { display:block; width:100%; height:480px; max-width:100%; border:0; }
.assessment-download-content { min-width:0; }
@media screen and (max-width:900px) {
 .realestate-result-card .realestate-proof { padding:0 22px 24px; }
 .philosophy-title-wrap { grid-template-columns:minmax(0,1fr) minmax(240px,320px); min-height:190px; }
 .vision-circles { width:min(760px,100%); height:790px; }
 .vision-circle { width:min(430px,58vw); padding:clamp(35px,6vw,60px); }
 .vision-circle-a { left:50%; transform:translateX(-50%); }
 .vision-circle-b { left:calc(50% - 390px); top:320px; }
 .vision-circle-c { right:calc(50% - 390px); top:320px; }
}
@media screen and (max-width:700px) {
 .assessment-devices-image { width:100%; max-width:480px; }
 .top-assessment-visual .assessment-devices-image { width:100%; }
 .quick-stat-grid-three > article > small { min-height:3.2em; }
 .assessment-download-content { grid-template-columns:minmax(0,38%) 1fr; gap:1rem; }
 .assessment-download-content .button { font-size:.9rem; padding-inline:14px; }
 .realestate-result-card .realestate-proof { padding:0 18px 22px; }
 .philosophy-title-wrap { display:block; min-height:0; margin-bottom:32px; }
 .philosophy-title-wrap .section-head { position:relative; z-index:1; max-width:70%; }
 .philosophy-title-wrap .philosophy-logo { position:absolute; right:-12px; top:4px; width:42%; height:145px; }
 .philosophy-logo-caption { font-size:clamp(.85rem,4vw,1.15rem); white-space:normal; }
 .vision-circles { width:100%; height:auto; display:grid; justify-items:center; gap:14px; padding-top:20px; }
 .vision-circle { position:relative; left:auto!important; right:auto!important; top:auto!important; width:min(100%,420px); aspect-ratio:auto; min-height:320px; padding:38px 34px; transform:none!important; }
 .vision-center { position:relative; left:auto; top:auto; transform:none; width:128px; grid-row:2; margin:-46px 0; z-index:6; }
 .vision-circle-b { grid-row:3; }
 .vision-circle-c { grid-row:4; }
 .vision-statement { margin-top:26px; }
 .contact-form-embed { height:480px; }
}

/* Requested Heteml-only updates, 2026-10-28 */
.site-header > .header-meta { justify-content: flex-end; text-align: right; }
.assessment-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
.assessment-benefits article { min-height: 126px; grid-template-rows: auto auto auto; align-content: center; }
.assessment-benefits small { min-height: 1.45em; }
.assessment-benefits strong, .assessment-benefits span { min-height: 1.45em; }
.assessment-flow-art { background-position: center; background-repeat: no-repeat; }
.assessment-process .process-line .assessment-flow-art.assessment-flow-art-3 { background-image: url('/wordpress/wp-content/themes/eegreen-renewal/assets/illustrations/assessment-flow-mail-pricing-20261028.jpg'); background-size: contain; background-position: center; }
.assessment-process .process-line .assessment-flow-art.assessment-flow-art-4 { background-image: url('/wordpress/wp-content/themes/eegreen-renewal/assets/illustrations/assessment-flow-mail-result-20261028.jpg'); background-size: contain; background-position: center; }
.contact-form-embed { height: 1200px; max-height: none; }
.contact-choice-section .section-head h2 { white-space: nowrap; font-size: clamp(24px,2.2vw,34px); }
.image-disclaimer { text-indent: 1em; }
.cta-illustration { position: relative; }
.cta-illustration img.cta-advisor-default, .cta-illustration img.cta-advisor-hover { display:block; width:100%; height:100%; object-fit:contain; transition:opacity .35s ease; }
.cta-illustration img.cta-advisor-hover { position:absolute; inset:0; opacity:0; }
.contact-box:hover .cta-illustration img.cta-advisor-hover, .contact-box:focus-within .cta-illustration img.cta-advisor-hover { opacity:1; }
.contact-box:hover .cta-illustration img.cta-advisor-default, .contact-box:focus-within .cta-illustration img.cta-advisor-default { opacity:0; }
.disclosure-consulting-link { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:8px 16px; }
.disclosure-consulting-link img { grid-row:span 2; width:150px; height:100px; object-fit:cover; border-radius:10px; }
.disclosure-consulting-link small { color:var(--muted); overflow-wrap:anywhere; }
.case-response-report > header h3 { text-align:left; }
.case-approach-report .case-response-report { margin-bottom:24px; }
.case-related-nav { margin-top:36px; padding-top:24px; border-top:1px solid var(--line); }
.case-related-nav h3 { margin:0 0 14px; color:var(--deep); font-size:18px; }
.case-related-nav ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; list-style:none; padding:0; margin:0; }
.case-related-nav a { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); color:var(--deep); text-decoration:none; }
.case-related-nav a:hover { color:var(--green); }
.recruit-consultation-note, .recruit-consultation-note::before { border-radius:16px !important; }
.contact-phone-panel > img { object-fit:contain; }
@media screen and (max-width:767px) {
 .assessment-benefits { grid-template-columns:1fr; }
 .assessment-benefits article { min-height:108px; }
 .contact-choice-section .section-head h2 { white-space:normal; font-size:clamp(21px,5.4vw,28px); }
 .case-related-nav ul { grid-template-columns:1fr; }
 .disclosure-consulting-link { grid-template-columns:1fr; }
 .disclosure-consulting-link img { grid-row:auto; width:100%; height:auto; max-height:220px; }
 .contact-form-embed { height:1450px; }
}

.news-article { max-width: 900px; padding: 52px 58px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.news-article > header { padding-bottom:24px; border-bottom:1px solid var(--line); }
.news-article time { color:var(--muted); font-weight:700; margin-right:16px; }
.news-article h2 { margin:18px 0 0; color:var(--deep); font-size:clamp(26px,3vw,38px); line-height:1.5; }
.news-article-body { margin:28px 0 32px; color:var(--text); font-size:16px; line-height:2; }
.news-article-body p { margin:0 0 1.2em; }
.news-article-body dl { display:grid; grid-template-columns:150px 1fr; border-top:1px solid var(--line); }
.news-article-body dt,.news-article-body dd { margin:0; padding:12px; border-bottom:1px solid var(--line); }
.news-article-body dt { font-weight:700; background:var(--pale); }
@media screen and (max-width:767px){.news-article{padding:28px 20px}.news-article-body dl{grid-template-columns:1fr}.news-article-body dd{padding-top:2px}}


/* Final responsive and hover QA corrections, 2026-10-28 */
.contact-form-embed { max-height: none; }
.contact-form-embed:not(.assessment-application-embed) { height: 1500px; }
.assessment-application-embed { height: 4800px !important; }
.contact-choice-section .section-head h2 { font-size: clamp(22px,2.2vw,34px); }
.cta-illustration { isolation: isolate; }
.cta-illustration img.cta-advisor-default,
.cta-illustration img.cta-advisor-hover { backface-visibility: hidden; }
@media screen and (max-width: 767px) {
  .contact-choice-section .section-head h2 { white-space: nowrap; font-size: clamp(16px,5vw,21px); letter-spacing: 0; }
  .contact-form-embed:not(.assessment-application-embed) { height: 1550px; }
  .assessment-application-embed { height: 4800px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .cta-illustration img.cta-advisor-default,
  .cta-illustration img.cta-advisor-hover { transition: none !important; }
}


/* 2026-10-28 requested alignment and hover corrections */
.cta-illustration { position: relative; display: block; }
.cta-illustration img.cta-advisor-default,
.cta-illustration img.cta-advisor-hover { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: contain; object-position: center bottom; transform: none; transform-origin: center bottom; transition: opacity .35s ease; }
.cta-illustration img.cta-advisor-default { opacity: 1; z-index: 2; }
.cta-illustration img.cta-advisor-hover { opacity: 0; z-index: 1; }
.contact-box:hover .cta-illustration img.cta-advisor-hover,
.contact-box:focus-within .cta-illustration img.cta-advisor-hover { opacity: 1; }
.contact-box:hover .cta-illustration img.cta-advisor-default,
.contact-box:focus-within .cta-illustration img.cta-advisor-default { opacity: 0; }
.case-report-heading { display: block; text-align: left; }
.case-report-heading > span { display: block; }
.case-report-heading h2 { margin: 6px 0 0; font-size: clamp(26px, 3vw, 38px); }
.contact-phone-panel > img { width: 66.666%; max-width: 280px; justify-self: center; }
.news-home-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; text-decoration: none; }
@media screen and (max-width: 900px) { .contact-phone-panel > img { width: 66.666%; max-width: 260px; } }

#contact-form { scroll-margin-top: 110px; }

.news-map { max-width:568px; margin:28px auto; }
.news-map img { display:block; width:100%; height:auto; border:1px solid var(--line); }
.news-map figcaption { margin-top:8px; color:var(--muted); font-size:14px; }

/* Verified on the authenticated test site, 2026-10-28. */
.construction-focus .construction-operation-media { grid-template-columns: minmax(0, 1fr); }
#contact-form .section-head h2 { font-size: clamp(22px, 2.2vw, 32px); }
@media screen and (min-width: 901px) {
  .editorial-feature.construction-focus { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); }
}

/* 2026-10-28 requested alignment and hover corrections */
.cta-illustration { position: relative; display: block; }
.cta-illustration img.cta-advisor-default,
.cta-illustration img.cta-advisor-hover { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: contain; object-position: center bottom; transform: none; transform-origin: center bottom; transition: opacity .35s ease; }
.cta-illustration img.cta-advisor-default { opacity: 1; z-index: 2; }
.cta-illustration img.cta-advisor-hover { opacity: 0; z-index: 1; }
.contact-box:hover .cta-illustration img.cta-advisor-hover,
.contact-box:focus-within .cta-illustration img.cta-advisor-hover { opacity: 1; }
.contact-box:hover .cta-illustration img.cta-advisor-default,
.contact-box:focus-within .cta-illustration img.cta-advisor-default { opacity: 0; }
.case-report-heading { display: block; text-align: left; }
.case-report-heading > span { display: block; }
.case-report-heading h2 { margin: 6px 0 0; font-size: clamp(26px, 3vw, 38px); }
.contact-phone-panel > img { width: 66.666%; max-width: 280px; justify-self: center; }
.news-home-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; text-decoration: none; }
@media screen and (max-width: 900px) { .contact-phone-panel > img { width: 66.666%; max-width: 260px; } }

#contact-form { scroll-margin-top: 110px; }

.news-map { max-width:568px; margin:28px auto; }
.news-map img { display:block; width:100%; height:auto; border:1px solid var(--line); }
.news-map figcaption { margin-top:8px; color:var(--muted); font-size:14px; }

/* 2026-10-28: requested typography, case solution and philosophy refinements */
.top-case-parallax .top-case-parallax-copy > span,
.company-future-parallax > div > span { font-size:18px; }
.case-approach-report .case-approach-heading { display:flex; align-items:center; gap:24px; padding-bottom:24px; }
.case-approach-heading > img { display:block; width:82px; height:82px; padding:8px; object-fit:contain; flex-shrink:0; }
.case-approach-heading h2 { margin:8px 0 0; font-size:clamp(24px,2.4vw,32px); }
.case-approach-report .case-response-report > header h3 { font-size:16px; font-weight:400; line-height:1.95; margin:0; color:var(--muted); }
.case-approach-report .case-response-report { margin-top:24px; }
.assessment-download-content { max-width:820px; margin-inline:auto; }
.assessment-download-content > div { align-items:center; text-align:center; }
.philosophy-title-wrap { isolation:isolate; }
.philosophy-title-wrap .section-head { position:relative; z-index:3; }
.philosophy-title-wrap .philosophy-logo { z-index:0; }
.philosophy-wordmark { position:absolute; z-index:1; pointer-events:none; right:0; top:35px; width:50%; text-align:center; font-size:clamp(36px,4.2vw,64px); font-weight:800; letter-spacing:.025em; line-height:1.12; color:rgba(196,230,203,.46); transform:translate3d(0,var(--wordmark-parallax-y,0px),0); will-change:transform; }
@media screen and (max-width:700px) {
 .case-approach-report .case-approach-heading { gap:16px; }
 .case-approach-heading > img { width:58px; height:58px; padding:4px; }
 .case-approach-heading h2 { font-size:24px; }
 .assessment-download-content { grid-template-columns:1fr; justify-items:center; gap:24px; }
 .assessment-download-content > img { width:min(220px,70%); }
 .philosophy-title-wrap { min-height:160px; }
 .philosophy-wordmark { top:50px; width:47%; font-size:clamp(22px,5.7vw,38px); }
}
@media(prefers-reduced-motion:reduce) { .philosophy-wordmark { transform:none!important; will-change:auto; } }
