html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 84px; }
body { font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.glass { backdrop-filter: blur(8px); background: rgba(255,255,255,.75); }

/* Typography upgrades */
h1, h2 { font-family: 'Plus Jakarta Sans', Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; letter-spacing: -0.02em; }
h1 { line-height: 1.1; }
h2 { line-height: 1.2; background: linear-gradient(90deg,#065f46,#0f766e,#14b8a6); -webkit-background-clip: text; background-clip: text; color: transparent; }



/* Vibrant hover treatments for cards */
.border.bg-white { transition: transform .2s ease, box-shadow .2s ease; }
.border.bg-white:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(2, 44, 34, 0.08); }

/* Chip badges */
.chip { display:inline-block; padding:.25rem .6rem; border-radius:999px; font-size:12px; font-weight:600; color:#065f46; background:#ecfdf5; border:1px solid #a7f3d0; }

/* Business ribbons */
.ribbon { position:absolute; top:-5px; left:-8px; background:linear-gradient(90deg,#f59e0b,#fbbf24); color:#111827; font-weight:700; font-size:11px; padding:4px 10px; border-radius:6px; box-shadow:0 6px 16px rgba(0,0,0,.08); }
.ribbon.ribbon-sponsor { background:linear-gradient(90deg,#06b6d4,#22c55e); color:#053b2b; }

/* Badges + social (appended) */
.badge { position:absolute; top:12px; right:12px; padding:4px 10px; font-weight:700; font-size:11px; border-radius:999px; background:linear-gradient(90deg,#f43f5e,#fb7185); color:white; box-shadow:0 6px 16px rgba(0,0,0,.12); }
.badge.badge-new { background:linear-gradient(90deg,#22c55e,#10b981); }
.social a { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:#065f46;}
.social a:hover { text-decoration:underline;}
 
/* Backdrop for the native dialog */
#leadDialog::backdrop { background: rgba(2, 6, 23, .6); backdrop-filter: blur(2px); }
/* Fallback: make <dialog> behave like a modal where showModal() isn't supported */
dialog:not(:modal)[open]{
	position: fixed;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 1rem;
	background: rgba(2, 6, 23, .6); /* overlay */
	backdrop-filter: blur(2px);
	z-index: 9999;
}
dialog:not(:modal)[open] .modal-card{
	max-height: 85vh;
	overflow: auto;
}

/* Article styles */
article h2 {
    font-size: 1.5rem;
    line-height: 2rem;
    margin-top: 0.5rem;
}
article p {
	color: rgb(71 85 105);
	margin-top: 0.5rem;
    margin-bottom: 1rem;
}
article {
	color: rgb(71 85 105);
}

article li {
	display: list-item;
	list-style-type: disc;
	margin-left: 30px;
}