/*
   ══ GLANCE · BASE ══════════════════════════════════════════════════════════════════════════

   69 rules that were byte-identical on ALL 24 marketing pages, lifted out of the inline
   <style> block each of them carried. ADR-0063 / CODE-01.

   WHY THIS IS SAFE, AND HOW THAT WAS ESTABLISHED RATHER THAN HOPED

   Linked at the exact source position the inline block occupied, with the page's own remainder
   (page-<slug>.css) linked immediately after. The cascade is therefore unchanged end to end:
   glance-motion.css and glance-identity.css still come later and still win on source order,
   which is the entire reason those two files work — see their headers before moving anything.

   Every rule here was on EVERY cohort page. That is not a tidiness preference, it is what makes
   the file safe: a rule shared by only some pages would be delivered to all of them and would
   silently restyle the ones that never had it. That exact leak was measured on the first attempt
   — brand.html's <body> line-height moved from `normal` to 25.6px, +220px of page height.

   admin.html, brand.html and register.html are NOT in the cohort and do not link this file.
   They are noindex internal pages and a bare form; their CSS shares almost nothing with the
   marketing chrome, and including them collapsed the universal set from 69 rules to 1.

   Two further tests ran until the set stopped shrinking:
     · CASCADE — no page overrides the same selector EARLIER in its own block. Shorthands count:
       `padding:26px 0` overrides `padding-top:58px`, and comparing literal property names
       missed that on the first attempt, costing contact.html 32px of section padding.
     · ORDER — one global order exists that contradicts no page's own ordering.

   DO NOT HAND-EDIT. A page-specific tweak belongs in that page's page-<slug>.css, which is
   linked after this file and wins. Editing here changes 24 pages at once.
   Verify with: node scripts/check-marketing-css.mjs
*/

*{box-sizing:border-box}

.nav-links>a{font-weight:650}

.nav-login{border:1px solid var(--line);border-radius:10px;padding:9px 16px;
    color:var(--text);font-weight:600}

.nav-login:hover{border-color:var(--ink-accent2)}

.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}

.cards>*{flex:1 1 220px;max-width:320px}

:root{--ink-accent:#c5311d;--ink-accent2:#a8321f}

.hl,a.hl{color:var(--ink-accent)}

.card a,.job a,section a:not(.btn):not(.login){color:var(--ink-accent)}

.themebtn svg{display:block}

.themebtn{background:var(--panel2);border:1px solid var(--line);color:var(--text);
    width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:14px;line-height:1;
    display:inline-grid;place-items:center;flex:0 0 34px}

.themebtn:hover{border-color:var(--ink-accent)}

@media(max-width:900px){
    footer a, .ftlinks a, .cols a{display:inline-block;padding:10px 0;line-height:1.3}
    .lead a, p a, li a{padding:4px 0;display:inline-block}
    .seg button, .per-seg button, .aud-toggle button{min-height:40px}
    .cdots button{min-height:44px;min-width:44px}
  }

@media(max-width:900px){
    section a[href]:not(.btn):not(.themebtn):not(.cnav):not([data-aud]):not([data-per]),
    header a[href]:not(.btn):not(.themebtn),
    footer a[href]{padding-top:8px;padding-bottom:8px}
  }

@media(max-width:900px){
    nav a[href*="sign-in"], nav a[href*="app.glance.report"]{min-height:44px;
      display:inline-flex;align-items:center}
  }

@media(max-width:1100px) and (pointer:coarse){
    nav a[href], nav button{min-height:44px;display:inline-flex;align-items:center}
    footer a[href]{padding-top:8px;padding-bottom:8px}
  }

.ft{max-width:1040px;margin:0 auto;padding:0 22px}

.ftmain{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:28px}

.ftlogo{display:flex;align-items:center;gap:10px}

.ftlogo strong{font-size:18px;color:var(--text)}

.ftbrand p{margin:13px 0 16px;color:var(--muted);font-size:14px;line-height:1.65;max-width:38ch}

.ftcta{display:inline-block;background:var(--gc-brand,#c5311d);color:#fff;text-decoration:none;
    font-weight:650;font-size:14px;border-radius:10px;padding:11px 16px;min-height:44px;
    line-height:22px}

.ftcta:hover{filter:brightness(1.08)}

.ftmail{display:block;margin-top:14px;color:var(--ink-accent2);text-decoration:none;font-size:14px}

.ftcol h3{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--text);
    font-weight:800;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}

.ftcol a{display:block;color:var(--muted);text-decoration:none;font-size:14px;padding:6px 0;
    min-height:32px}

.ftcol a:hover{color:var(--text)}

.ftpromise{margin:30px 0 0;width:100%;padding:16px 18px;border:1px solid var(--line);border-radius:12px;
    color:var(--muted);font-size:13.5px;line-height:1.65;}

.ftbase{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;
    flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;
    color:var(--muted);font-size:13px}

.ftlinks{display:flex;gap:18px}

.ftbase a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;
    min-height:44px}

.ftbase a:hover{color:var(--text)}

