/* Phase 3 platform detail pages — scoped component styles */
.syn-lpd {
  --lpd-navy:#18124a; --lpd-blue:#32238f; --lpd-blue-dark:#25196e;
  --lpd-cyan:#fd6721; --lpd-orange:#fd6721; --lpd-orange-hover:#e95a19;
  --lpd-ink:#000; --lpd-muted:#444; --lpd-line:#d7d7d7; --lpd-soft:#f4f4f4;
  color:var(--lpd-ink); background:#fff; font-size:17px; line-height:1.65; overflow:hidden;
}
.syn-lpd *, .syn-lpd *::before, .syn-lpd *::after { box-sizing:border-box; }
.syn-lpd__wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.syn-lpd__section { padding:clamp(64px,8vw,108px) 0; }
.syn-lpd__section--soft { background:var(--lpd-soft); }
.syn-lpd h1,.syn-lpd h2,.syn-lpd h3 { margin-top:0; color:inherit; font-weight:700; letter-spacing:normal; }
.syn-lpd h1 { max-width:880px; margin-bottom:22px; font-size:clamp(40px,4.2vw,50px); line-height:1.12; }
.syn-lpd h2 { margin-bottom:18px; font-size:clamp(30px,3vw,36px); line-height:1.18; font-weight:600; }
.syn-lpd h3 { margin-bottom:12px; font-size:clamp(21px,2vw,27px); line-height:1.2; }
.syn-lpd p { margin-top:0; }
.syn-lpd__lead { font-size:clamp(20px,2vw,25px); line-height:1.45; }
.syn-lpd__eyebrow,.syn-lpd__plan-name { margin-bottom:14px; color:var(--lpd-blue); font-size:13px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.syn-lpd__intro { max-width:790px; margin-bottom:40px; }
.syn-lpd__split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:clamp(40px,8vw,110px); }
.syn-lpd__actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:30px; }
.syn-lpd__actions--center { justify-content:center; }
.syn-lpd a:focus-visible { outline:4px solid var(--lpd-blue)!important; outline-offset:4px!important; border-radius:3px; }
.syn-lpd__button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:13px 24px; border:2px solid transparent; border-radius:0; font-weight:700; line-height:1.25; text-decoration:none; transition:transform .18s ease,background .18s ease; }
.syn-lpd__button:hover { transform:translateY(-2px); text-decoration:none; }
.syn-lpd__button--primary { color:var(--lpd-navy); background:var(--lpd-orange); }
.syn-lpd__button--primary:hover { color:var(--lpd-navy); background:var(--lpd-orange-hover); }
.syn-lpd__button--secondary { color:#fff; background:var(--lpd-blue-dark); }
.syn-lpd__button--secondary:hover { color:#fff; background:var(--lpd-navy); }
.syn-lpd__button--ghost { border-color:rgba(255,255,255,.75); color:#fff; background:transparent; }
.syn-lpd__button--ghost:hover { color:var(--lpd-navy); background:#fff; }
.syn-lpd__button--light { color:var(--lpd-navy); background:#fff; }
.syn-lpd__button--light:hover { color:var(--lpd-navy); background:var(--lpd-soft); }
.syn-lpd__text-link { color:var(--lpd-blue-dark); font-weight:700; text-underline-offset:4px; }

.syn-lpd__hero { padding:clamp(72px,9vw,120px) 0; color:#fff; background:var(--lpd-blue); }
.syn-lpd--moodle .syn-lpd__hero { background:var(--lpd-blue); }
.syn-lpd--talentlms .syn-lpd__hero { background:var(--lpd-blue); }
.syn-lpd__hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); align-items:center; gap:clamp(38px,7vw,96px); }
.syn-lpd__hero-grid--single { grid-template-columns:1fr; }
.syn-lpd__hero-grid--single > div { max-width:900px; }
.syn-lpd__hero .syn-lpd__eyebrow,.syn-lpd__section--dark .syn-lpd__eyebrow { color:#fff; }
.syn-lpd__hero-logo { display:flex; min-height:210px; align-items:center; justify-content:center; padding:40px; border:0; border-radius:0; background:#fff; box-shadow:none; }
.syn-lpd__hero-logo img { display:block; width:100%; max-width:300px; height:auto; max-height:96px; object-fit:contain; }
.syn-lpd__hero-logo--photo { min-height:0; padding:0; background:transparent; overflow:hidden; }
.syn-lpd__hero-logo--photo img { width:100%; max-width:none; aspect-ratio:1; height:auto; max-height:none; object-fit:cover; }
.syn-lpd__hero a:focus-visible,.syn-lpd__section--dark a:focus-visible,.syn-lpd__final a:focus-visible { outline-color:#fff!important; }

.syn-lpd__proof { color:#fff; background:var(--lpd-blue-dark); }
.syn-lpd__proof .syn-lpd__wrap { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.syn-lpd__proof span { padding:23px 28px; border-right:1px solid rgba(255,255,255,.25); text-align:center; }
.syn-lpd__proof span:last-child { border-right:0; }
.syn-lpd__proof strong { display:block; font-size:23px; }
.syn-lpd__callout,.syn-lpd__notice { padding:20px 22px; border-left:5px solid var(--lpd-orange); background:#fff5e9; }
.syn-lpd__notice { margin-top:28px; color:#52301d; font-size:14px; }

.syn-lpd__card-grid { display:grid; gap:18px; }
.syn-lpd__card-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.syn-lpd__card-grid--five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.syn-lpd__card-grid article { padding:30px; border:1px solid var(--lpd-line); border-bottom:3px solid transparent; background:#fff; box-shadow:none; }
.syn-lpd__card-grid article:hover { border-bottom-color:var(--lpd-cyan); }
.syn-lpd__card-grid article>span { display:block; margin-bottom:18px; color:var(--lpd-blue); font-size:13px; font-weight:700; }
.syn-lpd__card-grid--five article { padding:25px; }
.syn-lpd__card-grid--five h3 { font-size:21px; }
.syn-lpd__card-grid--five p { font-size:15px; }
.syn-lpd__section--dark { color:#fff; background:var(--lpd-blue); }
.syn-lpd__pillar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.2); }
.syn-lpd__pillar-grid article { padding:30px; background:rgba(24,18,74,.86); }
.syn-lpd__pillar-grid h3 { color:#fff; }

.syn-lpd__facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.syn-lpd__facts article { padding:26px; border:1px solid var(--lpd-line); border-radius:0; }
.syn-lpd__facts strong { display:block; margin-bottom:10px; color:var(--lpd-blue-dark); font-size:20px; }
.syn-lpd__journey { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; padding:0; list-style:none; counter-reset:journey; }
.syn-lpd__journey li { position:relative; padding:30px 18px 20px; border-top:3px solid var(--lpd-blue); counter-increment:journey; }
.syn-lpd__journey li::before { display:grid; width:31px; height:31px; margin-bottom:14px; place-items:center; border-radius:50%; color:#fff; background:var(--lpd-blue-dark); content:counter(journey); font-size:13px; font-weight:700; }
.syn-lpd__journey strong,.syn-lpd__journey span { display:block; }
.syn-lpd__journey span { margin-top:7px; color:var(--lpd-muted); font-size:13px; line-height:1.35; }
.syn-lpd__service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; padding:0; list-style:none; }
.syn-lpd__service-list li { position:relative; padding:13px 12px 13px 30px; border-bottom:1px solid var(--lpd-line); }
.syn-lpd__service-list li::before { position:absolute; left:4px; color:var(--lpd-blue); content:"✓"; font-weight:700; }
.syn-lpd__service-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:50px; }

.syn-lpd__plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:22px; }
.syn-lpd__plans article { display:flex; min-width:0; flex-direction:column; padding:34px; border:1px solid var(--lpd-line); border-top:6px solid var(--lpd-blue); border-radius:0; box-shadow:none; }
.syn-lpd__plans article.syn-lpd__plan--featured { border-top-color:var(--lpd-orange); background:#fffaf6; }
.syn-lpd__plan-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; }
.syn-lpd__plan-price small { width:100%; color:var(--lpd-muted); }
.syn-lpd__plan-price strong { color:var(--lpd-navy); font-size:49px; line-height:1; }
.syn-lpd__plan-price span { font-size:14px; }
.syn-lpd__plans ul { margin-bottom:25px; padding-left:20px; }
.syn-lpd__plans li { margin-bottom:6px; }
.syn-lpd__plans .syn-lpd__button { margin-top:auto; }
.syn-lpd__plan-note { margin-top:auto; color:#744023; font-size:12px; font-weight:700; }
.syn-lpd__feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.syn-lpd__feature-grid li { padding:22px; border-left:4px solid var(--lpd-cyan); background:var(--lpd-soft); font-weight:700; }

.syn-lpd__final { padding:clamp(66px,8vw,100px) 0; color:#fff; background:var(--lpd-navy); text-align:center; }
.syn-lpd__final p { max-width:740px; margin:0 auto 26px; font-size:19px; }
.syn-lpd__final .syn-lpd__actions { margin-top:28px; }
.syn-lpd__trademark { padding:38px 0; color:var(--lpd-muted); background:var(--lpd-soft); }
.syn-lpd__trademark h2 { margin-bottom:10px; color:var(--lpd-ink); font-size:24px; }
.syn-lpd__trademark p { max-width:960px; margin-bottom:0; font-size:14px; line-height:1.6; }

@media (max-width:1050px) {
  .syn-lpd__card-grid--five { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .syn-lpd__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .syn-lpd__journey { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:991px) {
  .syn-lpd__hero-grid,.syn-lpd__split { grid-template-columns:1fr; }
  .syn-lpd__hero-logo { width:min(280px,100%); min-height:120px; order:-1; justify-self:start; padding:26px; }
  .syn-lpd__hero-logo--photo { width:100%; max-width:360px; min-height:0; padding:0; }
  .syn-lpd__card-grid--three,.syn-lpd__pillar-grid,.syn-lpd__plans { grid-template-columns:1fr; }
  .syn-lpd__plans article { max-width:680px; width:100%; margin-inline:auto; }
}
@media (max-width:767px) {
  .syn-lpd__wrap { width:min(100% - 30px,1180px); }
  .syn-lpd__section { padding:58px 0; }
  .syn-lpd h1 { font-size:clamp(36px,10vw,42px); overflow-wrap:anywhere; }
  .syn-lpd__actions { align-items:stretch; flex-direction:column; }
  .syn-lpd__button { width:100%; }
  .syn-lpd__proof .syn-lpd__wrap,.syn-lpd__card-grid--five,.syn-lpd__facts,.syn-lpd__journey,.syn-lpd__service-columns,.syn-lpd__feature-grid { grid-template-columns:1fr; }
  .syn-lpd__proof span { border-right:0; border-bottom:1px solid rgba(255,255,255,.25); }
  .syn-lpd__proof span:last-child { border-bottom:0; }
  .syn-lpd__service-list { grid-template-columns:1fr; }
  .syn-lpd__plans article { padding:27px; }
}
@media (prefers-reduced-motion:reduce) { .syn-lpd__button { transition:none; } }
