/* Campaign scope: reuse the site's tokens, type, buttons, navigation and footer. */
.lc-page { overflow-x: clip; }
.lc-page h1, .lc-page h2, .lc-page h3 { font-family: var(--ff-display); font-weight: 700; text-wrap: balance; }
.lc-page p { text-wrap: pretty; }
.lc-page a:focus-visible, .lc-page button:focus-visible, .lc-page summary:focus-visible, .lc-page video:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.lc-page section[id] { scroll-margin-top: 100px; }
.lc-page .nav-row { gap: 24px; }
.lc-page .nav-links { margin-left: auto; }
.lc-page .nav-btn { display: inline-flex; flex-shrink: 0; }
.lc-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.lc-skip { position: fixed; top: -100px; left: 20px; padding: 12px 20px; z-index: 1100; background: var(--accent); color: var(--accent-ink); }
.lc-skip:focus { top: 12px; }
.lc-hero { display: grid; grid-template-columns: 1fr 320px; align-items: center; gap: clamp(40px, 7vw, 110px); padding-top: 136px; padding-bottom: 88px; }
.lc-eyebrow { font-size: 13px; color: var(--text-secondary); margin-bottom: 28px; }
.lc-hero h1 { font-size: clamp(52px, 5.8vw, 82px); letter-spacing: -.04em; line-height: 1.03; margin-bottom: 28px; }
.lc-lead { font-size: clamp(19px, 1.7vw, 22px); line-height: 1.55; max-width: 34ch; margin-bottom: 18px; }
.lc-intro { color: var(--text-secondary); font-size: 16px; line-height: 1.75; max-width: 49ch; }
.lc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 26px; margin-top: 30px; }
.lc-page .btn { justify-content: center; min-height: 48px; white-space: normal; text-align: center; }
.lc-text-link { display: inline-flex; align-items: center; gap: 14px; font-size: 15px; min-height: 44px; text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 6px; }
.lc-text-link:hover { text-decoration-color: var(--accent); }
.lc-small { color: var(--text-muted); margin-top: 18px; font-size: 12px; line-height: 1.7; }
.lc-film { width: 100%; max-width: 320px; justify-self: end; }
.lc-video-shell { border: 1px solid var(--border-strong); border-radius: 22px; overflow: hidden; background: #050909; }
.lc-film video { display: block; width: 100%; height: auto; aspect-ratio: 9/16; object-fit: contain; }
.lc-film figcaption { display: flex; flex-direction: column; gap: 4px; margin-top: 15px; color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
.lc-film figcaption span:first-child { color: var(--text-primary); }
.lc-transcript { margin-top: 12px; color: var(--text-secondary); font-size: 12px; line-height: 1.7; }
.lc-transcript summary { cursor: pointer; padding: 8px 0; }
.lc-transcript p { margin-top: 10px; }
.lc-section { padding-top: 100px; padding-bottom: 100px; }
.lc-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 50px; }
.lc-section h2 { font-size: clamp(34px, 3.8vw, 52px); line-height: 1.12; letter-spacing: -.035em; }
.lc-section-heading > p { max-width: 34ch; line-height: 1.75; color: var(--text-secondary); font-size: 16px; }
.lc-advisors-section { background: var(--bg-alt); border-block: 1px solid var(--border); }
.lc-advisors { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 26px; }
.lc-advisor { min-width: 0; }
.lc-advisor h3 { font-size: 19px; line-height: 1.3; margin: 22px 0 8px; }
.lc-advisor > p { color: var(--text-secondary); font-size: 14px; line-height: 1.75; }
.lc-advisor .lc-role { font-size: 11px; color: var(--text-muted); margin-bottom: 15px; }
/* Faces and role symbols adapted from the supplied prototype, kept decorative. */
.lc-portrait { position: relative; width: 86px; height: 100px; }
.lc-blob { position: absolute; left: 6px; top: 20px; width: 72px; height: 68px; background: #ee965f; border-radius: 45% 45% 37% 37%; box-shadow: inset -6px -6px 0 #d77b48; }
.lc-blob::before, .lc-blob::after { content: ''; position: absolute; top: 35px; width: 12px; height: 20px; background: #d77b48; border-radius: 12px; }
.lc-blob::before { left: -6px; transform: rotate(20deg); }
.lc-blob::after { right: -6px; transform: rotate(-20deg); }
.lc-blob i { position: absolute; top: 30px; left: 25px; width: 5px; height: 7px; border-radius: 50%; background: #211c1a; }
.lc-blob i + i { left: 41px; }
.lc-blob b { position: absolute; top: 45px; left: 30px; width: 12px; height: 5px; border-bottom: 2px solid #211c1a; border-radius: 50%; }
.lc-portrait > svg { position: absolute; top: 1px; right: 0; width: 32px; height: 32px; fill: none; stroke: var(--text-primary); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lc-note { border-top: 1px solid var(--border-strong); margin-top: 44px; padding-top: 24px; color: var(--text-secondary); font-size: 14px; line-height: 1.8; max-width: 90ch; }
.lc-process { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px; list-style: none; }
.lc-process li { border-top: 1px solid var(--border-strong); padding-top: 24px; }
.lc-step-number { font-family: var(--ff-display); color: var(--text-muted); font-size: 16px; }
.lc-process h3 { font-size: 22px; margin: 30px 0 14px; line-height: 1.25; }
.lc-process p { color: var(--text-secondary); font-size: 15px; line-height: 1.8; }
.lc-download-section { background: var(--bg-alt); border-block: 1px solid var(--border); }
.lc-download { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.lc-download h2 { font-size: clamp(40px, 4.5vw, 64px); margin-bottom: 22px; }
.lc-download > div > p { max-width: 44ch; font-size: 16px; color: var(--text-secondary); line-height: 1.75; }
.lc-download-action { border: 1px solid var(--border-strong); border-radius: var(--radius); padding: 34px; background: var(--bg-surface); }
.lc-download-disabled { width: 100%; border: 1px solid var(--border-strong); background: var(--bg-raised); color: var(--text-secondary); cursor: not-allowed; }
.lc-download-action #download-status { font-size: 13px; margin-top: 18px; line-height: 1.8; }
.lc-download-action .lc-text-link { margin-top: 16px; }
.lc-install-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.lc-install-grid article { border-top: 1px solid var(--border-strong); padding-top: 26px; min-width: 0; }
.lc-install-grid h3 { font-size: 24px; margin-bottom: 20px; }
.lc-install-grid p, .lc-install-grid ol { color: var(--text-secondary); font-size: 14px; line-height: 1.85; margin-bottom: 18px; }
.lc-install-grid ol { padding-left: 20px; }
.lc-install-grid li { padding-left: 3px; margin-bottom: 8px; }
.lc-install-grid a { display: inline-block; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; padding-block: 10px; }
.lc-page code { overflow-wrap: anywhere; font-size: .9em; color: var(--text-primary); }
.lc-install-grid .lc-validation { font-size: 12px; color: var(--text-muted); }
.lc-example { background: var(--bg-surface); border: 1px solid var(--border-strong); border-radius: var(--radius); padding: clamp(24px,4vw,44px); margin-top: 60px; }
.lc-example h3 { font-size: 24px; margin-bottom: 20px; }
.lc-example blockquote { font-size: 18px; line-height: 1.85; max-width: 76ch; }
.lc-copy { display: inline-flex; gap: 18px; align-items: center; min-height: 44px; margin-top: 20px; color: var(--text-primary); background: transparent; border: 0; border-bottom: 1px solid var(--border-strong); font: inherit; cursor: pointer; }
.lc-copy[hidden] { display: none; }
#copyStatus { display: block; font-size: 13px; color: var(--text-secondary); margin-top: 12px; }
.lc-gumma-bridge { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 70px; }
.lc-gumma-bridge p { font-size: 20px; font-family: var(--ff-display); }
.lc-attribution { color: var(--text-muted); font-size: 12px; line-height: 1.8; padding-top: 32px; max-width: 95ch; }
.lc-attribution a { text-decoration: underline; text-underline-offset: 3px; }
@media(min-width: 1400px) { .lc-hero h1 { font-size: 88px; } }
@media(max-width: 1000px) { .lc-hero { grid-template-columns: 1fr 270px; gap: 35px; } .lc-advisors { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; } .lc-install-grid { grid-template-columns: 1fr; } .lc-page .nav-links { display: none; } .lc-page .nav-btn { margin-left: auto; } }
@media(max-width: 700px) {
  .lc-page .wrap { padding-left: 22px; padding-right: 22px; }
  .lc-hero { grid-template-columns: 1fr; padding-top: 108px; padding-bottom: 60px; gap: 44px; }
  .lc-hero h1 { font-size: clamp(46px, 10.7vw, 68px); }
  .lc-eyebrow { margin-bottom: 24px; font-size: 12px; }
  .lc-hero .lc-lead { font-size: 20px; }
  .lc-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .lc-film { justify-self: center; max-width: 290px; }
  .lc-section { padding-top: 64px; padding-bottom: 64px; }
  .lc-section-heading { display: block; margin-bottom: 35px; }
  .lc-section-heading > p { margin-top: 22px; }
  .lc-advisors { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 22px; }
  .lc-advisor h3 { font-size: 18px; }
  .lc-process { grid-template-columns: 1fr; gap: 32px; }
  .lc-process h3 { margin-top: 18px; }
  .lc-download { grid-template-columns: 1fr; gap: 30px; }
  .lc-download-action { padding: 24px; }
  .lc-example blockquote { font-size: 16px; }
  .lc-page .nav-logo img { height: 26px; }
  .lc-page .nav-btn { font-size: 13px; padding: 10px 16px; }
  .lc-page .nav-row { gap: 12px; }
}
@media(prefers-reduced-motion: reduce) { .lc-page *, .lc-page *::before, .lc-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
/* Subscription stays visibly unavailable until a dedicated backend and
   withdrawal process are verified. No email is accepted in this state. */
.lc-download-action > .btn { width: 100%; }
.lc-resources { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding-block:56px 70px; border-top:1px solid var(--border); }
.lc-resources h2 { font-size:clamp(26px,3vw,36px); line-height:1.2; letter-spacing:-.025em; margin-bottom:20px; }
.lc-resources p { font-size:15px; line-height:1.8; color:var(--text-secondary); max-width:52ch; }
.lc-resources .lc-subscribe-state { margin-top:18px; font-size:13px; }
.lc-resources fieldset { border:0; min-width:0; }
.lc-resources label { display:block; font-size:14px; margin-bottom:10px; }
.lc-resources input[type=email] { width:100%; min-height:48px; padding:12px 15px; border:1px solid var(--border-strong); border-radius:8px; font:inherit; color:var(--text-secondary); background:var(--bg-surface); }
.lc-resources input::placeholder { color:var(--text-secondary); opacity:1; }
.lc-resources .lc-consent { display:flex; align-items:flex-start; gap:12px; margin-block:20px; color:var(--text-secondary); font-size:13px; line-height:1.7; }
.lc-consent input { width:18px; height:18px; flex-shrink:0; margin-top:3px; }
.lc-resources button { width:100%; border:1px solid var(--border-strong); color:var(--text-secondary); background:var(--bg-raised); cursor:not-allowed; }
.lc-resources .lc-privacy-link { font-size:12px; margin-top:18px; }
.lc-privacy-link a,.lc-note a { text-decoration:underline; text-underline-offset:4px; }
.lc-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.lc-gumma-bridge { gap:30px; border-top:1px solid var(--border); padding-top:46px; }
.lc-gumma-bridge > div { max-width:660px; }
.lc-gumma-bridge h2 { font-size:clamp(25px,3vw,34px); margin-bottom:18px; line-height:1.25; }
.lc-gumma-bridge p { color:var(--text-secondary); font:15px/1.8 var(--ff-body); }
@media(max-width:700px) { .lc-resources { grid-template-columns:1fr; gap:28px; } }
