:root{
    --footer-bg:#060606;
    --footer-text:#ececec;
    --muted:#b8b8b8;
    --gold-1:#f7e7c1; --gold-2:#d9bf84; --gold-3:#8c6f41;
    --gold:linear-gradient(90deg,var(--gold-1),var(--gold-2),var(--gold-3));
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  .twb-footer{position:relative;background:var(--footer-bg);color:var(--footer-text);overflow:hidden}

  /* Transition + full-width gold line */
  .twb-footer__transition{position:relative; z-index:3; background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.45) 100%); padding-top:10px}
  .twb-footer__goldline{
    width:100%; height:3px;
    background:linear-gradient(90deg,#f7e7c1 0%,#e8cf9f 18%,#d9bf84 36%,#8c6f41 50%,#d9bf84 64%,#e8cf9f 82%,#f7e7c1 100%);
    box-shadow:0 1px 2px rgba(0,0,0,.20), 0 0 14px rgba(247,231,193,.22);
  }

  /* Ambient background */
  .twb-footer__bg{
    position:absolute; inset:0;
    background:
      radial-gradient(1300px 700px at 50% -20%, rgba(247,231,193,.14), transparent 70%),
      radial-gradient(1600px 1000px at 50% 120%, rgba(0,0,0,.82), transparent 60%);
    filter:blur(34px); mix-blend-mode:screen; opacity:.9; pointer-events:none;
  }
  .twb-footer::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(110deg, transparent 35%, rgba(247,231,193,.10) 50%, transparent 65%);
    filter:blur(12px); mix-blend-mode:screen; opacity:.55; animation:twbSweep 12s var(--ease) infinite;
    pointer-events:none;
  }
  @keyframes twbSweep{0%{transform:translateX(-120%)}60%{transform:translateX(120%)}100%{transform:translateX(120%)}}

  /* Upper blocks */
  .twb-footer__container{
    position:relative; z-index:2;
    max-width:1320px; margin:0 auto; padding:36px 28px 10px;
    display:grid; grid-template-columns:1.2fr 1fr; gap:56px;
  }
  @media (max-width:980px){ .twb-footer__container{ grid-template-columns:1fr; gap:36px } }

  .twb-footer__brand{max-width:600px}
  .twb-footer__tag{margin:0 0 16px; color:var(--muted); line-height:1.7; font-size:1.06rem}

  .twb-footer__newsField{
    display:flex; align-items:center; gap:10px; margin-top:10px; padding:12px 12px 12px 14px;
    border-radius:14px; color:#fff; background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(10px) saturate(160%); -webkit-backdrop-filter:blur(10px) saturate(160%);
    box-shadow:0 10px 24px rgba(0,0,0,.35) inset;
  }
  .twb-footer__newsField svg{width:18px;height:18px;opacity:.8}
  .twb-footer__newsField input{flex:1;border:0;outline:none;background:transparent;color:#fff;font-weight:600;letter-spacing:.02em}
  .twb-footer__newsField input::placeholder{color:#d6d6d6}
  .twb-footer__cta{
    border:0; cursor:pointer; padding:11px 16px; border-radius:12px; color:#0b0b0b; font-weight:800; letter-spacing:.04em;
    background:var(--gold);
    box-shadow:0 8px 20px rgba(247,231,193,.24), 0 0 0 1px rgba(140,110,60,.35) inset;
    transition:transform .2s var(--ease), filter .2s var(--ease);
  }
  .twb-footer__cta:hover{transform:translateY(-1px); filter:saturate(1.06)}
  .twb-footer__legal{margin:.6rem 0 0; font-size:.9rem; color:#a8a8a8}
  .twb-footer__legal a{color:#ddd; text-decoration:underline}
  .twb-footer__msg{margin:.35rem 0 0; font-size:.95rem}

  .twb-footer__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; align-content:start }
  @media (max-width:640px){ .twb-footer__cols{ grid-template-columns:1fr 1fr } }
  .twb-col h3{ margin:0 0 14px; font:700 14px/1.2 ui-sans-serif,system-ui; letter-spacing:.22em; text-transform:uppercase; color:#fff; opacity:.92 }
  .twb-col ul{list-style:none; margin:0; padding:0; display:grid; gap:10px}
  .twb-col a{ color:#dcdcdc; text-decoration:none; font-weight:600; letter-spacing:.02em; transition:color .25s var(--ease), text-shadow .25s var(--ease) }
  .twb-col a:hover{ color:transparent; background:var(--gold); -webkit-background-clip:text; background-clip:text; text-shadow:0 0 24px rgba(247,231,193,.18) }

  /* ===== Showcase (baseline aligned) ===== */
  .twb-footer__showcase{
    position:relative; z-index:2;
    max-width:1400px; margin:6px auto 28px; padding:6px 28px 0;
    display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:24px;
  }
  @media (max-width:960px){
    .twb-footer__showcase{ grid-template-columns:1fr; text-align:center; gap:14px; padding-bottom:8px }
  }

  .twb-copy{margin:0; color:#cfcfcf; font-weight:600; letter-spacing:.02em; opacity:.9}
  @media (max-width:960px){ .twb-copy{order:3} }

  .twb-showcase__logo{position:relative; display:grid; place-items:center}
  .twb-showcase__logo img{
    /* smaller logo under spotlight */
    width:min(160px,30vw); height:auto; display:block; filter:drop-shadow(0 12px 28px rgba(0,0,0,.55));
  }
  .twb-reflect{
    position:absolute; left:50%; transform:translateX(-50%); bottom:-1px;
    width:min(360px,60vw); height:68px;
    background:radial-gradient(75% 200% at 50% 0%, rgba(247,231,193,.40), rgba(247,231,193,.18) 52%, transparent 60%);
    filter:blur(10px); pointer-events:none;
  }

  .twb-showcase__right{display:flex; align-items:end; justify-content:flex-end; gap:16px; flex-wrap:wrap}
  @media (max-width:960px){ .twb-showcase__right{justify-content:center; order:2} }

  .twb-socials{display:flex; gap:12px; align-items:center}
  .twb-social{
    width:44px;height:44px;border-radius:12px; position:relative; isolation:isolate;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
    transition:transform .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
  }
  .twb-social::after{
    content:""; position:absolute; inset:0; margin:11px; background:#fff;
    mask-size:contain; mask-position:center; mask-repeat:no-repeat; -webkit-mask-size:contain; -webkit-mask-position:center; -webkit-mask-repeat:no-repeat;
    opacity:.95;
  }
  .twb-social.ic-ig::after{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm5 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm6-1.8a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z"/></svg>');}
  .twb-social.ic-tk::after{mask-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path fill=%22000%22 d=%22M16 2v5.3c1.4.9 3.1 1.5 5 1.6V14c-1.9-.1-3.6-.6-5-1.4v4.4c0 3.7-3 6-6.8 6-2.6 0-4.1-1.1-4.7-2.1.9.2 3 .1 4.6-1 .9-.6 1.7-1.6 1.7-3.2V5h5.2Z%22/></svg>');}
  .twb-social.ic-in::after{mask-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path fill=%22000%22 d=%22M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1 4.98 2.12 4.98 3.5zM0 8h5v15H0V8zm7.5 0h4.8v2.1h.07C13.2 8.7 14.7 8 16.6 8 21 8 22 10.9 22 15.1V23h-5v-6.9c0-1.6 0-3.6-2.2-3.6s-2.5 1.7-2.5 3.5V23h-5V8z%22/></svg>');}
  .twb-social.ic-fb::after{mask-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path fill=%22000%22 d=%22M13.5 22v-8h3l.5-4h-3.5V7.5c0-1 .3-1.7 1.8-1.7H17V2.2C16.7 2.1 15.6 2 14.3 2 11.7 2 10 3.4 10 6.1V10H7v4h3v8h3.5Z%22/></svg>');}
  .twb-social.ic-yt::after{mask-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22><path fill=%22000%22 d=%22M23 7.5a3 3 0 0 0-2.1-2.2C19 4.8 12 4.8 12 4.8s-7 0-8.9.5A3 3 0 0 0 1 7.5 43 43 0 0 0 1 12a43 43 0 0 0 0 4.5 3 3 0 0 0 2.1 2.2C5 19.2 12 19.2 12 19.2s7 0 8.9-.5A3 3 0 0 0 23 16.5 43 43 0 0 0 23 12a43 43 0 0 0 0-4.5ZM9.8 15V9l5.8 3-5.8 3Z%22/></svg>');}
  .twb-social:hover{ transform:translateY(-2px); background:rgba(255,255,255,.12); box-shadow:0 10px 26px rgba(0,0,0,.35), 0 0 20px rgba(247,231,193,.18) inset }

  /* Elegant back-to-top (gold outline + hover fill) */
  .twb-top{
    display:flex; align-items:center; gap:10px; border-radius:999px; padding:10px 14px;
    background:rgba(255,255,255,.04);
    color:#fff; border:1px solid rgba(217,191,132,.45);
    transition:background .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
  }
  .twb-top svg{width:18px;height:18px;}
  .twb-top:hover{
    background:var(--gold); color:#0b0b0b; transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(247,231,193,.25), 0 0 0 1px rgba(140,110,60,.35) inset;
  }

  /* A11y helper */
  .twb-visually-hidden{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }