footer{
  border-top:1px solid var(--line);
  padding:80px 32px 0;
  max-width:100%;
  margin:0 auto;
  position:relative;
  z-index:1;
  overflow:hidden;
}

.f-inner{
  max-width:1280px;
  margin:0 auto;
}
@media (max-width: 640px) {
  .f-bottom { min-height: 140px; }
  .f-watermark { display: none; }
}


.f-top{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:40px;padding-bottom:60px;border-bottom:1px solid var(--line);
}
.f-tagline{
  font-size:14px;color:var(--text-mid);line-height:1.6;
  margin-top:12px;max-width:280px;
}
.f-promise{
  font-family:var(--serif);font-style:italic;font-size:16px;
  color:var(--text);letter-spacing:0.03em;margin-top:18px;margin-bottom:0;
}
.f-promise span{color:var(--accent-bright);}
.f-col-title{
  font-family:var(--mono);font-size:11px;color:var(--text-dim);
  text-transform:uppercase;letter-spacing:0.14em;margin-bottom:18px;
}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.f-col a{font-size:13px;color:var(--text-mid);text-decoration:none;transition:color .2s;}
.f-col a:hover{color:var(--text);}

/* ── Mid row: socials ── */
.f-mid{
  padding:32px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
}
/* copyright left, socials right — original order */
.f-mid .f-copy{ order:1; }
.f-mid .f-socials{ order:2; }
.f-socials{display:flex;gap:14px;align-items:flex-start;}
.f-social{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;}
.f-social-btn{
  width:42px;height:42px;border-radius:50%;background:var(--bg-3);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  color:var(--text-mid);
  transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.f-social:hover .f-social-btn{
  background:var(--accent);border-color:var(--accent);color:#fff;
  transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-glow);
}
.f-social-btn svg{width:16px;height:16px;}
.f-social-lbl{
  font-family:var(--mono);font-size:9px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--text-dim);transition:color .25s ease;
}
.f-social:hover .f-social-lbl{color:var(--accent);}

/* ── Bottom strip: watermark logo + legal ── */
.f-bottom{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  min-height:260px;
  overflow:hidden;
}

/* Giant watermark logo */
.f-watermark{
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:90%;
  max-width:1100px;
  pointer-events:none;
  user-select:none;
  opacity:0.055;
}

.f-watermark img{
  width:100%;
  height:auto;
  display:block;
  filter:none;
  transition:filter .35s ease;
}

/* Legal strip sits on top of watermark */
.f-legal{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px 0;
  padding:20px 32px 28px;
  width:100%;
}

.f-legal a{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:0.08em;
  color:var(--text-dim);
  text-decoration:none;
  padding:0 14px;
  border-right:1px solid var(--line);
  white-space:nowrap;
  transition:color .2s;
}

.f-legal a:last-child{border-right:none;}
.f-legal a:hover{color:var(--text-mid);}

.f-copy{
  font-family:var(--mono);
  font-size:10px;
  color:var(--text-dim);
  letter-spacing:0.06em;
  padding-bottom:24px;
  position:relative;
  z-index:2;
}

/* ── Responsive ── */
@media(max-width:1024px){
  .f-top{grid-template-columns:1fr 1fr;gap:48px 32px;}
  .f-brand-block{grid-column:1 / -1;}
  .f-watermark{width:110%;opacity:0.045;}
}
@media(max-width:768px){
  .f-top{grid-template-columns:1fr;gap:36px;}
  .f-brand-block{grid-column:1;}
  .f-mid{flex-direction:column;gap:20px;align-items:center;}
  .f-socials{flex-wrap:wrap;justify-content:center;}
  .f-legal{gap:8px 0;}
  .f-legal a{font-size:9px;padding:0 10px;}
  .f-watermark{opacity:0.04;}
}
@media(max-width:480px){
  footer{padding:56px 20px 0;}
  .f-legal a{font-size:9px;padding:0 8px;}
}

/* ── Light mode footer ── */
[data-theme="light"] footer { border-color: var(--line); }
[data-theme="light"] .f-social-btn { background: var(--bg-3); border-color: var(--line); }
[data-theme="light"] .f-watermark img { filter: none; }
[data-theme="light"] .f-legal a { color: var(--text-dim); }
[data-theme="light"] .f-legal a:hover { color: var(--text-mid); }

/* ── Newsletter ── */
.f-newsletter {
  border-top: 1px solid var(--line);
  padding: 32px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.f-nl-text {}
.f-nl-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}
.f-nl-sub {
  font-size: 12px;
  color: var(--text-dim);
  line-height: 1.5;
}

.f-nl-form {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.f-nl-input {
  background: var(--bg-3);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 16px;
  font-family: var(--sans);
  font-size: 13px;
  color: var(--text);
  outline: none;
  width: 220px;
  transition: border-color .2s, background .2s;
}
.f-nl-input::placeholder { color: var(--text-dim); }
.f-nl-input:focus {
  border-color: var(--accent);
  background: var(--bg-card);
}

.f-nl-btn {
  background: var(--text);
  color: var(--bg);
  border: none;
  border-radius: 8px;
  padding: 10px 18px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  transition: background .2s, transform .2s;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.f-nl-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, var(--brand) 0%, var(--accent-bright) 100%);
  transform: translateX(-101%);
  transition: transform .4s cubic-bezier(0.65,0,0.35,1);
  z-index: -1;
}
.f-nl-btn:hover { color: #fff; transform: translateY(-1px); }
.f-nl-btn:hover::before { transform: translateX(0); }

.f-nl-confirm {
  font-size: 12px;
  color: var(--accent);
  display: none;
  align-items: center;
  gap: 6px;
}
.f-nl-confirm.show { display: flex; }
.f-nl-confirm svg { width: 14px; height: 14px; }

/* Light mode newsletter */
[data-theme="light"] .f-newsletter  { border-color: rgba(0,0,0,0.08); }
[data-theme="light"] .f-nl-title    { color: #0B0910; }
[data-theme="light"] .f-nl-sub      { color: #8A7FA0; }
[data-theme="light"] .f-nl-input    { background: #F4F1F8; border-color: rgba(0,0,0,0.1); color: #0B0910; }
[data-theme="light"] .f-nl-input:focus { background: #fff; }
[data-theme="light"] .f-nl-btn      { background: var(--accent); color: #fff; }
[data-theme="light"] .f-nl-btn:hover { background: var(--accent-deep); }

@media (max-width: 768px) {
  .f-newsletter { flex-direction: column; align-items: flex-start; gap: 20px; }
  .f-nl-input   { width: 100%; }
  .f-nl-form    { width: 100%; }
}