/* =========================================================================
   SECTION: FOOTER  (.sec-footer)
   Source: Figma fileKey lweOnfp23FBRWjuK2mQ7cw, node 1:493 "footer" (+ 1:492 "Rectangle 83",
   below-fold bg bleed — see footer.html header comment for why it's not reproduced literally).
   Frame: 1:300 ("   landing page"), 1280px content column.
   Coordinates are frame-absolute y (NOT rebased to the section's own top), matching the
   sec-trusted / sec-services convention — top values below equal 5895 + local-offset-in-footer.
   Fonts referenced by family name only: 'Space Grotesk' (headline), 'Inter' (body/paragraph),
   'Ailerons' (CTA button micro-label, column headers... see individual rules), 'Aileron'
   (contact email/address block) — assumed loaded/declared globally by the page shell.
   ========================================================================= */

.sec-footer {
  position: relative;
  width: 1280px;
  height: 6722px; /* true Figma frame bottom — no phantom bleed past the copyright */
  /* the container spans the whole canvas; without this it swallows clicks on
     every section above the footer (nav links, buttons) */
  pointer-events: none;
}

.sec-footer a, .sec-footer button { pointer-events: auto; }

/* ---------- background band ---------- */
/* Footer's own solid dark fill (node I1:493;211:1245, bg-[#203148]), extended down through the
   below-fold bleed region so there is no gap/void beneath the visible frame. Left:0/width:1280
   per shared contract (ignores the footer instance's own -13..1293 measured bleed). */
.sec-footer .ftr-bg {
  position: absolute;
  left: 0;
  top: 5895px;
  width: 1280px;
  height: 827px; /* 5895 -> 6722, matches FOOTER-SERVER-GUIDE.md's known-good 827px footer height */
  background: #203148;
  z-index: 0;
}

/* ---------- servers: peaked "open-book" fold, see FOOTER-SERVER-GUIDE.md ---------- */
.sec-footer .ftr-servers {
  position: absolute;
  left: 128px;
  top: 5921px; /* 5895 + 26 (design code local top of the left/unflipped rack box) */
  width: 576px;
  height: 362px;
  z-index: 1;
}

.sec-footer .ftr-rack {
  position: absolute;
  top: 0;
  width: 362px;
  height: 362px;
  filter: drop-shadow(6px 12px 16px rgba(0, 0, 0, 0.45));
}

/* LEFT rack — server-left.png, unflipped, on top at the seam */
.sec-footer .ftr-rack--left {
  left: 0;
  z-index: 2;
}

/* RIGHT rack — server-right.png, unflipped, offset 214px so its front edge meets the left rack */
.sec-footer .ftr-rack--right {
  left: 214px;
  z-index: 1;
}

.sec-footer .ftr-rack img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ---------- CTA block — node I1:493;211:1290 ---------- */
.sec-footer .ftr-headline {
  position: absolute;
  left: 692px;
  top: 6005px;
  width: 499px;
  margin: 0;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 60px;
  line-height: 1.14;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  z-index: 1;
}

.sec-footer .ftr-headline-a {
  font-weight: 500;
  color: #ffffff;
}

