/* SWD Page hero — breadcrumb, H1, intro, ticks, buttons, framed visual, stats strip. */
.swd.swd-pagehero { padding-top: clamp(120px, 12vw, 170px); overflow: hidden; }
.swd-pagehero .ph__glow { position: absolute; z-index: 0; top: -260px; right: -220px; width: 900px; height: 900px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--a) 30%, transparent) 0, color-mix(in srgb, var(--a2) 14%, transparent) 38%, transparent 68%); pointer-events: none; }
.swd-pagehero .ph__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: center; }
.swd.ph--vis .ph__grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
.swd-pagehero .ph__crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; font-size: 14px; color: var(--muted); }
.swd-pagehero .ph__crumbs a { color: var(--muted); text-decoration: none; }
.swd-pagehero .ph__crumbs a:hover { color: #fff; }
.swd-pagehero .ph__crumbs span[aria-hidden] { opacity: .45; }
.swd-pagehero .ph__crumbs [aria-current] { color: #DCE2EF; }
.swd-pagehero .ph__title { font-size: clamp(42px, 5.6vw, 82px); line-height: 1.02; letter-spacing: -.045em; max-width: 13ch; }
.swd.swd-pagehero:not(.ph--vis) .ph__title { max-width: 18ch; }
.swd-pagehero .ph__intro { margin-top: 26px; max-width: 600px; font-size: clamp(17px, 1.45vw, 20px); color: var(--muted); }
.swd-pagehero .ph__ticks { margin-top: 26px; }
.swd-pagehero .ph__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }

.swd-pagehero .ph__vis { position: relative; }
.swd-pagehero .ph__frame { position: relative; aspect-ratio: 4 / 4.4; border-radius: var(--r-xl); overflow: hidden; background: var(--card); box-shadow: inset 0 0 0 1px var(--edge), 0 60px 90px -50px rgba(0, 0, 0, .8); }
.swd-pagehero .ph__frame::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); background: linear-gradient(180deg, transparent 55%, rgba(20, 26, 44, .55)); pointer-events: none; }
.swd-pagehero .ph__frame img, .swd-pagehero .ph__frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.swd-pagehero .ph__tag { left: -18px; bottom: 54px; top: auto; }
.swd-pagehero .ph__glyph { position: relative; aspect-ratio: 1; display: grid; place-items: center; color: var(--a); }
.swd-pagehero .ph__glyph .lic { width: 30%; height: 30%; stroke-width: 1.1; filter: drop-shadow(0 0 30px color-mix(in srgb, var(--a) 60%, transparent)); }
.swd-pagehero .ph__ring { position: absolute; inset: 8%; border-radius: 50%; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--a) 35%, transparent); animation: swd-ph-spin 30s linear infinite; }
.swd-pagehero .ph__ring::before { content: ""; position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: var(--a); box-shadow: 0 0 18px var(--a); }
.swd-pagehero .ph__ring--2 { inset: 22%; animation-duration: 22s; animation-direction: reverse; }
@keyframes swd-ph-spin { to { transform: rotate(360deg); } }

.swd-pagehero .ph__stats { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); margin: clamp(56px, 7vw, 96px) 0 0; border-radius: 28px; background: var(--card); box-shadow: inset 0 0 0 1px var(--edge); }
.swd-pagehero .ph__stat { margin: 0; padding: 28px 30px 30px; }
.swd-pagehero .ph__stat + .ph__stat { box-shadow: inset 1px 0 0 var(--edge); }
.swd-pagehero .ph__stat dt { display: flex; align-items: baseline; gap: 3px; }
.swd-pagehero .ph__stat b { font-size: clamp(40px, 4vw, 58px); font-weight: 500; letter-spacing: -.045em; line-height: 1; }
.swd-pagehero .ph__stat em { font-style: normal; font-size: clamp(20px, 1.8vw, 26px); font-weight: 500; background: linear-gradient(90deg, var(--a), var(--a2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.swd-pagehero .ph__stat dd { margin: 12px 0 0; font-size: 15px; line-height: 1.4; color: var(--muted); max-width: 26ch; }

@media (max-width: 980px) {
	.swd.ph--vis .ph__grid { grid-template-columns: minmax(0, 1fr); }
	.swd-pagehero .ph__vis { max-width: 520px; }
	.swd-pagehero .ph__frame { aspect-ratio: 4 / 3; }
	.swd-pagehero .ph__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.swd-pagehero .ph__stat:nth-child(3) { box-shadow: inset 0 1px 0 var(--edge); }
	.swd-pagehero .ph__stat:nth-child(4) { box-shadow: inset 1px 0 0 var(--edge), inset 0 1px 0 var(--edge); }
}
@media (max-width: 640px) {
	.swd.swd-pagehero { padding-top: 110px; }
	.swd-pagehero .ph__glow { width: 560px; height: 560px; top: -200px; right: -260px; }
	.swd-pagehero .ph__btns .btn { flex: 1 1 100%; }
	.swd-pagehero .ph__tag { left: 12px; }
	.swd-pagehero .ph__stat { padding: 20px 18px 22px; }
	.swd-pagehero .ph__stat dd { font-size: 14px; }
}
