/* THE FOOTER, IN ONE PLACE. Lifted out of site/websites.html on 2026-09-11.
   Until then this spec existed as three hand-maintained copies — site/index.html's, websites.html's
   "verbatim" copy of it, and nothing at all on the nineteen trade pages, which carried a six-link
   strip 83px tall next to the 605px this describes. Three copies is how the "Official:" line
   survived on one page for two days after being deleted from the other two.

   RESHAPED the same evening, after "footer is not same across all pages" — his fourth time asking.
   tests/footer-shape.cjs read the rendered footer on twenty live pages and found FIVE shapes. The
   winner, and the one this file now describes, is the askmuse.ca home page's: four columns over
   two rows, with the trades and a trial card sharing the second row. The React footer on
   /ai-receptionist was moved onto it earlier the same day; this moves the static half.

   Linked by site/index.html, site/websites.html and every page tools/gen-trade-pages.mjs writes.
   The markup is generated by tools/sync-footer.mjs — edit there, not in the pages.
   The dark ground on askmuse.ca is not here: alg-brand.css owns that, scoped to the brand. */
/* THE HOME PAGE'S FOOTER, TO THE PIXEL. His 2026-09-11, twice, after the shapes already matched:
   "use the same everything on the first landing page as the footer. Same visual, same design.
   Askmuse.ca at the bottom. Consider this screenshot and use across all the website."
   The columns and links had agreed since this morning; the TYPE had not. Measured live, both:

                       askmuse.ca/            everywhere else
     top padding       76px                   48px
     heading           11.7px/600 .19em #9292ab   12px/700 .6px #ffffff Sora
     link              14.9px/400 #a6a6bb     13.5px/500 #d7e3ef
     last row          one centred stack      space-between

   Every number below is the left column. Outfit and not Sora for the heads: the home page has no
   Sora at all, and a face for Outfit is declared on every page here (checked with
   document.fonts.check, which is the only honest way to ask — a computed font-family names a font
   that may never have loaded). */
