/* ============================================================
   TRIBECA LISBOA — PRE-LAUNCH LANDING (standalone)
   Reuses responsive.css (.r-wrap/.r-band/tokens) + about.css
   (.ab-* editorial beats). Only adds landing-specific chrome:
   nav-less header, date hero, keyword impact, single news block,
   slimmed footer. Does NOT touch any shared component.
   ============================================================ */
.lp{ background:#000; color:#fff; font-family:var(--font-text); -webkit-font-smoothing:antialiased; }
.lp img, .lp video{ display:block; }

/* ---------- HEADER (no primary nav) ---------- */
/* header is the positioning context so the SIC banner pins to the viewport
   corner at any width (the inner block is capped at --maxw + centered). */
.lp-hdr{ position:sticky; top:0; z-index:60; background:#000; border-bottom:1px solid var(--line-dark); }
.lp-hdr-inner{ height:82px; display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--gut); padding-right:calc(76px + 24px); max-width:var(--maxw); margin:0 auto; }
.lp-hdr-logo{ display:block; }
.lp-hdr-actions{ display:flex; align-items:center; gap:18px; }
.lp-hdr-ig{ color:#fff; display:flex; align-items:center; transition:color .15s; }
.lp-hdr-ig:hover{ color:var(--pink); }
.lp-hdr-sic{ position:absolute; right:0; top:0; width:76px; height:82px; }
.lp-lang{ display:flex; align-items:center; gap:7px; font-family:var(--font-text); font-weight:700; font-size:13px; letter-spacing:.04em; }
.lp-lang button{ background:none; border:none; padding:0; cursor:pointer; color:var(--fg-3); font:inherit; transition:color .15s; }
.lp-lang button.active{ color:#fff; }
.lp-lang button:hover{ color:var(--pink); }
.lp-lang .sep{ color:var(--fg-3); }
@media (min-width:768px){
  .lp-hdr-inner{ padding-right:calc(76px + 28px); }
}

/* ---------- HERO (uses homepage .r-hero; sub needs leading for 2 lines) ---------- */
.lp-hero-sub{ line-height:1.28; max-width:34ch; }

/* ---------- SECTION 00 — About hub (sub-headline disciplines) ---------- */
.lp-disc{ margin:18px 0 0; display:flex; flex-wrap:wrap; gap:10px 14px; }
.lp-disc span{ font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(20px,2.6vw,32px); line-height:1; letter-spacing:-.01em; color:#fff; }
.lp-disc .dot{ color:var(--fg-3); }

/* ---------- SECTION 03 — Impact keywords (visual-led) ---------- */
.lp-keys{ margin-top:8px; border-top:1px solid var(--line-dark); }
.lp-key{ display:flex; align-items:baseline; gap:20px; padding:18px 0; border-bottom:1px solid var(--line-dark);
  text-transform:uppercase; transition:padding-left .25s ease, color .25s ease; }
.lp-key:hover{ padding-left:14px; }
.lp-key .num{ font-family:var(--font-text); font-weight:700; font-size:13px; letter-spacing:.1em; color:var(--fg-3); min-width:38px; }
.lp-key .word{ font-family:var(--font-display); font-weight:900; letter-spacing:-.01em; line-height:.92;
  font-size:clamp(44px,9vw,116px); }
.lp-key:nth-child(1) .word{ color:#fff; }
.lp-key:nth-child(2) .word{ color:var(--pink); }
.lp-key:nth-child(3) .word{ color:var(--light-blue); }
.lp-key:nth-child(4) .word{ color:var(--vibes-hl, #ACD03A); }
.lp-key:nth-child(5) .word{ color:var(--yellow); }
.lp-impact-media{ width:100%; aspect-ratio:21/9; overflow:hidden; background:#222; margin-top:44px; }
.lp-impact-media img{ width:100%; height:100%; object-fit:cover; }

/* ---------- FROM THE FEED (clickable square tiles) ---------- */
.lp-feed-grid{ grid-template-columns:1fr 1fr; }
@media (min-width:680px){ .lp-feed-grid{ grid-template-columns:repeat(5,1fr); } }
.lp-feed-cell{ display:block; cursor:pointer; position:relative; }
.lp-feed-cell img{ transition:transform .4s cubic-bezier(.16,1,.3,1), opacity .2s; }
.lp-feed-cell:hover img{ transform:scale(1.06); opacity:.86; }

/* ---------- NEWS — single full article (white) ---------- */
.lp-news{ background:#fff; color:#0E0E0E; }
.lp-news-in{ padding-top:var(--band-y); padding-bottom:var(--band-y); }
.lp-news-tag{ display:inline-block; font-family:var(--font-text); font-weight:700; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:#fff; background:var(--nightlive-bg, #FF64E4); padding:7px 14px; margin-bottom:22px; }
.lp-news-grid{ display:flex; flex-direction:column; gap:32px; }
.lp-news-media{ width:100%; aspect-ratio:4/3; overflow:hidden; background:#eee; }
.lp-news-media img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.lp-news-title{ margin:0; font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(28px,4vw,48px); line-height:.98; letter-spacing:-.01em; text-wrap:balance; }
.lp-news-sub{ margin:18px 0 0; font-family:var(--font-text); font-weight:700; font-size:clamp(15px,1.6vw,18px);
  line-height:1.3; letter-spacing:.01em; text-transform:uppercase; color:var(--nightlive-bg, #FF64E4); }
.lp-news-body{ margin:20px 0 0; font-family:var(--font-text); font-size:17px; line-height:1.62; color:#2A2A2A; max-width:60ch; }
.lp-news-quote{ margin:26px 0 0; font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(20px,2.4vw,30px); line-height:1.05; letter-spacing:-.01em; color:#0E0E0E; max-width:20ch; }
.lp-news-quote .src{ display:block; margin-top:10px; font-family:var(--font-text); font-weight:700;
  font-size:13px; letter-spacing:.04em; text-transform:none; color:var(--fg-2); }
.lp-news-cta{ margin-top:30px; }
@media (min-width:900px){
  .lp-news-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .lp-news-media{ aspect-ratio:3/4; position:sticky; top:110px; }
}
@media (min-width:1280px){ .lp-news-grid{ gap:80px; } }
/* Mobile: News image is portrait — show it complete (no vertical crop) */
@media (max-width:899px){
  .lp-news-media{ aspect-ratio:auto; }
  .lp-news-media img{ height:auto; }
}

/* ---------- FOOTER (slimmed: no nav, no X, no FAQs) ---------- */
.lp-ft{ background:#000; border-top:1px solid rgba(255,255,255,.22); padding-top:var(--band-y); padding-bottom:32px; }
.lp-ft-top{ display:flex; flex-direction:column; gap:28px; padding-bottom:44px; }
.lp-ft-brand{ display:flex; flex-direction:column; gap:18px; }
.lp-ft-brand img{ width:150px; height:auto; }
.lp-ft-tagline{ margin:0; color:var(--fg-3); font-family:var(--font-text); font-weight:700; font-size:13px;
  letter-spacing:.04em; text-transform:uppercase; }
.lp-ft-social{ display:flex; gap:12px; }
.lp-ft-social a{ width:44px; height:44px; border:1px solid var(--line-dark); color:#fff; display:flex;
  align-items:center; justify-content:center; transition:background .15s, border-color .15s, color .15s; }
.lp-ft-social a:hover{ background:var(--pink); border-color:var(--pink); color:#000; }
.lp-ft-legal{ display:flex; flex-direction:column; gap:14px; }
.lp-ft-legal h4{ margin:0 0 4px; color:var(--fg-3); font-family:var(--font-text); font-weight:700;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.lp-ft-legal a{ color:#fff; font-family:var(--font-text); font-weight:700; font-size:15px; text-decoration:none; width:fit-content; transition:color .15s; }
.lp-ft-legal a:hover{ color:var(--pink); }
.lp-ft-partners{ display:flex; flex-direction:column; gap:32px; padding:40px 0; border-top:1px solid var(--line-dark); }
.lp-ft-label{ color:var(--fg-3); font-family:var(--font-text); font-weight:700; font-size:11px;
  letter-spacing:.12em; text-transform:uppercase; margin-bottom:16px; }
.lp-ft-logos{ display:flex; flex-wrap:wrap; align-items:center; column-gap:32px; row-gap:20px; }
.lp-plogo{ filter:brightness(0) invert(1); display:block; width:auto; height:auto; max-height:30px; max-width:118px; }
.lp-plogo--main{ max-height:44px; max-width:170px; }
.lp-plogo--sm{ max-height:26px; max-width:104px; opacity:.92; }
/* Rádio Renascença reads small next to the other partner logos — bump 15% */
.lp-plogo[src*="radio-renascenca"]{ max-height:29.9px; max-width:119.6px; }
.lp-ft-base{ display:flex; flex-direction:column; gap:14px; padding-top:28px; border-top:1px solid var(--line-dark); }
.lp-ft-copy{ color:var(--fg-3); font-family:var(--font-text); font-size:13px; letter-spacing:.02em; }
@media (min-width:768px){
  .lp-ft-top{ display:grid; grid-template-columns:2fr 1fr; gap:48px; align-items:start; }
  .lp-ft-partners{ display:grid; grid-template-columns:1.2fr 1fr 1.4fr; column-gap:48px; align-items:start; }
  .lp-ft-base{ flex-direction:row; justify-content:space-between; align-items:center; }
}
