/* 2026-10-01 site footer, Elmira's way (Quinten): brand column left (logo, name, line, place), Navigate, Connect (icon buttons),
   then the slim bottom bar (copyright left, Arc Garde credit center, policies right). On top: the 10% newsletter row (Eric OK'd 10% in the intake).
   Phone: everything stacked and centered. */
.ff{background:#000;color:#fff;padding:clamp(48px,6vw,80px) clamp(20px,5vw,70px) 0;font-family:"Libre Franklin",system-ui,sans-serif}
.ff a{color:#fff;text-decoration:none}
.ff-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ff-cap{margin:0 0 6px;font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#C9BCAC}

/* newsletter */
.ff-news{display:grid;grid-template-columns:1fr minmax(0,460px);gap:20px 48px;align-items:center;max-width:1180px;margin:0 auto clamp(44px,5vw,64px);padding:clamp(24px,3vw,34px) clamp(22px,3vw,40px);
 border:2px solid #C9BCAC;border-radius:18px;background:#0d0d0d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23C9BCAC' stroke-opacity='.12' stroke-width='1.4'%3E%3Cpath d='M22 6v32M6 22h32'/%3E%3Ccircle cx='22' cy='22' r='6'/%3E%3C/g%3E%3C/svg%3E") 0 0/44px 44px;box-shadow:6px 7px 0 #C9BCAC}
.ff-news__title{margin:0;font:400 clamp(28px,3.4vw,42px)/1.05 "Rye",Georgia,serif;color:#fff}
.ff-news__title em{font-style:normal;color:#C9BCAC}
.ff-news__sub{margin:8px 0 0;color:rgb(255 255 255 / .75);font-size:.95rem}
.ff-news__form{position:relative;display:flex;gap:10px;flex-wrap:wrap}
.ff-news__form input{flex:1 1 220px;min-width:0;height:52px;padding:0 16px;border:2px solid #C9BCAC;border-radius:12px;background:#fff;color:#000;font:500 1rem/1 "Libre Franklin",system-ui,sans-serif}
.ff-news__form input::placeholder{color:rgb(0 0 0 / .45)}
.ff-news__form input:focus{outline:3px solid #C9BCAC;outline-offset:2px}
.ff-news__form button{flex:0 0 auto;height:52px;padding:0 26px;border:2px solid #C9BCAC;border-radius:12px;background:#C9BCAC;color:#000;font:700 .9rem/1 "Libre Franklin",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:3px 4px 0 #fff;transition:transform .18s,box-shadow .18s}
.ff-news__form button:hover{transform:translate(-1px,-2px);box-shadow:4px 6px 0 #fff}
.ff-news__form button:active{transform:translate(2px,3px);box-shadow:1px 1px 0 #fff}
.ff-news__form button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ff-news__msg{flex-basis:100%;margin:0;min-height:1.2em;font-size:.85rem;color:#C9BCAC}

/* columns */
.ff-grid{display:grid;grid-template-columns:1.3fr 1fr auto;gap:clamp(32px,5vw,72px);max-width:1180px;margin:0 auto;align-items:start}
.ff-col{display:grid;justify-items:start;align-content:start;gap:10px}
.ff-logo img{display:block;width:120px;height:auto}
.ff-firm{margin:6px 0 0;font-weight:700;font-size:1.05rem}
.ff-tag{margin:0;max-width:30ch;color:rgb(255 255 255 / .8);font-size:.95rem}
.ff-place{margin:4px 0 0;color:rgb(255 255 255 / .5);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.ff-nav>a{position:relative;padding:4px 0;color:rgb(255 255 255 / .85);font-size:1.05rem}
.ff-nav>a::after,.ff-bottom a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:#C9BCAC;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.ff-nav>a:hover,.ff-bottom a:hover{color:#C9BCAC}
.ff-nav>a:hover::after,.ff-bottom a:hover::after{transform:none}
.ff-icons{display:flex;gap:10px;flex-wrap:wrap}
.ff-icons a{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#C9BCAC;color:#000;box-shadow:3px 4px 0 #fff;transition:transform .18s,box-shadow .18s,background-color .25s}
.ff-icons a:hover{transform:translate(-1px,-2px) rotate(-4deg);box-shadow:4px 6px 0 #fff;background:#fff}
.ff-icons svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ff-hours{margin:8px 0 0;color:rgb(255 255 255 / .6);font-size:.85rem}
.ff a:focus-visible{outline:2px solid #C9BCAC;outline-offset:3px}

/* bottom bar */
.ff-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px 24px;max-width:1180px;margin:clamp(40px,5vw,64px) auto 0;padding:22px 0 calc(22px + var(--bar-h,0px));border-top:1px solid rgb(201 188 172 / .3);font-size:.82rem;color:rgb(255 255 255 / .55)}
.ff-bottom p{margin:0;justify-self:start}
.ff-bottom a{position:relative;color:rgb(255 255 255 / .65)}
.ff-legal{display:flex;flex-wrap:wrap;gap:8px 20px;justify-self:end}
.ff-credit{justify-self:center}
.ff-credit-card{position:absolute;left:50%;bottom:calc(100% + 12px);padding:12px 16px;border-radius:10px;background:#111;border:1px solid rgb(201 188 172 / .5);box-shadow:0 10px 24px rgb(0 0 0 / .5);opacity:0;transform:translate(-50%,6px);pointer-events:none;transition:opacity .2s ease,transform .3s cubic-bezier(.16,1,.3,1)}
.ff-credit-card img{display:block;width:150px;max-width:none;height:auto}
.ff-credit:hover .ff-credit-card,.ff-credit:focus-visible .ff-credit-card{opacity:1;transform:translate(-50%,0)}

@media (max-width:900px){
 .ff-news{grid-template-columns:1fr;text-align:center}
 .ff-news__form{justify-content:center}
 .ff-news__form button{flex:1 1 100%}
 .ff-grid{grid-template-columns:1fr;gap:34px;text-align:center}
 .ff-col{justify-items:center}
 .ff-tag{margin-inline:auto}
 .ff-icons{justify-content:center}
 .ff-bottom{grid-template-columns:1fr;justify-items:center;text-align:center}
 .ff-bottom p,.ff-legal{justify-self:center}
 .ff-legal{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.ff-icons a,.ff-news__form button{transition:none}}
/* 10-02 build check 16: the small legal links were 21px tall; padding makes each tap area 24px+ (same look) */
.ff-bottom a{display:inline-block;padding-block:3px}

/* 2026-10-11 accepted payments row (logos: activemerchant/payment_icons, MIT) */
.ff-pay{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:1180px;margin:clamp(32px,4vw,48px) auto 0;font-size:.82rem;color:rgb(255 255 255 / .65)}
.ff-pay span{margin-right:6px}
.ff-pay img{display:block;width:38px;height:24px}
.ff-pay+.ff-bottom{margin-top:24px}