footer{background:#060f20;color:#a6a6bb;padding:clamp(52px,7vw,76px) 0 34px;font-size:14.9px;
  font-family:'Outfit','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  border-top:1px solid rgba(255,255,255,.085)}
footer a{color:#a6a6bb;font-weight:400;text-decoration:none;transition:color .18s ease}
footer a:hover{color:#fff}
/* UNDERLINES OFF, EXPLICITLY (the text-decoration:none above). The three legal pages that gained
   this footer style `a` directly for a reading column and never turn the browser's own underline
   off, so the first render was forty-two underlined orange links. */
footer .ft-blurb{font-size:14.4px;font-weight:300;max-width:38ch;color:#9292ab}
footer .ft-list,footer .ft-list a{font-size:14.9px}
footer .ft-contact{font-size:14.4px}
/* The three legal pages set .wrap to a 44rem reading column with 40px/88px of its own padding.
   footer .ft-wrap is (0,1,1) and beats a bare .wrap whichever order the sheets load in. */
footer .ft-wrap{max-width:1100px;margin:0 auto;padding:0 22px}

/* 1.35 1 1 1.5 is the home page's own template, not four equal columns. Security needs a real
   column or its three lines wrap three deep; the trades and the card each need two, or the card
   lands on a row of its own with three quarters of it empty. Both were seen before they were
   fixed, which is the argument for measuring rather than reasoning about a grid. */
.ft-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.5fr;gap:28px 34px}
.ft-trades{grid-column:1 / 3}
.ft-trial{grid-column:3 / -1}
@media(max-width:900px){
  .ft-grid{grid-template-columns:1fr 1fr}
  .ft-brand,.ft-trades,.ft-trial{grid-column:1 / -1}
  /* Security alone in the left half leaves the right half blank; let it run the width and lay
     its three lines side by side, which is also where they read best. min() on the floor, not a
     bare 210px — a pixel minimum in an auto-fit track is a FLOOR, and five of those were what
     made three pages scroll sideways at 280. */
  .ft-trust{grid-column:1 / -1}
  .ft-trust ul{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:12px 26px}
}
@media(max-width:560px){.ft-grid{grid-template-columns:1fr}}

/* ── the lockup ──────────────────────────────────────────────────────────────────────────── */
/* An anchor now, not a div: every other wordmark on the domain goes home when you click it, and
   six that did not were his "no way yo go to home page". footer a wins on specificity (0,1,1)
   over a bare .ft-logo, so the white is restated against the anchor. */
footer a.ft-logo{color:#fff;text-decoration:none}
.ft-logo{display:flex;align-items:center;gap:11px;font-family:inherit;font-weight:700;font-size:17px;color:#fff;line-height:1.15}
.ft-logo span{white-space:nowrap}
.ft-logo em{font-style:normal;color:var(--org,#f97316)}
.ft-logo small{display:block;font-family:inherit;font-size:10px;font-weight:600;color:#9292ab;letter-spacing:1.2px;line-height:1.35;margin-top:2px}
.ft-logo .logomark{width:34px;height:34px;flex:0 0 auto}
@media(max-width:560px){.ft-logo span{white-space:normal}}

.ft-blurb,.ft-p{margin:12px 0 0;line-height:1.55}
.ft-social{display:flex;gap:8px;margin-top:14px}
.ft-social a{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.085);color:#a6a6bb}
.ft-contact{margin-top:12px}
.ft-prov{color:#9292ab;font-size:14.4px}
/* the ALG mailbox is 38 characters and the brand column is the narrowest one at 900px */
.ft-mail{overflow-wrap:anywhere}

.ft-h{margin:0 0 16px;font-family:inherit;font-weight:600;font-size:11.7px;letter-spacing:.19em;text-transform:uppercase;color:#9292ab}
.ft-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}

/* ── security ────────────────────────────────────────────────────────────────────────────── */
.ft-trust ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:13.8px;line-height:1.55}
.ft-trust li{display:flex;gap:7px;align-items:flex-start}
.ft-trust li svg{flex:0 0 auto;margin-top:2px;color:var(--org,#f97316)}
.ft-trust b{color:#fff;font-weight:700}
.ft-more{margin:12px 0 0;font-size:13.8px}
.ft-more a{color:var(--org,#f97316);font-weight:600}

/* ── trades ──────────────────────────────────────────────────────────────────────────────── */
/* FLAT AND WRAPPED, never folded and never a column of eighteen. His 2026-09-11: "ai receptionist
   by trade at bottom all trsdes should be visible parallely only not like a list". */
/* HIS GRID, three columns of six above 820px and two below — not a wrapped flex row. The row
   was mine; this is what the landing page has always done, and matching the landing page is
   the whole instruction. Still all eighteen visible, which was his other word on this block. */
.ft-tlinks{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin-top:16px}
@media(min-width:820px){.ft-tlinks{grid-template-columns:1fr 1fr 1fr}}
.ft-l-extra{margin-top:16px}

/* ── the trial card ──────────────────────────────────────────────────────────────────────── */
/* RECEPTIONIST PLANS, and it says so. Chat prices carry no trial, so "7 days free" unqualified is
   a false statement about the very next screen. Eight copies of that sentence were written across
   three build systems before a sweep of the rendered domain found them all. */
.ft-card{border:1px solid rgba(255,255,255,.085);border-radius:16px;padding:18px 18px 20px;background:rgba(255,255,255,.035)}
.ft-card b{display:block;color:#fff;font-size:15.5px;font-weight:600;line-height:1.35}
.ft-card p{margin:8px 0 0;line-height:1.55;font-size:13.9px;font-weight:300}
.ft-btn{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:16px;padding:0 14px;border-radius:12px;background:var(--org,#f97316);color:#fff;font-weight:600;font-size:14.2px;text-decoration:none}
footer a.ft-btn{color:var(--org-btn-ink,#fff)}
.ft-btn:hover{filter:brightness(1.08)}
/* The askmuse accent is #8b8cf8, and white on it measures 2.91:1 — under the 4.5 floor for the
   12.5px/700 label this button carries. Darkened here only, so the rest of the page's use of
   --org is untouched; #5b5ce0 is 5.18:1 against white and is the same hue. */
html[data-brand="askmuse"] .ft-btn{background:#5b5ce0}

/* ── the base line ───────────────────────────────────────────────────────────────────────── */
/* ONE CENTRED STACK, not a space-between row — the home page's .foot-base, which is what he
   photographed. It also removes the 280px sideways scroll the French legal row used to give the
   right-hand half of that row. */
.ft-bottom{margin-top:clamp(40px,6vw,62px);padding-top:24px;border-top:1px solid rgba(255,255,255,.085);
  display:grid;gap:14px;justify-items:center;text-align:center}
.ft-copy{font-size:14.1px;font-weight:400}
/* flex-wrap and centring: three legal links are one nowrap row, and at 280px — the width his zoom
   produces — an unwrapped row is sideways scroll on every page that carries it. */
.ft-legal{display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:center}
.ft-legal a{font-size:14.1px}

/* ── the Canadian rules box (tools/rules-box.mjs, his 2026-09-18) ── */
.amr{margin:26px 0 0 auto;max-width:470px;padding:16px 18px;border:1px solid rgba(139,140,248,.28);border-radius:16px;background:rgba(139,140,248,.06)}
.amr-h{display:flex;align-items:center;gap:9px;font-weight:800;font-size:12.5px;letter-spacing:.9px;text-transform:uppercase;margin-bottom:10px}
.ca-flag{display:inline-block;flex:0 0 auto;width:22px;height:11px;border-radius:2px;vertical-align:-1px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.ft-copy .ca-flag,.tiny .ca-flag,.ca-place .ca-flag{width:18px;height:9px;margin-right:5px}
.ca-place{white-space:nowrap}
.amr-h4{display:flex;align-items:center;gap:9px}
.ft-trust .amr-list,.foot-trust .amr-list{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px 26px}
.foot-trust .amr-list li{padding-left:0}
.foot-trust .amr-list li::before{content:none;display:none}
.foot-trust .amr-more-p{margin-top:12px}
.foot-trust .amr-more-p a{color:var(--accent-2)}
.ft-copy a.mn-link,.tiny a.mn-link{color:inherit;text-decoration:underline;text-underline-offset:2px}
.amr-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.amr-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.8px;line-height:1.45}
.amr-tab{flex:0 0 auto;min-width:92px;text-align:center;font-weight:800;font-size:12.5px;letter-spacing:.4px;padding:4px 10px;border-radius:999px;background:rgba(91,92,224,.22);border:1px solid rgba(139,140,248,.45)}
.amr-t{opacity:.92;padding-top:2px}
.amr-more{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;text-decoration:underline}
@media(max-width:720px){.amr{margin:22px 0 0;max-width:none}.amr-tab{min-width:84px}}
.amr-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.amr-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.8px;line-height:1.45}
.amr-tab{flex:0 0 auto;min-width:92px;text-align:center;font-weight:800;font-size:12.5px;letter-spacing:.4px;padding:4px 10px;border-radius:999px;background:rgba(91,92,224,.22);border:1px solid rgba(139,140,248,.45)}
.amr-t{opacity:.92;padding-top:2px}
.amr-more{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;text-decoration:underline}
@media(max-width:720px){.amr{margin:22px 0 0;max-width:none}.amr-tab{min-width:84px}}
