/* Shared hero v2: preserve the site's approved 1220px scaling and layout. */
.dipner-divisions { background: #f6fbfb; padding: 18px 0 22px; color: #151616; }
.divisions-intro { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 0 12px 18px; }
.divisions-intro h1 { font-size: 36px; font-weight: 700; line-height: 1.15; margin: 0 0 3px; letter-spacing: -.6px; }
.divisions-intro h1 span { color: #078563; }
.divisions-intro p { font-size: 18px; line-height: 1.2; color: #818281; margin: 0; }
.divisions-motto { flex: 0 0 156px; border-left: 3px solid #078563; padding-left: 19px; color: #818281; }
.divisions-motto strong { display: block; font-size: 16px; font-weight: 800; line-height: 1.12; }
.divisions-motto > span { display: block; font-size: 9px; line-height: 1.05; margin-top: 12px; }
.divisions-navigation { display: grid; grid-template-columns: .94fr 1fr; gap: 18px; }
.division-hero { position: relative; min-width: 0; aspect-ratio: 800 / 987; background: #172320; overflow: hidden; }
.division-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s; }
.division-slide.is-active { opacity: 1; visibility: visible; }
.division-hero-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.division-slide::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0, 0, 0, .28) 32%, rgba(0, 0, 0, .8)); pointer-events: none; }
.division-slide-copy { position: absolute; z-index: 1; left: 32px; right: 28px; bottom: 92px; color: #fff; }
.division-number { display: flex; align-items: center; gap: 11px; font-size: 14px; font-weight: 600; line-height: 1.2; }
.division-number::after { content: ''; width: 31px; height: 3px; background: #078563; border-radius: 2px; }
.division-slide-copy h2 { font-size: 24px; font-weight: 700; line-height: 1.08; margin: 7px 0 9px; color: #fff; }
.division-slide-copy p { font-size: 12px; line-height: 1.2; margin: 0; max-width: 455px; }
.division-hero-controls { position: absolute; z-index: 2; left: 26px; right: 24px; bottom: 22px; display: grid; grid-template-columns: 180px auto 1fr; align-items: center; gap: 20px; color: #fff; }
.division-details { display: inline-flex; align-items: center; justify-content: center; gap: 15px; height: 46px; border: 2px solid #00ebbd; border-radius: 28px; background: radial-gradient(ellipse at 50% 0, #009c78, #006447); box-shadow: inset 0 0 0 3px rgba(0, 43, 33, .55), 0 0 12px #00e3ae25; color: #fff; text-decoration: none; font-size: 16px; font-weight: 600; white-space: nowrap; }
.division-details:hover { background: #009978; color: #fff; }
.division-details svg { width: 23px; height: 23px; }
.division-dots { display: flex; align-items: center; background: #111c1caa; padding: 0 3px; }
.division-dot { display: grid; place-items: center; width: 20px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.division-dot span { display: block; width: 10px; height: 10px; border-radius: 50%; background: #919999; }
.division-dot.is-active span { background: #00e5ad; box-shadow: 0 0 8px #00e5ad80; }
.division-hint { margin: 0; border-left: 2px solid #078563; padding: 4px 0 4px 14px; font-size: 13px; line-height: 1.15; }
.division-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 6px 22px; min-width: 0; background: #f6fbfb; border-top: 0; }
.division-card { display: block; position: relative; min-width: 0; overflow: hidden; border: 2px solid #d9dcdc; border-radius: 12px; background: #fff; color: #151616; text-decoration: none; transition: border-color .2s; }
.division-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.division-card-copy { position: relative; z-index: 1; padding: 21px 14px 0; }
.division-card .division-number { color: #444; }
.division-card h3 { font-size: 18px; font-weight: 700; line-height: 1.08; margin: 8px 0 5px; padding-right: 43px; color: #151616; }
.division-card p { max-width: 230px; font-size: 12px; line-height: 1.12; margin: 0; color: #818281; text-shadow: 0 0 5px #fff, 0 0 5px #fff; }
.division-card-arrow { position: absolute; z-index: 2; right: 10px; top: 29px; width: 46px; height: 46px; border-radius: 50%; background: #f0f2f2; color: #555; display: grid; place-items: center; transition: background .2s, color .2s; }
.division-card-arrow svg { width: 24px; height: 24px; }
.division-card.is-active { border-color: #008967; }
.division-card.is-active .division-card-arrow { background: #078563; color: #fff; }
.division-card:focus-visible, .division-dot:focus-visible, .division-details:focus-visible { outline: 3px solid #00cba0; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    .division-slide, .division-card, .division-card-arrow { transition: none; }
}
