/* ============================================================
   LegacyApp - Legacy Protocol (standalone page) + SiteFooter
   Shared stylesheet. Builds ONLY on the foundation:

       <link rel="stylesheet" href="tokens.css">
       <link rel="stylesheet" href="foundation.css">
       <link rel="stylesheet" href="lp.css">   <-- this file

   - .lp-  → Legacy Protocol page
   - .site-footer  → the reusable SiteFooter module
   - header / .la-prose / .la-btn come from the foundation,
     not repeated here,
   - same class names at every width; differences are media
     queries only, at the foundation breakpoints 920 and 760 px.
   ============================================================ */

/* ============================================================
   LEGACY PROTOCOL PAGE
   ============================================================ */
.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--gray-500);}
.lp-eyebrow::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--orange-500);}
.lp-eyebrow--light{color:rgba(255,255,255,0.7);}
.lp-h2{font-family:var(--font-serif);font-weight:700;line-height:1.1;letter-spacing:-0.01em;color:var(--gray-900);margin:16px 0 0;text-wrap:balance;}
.lp-section{padding:clamp(56px,8vw,104px) clamp(20px,5vw,48px);}
.lp-section--gray{background:var(--gray-50);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);}
.lp-narrow{max-width:820px;margin:0 auto;}
.lp-wide{max-width:1100px;margin:0 auto;}

/* sticky header */
.lp-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.92);backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--color-border);}
.lp-header__inner{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,48px);min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.lp-header__brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0;padding:11px 0;}
.lp-header__tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-left:1px solid var(--color-border);font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;font-weight:600;letter-spacing:0.02em;color:var(--gray-500);}
.lp-ghlink{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--gray-700);padding:9px 12px;border-radius:11px;}
.lp-ghlink:hover{background:var(--gray-100);color:var(--gray-900);}

/* hero (brand gradient) */
.lp-hero{background:linear-gradient(180deg,#0057B7,#013E80);color:#fff;padding:clamp(56px,8vw,116px) clamp(20px,5vw,48px) clamp(52px,7vw,96px);}
.lp-hero__inner{max-width:920px;margin:0 auto;}
.lp-hero__kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono,ui-monospace,monospace);font-size:12.5px;font-weight:600;letter-spacing:0.04em;color:rgba(255,255,255,0.75);}
.lp-hero__kicker::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--orange-500);}
.lp-hero__h1{margin:22px 0 0;font-family:var(--font-serif);font-weight:700;font-size:clamp(34px,5.4vw,68px);line-height:1.04;letter-spacing:-0.015em;color:#fff;text-wrap:balance;}
.lp-hero__meta{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-family:var(--font-mono,ui-monospace,monospace);font-size:12.5px;color:rgba(255,255,255,0.7);}

/* buttons on brand */
.lp-btn-light{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--blue-700);font-size:15px;font-weight:600;padding:13px 22px;border-radius:13px;}
.lp-btn-light:hover{opacity:0.92;color:var(--blue-700);}
.lp-btn-ghost{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.45);color:#fff;font-size:15px;font-weight:600;padding:13px 22px;border-radius:13px;}
.lp-btn-ghost:hover{background:rgba(255,255,255,0.18);color:#fff;}

/* how-it-works steps */
.lp-steps{margin-top:clamp(32px,4vw,52px);display:grid;gap:clamp(20px,3vw,32px);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));}
.lp-step{border-top:2px solid var(--orange-500);padding-top:20px;}
.lp-step__num{font-family:var(--font-mono,ui-monospace,monospace);font-size:13px;font-weight:600;color:var(--gray-400);}

/* adopter cards */
.lp-cards{margin-top:clamp(32px,4vw,52px);display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));}
.lp-card{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:24px;}

