.nsp_cms_section{margin:2.5rem 0}
.nsp_cms_section__title{font-weight:900;font-size:2rem;line-height:1.15;color:var(--color-dark,#14060c);margin:0 0 .75rem 0}
.nsp_cms_section__text{color:var(--color-dark,#14060c);font-size:16px;line-height:1.65}
.nsp_cms_section__actions{margin-top:1.25rem}
.nsp_cms_section .btn-primary,.nsp_cms_section .btn-primary:focus,.nsp_cms_section .btn-primary:hover,.nsp_cms_section .btn-primary:active{color:#fff;font-weight:400}

.nsp_cms_section--image-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:center}
.nsp_cms_section--image-text.nsp_cms_section--reverse .nsp_cms_section__media{order:2}
.nsp_cms_section--image-text.nsp_cms_section--reverse .nsp_cms_section__content{order:1}
.nsp_cms_section__media img{width:100%;height:auto;display:block;border-radius:16px;object-fit:cover;background:rgba(0,0,0,.02)}

.nsp_cms_section--text-2cols .nsp_cms_section__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}
.nsp_cms_section--text-2cols .nsp_cms_section__col{color:var(--color-dark,#14060c);font-size:16px;line-height:1.65}

.nsp_cms_section--category-tiles-3col .nsp_cms_section__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile{position:relative;display:block;overflow:hidden;border-radius:16px;background:rgba(0,0,0,.02);text-decoration:none}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--nsp-cms-tiles-accent-rgb,255,61,127),0) 0%,rgba(var(--nsp-cms-tiles-accent-rgb,255,61,127),.42) 100%);opacity:.7;transition:opacity .25s ease;pointer-events:none}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transform:scale(1);transition:transform .25s ease}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-caption{position:absolute;left:68%;top:50%;transform:translate(-50%,-50%);z-index:1;max-width:calc(100% - 2rem);text-align:center}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-title{padding:0;margin:0;color:var(--color-dark,#14060c);font-family:"Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji" !important;font-weight:700;line-height:1.08;letter-spacing:-.2px;font-size:clamp(22px,1.65vw,34px);text-shadow:none}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;color:var(--color-dark,#14060c);font-family:"LXGW WenKai TC","Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji" !important;font-weight:600;font-size:14px;letter-spacing:0;text-transform:none;opacity:.88}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-cta::after{content:"→";display:inline-block;transform:translateX(0);transition:transform .2s ease;opacity:.9}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-cta{ position:relative; text-decoration:none; transition:opacity .2s ease}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-cta::before{content:"";position:absolute;left:0;right:calc(1em + .45rem);bottom:-2px;height:1px;background:currentColor;opacity:0;transition:opacity .2s ease}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile:hover .nsp_cms_section__tile-cta{ opacity:1}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile:hover .nsp_cms_section__tile-cta::before{opacity:1}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile:hover .nsp_cms_section__tile-cta::after{transform:translateX(4px)}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile:hover .nsp_cms_section__tile-img{transform:scale(1.04)}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile:hover::after{opacity:.85}

@media (max-width:768px){
.nsp_cms_section{margin:2rem 0}
.nsp_cms_section--image-text{grid-template-columns:1fr;gap:1.25rem}
.nsp_cms_section--text-2cols .nsp_cms_section__cols{grid-template-columns:1fr;gap:1.25rem}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tiles{grid-template-columns:1fr;gap:1rem}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-caption{left:62%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 1.7rem);text-align:center}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-title{font-size:24px;letter-spacing:-.1px}
.nsp_cms_section--category-tiles-3col .nsp_cms_section__tile-cta{font-size:12px}
}
