/*
  Static pages (About, Contact, and the default branded page template
  used for Privacy Policy / Terms / Sponsor) — extends front.css's
  tokens and shared components (nav, footer, .btn, .steps, .stats,
  .news, .crumbs, .gli-fallback-tile).
*/

/* Generic page hero, narrower than the homepage's since there's no
   filterbar or floating canvas to balance against. */
.page-hero{
  position:relative; padding:150px 0 66px;
  background-image:radial-gradient(var(--line) 1px, transparent 1px);
  background-size:26px 26px; background-position:-6px -6px;
}
.page-hero .wrap{ max-width:800px; }
.page-hero h1{ font-size:clamp(32px,5.2vw,54px); line-height:1.03; margin-top:16px; }
.page-hero-sub{ margin-top:20px; max-width:58ch; font-size:16.5px; color:var(--ink-soft); line-height:1.7; }

/* About: two-column story block */
.story-grid{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; align-items:center; }
.story-grid p{ color:var(--ink-soft); font-size:16px; line-height:1.75; margin-top:16px; }
.story-visual{ aspect-ratio:1/0.9; }
.story-visual .gli-fallback-tile{ border-radius:var(--radius-sm); }

/* Plain content pages: prose column + sidebar */
.page-layout{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,3fr); gap:48px; align-items:start; }

.page-sidebar{ position:sticky; top:110px; display:flex; flex-direction:column; gap:18px; }
.sidebar-card{ border:1px solid var(--line); border-radius:var(--radius-sm); padding:22px 20px; background:var(--paper); }
.sidebar-card .eyebrow{ margin-bottom:14px; }
.sidebar-card p{ font-size:14px; color:var(--ink-soft); line-height:1.6; }
.sidebar-card .btn{ margin-top:14px; width:100%; justify-content:center; }
.toc-list, .related-list{ display:flex; flex-direction:column; }
.toc-list a, .related-list a{
  font-size:14px; font-weight:600; padding:9px 0; border-bottom:1px solid var(--line);
  transition:color .2s ease, padding-left .25s var(--ease);
}
.toc-list a:last-child, .related-list a:last-child{ border-bottom:none; }
.toc-list a:hover, .related-list a:hover{ color:var(--magenta); padding-left:6px; }

/* Plain prose (Privacy Policy, Terms & Conditions, Sponsor, etc.) */
.page-prose{ max-width:720px; font-size:16.5px; line-height:1.75; color:var(--ink-soft); }
.page-prose > * + *{ margin-top:1.4em; }
.page-prose h2{ font-family:'Bricolage Grotesque',sans-serif; font-size:24px; font-weight:700; color:var(--ink); margin-top:2em; }
.page-prose h3{ font-family:'Bricolage Grotesque',sans-serif; font-size:19px; font-weight:700; color:var(--ink); margin-top:1.6em; }
.page-prose ul, .page-prose ol{ padding-left:1.3em; }
.page-prose li + li{ margin-top:.5em; }
.page-prose a{ color:var(--magenta); text-decoration:underline; text-decoration-color:rgba(229,19,107,.35); text-decoration-thickness:1px; }
.page-prose a:hover{ text-decoration-color:var(--magenta); }
.page-prose strong{ color:var(--ink); }

/* Contact: form + info column */
.contact-grid{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; align-items:start; }
.contact-form{ display:flex; flex-direction:column; gap:18px; }
.cf-row{ display:flex; flex-direction:column; gap:6px; }
.cf-row label{ font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); }
.cf-row input, .cf-row select, .cf-row textarea{
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px;
  font-family:'Manrope',sans-serif; font-size:15px; color:var(--ink); background:var(--paper);
  transition:border-color .2s ease; resize:vertical;
}
.cf-row input:focus, .cf-row select:focus, .cf-row textarea:focus{ outline:none; border-color:var(--ink); }
.contact-form select{
  appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2315130f' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; padding-right:32px;
}
.contact-form .btn{ align-self:flex-start; margin-top:6px; }

.form-notice{ padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:22px; font-size:14px; }
.form-notice.success{ border-color:#2c6e49; color:#2c6e49; }
.form-notice.error{ border-color:var(--magenta); color:var(--magenta); }

.contact-info{ display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); }
.info-card{ background:var(--paper); padding:24px 22px; }
.info-card a{ display:block; margin-top:8px; font-weight:700; }
.info-card p{ margin-top:8px; color:var(--ink-soft); font-size:14px; line-height:1.6; }

@media (max-width:900px){
  .story-grid, .contact-grid, .page-layout{ grid-template-columns:1fr; }
  .page-sidebar{ position:static; }
}
@media (max-width:680px){
  .page-hero{ padding:120px 0 48px; }
}
