.nsc-wrap{width:100%;background:#0a0a0a;color:#fff;padding:40px 0}
.nsc-wrap *{box-sizing:border-box}
.nsc-heading{text-align:center;max-width:760px;margin:0 auto 28px;padding:0 20px}
.nsc-eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#c9a15b;margin-bottom:8px}
.nsc-section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.1;margin:0 0 10px;color:#d4ad69}
.nsc-section-description{margin:0;color:rgba(255,255,255,.82);font-size:15px}
.nsc-heading-separator{width:320px;max-width:90%;height:22px;margin:8px auto 0;display:flex;align-items:center;justify-content:center;color:#c9a15b}
.nsc-heading-separator::before,.nsc-heading-separator::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#c9a15b,transparent);opacity:.72}
.nsc-heading-separator__icon{width:30px;height:22px;margin:0 8px;display:grid;place-items:center;font-size:13px;line-height:1}
.nsc-heading-separator__icon svg{width:14px;height:14px;fill:currentColor!important;color:inherit!important}
.nsc-heading-separator__icon i{color:inherit!important}
.nsc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:min(100% - 30px,1200px);margin:0 auto}
.nsc-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#111;border:1px solid rgba(201,161,91,.45);overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease}
.nsc-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.35)}
.nsc-image-wrap{position:relative;aspect-ratio:1.35/1;overflow:hidden;background:#151515}
.nsc-image-wrap::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;--nsc-overlay-top:rgba(0,0,0,.02);--nsc-overlay-bottom:rgba(0,0,0,.68);--nsc-overlay-hover-top:rgba(72,10,17,.08);--nsc-overlay-hover-bottom:rgba(0,0,0,.82);background:linear-gradient(180deg,var(--nsc-overlay-top) 0%,rgba(0,0,0,.08) 42%,var(--nsc-overlay-bottom) 100%);transition:background .3s ease,opacity .3s ease}
.nsc-card:hover .nsc-image-wrap::after{background:linear-gradient(180deg,var(--nsc-overlay-hover-top) 0%,rgba(0,0,0,.18) 40%,var(--nsc-overlay-hover-bottom) 100%)}
.nsc-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.nsc-card:hover .nsc-image{transform:scale(1.025)}
.nsc-body{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:26px 24px 22px}
.nsc-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(201,161,91,.72);background:#0d0d0d;color:#d4ad69;margin:-53px auto 18px;position:relative;z-index:3;font-size:21px;box-shadow:0 0 0 4px rgba(8,8,8,.78),0 4px 14px rgba(0,0,0,.35)}
.nsc-icon svg{width:23px;height:23px;fill:currentColor!important;color:inherit!important}
.nsc-icon svg path,.nsc-icon svg *{fill:currentColor!important;stroke:currentColor}
.nsc-icon i{color:inherit!important}
.nsc-title{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.25;font-weight:400;margin:0 0 14px;color:#fff}
.nsc-description{font-size:14px;line-height:1.55;color:rgba(255,255,255,.82);margin-bottom:22px}
.nsc-description p{margin:0}
.nsc-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:11px 20px;margin-top:auto;background:#a84f58;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);transition:filter .2s ease,transform .2s ease}
.nsc-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
@media(max-width:1024px){.nsc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .nsc-wrap{padding:28px 0}
 .nsc-grid{grid-template-columns:1fr;width:min(100% - 24px,560px);gap:16px}
 .nsc-card{border-radius:2px}
 .nsc-heading{margin-bottom:20px}
}
@media(prefers-reduced-motion:reduce){
 .nsc-card,.nsc-image,.nsc-button{transition:none!important}
}
/* v1.0.2 - premium card transformation on hover */
.nsc-grid{align-items:stretch}
.nsc-card{height:100%;isolation:isolate}
.nsc-card--image::before{content:"";position:absolute;inset:0;z-index:0;opacity:0;background:linear-gradient(160deg,#5a1820 0%,#26070b 100%);pointer-events:none;transition-property:opacity;transition-duration:.42s;transition-timing-function:ease}
.nsc-card--image .nsc-image-wrap{z-index:1;max-height:320px;opacity:1;transform:translateY(0);transition-property:max-height,opacity,transform;transition-duration:.42s;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
.nsc-card--image .nsc-body{position:relative;z-index:2;transition-property:padding,justify-content;transition-duration:.42s;transition-timing-function:ease}
.nsc-card--image .nsc-icon{transition-property:margin,background,border-color,transform;transition-duration:.42s;transition-timing-function:ease}
.nsc-card--image .nsc-title,.nsc-card--image .nsc-description,.nsc-card--image .nsc-button{position:relative;z-index:2}

@media (hover:hover) and (pointer:fine){
  .nsc-premium-hover-yes .nsc-card--image:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(0,0,0,.38)}
  .nsc-premium-hover-yes .nsc-card--image:hover::before{opacity:1}
  .nsc-premium-hover-yes .nsc-card--image:hover .nsc-image-wrap{max-height:0;opacity:0;transform:translateY(-14px)}
  .nsc-premium-hover-yes .nsc-card--image:hover .nsc-body{justify-content:center;padding:34px 28px}
  .nsc-premium-hover-yes .nsc-card--image:hover .nsc-icon{margin:0 auto 22px;background:transparent;border-color:rgba(201,161,91,.72);transform:translateY(0)}
  .nsc-premium-hover-yes .nsc-card--image:hover .nsc-title{margin-bottom:16px}
  .nsc-premium-hover-yes .nsc-card--image:hover .nsc-description{margin-bottom:0}
  .nsc-premium-hover-yes .nsc-card--image:hover .nsc-button{margin-top:32px}
}

@media(max-width:767px){
  .nsc-card{min-height:0}
}

/* v1.0.3 - all cards start in the same normal image state; premium state exists only on hover. */

/* v1.0.4 - gold card icons + ornamental gold heading separator */
