/* ============================================================
   AlphaPods — TEXT LAYOUT (legal pages, generic pages, 404)
   No Figma frame exists for these pages: everything here is [D],
   built only from the landing page tokens (css/style.css) so the
   pages read as part of the same site.
   ============================================================ */

.legal{
  position:relative;
  padding-top:140px;
  overflow:hidden;
}

/* warm -> violet bloom on the left edge plus the 79px rule grid,
   the same family as the Get Started page */
.legal__bg{
  position:absolute;inset:0 0 auto;height:900px;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 880px 700px at 0% 20%, rgba(216,46,30,.10), transparent 70%),
    radial-gradient(ellipse 820px 760px at 14% 70%, rgba(172,22,172,.07), transparent 74%),
    repeating-linear-gradient(90deg, rgba(214,219,220,.03) 0 1px, transparent 1px 79px),
    repeating-linear-gradient(0deg,  rgba(214,219,220,.03) 0 1px, transparent 1px 79px);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);
          mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);
}

.legal__inner{
  position:relative;z-index:1;
  width:var(--content);
  max-width:calc(100% - (var(--gutter) * 2));
  margin-inline:auto;
}

/* ---- heading ---- */
.legal__head{ max-width:900px; }
.legal__title{
  margin:40px 0 0;
  font-family:var(--font-display);
  font-size:var(--h2-size);line-height:var(--h2-lh);
  letter-spacing:var(--h2-ls);
  font-weight:500;
  background:linear-gradient(90deg,var(--title-from) 0%,var(--title-to) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  width:max-content;max-width:100%;
}
.legal__head .kicker + .legal__title{ margin-top:32px; }
.legal__head > .legal__title:first-child{ margin-top:0; }
.legal__meta{
  margin:22px 0 0;
  font-family:var(--font-mono);
  font-size:14px;line-height:18px;
  text-transform:uppercase;
  color:var(--accent-violet);
}
.legal__intro{
  margin:24px 0 0;
  max-width:760px;
  font-size:19px;line-height:26px;
  color:var(--text-muted);
}

/* ---- body: jump list + sections ---- */
.legal__body{
  margin-top:96px;padding-top:64px;
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:80px;
  border-top:1px solid rgba(214,219,220,.12);
}
.legal__toc{
  position:sticky;top:32px;align-self:start;
}
.admin-bar .legal__toc{ top:64px; }
.legal__toc-title{
  display:block;
  font-size:15px;line-height:25px;
  letter-spacing:1.9px;
  text-transform:uppercase;
  color:var(--accent-violet);
}
.legal__toc ol{ list-style:none;margin:20px 0 0;padding:0; }
.legal__toc li + li{ margin-top:12px; }
.legal__toc a{
  font-size:16px;line-height:23px;
  color:var(--text-muted);
  transition:color .2s ease;
}
.legal__toc a:hover{ color:var(--text); }

.legal__content{ max-width:860px; }
.legal__content--full{ margin-top:64px; }
.legal__section{ scroll-margin-top:32px; }
.legal__section + .legal__section{ margin-top:56px; }

.legal__content h2{
  margin:0 0 20px;
  display:flex;align-items:baseline;gap:16px;
  font-family:var(--font-display);
  font-size:32px;line-height:40px;
  font-weight:500;letter-spacing:-.5px;
  color:var(--text);
}
.legal__content h3{
  margin:32px 0 12px;
  font-family:var(--font-display);
  font-size:22px;line-height:30px;font-weight:500;
  color:var(--text);
}
.legal__num{
  flex:none;
  font-size:15px;line-height:25px;
  color:var(--accent-violet);
}
.legal__content p,
.legal__content li{
  font-size:16.5px;line-height:26px;
  color:var(--text-muted);
}
.legal__content p{ margin:0 0 16px; }
.legal__content ul,
.legal__content ol{ margin:0 0 16px;padding-left:22px; }
.legal__content li + li{ margin-top:6px; }
.legal__content li::marker{ color:var(--grad-from); }
.legal__content a{
  color:#E8663A;
  text-decoration:underline;text-underline-offset:3px;
}
.legal__content a:hover{ color:var(--text); }
.legal__content strong{ color:var(--text);font-weight:600; }

.legal__actions{ margin-top:48px; }

/* single article: featured image + inline media */
.legal__figure{ margin:56px 0 0;max-width:1100px; }
.legal__figure img,
.legal__content img{ display:block;max-width:100%;height:auto;border-radius:24px; }
.legal__figure + .legal__content--full{ margin-top:56px; }

/* ---- responsive [D] ---- */
@media (max-width:1439px){
  .legal{ padding-top:110px; }
  .legal__body{ grid-template-columns:240px minmax(0,1fr);gap:56px; }
}

@media (max-width:1023px){
  .legal{ padding-top:72px; }
  .legal__intro{ font-size:17px;line-height:25px; }
  .legal__body{ grid-template-columns:1fr;gap:40px;margin-top:64px;padding-top:48px; }
  .legal__toc{ position:static; }
  .legal__content h2{ font-size:26px;line-height:34px; }
}

@media (max-width:767px){
  .legal{ padding-top:48px; }
  .legal__intro{ font-size:16px;line-height:24px; }
  .legal__body{ margin-top:48px;padding-top:36px; }
  .legal__content--full{ margin-top:40px; }
  .legal__content h2{ font-size:22px;line-height:30px;gap:12px; }
  .legal__content p,
  .legal__content li{ font-size:15.5px;line-height:24px; }
}
