.nn94-section{
  margin:28px 0;
  padding:32px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 46px rgba(16,32,51,.08);
}
.nn94-section-header{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:24px;
  align-items:end;
  margin-bottom:24px;
}
.nn94-section-header h2,
.nn94-access h2,
.nn94-path h2,
.nn94-cta h2{
  margin:0 0 10px;
  color:#102033;
  font-size:clamp(28px,4vw,42px);
  line-height:1.08;
  letter-spacing:-.55px;
}
.nn94-section-header p,
.nn94-access-intro,
.nn94-path-intro{
  margin:0;
  color:#40556d;
  font-size:18px;
}
.nn94-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.nn94-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #c7ddd9;
  border-radius:999px;
  padding:7px 11px;
  background:#f1fbf9;
  color:#163f4d;
  font-size:13px;
  font-weight:900;
}
.nn94-pill svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
}
.nn94-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.nn94-feature{
  position:relative;
  min-height:230px;
  padding:20px;
  overflow:hidden;
  border:1px solid #dbe5ec;
  border-radius:22px;
  background:linear-gradient(155deg,#fff 0%,#f7fbfd 100%);
}
.nn94-feature:after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-48px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:radial-gradient(circle,#c8f6ee 0%,rgba(200,246,238,0) 70%);
  pointer-events:none;
}
.nn94-feature--accent{
  background:linear-gradient(150deg,#102033,#153b50);
  border-color:#153b50;
  color:#fff;
}
.nn94-feature--accent h3,
.nn94-feature--accent p{color:#fff}
.nn94-feature--accent .nn94-tag{background:#ffffff18;border-color:#ffffff32;color:#d9fff8}
.nn94-feature h3{
  margin:12px 0 8px;
  font-size:21px;
  line-height:1.18;
}
.nn94-feature p{
  position:relative;
  z-index:1;
  margin:0;
  color:#506379;
  font-size:15px;
  line-height:1.52;
}
.nn94-icon{
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border-radius:14px;
  color:#0b7472;
  background:#dff8f4;
}
.nn94-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nn94-feature--accent .nn94-icon{background:#ffffff18;color:#9ff7e8}
.nn94-tag{
  display:inline-flex;
  margin-top:14px;
  border:1px solid #d4e5e2;
  border-radius:999px;
  padding:4px 8px;
  background:#f2fbf9;
  color:#28615f;
  font-size:12px;
  font-weight:900;
}
.nn94-access{
  margin:28px 0;
  padding:32px;
  border-radius:28px;
  background:linear-gradient(145deg,#eefbfa,#f7faff);
  border:1px solid #cfe7e4;
}
.nn94-access-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.nn94-access-card{
  padding:23px;
  border:1px solid #d6e4e8;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 24px rgba(16,32,51,.05);
}
.nn94-access-card--account{
  background:linear-gradient(150deg,#102033,#173c50);
  border-color:#173c50;
  color:#fff;
}
.nn94-access-card h3{margin:9px 0 14px;font-size:24px}
.nn94-access-card--account h3{color:#fff}
.nn94-access-label{
  display:inline-flex;
  border:1px solid #cddfe2;
  border-radius:999px;
  padding:5px 9px;
  color:#245b62;
  background:#f3fbfa;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.nn94-access-card--account .nn94-access-label{border-color:#ffffff40;background:#ffffff12;color:#aaf8eb}
.nn94-checks{
  display:grid;
  gap:9px;
  margin:0 0 20px;
  padding:0;
  list-style:none;
}
.nn94-checks li{
  position:relative;
  padding-left:27px;
  line-height:1.45;
}
.nn94-checks li:before{
  content:"";
  position:absolute;
  left:0;
  top:.28em;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#dff8f4;
  box-shadow:inset 0 0 0 5px #0f9f9a;
}
.nn94-access-card--account .nn94-checks li:before{background:#8ef2e2;box-shadow:inset 0 0 0 5px #1c5362}
.nn94-access-card--account .btn{border-color:#90efe1;background:#90efe1;color:#102033}
.nn94-path{
  margin:28px 0;
  padding:32px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
}
.nn94-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin-top:24px;
}
.nn94-step{
  position:relative;
  padding:20px 16px 18px;
  border-top:2px solid #cce8e4;
}
.nn94-step:before{
  content:attr(data-step);
  display:grid;
  place-items:center;
  position:absolute;
  top:-18px;
  left:16px;
  width:34px;
  height:34px;
  border-radius:12px;
  background:#102033;
  color:#fff;
  font-weight:900;
}
.nn94-step h3{margin:12px 0 7px;font-size:18px}
.nn94-step p{margin:0;color:#56697e;font-size:14px;line-height:1.48}
.nn94-cta{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:24px;
  align-items:center;
  margin:28px 0;
  padding:32px;
  border-radius:28px;
  color:#fff;
  background:radial-gradient(circle at 85% 20%,#1d6172 0%,#102033 55%);
  box-shadow:0 18px 42px rgba(16,32,51,.16);
}
.nn94-cta h2,.nn94-cta p{color:#fff}
.nn94-cta p{margin:0;max-width:760px;color:#dce8f1;font-size:17px}
.nn94-cta .actions{justify-content:flex-end;margin:0}
.nn94-cta .btn{border-color:#ffffff52;background:#ffffff12;color:#fff;box-shadow:none}
.nn94-cta .btn.dark{border-color:#8ef2e2;background:#8ef2e2;color:#102033}
.nn94-text-card{
  min-height:100%;
  padding:20px;
  background:linear-gradient(145deg,#e9fbf8,#f7fbff);
}
.nn94-text-card .nn94-icon{margin-bottom:48px}
.nn94-text-card .body{padding:0}
@media(max-width:980px){
  .nn94-section-header,.nn94-cta{grid-template-columns:1fr}
  .nn94-summary,.nn94-cta .actions{justify-content:flex-start}
  .nn94-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nn94-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 0}
}
@media(max-width:700px){
  .nn94-section,.nn94-access,.nn94-path,.nn94-cta{padding:22px;border-radius:22px}
  .nn94-feature-grid,.nn94-access-grid,.nn94-steps{grid-template-columns:1fr}
  .nn94-feature{min-height:auto}
  .nn94-steps{gap:26px}
  .nn94-step{padding-left:12px}
  .nn94-step:before{left:12px}
}
@media(prefers-reduced-motion:no-preference){
  .nn94-feature,.nn94-access-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
  .nn94-feature:hover,.nn94-access-card:hover{transform:translateY(-2px);border-color:#9fd8d1;box-shadow:0 15px 30px rgba(16,32,51,.09)}
}