@media (max-width:820px){
    .ftmain{grid-template-columns:1fr 1fr;gap:26px}
    .ftbrand{grid-column:1 / -1}
  }

@media (max-width:520px){
    .ft{padding:0 18px}
    .ftmain{grid-template-columns:1fr 1fr;gap:22px 16px;text-align:start}
    .ftbrand{grid-column:1 / -1}
    /* The pitch is gone on a phone. Someone reading the footer has just scrolled the entire page —
       repeating "photograph a bill, get a dashboard" at them is a paragraph they've already read,
       costing 90px of screen at the exact moment they're deciding whether to leave. The button
       stays, because that's the one thing worth putting in front of them. */
    .ftbrand p{display:none}
    .ftlogo{margin-bottom:14px}
    .ftcta{display:block;text-align:center}
    .ftmail{margin-top:12px}

    /* Four link columns in a two-column grid divide evenly — two rows of two, no leftover cell
       to fill. (This used to special-case the last column to span full-width and flow its links
       two-up, because three columns in a two-column grid left one alone with a hole beside it —
       that stopped being true the day a fourth column, Help & trust, was added, and the old rule
       just kept running, making the last column look different from the other three for no
       reason anyone could see on the phone itself.) */
    .ftcol h3{margin-bottom:8px;font-size:11px}
    .ftcol a{padding:0;min-height:0;line-height:1.35;font-size:13.5px;
      /* 44px of TAP target without 44px of visible gap — the hit area extends past the text. */
      position:relative}
    .ftcol a::after{content:"";position:absolute;inset:-11px -8px}
    .ftcol a + a{margin-top:16px}

    .ftpromise{margin-top:22px;padding:13px 14px;font-size:12.5px}
    .ftbase{margin-top:16px;padding-top:14px;flex-direction:column;align-items:flex-start;gap:2px}
    .ftbase .ftlinks{gap:16px}
    .ftabn{order:-1}
  }

.langwrap{position:relative;display:inline-block}

.langbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
    background:var(--gc-card,var(--panel));color:var(--muted);border-radius:10px;padding:0 10px;
    height:40px;min-width:44px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}

.langbtn:hover{color:var(--text);border-color:var(--ink-accent)}

.langbtn:focus-visible{outline:2px solid var(--gc-brand,#c5311d);outline-offset:2px}

.langmenu{position:absolute;z-index:60;top:calc(100% + 8px);inset-inline-end:0;list-style:none;
    margin:0;padding:6px;width:240px;border:1px solid var(--line);border-radius:14px;
    background:var(--gc-card,var(--panel));box-shadow:0 18px 50px rgba(8,12,20,.22)}

.langmenu li button{display:flex;align-items:center;gap:8px;width:100%;text-align:start;border:0;
    background:none;color:var(--text);border-radius:10px;padding:10px 11px;font:inherit;
    cursor:pointer;min-height:44px}

.langmenu li button:hover{background:var(--bg)}

.langmenu li button.on{color:var(--ink-accent)}

.langmenu li button b{font-size:14.5px;font-weight:650}

.langmenu li button small{color:var(--muted);font-size:12px;margin-inline-start:auto}

.langmenu .note{margin:6px 5px 3px;padding-top:9px;border-top:1px solid var(--line);
    color:var(--muted);font-size:11.5px;line-height:1.5}

[dir="rtl"] .carousel .track{direction:ltr}

[dir="rtl"] .ftbase,[dir="rtl"] .nav{direction:rtl}

.langoffer{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
    padding:11px 18px;background:var(--gc-brand,#c5311d);color:#fff;font-size:14.5px;
    animation:offerIn .35s cubic-bezier(.22,1,.36,1)}

@keyframes offerIn{from{transform:translateY(-100%)}}

.langoffer button{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;
    border-radius:999px;padding:8px 15px;font:inherit;font-size:13.5px;font-weight:650;
    cursor:pointer;min-height:40px}

.langoffer button.y{background:#fff;color:var(--ink-accent);border-color:#fff}

.langoffer button:hover{filter:brightness(.95)}

.langoffer button:focus-visible{outline:2px solid #fff;outline-offset:2px}

@media (max-width:600px){.langoffer{font-size:13.5px;padding:10px 12px;gap:8px}}

.ftabn{color:var(--muted);font-size:12.5px}

.ftbase{gap:8px 14px}

.u-tc{text-align:center}

.u-tl{text-align:left}

.u-mb22{margin-bottom:22px}

.u-mb26{margin-bottom:26px}

.u-btop{border-top:1px solid var(--line)}

.u-r8{border-radius:8px}

.u-wfull{width:100%}

.u-fine{color:var(--muted);font-size:13px}

.u-link{color:var(--ink-accent2);text-decoration:none}

.u-linkb{color:var(--ink-accent2);font-weight:650;text-decoration:none}

.u-grid260{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}

.u-grid260>*{flex:1 1 260px;max-width:360px}

.u-grid240>*{flex:1 1 240px;max-width:340px}