.sec-footer .ftr-headline-b {
  font-weight: 700;
  background-image: linear-gradient(to right, #ffffff, #80121d);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.sec-footer .ftr-paragraph {
  position: absolute;
  left: 697px;
  top: 6150px;
  width: 356px;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.3;
  color: #ffffff;
  font-weight: 300;
  z-index: 1;
}

.sec-footer .ftr-paragraph .w-semi { font-weight: 600; }
.sec-footer .ftr-paragraph .w-bold { font-weight: 700; }
.sec-footer .ftr-paragraph .w-reg  { font-weight: 300; }

.sec-footer .ftr-cta {
  position: absolute;
  left: 697px;
  top: 6207px;
  width: 170px;
  height: 46px;
  background: #ffffff;
  border: 1px solid #002444;
  display: block;
  text-decoration: none;
  z-index: 1;
}

.sec-footer .ftr-cta-label {
  position: absolute;
  left: 15px;
  top: 13px;
  width: 138px;
  margin: 0;
  font-family: 'Ailerons', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: normal;
  text-transform: uppercase;
  color: #80121d;
}

.sec-footer .ftr-cta-icon-bg {
  position: absolute;
  left: 128px;
  top: 7px;
  width: 34px;
  height: 31px;
  background: #80121d;
  display: block;
}

.sec-footer .ftr-cta-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* decorative pin icon — node I1:493;211:1299 "Group 52" */
.sec-footer .ftr-pin {
  position: absolute;
  left: 602px;
  top: 6530px; /* 5895 + 635 */
  width: 44.735px;
  height: 44.735px;
  transform: rotate(-90.97deg);
  z-index: 1;
}

.sec-footer .ftr-pin img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ---------- brand block — node I1:493;211:1255 "Content" ---------- */
.sec-footer .ftr-logo {
  position: absolute;
  left: 95px;
  top: 6348px; /* 5895 + 453 */
  width: 150px;
  height: 64px;
  object-fit: contain;
  z-index: 1;
}

.sec-footer .ftr-tagline {
  position: absolute;
  left: 95px;
  top: 6431px; /* 5895 + 536 */
  width: 210px;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: -0.07px;
  color: rgba(255, 255, 255, 0.76);
  z-index: 1;
}

.sec-footer .ftr-social {
  position: absolute;
  left: 95px;
  top: 6493px; /* 5895 + 598 */
  display: flex;
  align-items: center;
  gap: 24px;
  z-index: 1;
}

.sec-footer .ftr-social-link {
  display: block;
  width: 24px;
  height: 24px;
}

.sec-footer .ftr-social-link img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ---------- Learn more / Support columns ---------- */
.sec-footer .ftr-col {
  position: absolute;
  width: 130px;
  z-index: 1;
}

.sec-footer .ftr-col--learn { left: 446px; top: 6348px; }   /* 5895 + 453 */
.sec-footer .ftr-col--support { left: 698px; top: 6348px; } /* 5895 + 453 */

.sec-footer .ftr-col-header {
  margin: 0 0 39px 0;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.08px;
  color: #ffffff;
  white-space: nowrap;
}

.sec-footer .ftr-col-item {
  margin: 0 0 8px 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: -0.08px;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  display: block;
}

/* ---------- Contact us block ---------- */
.sec-footer .ftr-contact-header {
  position: absolute;
  left: 949px;
  top: 6348px; /* 5895 + 453 */
  margin: 0;
  z-index: 1;
}

.sec-footer .ftr-contact {
  position: absolute;
  left: 949px;
  z-index: 1;
}

.sec-footer .ftr-contact--email {
  top: 6384px; /* 5895 + 489 */
  width: 167px;
}

.sec-footer .ftr-contact--address {
  top: 6420px; /* 5895 + 525 */
  width: 159px;
}

.sec-footer .ftr-contact-label {
  margin: 0;
  font-family: 'Aileron', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: normal;
  color: rgba(255, 255, 255, 0.79);
}

.sec-footer .ftr-contact--email .ftr-contact-value {
  margin: 4px 0 0 0;
  font-family: 'Aileron', sans-serif;
  font-weight: 300;
  font-size: 11px;
  line-height: normal;
  color: rgba(255, 255, 255, 0.9);
}

.sec-footer .ftr-contact--address .ftr-contact-value {
  margin: 4px 0 0 0;
  font-family: 'Aileron', sans-serif;
  font-weight: 300;
  font-size: 10px;
  line-height: normal;
  color: rgba(255, 255, 255, 0.9);
}

/* ---------- divider — node I1:493;211:1317 "Line 21" ---------- */
.sec-footer .ftr-divider {
  position: absolute;
  left: 54px;
  top: 6613px; /* 5895 + 718 */
  width: 1157px;
  height: 1px;
  background: #ffffff;
  z-index: 1;
}

/* ---------- copyright ---------- */
.sec-footer .ftr-copyright {
  position: absolute;
  left: 450px;
  top: 6640px; /* 5895 + 745 */
  width: 379px;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  font-size: 11px;
  line-height: 1.14;
  letter-spacing: 0.44px;
  text-transform: uppercase;
  color: #ffffff;
  text-align: center;
  z-index: 1;
}
