/* Root */
.sgrid12 { --sgrid-gap: 28px; --sgrid-pad: 26px; }
.sgrid12 * { box-sizing: border-box; }

/* Header */
.sgrid12-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px;}
.sgrid12-headline{font-size:clamp(28px,3.2vw,46px);line-height:1.15;font-weight:600;margin:0;letter-spacing:.2px;color:#143A44;}
.sgrid12-cta{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;color:#143A44}
.sgrid12-cta-ic{width:36px;height:36px;border-radius:10px;background:#0f2e39;padding:8px}

/* Grid: strict 2 columns, 2 rows */
.sgrid12-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-areas:
    "a big"
    "c d";
  grid-auto-rows:minmax(240px, 320px);
  gap:var(--sgrid-gap);
}

/* Card base */
.sgrid12-card{
  position:relative;background:#fff;border:1px solid rgba(20,58,68,.14);
  border-radius:22px;overflow:hidden;min-height:240px;
  transition:transform .25s ease, box-shadow .25s ease, color .25s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}

/* bg layers for hover */
.sgrid12-card::before, .sgrid12-card::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .25s ease;
  background-size:cover;background-position:center;
}
/* featured always shows base image */
.sgrid12-card.is-featured::before{opacity:1;background-image:var(--sgrid-bg);}
/* non-featured hover image with teal overlay */
.sgrid12-card:not(.is-featured)::after{
  background-image:linear-gradient(0deg, rgba(19,58,68,.25), rgba(19,58,68,.25)), var(--sgrid-hover-bg);
}
.sgrid12-card:hover::after{opacity:1;}

/* Content */
.sgrid12-card .sgrid12-card-link{position:absolute;inset:0;z-index:1;}
.sgrid12-card .sgrid12-card-content{position:relative;z-index:2;padding:var(--sgrid-pad);height:100%;display:flex;flex-direction:column;justify-content:space-between;}
.sgrid12-card .sgrid12-title{margin:0;font-size:clamp(22px,2.3vw,28px);line-height:1.2;font-weight:600;color:#123b45;transition:color .25s ease;}

/* Buttons */
.sgrid12-bottom{display:flex;align-items:center;justify-content:flex-end;}
.sgrid12-mini-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#f2f6f7;color:#153b45;font-weight:600;font-size:14px;text-decoration:none;transition:background .25s ease, color .25s ease;}
.sgrid12-mini-ic{width:18px;height:18px}

/* On hover, turn text/button white for non-featured cards */
.sgrid12-card:hover .sgrid12-title{color:#fff;}
.sgrid12-card:hover .sgrid12-mini-btn{background:rgba(255,255,255,.92);color:#103a44;}

/* Featured card text is white by default */
.sgrid12-card.is-featured .sgrid12-title{color:#fff;}
.sgrid12-card.is-featured .sgrid12-mini-btn{background:rgba(255,255,255,.92);color:#103a44;}

/* Areas */
.sgrid12-card:nth-child(1){grid-area:a;}
.sgrid12-card:nth-child(2){grid-area:big;}
.sgrid12-card:nth-child(3){grid-area:c;}
.sgrid12-card:nth-child(4){grid-area:d;}

/* Lift */
.sgrid12-card:hover{box-shadow:0 20px 40px rgba(0,0,0,.12);}

/* Responsive */
@media (max-width: 900px){
  .sgrid12-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "big"
      "a"
      "d"
      "c";
    grid-auto-rows:auto;
  }
}
