/* Local Friend Tour · brand core: tokens, the logo with its bird, the flying companion, shared footer.
   Every page links this first, then adds its own concept (type, ground, grid, motion). */
:root{
  /* from the logo */
  --lft-purple:#52307C;   /* wordmark violet */
  --lft-yellow:#F9E852;   /* sol: the bird's body */
  --lft-blue:#6BBEDF;     /* Pacific: EXPERIENCES, the bird's middle layer */
  --lft-coral:#ED746F;    /* ceibo: the bird's lower layer */
  --lft-eye:#52307C;
  --lft-exp:#6BBEDF;
  /* extended */
  --lft-purple-d:#3A1F5C;
  --lft-night:#1F1433;
  --lft-ink:#23173A;
  --lft-muted:#5F4E75;
  --lft-cream:#FBF7EE;
  --lft-cream-2:#F3ECDD;
  --lft-lilac:#F1EAF9;
  --lft-blue-ink:#1B6587;   /* blue for text on light grounds (6:1) */
  --lft-coral-ink:#A63A35;  /* coral for text on light grounds (6:1) */
  /* type */
  --lft-display:'Bricolage Grotesque', 'Segoe UI', system-ui, sans-serif;
  --lft-text:'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --lft-label:'Montserrat', 'Figtree', system-ui, sans-serif;
  --lft-ease:cubic-bezier(.2,.8,.2,1);
}

/* ---------- logo: the wordmark, and the bird that lives on its L ---------- */
.lft-logo{position:relative;display:block;height:44px;aspect-ratio:1168.8/388.5;color:var(--lft-purple);text-decoration:none;flex:none}
.lft-logo svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lft-logo .lft-logo-bird{transition:opacity .2s}
.lft-nest{position:absolute;left:.513%;top:1.53%;width:18.69%;height:36.76%;pointer-events:none}
.lft-nest svg{opacity:0;transition:opacity .6s}
.bird-on .lft-logo .lft-logo-bird{opacity:0}
.bird-on:not(.bird-home) .lft-nest svg{opacity:.55}
.lft-logo.on-dark{color:var(--lft-cream);--lft-exp:#8DD0EC}

/* ---------- the flying companion ---------- */
.lft-flyer{position:fixed;left:0;top:0;z-index:70;pointer-events:none;will-change:transform;contain:layout style}
.lft-flyer-i{width:100%;height:100%;transform-origin:50% 55%}
.lft-flyer svg{display:block;filter:drop-shadow(0 6px 6px rgba(31,20,51,.18))}
.lft-flyer.is-flying svg{filter:drop-shadow(0 14px 12px rgba(31,20,51,.22))}
@media print{.lft-flyer,.lft-seeds{display:none}}
/* easter egg: seeds from the cursor, crumbs, a song */
.lft-seeds{position:fixed;inset:0;z-index:69;pointer-events:none;overflow:hidden}
.lft-seed{position:absolute;left:0;top:0;width:6px;height:5px;margin:-5px 0 0 -3px;border-radius:50% 50% 42% 42%;background:#B98A4E;box-shadow:inset -1px -1px 0 rgba(0,0,0,.2),0 1px 1px rgba(31,20,51,.25)}
.lft-seed.b{background:#E2C277}
.lft-seed.gone{opacity:0;transition:opacity .4s}
.lft-crumb{position:absolute;width:3px;height:3px;margin:-3px 0 0 -1px;border-radius:50%;background:#E2C277;animation:lft-crumb .6s ease-out forwards}
@keyframes lft-crumb{to{transform:translate(var(--dx),var(--dy));opacity:0}}
.lft-note{position:absolute;margin:-10px 0 0 -6px;font:700 20px/1 Georgia,serif;color:var(--lft-yellow);-webkit-text-stroke:1px var(--lft-purple);animation:lft-note 1.4s ease-out forwards}
.lft-note + .lft-note{animation-delay:.25s;font-size:15px;opacity:0}
@keyframes lft-note{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-48px) rotate(14deg)}}

/* ---------- small helpers every page may use ---------- */
.lft-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lft-skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--lft-yellow);color:var(--lft-purple);padding:10px 16px;border-radius:999px;font:700 1rem/1 var(--lft-text);text-decoration:none}
.lft-skip:focus{top:12px}
.lft-stars{display:inline-flex;gap:2px;color:#E8B400}
.lft-stars svg{width:15px;height:15px}

/* ---------- shared footer (the brand anchor at the end of every page) ---------- */
.lft-foot{background:var(--lft-night);color:var(--lft-cream);font:400 1rem/1.6 var(--lft-text);padding:88px clamp(16px,4vw,56px) 36px;position:relative}
.lft-foot a{color:inherit}
.lft-foot-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.lft-foot .lft-logo{height:56px}
.lft-foot-tag{margin:22px 0 0;color:rgba(251,247,238,.78);max-width:22em}
.lft-foot h2{font:600 .78rem/1 var(--lft-label);letter-spacing:.2em;text-transform:uppercase;color:var(--lft-blue);margin:6px 0 18px}
.lft-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lft-foot li a{text-decoration:none;opacity:.88}
.lft-foot li a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--lft-yellow)}
.lft-foot-base{max-width:1240px;margin:64px auto 0;padding-top:24px;border-top:1px solid rgba(251,247,238,.14);display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:.88rem;color:rgba(251,247,238,.66)}
@media (max-width:900px){.lft-foot-in{grid-template-columns:1fr 1fr}.lft-foot-brand{grid-column:1/-1}}
@media (max-width:480px){.lft-foot-in{grid-template-columns:1fr}.lft-foot{padding-top:64px}}
