/* SWD Footer — back to the night sky: stars, contact + link columns, trust strip, giant logo torch, legal row. */
.swd.swd-footer { margin-top: clamp(90px, 12vw, 190px); padding: clamp(70px, 8vw, 110px) 0 28px; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, transparent, #0B1022 40%); }
.swd-footer .ft__stars { position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(1.2px 1.2px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 27% 62%, #fff 50%, transparent 51%), radial-gradient(1.4px 1.4px at 44% 12%, #cfe3ff 50%, transparent 51%), radial-gradient(1px 1px at 58% 83%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 71% 28%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 86% 66%, #cfe3ff 50%, transparent 51%), radial-gradient(1.3px 1.3px at 93% 12%, #fff 50%, transparent 51%); background-size: 420px 380px; opacity: .4; animation: swd-footer-twinkle 6s ease-in-out infinite alternate; }
@keyframes swd-footer-twinkle { to { opacity: .3; } }

.swd-footer .ft__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 0; }
.swd-footer h3 { font-size: 15px; font-weight: 500; color: var(--muted); letter-spacing: 0; line-height: 1.3; margin-bottom: 18px; }
.swd-footer nav a { display: block; padding: 6px 0; font-size: 16.5px; line-height: 1.5; color: #DCE2EE; text-decoration: none; transition: color .2s; }
.swd-footer nav a:hover { color: var(--acc); }
.swd-footer .ft__tel { display: block; font-size: clamp(28px, 2.6vw, 38px); font-weight: 500; letter-spacing: -.04em; color: #fff; text-decoration: none; line-height: 1.1; }
.swd-footer .ft__mail { display: inline-block; margin-top: 8px; font-size: 17px; color: #DCE2EE; text-decoration: none; border-bottom: 1px solid var(--edge); }
.swd-footer .ft__tel:hover, .swd-footer .ft__mail:hover { color: var(--acc); }
.swd-footer address { margin-top: 18px; font-style: normal; font-size: 15.5px; color: var(--muted); line-height: 1.5; }
.swd-footer .ft__contact .btn { margin-top: 24px; }

.swd-footer .ft__trust { list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.swd-footer .ft__trust li { margin: 0; }
.swd-footer .ft__trust a, .swd-footer .ft__ti { display: flex; align-items: center; gap: 14px; height: 100%; padding: 18px 20px; border-radius: 18px; background: rgba(31, 39, 64, .5); box-shadow: inset 0 0 0 1px var(--edge); font-size: 14.5px; line-height: 1.45; color: var(--muted); text-decoration: none; transition: background .2s; }
.swd-footer .ft__trust a:hover { background: var(--card); color: var(--muted); }
.swd-footer .ft__trust svg { flex: none; width: 26px; height: 26px; fill: none; stroke: #7CF0C0; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.swd-footer .ft__trust b { display: block; color: #fff; font-weight: 500; font-size: 15.5px; }
.swd-footer .ft__stars5 { flex: none; color: #F5B342; font-size: 15px; letter-spacing: 1px; }

.swd-footer .ft__big { position: relative; margin-top: clamp(60px, 8vw, 110px); width: 100%; aspect-ratio: 3438 / 1116; --mx: 50%; --my: 50%; }
.swd-footer .ft__big span { position: absolute; inset: 0; -webkit-mask: url("../../img/sky-mark-mask.svg") center / 100% auto no-repeat; mask: url("../../img/sky-mark-mask.svg") center / 100% auto no-repeat; }
.swd-footer .ft__big-base { background: rgba(150, 170, 220, .07); }
.swd-footer .ft__big-lit { background: radial-gradient(circle at var(--mx) var(--my), #5CC8FF 0, #B58CFF 12%, transparent 30%); opacity: 0; transition: opacity .4s; }
.swd-footer .ft__big.is-lit .ft__big-lit { opacity: 1; }

.swd-footer .ft__legal { display: flex; align-items: center; gap: 16px 28px; flex-wrap: wrap; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--edge); font-size: 13.5px; color: #7D879E; }
.swd-footer .ft__legal nav { display: flex; gap: 20px; flex-wrap: wrap; }
.swd-footer .ft__legal nav a { padding: 0; font-size: 13.5px; color: #9EA8BE; }
.swd-footer .ft__top { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: #DCE2EE; text-decoration: none; font-size: 14px; }
.swd-footer .ft__top:hover { color: var(--acc); }
.swd-footer .ft__top svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.swd-footer .ft__top:hover svg { transform: translateY(-3px); }

@media (max-width: 1180px) {
	.swd-footer .ft__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.swd-footer .ft__contact { grid-column: 1 / -1; }
}
@media (max-width: 980px) {
	.swd-footer .ft__trust { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.swd-footer .ft__grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; margin-top: 44px; }
	.swd-footer .ft__top { margin-left: 0; }
}
