/* ============================================================
   LANGBEIN ADR — FOOTER CSS (FIXED)
   All properly constrained with max-width
   ============================================================ */

.lfoot{
  --f-navy:#0B3C5D;
  --f-navy-deep:#072a42;
  --f-teal:#1FA199;
  --f-teal-deep:#0f7a73;
  --f-bronze:#A47148;
  --f-ink:#0F1B2A;
  --f-ink-soft:rgba(255,255,255,0.7);
  --f-ink-mute:rgba(255,255,255,0.45);
  --f-line:rgba(255,255,255,0.1);
  --f-serif:'Cormorant Garamond', Georgia, serif;
  --f-sans:'Manrope', -apple-system, sans-serif;
  --f-mono:'JetBrains Mono', ui-monospace, monospace;
  --f-gutter:clamp(20px, 2.75vw, 80px);

  background:var(--f-navy-deep);
  color:var(--f-ink-soft);
  font-family:var(--f-sans);
  font-size:14.5px;
  line-height:1.7;
  position:relative;
}

.lfoot::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--f-teal) 20%, var(--f-teal) 80%, transparent);
  opacity:0.6;
}

.lfoot a{ color:var(--f-ink-soft); text-decoration:none; transition:color .2s ease; }
.lfoot a:hover{ color:#fff; }

/* ========== CTA BAND ========== */
.lfoot-cta{
  background:var(--f-navy);
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:48px var(--f-gutter) !important;
}
.lfoot-cta-inner{
  max-width:none;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
}
.lfoot-cta h2{
  font-family:var(--f-serif);
  font-weight:500;
  font-size:42px;
  color:#fff;
  margin:0;
  line-height:1.1;
}
.lfoot-cta h2 em{ color:var(--f-teal); font-style:italic; }
.lfoot-cta-sub{
  font-size:15px;
  color:rgba(255,255,255,0.7);
  margin:8px 0 0;
}
.lfoot-cta-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
.lfoot-btn-white,
.lfoot-btn-outline{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 24px;
  border-radius:2px;
  font-family:var(--f-sans);
  font-weight:600;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  transition:all .2s ease;
  text-decoration:none;
  border:1px solid transparent;
}
.lfoot-btn-white{
  background:#fff;
  color:var(--f-navy);
}
.lfoot-btn-white:hover{
  background:#f0f0f0;
  transform:translateY(-1px);
}
.lfoot-btn-outline{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,0.25);
}
.lfoot-btn-outline:hover{
  background:rgba(255,255,255,0.08);
  border-color:#fff;
}

/* ========== MAIN BODY ========== */
.lfoot-main{
  padding:72px var(--f-gutter) 48px !important;
}
.lfoot-grid{
  max-width:none;
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:56px;
  align-items:flex-start;
}

.lfoot-col-title{
  font-family:var(--f-sans);
  font-weight:600;
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 20px;
}

.lfoot-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.lfoot-links a{
  font-size:14.5px;
  color:var(--f-ink-soft);
}
.lfoot-links a:hover{ color:#fff; }

/* ========== BRAND COLUMN ========== */
.lfoot-brand-name{
  font-family:var(--f-serif);
  font-weight:500;
  font-size:22px;
  color:#fff;
  margin:0 0 4px;
}
.lfoot-brand-sub{
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--f-ink-mute);
  margin:0 0 16px;
}
.lfoot-tagline{
  font-family:var(--f-serif);
  font-style:italic;
  font-size:18px;
  line-height:1.4;
  color:rgba(255,255,255,0.85);
  margin:0 0 16px;
}
.lfoot-cert{
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--f-ink-mute);
  margin:0;
  padding:12px 14px;
  border:1px solid var(--f-line);
  border-radius:2px;
  background:rgba(255,255,255,0.02);
  display:inline-block;
}

/* ========== CONTACT COLUMN ========== */
.lfoot-contact-item{
  font-size:13px;
  margin:0 0 12px;
  color:rgba(255,255,255,0.7);
}
.lfoot-contact-item strong{
  color:#fff;
  display:block;
  margin-bottom:2px;
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.lfoot-contact-item a{
  color:rgba(255,255,255,0.85);
}
.lfoot-contact-item a:hover{
  color:var(--f-teal);
}

/* ========== BADGES ========== */
.lfoot-badges{
  padding:26px var(--f-gutter) 28px;
  background:var(--f-navy);
  border-top:1px solid rgba(255,255,255,0.08);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  position:relative;
  overflow:hidden;
}
.lfoot-badges::before{
  content:"";
  position:absolute;
  inset:10px var(--f-gutter);
  background:
    radial-gradient(ellipse 420px 120px at 50% 0%, rgba(31,161,153,0.28), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025));
  border:1px solid rgba(255,255,255,0.1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    0 24px 60px -36px rgba(31,161,153,0.9),
    0 18px 48px -34px rgba(0,0,0,0.9);
  pointer-events:none;
}
.lfoot-badge{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  background:linear-gradient(145deg, rgba(255,255,255,0.98), rgba(236,242,242,0.94));
  border:1px solid rgba(255,255,255,0.38);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.85),
    0 12px 28px -18px rgba(0,0,0,0.85);
  position:relative;
  z-index:1;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lfoot-badge:hover{
  transform:translateY(-2px);
  border-color:rgba(31,161,153,0.65);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.9),
    0 18px 34px -18px rgba(31,161,153,0.65);
}
.lfoot-badge img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.lfoot-badge-wide{
  width:108px;
}

/* ========== BOTTOM ========== */
.lfoot-bottom{
  padding:24px var(--f-gutter) !important;
  background:var(--f-navy-deep);
}
.lfoot-bottom{
  display:grid;
  grid-template-columns:auto minmax(280px, 700px) auto;
  align-items:center;
  gap:24px;
}
.lfoot-bottom > * {
  margin:0;
}
.lfoot-copy{
  font-size:12px;
  color:rgba(255,255,255,0.6);
  margin:0;
}
.lfoot-legal{
  font-size:11px;
  color:rgba(255,255,255,0.4);
  margin:0;
  max-width:700px;
  line-height:1.6;
}
.lfoot-legal strong{
  color:rgba(255,255,255,0.65);
  font-weight:600;
}
.lfoot-credit{
  font-size:11px;
  color:rgba(255,255,255,0.4);
  margin:0;
}
.lfoot-credit a{
  color:var(--f-teal);
  font-weight:600;
}
.lfoot-credit a:hover{
  color:#fff;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 900px){
  .lfoot-cta{ padding:32px 24px; }
  .lfoot-cta-inner{ flex-direction:column; align-items:flex-start; }
  .lfoot-cta h2{ font-size:32px; }
  .lfoot-main{ padding:56px 24px 32px; }
  .lfoot-grid{ grid-template-columns:1fr 1fr; gap:40px; }
  .lfoot-brand{ grid-column:1 / -1; }
  .lfoot-bottom{ padding:20px 24px; grid-template-columns:1fr; align-items:flex-start; text-align:left; }
}

@media (max-width: 600px){
  .lfoot-grid{ grid-template-columns:1fr; gap:32px; }
  .lfoot-cta-actions{ width:100%; flex-direction:column; }
  .lfoot-btn-white,
  .lfoot-btn-outline{ width:100%; justify-content:center; }
  .lfoot-badges{ justify-content:flex-start; }
  .lfoot-badge{ width:60px; height:60px; }
  .lfoot-badge-wide{ width:90px; }
}
