/* Three commercial situations, six direct routes. No hover-only content. */
.v2-situations { background:#f7f7f2; color:var(--v2-ink); padding:62px 36px 60px; scroll-margin-top:100px; }
.v2-situations-inner { max-width:1288px; margin:auto; }
.v2-situations-heading { display:grid; grid-template-columns:1.12fr 1fr; gap:48px; align-items:end; margin-bottom:38px; }
.v2-situations-eyebrow { font-size:16px; font-weight:600; line-height:1.5; margin:0 0 20px; }
.v2-situations h2 { font-size:clamp(44px,4.5vw,64px); font-weight:500; line-height:1.07; letter-spacing:-.055em; margin:0; text-wrap:balance; }
.v2-situations h2 span { display:block; }
.v2-situations-intro { font-size:18px; line-height:1.7; color:#555d51; max-width:42ch; margin:0 0 3px; text-wrap:pretty; }
.v2-situations-board { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:20px; align-items:stretch; }
.v2-situation-group { --situation-line:#cbd1c4; --situation-muted:#555d51; --situation-hover:#dce3d3; min-width:0; background:#e9ebe2; border-radius:5px; padding:27px 28px 8px; }
.v2-situation-group-main { --situation-line:#4b5146; --situation-muted:#d0d6c9; --situation-hover:#303c29; grid-row:span 2; display:flex; flex-direction:column; background:#20231e; color:#f7f7f2; overflow:hidden; }
.v2-situation-group h3 { font-size:26px; line-height:1.18; font-weight:500; letter-spacing:-.035em; margin:0; text-wrap:balance; }
.v2-situation-group-top { padding-bottom:22px; }
.v2-situation-group-main .v2-situation-group-top { position:relative; flex:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:start; gap:12px; min-height:264px; padding-bottom:20px; }
.v2-situation-group-main h3 { font-size:clamp(30px,3vw,42px); line-height:1.08; letter-spacing:-.045em; max-width:9ch; padding-top:3px; color:#adf28c; }
.v2-situation-visual { margin:0; height:272px; align-self:center; }
.v2-situation-visual img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; transition:transform .6s cubic-bezier(.25,1,.5,1); }
.v2-situation-options { list-style:none; margin:0; padding:0; }
.v2-situation-options li { margin:0; padding:0; border-top:1px solid var(--situation-line); }
.v2-situation-link { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:18px; align-items:center; padding:18px 0; border-radius:2px; }
/* Sliding overlay follows the 21st Button Animated implementation, without a motion dependency. */
.v2-situation-link::before { content:''; position:absolute; z-index:-1; inset:0 -12px; background:var(--situation-hover); transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.25,1,.5,1); }
.v2-situation-link h4 { font-size:23px; line-height:1.25; font-weight:500; letter-spacing:-.03em; margin:0; text-wrap:pretty; overflow-wrap:anywhere; hyphens:auto; }
.v2-situation-link p { font-size:16px; line-height:1.6; color:var(--situation-muted); margin:7px 0 0; max-width:39ch; text-wrap:pretty; }
.v2-situation-arrow { width:44px; height:44px; display:grid; place-items:center; font-size:23px; line-height:1; border:1px solid var(--situation-line); border-radius:50%; color:inherit; transition:background .25s,color .25s,border-color .25s,transform .3s; }
.v2-situation-link:is(:hover,:focus-visible)::before { transform:scaleX(1); }
.v2-situation-link:is(:hover,:focus-visible) .v2-situation-arrow { background:#adf28c; color:#20231e; border-color:#adf28c; transform:rotate(45deg); }
.v2-situation-link:active .v2-situation-arrow { transform:rotate(45deg) scale(.94); }
.v2-situations a:focus-visible { outline:2px solid #526440; outline-offset:5px; }
.v2-situation-group-main a:focus-visible { outline-color:#adf28c; }
@media(hover:hover) and (pointer:fine) {
  .v2-situation-group-main:hover .v2-situation-visual img { transform:translateY(-5px) rotate(-2deg); }
}
@media(max-width:1120px) and (min-width:761px) {
  .v2-situations-heading { gap:32px; }
  .v2-situations-board { gap:16px; }
  .v2-situation-group { padding:24px 22px 6px; }
  .v2-situation-group-main .v2-situation-group-top { grid-template-columns:1fr; min-height:260px; gap:0; }
  .v2-situation-group-main h3 { max-width:none; font-size:31px; }
  .v2-situation-visual { height:220px; }
  .v2-situation-link { gap:12px; }
  .v2-situation-link h4 { font-size:22px; }
}
@media(max-width:760px) {
  .v2-situations { padding:42px 24px 44px; scroll-margin-top:84px; }
  .v2-situations-heading { grid-template-columns:1fr; gap:22px; margin-bottom:28px; }
  .v2-situations h2 { font-size:clamp(36px,9.5vw,48px); line-height:1.1; }
  .v2-situations-eyebrow { margin-bottom:17px; }
  .v2-situations-intro { font-size:18px; line-height:1.65; max-width:45ch; }
  .v2-situations-board { grid-template-columns:1fr; gap:16px; }
  .v2-situation-group { padding:24px 24px 7px; }
  .v2-situation-group-main { grid-row:auto; }
  .v2-situation-group-main .v2-situation-group-top { grid-template-columns:1fr 1fr; min-height:225px; }
  .v2-situation-group h3 { font-size:26px; }
  .v2-situation-group-main h3 { font-size:34px; }
  .v2-situation-visual { height:230px; }
  .v2-situation-link { gap:14px; padding:19px 0; }
  .v2-situation-link h4 { font-size:23px; }
  .v2-situation-link p { font-size:16px; line-height:1.65; }
}
@media(max-width:400px) {
  .v2-situation-group { padding:22px 20px 6px; }
  .v2-situation-group-top { padding-bottom:20px; }
  .v2-situation-group-main .v2-situation-group-top { grid-template-columns:1fr; gap:8px; }
  .v2-situation-group-main h3 { max-width:none; }
  .v2-situation-visual { height:170px; }
  .v2-situation-link { display:block; }
  .v2-situation-link p { padding-right:46px; min-height:36px; }
  .v2-situation-arrow { position:absolute; right:0; bottom:19px; width:36px; height:36px; font-size:21px; }
  .v2-situation-link h4 { font-size:22px; overflow-wrap:anywhere; hyphens:auto; }
}
@media(prefers-reduced-motion:reduce) {
  .v2-situation-group,.v2-situation-link::before,.v2-situation-arrow,.v2-situation-visual img { transition:none !important; }
  .v2-situation-group,.v2-situation-arrow,.v2-situation-visual img { transform:none !important; opacity:1 !important; }
}
