/* ============================================================
   QACA bespoke footer family — "qf" v1 (cq-qacafoot)
   Dark-slate mega-footer, gold hairline, glass newsletter panel.
   Contrast pairs all >= 4.5:1 on #1E2735 / #FFFFFF.
   ============================================================ */
.qf{position:relative;background:#1E2735;color:#E9EEF5;font-size:.95rem;line-height:1.7;margin-top:0}
.qf::before{content:"";display:block;height:3px;background:linear-gradient(90deg,rgba(217,169,63,0) 0%,#D9A93F 18%,#F0CE7E 50%,#D9A93F 82%,rgba(217,169,63,0) 100%)}
.qf-wrap{max-width:1200px;margin:0 auto;padding:64px 24px 26px}
.qf-grid{display:grid;grid-template-columns:1.45fr .85fr .8fr 1.5fr;gap:44px}
/* brand column */
.qf-mark{display:inline-block;text-decoration:none}
.qf-word{display:block;font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;font-weight:700;font-size:3.6rem;line-height:1;letter-spacing:.08em;color:#F3E8CF}
.qf-tagline{display:block;margin-top:6px;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:#D9A93F}
.qf-blurb{color:#B9C5D6;margin:18px 0 20px;max-width:46ch}
.qf-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.qf-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(233,238,245,.24);border-radius:999px;background:rgba(255,255,255,.05);color:#E9EEF5;text-decoration:none;font-size:.87rem;line-height:1.4}
.qf-chip svg{width:14px;height:14px;flex:none}
a.qf-chip:hover,a.qf-chip:focus-visible{border-color:#D9A93F;background:rgba(217,169,63,.14);color:#FFFFFF}
.qf-social{display:flex;gap:10px}
.qf-social a{display:inline-flex;width:38px;height:38px;border-radius:12px;border:1px solid rgba(233,238,245,.22);align-items:center;justify-content:center;background:rgba(255,255,255,.04)}
.qf-social a svg{width:17px;height:17px;fill:#E9EEF5}
.qf-social a:hover,.qf-social a:focus-visible{border-color:#D9A93F;background:rgba(217,169,63,.14)}
/* link columns */
.qf-col h4{font-family:'Source Sans 3','Source Sans Pro',Arial,sans-serif;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#D9A93F;margin:8px 0 16px;font-weight:700}
.qf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.qf-col a{color:#C9D4E2;text-decoration:none;position:relative;display:inline-block;padding-bottom:1px}
.qf-col a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#D9A93F;transform:scaleX(0);transform-origin:left center}
.qf-col a:hover,.qf-col a:focus-visible{color:#FFFFFF}
.qf-col a:hover::after,.qf-col a:focus-visible::after{transform:scaleX(1)}
.qf-col-legal ul{grid-template-columns:1fr 1fr;column-gap:20px}
/* newsletter glass panel */
.qf-news{position:relative;margin-top:48px;border:1px solid rgba(233,238,245,.15);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border-radius:18px;padding:28px 32px;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.qf-newscopy{flex:1 1 260px;min-width:220px}
.qf-newsh{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.6rem;line-height:1.15;color:#F3E8CF;margin:0}
.qf-newssub{margin:4px 0 0;color:#B9C5D6;font-size:.92rem}
.qf-form{flex:1 1 400px;min-width:270px;margin:0}
.qf-hp{position:absolute;left:-9999px;top:auto}
.qf-inputrow{display:flex;background:#FFFFFF;border-radius:999px;padding:5px}
.qf-inputrow input{flex:1 1 auto;min-width:0;border:0;background:transparent;padding:11px 18px;font:inherit;color:#1E2735;border-radius:999px}
.qf-inputrow input::placeholder{color:#5C6B7E;opacity:1}
.qf-inputrow input:focus{outline:2px solid #8A6508;outline-offset:-2px}
.qf-inputrow button{flex:none;border:0;border-radius:999px;background:#D9A93F;color:#1E2735;font:inherit;font-weight:700;padding:11px 26px;cursor:pointer}
.qf-inputrow button:hover,.qf-inputrow button:focus-visible{background:#F0CE7E}
.qf-consent{margin:10px 6px 0;font-size:.8rem;color:#A9B7C9}
.qf-consent a{color:#E9EEF5;text-decoration:underline}
/* bottom bar */
.qf-bottom{margin-top:42px;border-top:1px solid rgba(233,238,245,.15);padding-top:22px;display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap}
.qf-family{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#A9B7C9}
.qf-legal{margin:0;color:#C9D4E2;font-size:.85rem;flex:1 1 auto}
.qf-top{margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(233,238,245,.26);background:rgba(255,255,255,.04);color:#E9EEF5;border-radius:999px;padding:9px 18px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}
.qf-top svg{width:13px;height:13px;flex:none}
.qf-top:hover,.qf-top:focus-visible{border-color:#D9A93F;color:#F0CE7E;background:rgba(217,169,63,.12)}
/* motion, PRM-gated */
@media (prefers-reduced-motion:no-preference){
  .qf-chip,.qf-social a,.qf-inputrow button,.qf-top{transition:border-color .2s ease,background .2s ease,color .2s ease}
  .qf-col a{transition:color .2s ease}
  .qf-col a::after{transition:transform .25s ease}
}
/* responsive */
@media (max-width:1020px){.qf-grid{grid-template-columns:1fr 1fr;gap:38px}}
@media (max-width:640px){
  .qf-wrap{padding:50px 18px 22px}
  .qf-grid{grid-template-columns:1fr;gap:32px}
  .qf-word{font-size:2.8rem}
  .qf-col-legal ul{grid-template-columns:1fr}
  .qf-news{padding:24px 20px;margin-top:38px}
  .qf-inputrow button{padding:11px 20px}
  .qf-bottom{align-items:flex-start;flex-direction:column}
  .qf-top{margin-left:0}
}
