
    /* Dark-theme token overrides scoped to the footer */
    .ft{
      --muted: #a09c93;
      --line:  rgba(255,255,255,.09);
    }

    .ft{ background:var(--bg); color:#e9e7e1; }
    .ft-inner{ max-width:1500px; margin:0 auto; padding:72px 32px 28px; }

    /* ---------- top: brand + newsletter ---------- */
    .ft-main{
      display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:48px;
      padding-bottom:52px; border-bottom:1px solid var(--line);
    }
    .brand{
      font-family:var(--serif); font-size:30px; font-weight:700; color:#fff;
      display:inline-flex; align-items:center; gap:9px; letter-spacing:.5px;
    }
    .brand-logo{ display:inline-block; }
    .brand-logo .logo{height: 90px;width:auto;max-width:none;display:block;}
    .brand .dot{ width:9px; height:9px; border-radius:50%; background:var(--gold); margin-top:6px; }
    .ft-blurb{ color:var(--muted); font-size:15.5px; line-height:1.7; margin-top:20px; max-width:420px; }

    .socials{ display:flex; gap:12px; margin-top:26px; }
    .socials a{
      width:42px; height:42px; border-radius:50%;
      border:1px solid var(--line); display:grid; place-items:center;
      color:#cfcbc2; transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
    }
    .socials a:hover{ background:var(--gold); border-color:var(--gold); color:#1e1f24; transform:translateY(-2px); }
    .socials svg{ width:17px; height:17px; fill:currentColor; }

    /* ---------- link columns ---------- */
    .col h4{
      font-family:var(--serif); font-size:19px; font-weight:600; color:#fff;
      margin-bottom:22px;
    }
    .col ul{ list-style:none; display:flex; flex-direction:column; gap:6px; }
    .col a{
      color:var(--muted); text-decoration:none; font-size:15px;
      transition:color .2s ease, padding-left .2s ease;
      display:inline-block; min-height:44px; line-height:44px;
    }
    .col a:hover{ color:var(--gold); padding-left:5px; }

    .contact li{ display:flex; gap:13px; color:var(--muted); font-size:15px; line-height:1.55; }
    .contact svg{ width:18px; height:18px; flex:none; margin-top:2px; stroke:var(--gold); stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
    .contact a{ color:var(--muted); text-decoration:none; transition:color .2s ease; min-height:unset; line-height:1.55; }
    .contact a:hover{ color:var(--gold); }

    /* ---------- bottom bar ---------- */
    .ft-bottom{
      border-top:1px solid var(--line); padding-top:26px;
      display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
    }
    .ft-bottom p{ color:#b8b4ac; font-size:14px; }
    .ft-legal{ display:flex; gap:26px; }
    .ft-legal a{ color:#b8b4ac; text-decoration:none; font-size:14px; transition:color .2s ease; }
    .ft-legal a:hover{ color:var(--gold); }

    /* ---------- responsive ---------- */
    @media (max-width:900px){
      .ft-main{ grid-template-columns:1fr 1fr; gap:40px; }
      .ft-brand{ grid-column:1 / -1; }
    }
    @media (max-width:560px){
      .ft-inner{ padding:48px 20px 20px; }
      .ft-main{ grid-template-columns:1fr; gap:36px; }
      .ft-bottom{ flex-direction:column; align-items:flex-start; gap:10px; }
      .brand-logo .logo{ height:70px; }
      .ft-blurb{ font-size:14.5px; }
    }
    @media (max-width:400px){
      .ft-inner{ padding:40px 16px 16px; }
      .col h4{ font-size:17px; }
    }
 