/* fixes.css — sitewide overrides, loaded after site.css by finishers.py (Oct 13 2026) */

/* 1. Buttons inside body copy were inheriting the magenta link colour -> magenta text on a magenta button */
a.btn.btn-primary,a.btn.btn-primary:visited,a.btn.btn-primary:hover,a.btn.btn-primary:focus,
button.btn-primary{color:#fff}
a.btn.btn-ghost,a.btn.btn-ghost:visited{color:var(--ink)}
.body a.btn{font-weight:700;text-decoration:none}

/* 2. E-E-A-T cards on /louisville-seo-expert/ (the rules never existed, so it rendered as one paragraph) */
.eeat{display:grid;gap:14px;margin-top:26px}
@media(min-width:720px){.eeat{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.eeat{grid-template-columns:repeat(3,1fr)}}
.eeat>div{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:18px;background:var(--paper);padding:22px 22px 24px}
.eeat .lab{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta);font-weight:700}
.eeat b{display:block;font-size:20px;line-height:1.2;font-weight:900;letter-spacing:-.015em;color:var(--ink)}
.eeat b+span{font-size:15.5px;line-height:1.55;color:var(--body)}
.eeat>div:nth-child(3){background:var(--ink);border-color:var(--ink)}
.eeat>div:nth-child(3) b{color:#fff}.eeat>div:nth-child(3) b+span{color:#d9d3c9}
.eeat>div:nth-child(3) .lab{color:#f3d978}

/* 3. The face crew: Russ, in bubbles, saying things */
.crew{display:flex;align-items:center;gap:14px;margin:0 0 18px;flex-wrap:wrap}
.crew-faces{display:flex;flex-shrink:0}
.crew .cf{all:unset;cursor:pointer;width:60px;height:60px;border-radius:50%;margin-left:-14px;position:relative;
  box-shadow:0 0 0 3px var(--paper,#fffdf9),0 6px 16px rgba(28,26,24,.18);transition:transform .2s ease;flex-shrink:0}
.crew .cf:first-child{margin-left:0}
.crew .cf:nth-child(1){outline:3px solid #9d2877;outline-offset:2px}
.crew .cf:nth-child(2){outline:3px solid #0f6b63;outline-offset:2px}
.crew .cf:nth-child(3){outline:3px solid #f3d978;outline-offset:2px}
.crew .cf img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.crew .cf:hover,.crew .cf:focus-visible,.crew .cf.on{transform:translateY(-4px) rotate(-4deg);z-index:2}
.crew-bub{position:relative;margin:0;background:var(--paper,#fffdf9);color:var(--ink,#1c1a18);border:2px solid var(--ink,#1c1a18);
  border-radius:18px;padding:10px 16px 9px;max-width:34ch;box-shadow:4px 4px 0 var(--ink,#1c1a18)}
.crew-bub:before{content:"";position:absolute;left:-11px;top:50%;margin-top:-7px;border:7px solid transparent;
  border-right:11px solid var(--ink,#1c1a18);border-left:0}
.crew-bub:after{content:"";position:absolute;left:-7px;top:50%;margin-top:-5px;border:5px solid transparent;
  border-right:8px solid var(--paper,#fffdf9);border-left:0}
.crew-q{display:block;font-weight:800;font-size:16px;line-height:1.3;letter-spacing:-.01em}
.crew-by{display:block;font-family:var(--mono,ui-monospace,monospace);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8d857a;margin-top:3px}
.crew-q.pop{animation:crewpop .32s cubic-bezier(.2,1.6,.4,1)}
@keyframes crewpop{0%{opacity:0;transform:translateY(6px) scale(.96)}100%{opacity:1;transform:none}}
.ihero .crew-bub{box-shadow:4px 4px 0 #f3d978}
@media(max-width:520px){.crew .cf{width:50px;height:50px}.crew-q{font-size:15px}.crew-bub{max-width:100%}}
@media(prefers-reduced-motion:reduce){.crew .cf,.crew-q.pop{transition:none;animation:none}}

/* 4. Homepage: the first photo sticker sat on top of the H1 on phones */
@media(max-width:700px){.stk.s1{display:none}}

/* 5. Dark/photo heroes style every <p> light — keep the bubble readable */
.crew p.crew-bub{color:#1c1a18;background:#fffdf9;font-size:16px;line-height:1.3;margin:0;max-width:34ch}
.crew p.crew-bub .crew-q{color:#1c1a18}

/* 6. Bigger faces on desktop, four of them */
@media(min-width:900px){.crew .cf{width:70px;height:70px;margin-left:-16px}.crew .cf:first-child{margin-left:0}}
.crew .cf:nth-child(4){outline:3px solid #1c1a18;outline-offset:2px}

/* 7. /orphans/ (dark page) had a light footer bar with yellow links -> unreadable. Make the bar dark to match. */
footer:not(.footer):has(.fnav){background:#12100e;color:#a8a098;border-top:1px solid #2a2622}

/* 8. Industry photo strips: width/height attrs (for CLS) must not beat the 4:3 crop */
.istrip img{height:auto}

/* 9. "Said it" callouts (replace the hero face bubbles, Oct 14 2026) */
.said{display:flex;align-items:center;gap:18px;margin:34px 0;max-width:640px}
.said img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex-shrink:0;outline:3px solid #9d2877;outline-offset:3px;box-shadow:0 8px 20px rgba(28,26,24,.18)}
.said blockquote{position:relative;margin:0;background:#fffdf9;border:2px solid #1c1a18;border-radius:18px;padding:14px 20px 12px;box-shadow:5px 5px 0 #1c1a18}
.said blockquote:before{content:"";position:absolute;left:-12px;top:50%;margin-top:-8px;border:8px solid transparent;border-right:12px solid #1c1a18;border-left:0}
.said blockquote:after{content:"";position:absolute;left:-8px;top:50%;margin-top:-6px;border:6px solid transparent;border-right:9px solid #fffdf9;border-left:0}
.said p{margin:0;font-size:clamp(19px,2.2vw,24px);font-weight:900;letter-spacing:-.02em;line-height:1.2;color:#1c1a18}
.said cite{display:block;margin-top:6px;font-style:normal;font-family:var(--mono,monospace);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8d857a}
.said-sec{padding:10px 0 4px}
@media(max-width:520px){.said img{width:60px;height:60px}.said{gap:14px}}
