/* ============ SITE FOOTER (shared by every page) ============ */
.site-footer{position:relative;overflow:hidden;isolation:isolate;color:#dbe7f3;
  background:radial-gradient(circle at 12% 0%,rgba(17,105,220,.35),transparent 45%),radial-gradient(circle at 90% 100%,rgba(17,105,220,.22),transparent 40%),
             linear-gradient(170deg,var(--navy) 0%,var(--ink) 55%)}
.site-footer:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(rgba(127,176,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(127,176,255,.07) 1px,transparent 1px);
  background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 75%);mask-image:linear-gradient(180deg,#000,transparent 75%)}
.site-footer a{transition:color .2s}
.footer-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr);gap:clamp(36px,6vw,96px);padding:clamp(56px,7vw,96px) 0 clamp(40px,5vw,64px)}
.footer-logo{display:inline-flex;align-items:center;gap:12px;color:#fff}
.footer-logo img{height:40px;width:auto}
.footer-logo span{font-size:20px;font-weight:600;letter-spacing:-.02em}
.footer-logo b{font-weight:400;color:#9fb6cc}
.footer-tag{margin:18px 0 28px;max-width:38ch;font-size:15px;line-height:1.55;color:#9fb6cc}

.subscribe{max-width:440px}
.subscribe-label{display:block;margin-bottom:10px;font-size:14px;font-weight:500;color:#fff}
.subscribe-row{display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  transition:border-color .2s,box-shadow .2s}
.subscribe-row:focus-within{border-color:rgba(127,176,255,.6);box-shadow:0 0 0 4px rgba(17,105,220,.18)}
.subscribe-row input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:15px}
.subscribe-row input::placeholder{color:#7f95ab}
.subscribe-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 8px 0 18px;border-radius:999px;border:0;cursor:pointer;
  background:var(--frost);color:var(--ink);font:inherit;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s}
.subscribe-btn svg{width:28px;height:28px;padding:6px;border-radius:50%;background:var(--ink);fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.subscribe-btn:hover{box-shadow:0 8px 22px rgba(0,0,0,.25);transform:translateY(-1px)}
.subscribe-btn[disabled]{opacity:.6;cursor:progress}
.subscribe.is-invalid .subscribe-row{border-color:#ff8a80}
.subscribe-note{margin:10px 4px 0;font-size:12.5px;color:#7f95ab}
.subscribe-note a{color:#b9cde0;text-decoration:underline;text-underline-offset:2px}
.subscribe-status{margin:10px 4px 0;font-size:13.5px;line-height:1.5;color:#dbe7f3}
.subscribe-status.is-error{color:#ffb3ab}
.subscribe-status.is-success{color:#8ff0c4}

.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.footer-col h3{margin:4px 0 18px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7fb0ff}
.footer-col ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.footer-col a{font-size:15px;color:#c9d8e7}
.footer-col a:hover,.footer-col a:focus-visible{color:#fff}

.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 0 28px;
  border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:#7f95ab}
.footer-bottom p{margin:0}
.footer-bottom-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-bottom-links a{color:#9fb6cc}
.footer-bottom-links a:hover{color:#fff}
.footer-wordmark{position:absolute;left:50%;bottom:-.22em;transform:translateX(-50%);z-index:-1;white-space:nowrap;pointer-events:none;user-select:none;
  font-size:clamp(80px,17vw,280px);font-weight:700;letter-spacing:-.05em;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(127,176,255,.12);background:linear-gradient(180deg,rgba(127,176,255,.1),transparent 80%);
  -webkit-background-clip:text;background-clip:text}

@media (max-width:980px){
  .footer-top{grid-template-columns:1fr}
}
@media (max-width:620px){
  .footer-cols{grid-template-columns:1fr 1fr}
  .footer-cols .footer-col:first-child{grid-column:1 / -1}
  .footer-cols .footer-col:first-child ul{grid-template-columns:1fr 1fr}
  .subscribe-row{flex-direction:column;border-radius:20px;padding:8px}
  .subscribe-btn{justify-content:space-between;width:100%}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}