/* record types */
.lp-records{margin-top:clamp(28px,3.5vw,44px);display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));}
.lp-record{border:1px solid var(--color-border);border-radius:14px;padding:20px;background:#fff;}
.lp-record__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.lp-record__name{font-family:var(--font-mono,ui-monospace,monospace);font-size:14px;font-weight:700;letter-spacing:0.04em;color:var(--blue-600);text-transform:uppercase;}
.lp-record__idx{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;color:var(--gray-300);}

/* stewardship */
.lp-steward{max-width:1000px;margin:0 auto;display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));}
.lp-steward__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;align-self:center;}
.lp-steward__list li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.55;color:var(--gray-800);}
.lp-tick{margin-top:1px;width:22px;height:22px;border-radius:999px;background:var(--blue-50);color:var(--blue-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* who-it's-for chips */
.lp-chips{margin-top:clamp(28px,3.5vw,44px);display:flex;flex-wrap:wrap;gap:11px;}
.lp-chip{display:inline-flex;align-items:center;background:var(--blue-50);color:var(--blue-700);font-size:14.5px;font-weight:600;padding:11px 18px;border-radius:999px;}

/* dark sections (privacy / join) */
.lp-dark{color:#fff;}
.lp-dark--privacy{background:linear-gradient(180deg,#013E80,#00224A);}
.lp-dark--join{background:linear-gradient(180deg,#0057B7,#013E80);}

/* ============================================================
   SITE FOOTER  (reusable module)
   ============================================================ */
.site-footer{border-top:1px solid var(--color-border);background:var(--gray-50);font-family:var(--font-body);color:var(--color-fg);}
.site-footer__inner{max-width:1200px;margin:0 auto;padding:clamp(48px,5vw,64px) clamp(20px,5vw,48px);}
.site-footer__grid{display:grid;gap:36px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));}
.site-footer__tagline{margin:16px 0 0;max-width:30ch;font-size:14px;line-height:1.6;color:var(--gray-600);}
.site-footer__email{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:600;color:var(--gray-900);}
.site-footer__email:hover{color:var(--blue-500);}
.site-footer__follow-label{font-size:12px;font-weight:600;color:var(--gray-500);margin-bottom:10px;}
.site-footer__social-row{display:flex;gap:10px;}
.site-footer__social{width:38px;height:38px;border-radius:999px;border:1px solid var(--color-border);background:#fff;color:var(--gray-600);display:inline-flex;align-items:center;justify-content:center;}
.site-footer__social:hover{border-color:var(--blue-500);color:var(--blue-500);}
.site-footer__title{margin:0;font-size:13.5px;font-weight:700;color:var(--gray-900);}
.site-footer__list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:14px;color:var(--gray-600);}
.site-footer__list a:hover{color:var(--blue-600);}
.site-footer__protocol{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--gray-900);}
.site-footer__protocol:hover{color:var(--blue-600);}
.site-footer__badge{font-family:var(--font-mono,ui-monospace,monospace);font-size:9.5px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--blue-600);background:var(--blue-50);border:1px solid var(--blue-100);padding:2px 6px;border-radius:999px;white-space:nowrap;}
.site-footer__apps{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.site-footer__app{display:inline-flex;align-items:center;gap:10px;background:var(--gray-900);color:#fff;padding:9px 14px;border-radius:11px;}
.site-footer__app:hover{opacity:0.9;color:#fff;}
.site-footer__app span{font-size:13px;font-weight:600;white-space:nowrap;}
.site-footer__bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:12.5px;color:var(--gray-500);}

/* ============================================================
   RESPONSIVE - same classes, media queries only (920 / 760)
   ============================================================ */
@media (max-width:759px){
  .lp-hero__h1{font-size:clamp(30px,9vw,40px);}
}

/* ===== Moved from inline styles ===== */
/* header */
.lp-header__logo{height:28px;width:auto;display:block;}
.lp-header__actions{display:flex;align-items:center;gap:12px;padding:9px 0;}
.lp-header__cta{display:inline-flex;align-items:center;background:var(--blue-500);color:#fff;font-size:14px;font-weight:600;padding:10px 16px;border-radius:11px;white-space:nowrap;}

/* hero */
.lp-hero__para{margin:24px 0 0;max-width:60ch;font-size:clamp(16px,1.35vw,19px);line-height:1.62;color:rgba(255,255,255,0.88);}
.lp-hero__actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px;}
.lp-hero__meta-item{display:inline-flex;align-items:center;gap:7px;}
.lp-hero__meta-license{opacity:0.6;}

/* shared h2 size variants (appended so they win over .lp-h2) */
.lp-h2--xl{font-size:clamp(28px,3.8vw,48px);line-height:1.08;}
.lp-h2--lg{font-size:clamp(28px,3.6vw,46px);}
.lp-h2--md{font-size:clamp(26px,3.4vw,42px);}
.lp-h2--light{color:#fff;}
.lp-h2--center{margin:16px auto 0;}

/* shared prose / body paragraphs */
.lp-prose--mt{margin-top:22px;}
.lp-body{margin:18px 0 0;font-size:clamp(16px,1.3vw,18px);line-height:1.65;color:var(--gray-600);}
.lp-body--first{margin:0;}
.lp-body--strong{color:var(--gray-900);font-weight:500;}
.lp-body--invert{color:rgba(255,255,255,0.85);}
.lp-body--mt22{margin:22px 0 0;}

/* how-it-works step text */
.lp-step__title{margin:12px 0 0;font-size:18px;font-weight:700;line-height:1.3;color:var(--gray-900);}
.lp-step__text{margin:10px 0 0;font-size:14.5px;line-height:1.6;color:var(--gray-600);}

/* adopter card text */
.lp-card__title{margin:0;font-size:17px;font-weight:700;color:var(--gray-900);}
.lp-card__text{margin:10px 0 0;font-size:14.5px;line-height:1.6;color:var(--gray-600);}

/* format / record text */
.lp-format__intro{margin:18px 0 0;max-width:64ch;font-size:clamp(15px,1.25vw,17px);line-height:1.62;color:var(--gray-600);}
.lp-record__text{margin:9px 0 0;font-size:14px;line-height:1.55;color:var(--gray-600);}
.lp-format__outro{margin:24px 0 0;max-width:70ch;font-size:14.5px;line-height:1.62;color:var(--gray-500);}

/* stewardship / wip */
.lp-steward__text{margin:18px 0 0;font-size:15.5px;line-height:1.65;color:var(--gray-600);}
.lp-section--wip-pad{padding:clamp(48px,7vw,92px) clamp(20px,5vw,48px);}
.lp-wip__text{margin:18px 0 0;font-size:clamp(15px,1.25vw,17px);line-height:1.65;color:var(--gray-600);}

/* who / join */
.lp-wide--narrow{max-width:1000px;}
.lp-eyebrow--center{justify-content:center;}
.lp-section--join-pad{padding:clamp(52px,7vw,100px) clamp(20px,5vw,48px);}
.lp-join__box{max-width:760px;margin:0 auto;text-align:center;}
.lp-join__para{margin:18px auto 0;max-width:52ch;font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:rgba(255,255,255,0.85);}
.lp-join__actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
