/* ═══════════════════════════════════════════════════════
   LUMION PRO PAGE  |  palette: #2b4f82 / #b8d6ed
   ═══════════════════════════════════════════════════════ */
[data-page="lumion-pro"] {
  --page-primary:   #2b4f82;
  --page-secondary: #b8d6ed;
  --lp-accent:      #b8d6ed;
  --lp-dark:        #1e3a63;
  --lp-light-bg:    #f8fafc;
  --font: 'DM Sans', sans-serif;
}

/* ── HERO BUTTONS (inheriting global hero structure) ─── */
[data-page="lumion-pro"] {
  --page-primary:   #2b4f82;
  --page-secondary: #b8d6ed;
}

/* btn-hero inherits the global .btn-start hover sweep from hero.css
   We add page-scoped variants matching the screenshot style */
.btn-hero {
  display: inline-block;
  padding: 12px 28px;
  font-weight: 600;
  font-size: 0.9375rem;
  border-radius: 4px;
  text-decoration: none;
  transition: .25s;
  cursor: pointer;
  font-family: var(--font);
  position: relative;
  overflow: hidden;
}
.btn-hero--outline {
  border: 1px solid rgba(255,255,255,.75);
  color: #fff;
  background: transparent;
}
.btn-hero--outline:hover { background: rgba(255,255,255,.12); color: #fff; }
.btn-hero--ghost {
  border: 1px solid var(--page-secondary);
  color: var(--page-secondary);
  background: transparent;
}
.btn-hero--ghost:hover { background: rgba(184,214,237,.12); color: var(--page-secondary); }

/* ── LOGO SECTION — inherit global, just color tokens ── */
[data-page="lumion-pro"] .logos-section { background: var(--lp-light-bg); }
[data-page="lumion-pro"] .logos-title   { color: var(--page-primary); }
[data-page="lumion-pro"] .logos-sub     { color: #555; }
[data-page="lumion-pro"] .logos-sub a   { color: var(--page-primary); }
[data-page="lumion-pro"] .logos-prev,
[data-page="lumion-pro"] .logos-next    { color: var(--page-primary); }


body[data-page="lumion-pro"] { background:#fff; color:#1a1a1a; }
[data-page="lumion-pro"] .navbar,
[data-page="lumion-pro"] .navbar.scrolled { background: #2b4f82; }
[data-page="lumion-pro"] .mob-nav { background:#2b4f82; }

/* Shared button styles */
.lp-btn {
  display:inline-block; padding:12px 28px;
  font-weight:600; font-size:0.9375rem; font-family:var(--font);
  border-radius:4px; text-decoration:none; transition:.25s; cursor:pointer;
}
.lp-btn-outline  { border:1px solid rgba(255,255,255,.8); color:#fff; background:transparent; }
.lp-btn-outline:hover { background:rgba(255,255,255,.12); }
.lp-btn-ghost    { border:1px solid var(--lp-accent); color:var(--lp-accent); background:transparent; }
.lp-btn-ghost:hover { background:rgba(184,214,237,.1); }
.lp-btn-dark     { border:1px solid #1a1a1a; color:#1a1a1a; background:#fff; }
.lp-btn-dark:hover { background:#f0f0f0; }
.lp-btn-accent   { background:var(--page-primary); color:#fff; border:1px solid var(--page-primary); }
.lp-btn-accent:hover { background:var(--lp-dark); }
.lp-btn-outline-dark { border:1px solid var(--page-primary); color:var(--page-primary); background:transparent; }
.lp-btn-outline-dark:hover { background:rgba(43,79,130,.08); }

/* ── HERO ──────────────────────────────────────────────── */
.lp-hero {
  background:var(--page-primary);
  min-height:620px;
  overflow:hidden;
  position:relative;
}
.lp-hero-inner {
  max-width:1600px; margin:0 auto;
  display:flex; align-items:center;
  min-height:620px; position:relative;
}
.lp-hero-text {
  flex:0 0 auto; width:40%;
  padding:100px 0 80px 60px;
  position:relative; z-index:2;
}
.lp-hero-title {
  font-size:clamp(3rem,5vw,5rem); font-weight:700;
  color:#fff; line-height:1.05; margin-bottom:28px;
}
.lp-hero-desc { font-size:1.125rem; color:rgba(255,255,255,.8); margin-bottom:40px; line-height:1.5; }
.lp-hero-btns { display:flex; gap:16px; flex-wrap:wrap; }
.lp-hero-image {
  flex:1; position:absolute;
  right:0; top:0; width:60%; height:100%;
}
.lp-hero-image img {
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.lp-hero-mask {
  position:absolute; left:-2px; top:0;
  height:100%; width:auto;
}

/* ── SCROLL VIDEO SECTION ──────────────────────────────── */
.lp-svc { background:#fff; overflow:hidden; }
.lp-svc-intro {
  text-align:center; padding:80px 20px 40px;
}
.lp-svc-intro h4 {
  font-size:clamp(2rem,4vw,3.5rem); font-weight:700;
  color:var(--page-primary); margin-bottom:32px;
}
.lp-svc-btns { display:flex; justify-content:center; gap:16px; }
.lp-svc-video-wrap {
  position:relative; overflow:hidden;
  border-radius:16px 16px 0 0;
  margin:0 40px;
}
.lp-svc-video-wrap video {
  width:100%; display:block; border-radius:16px 16px 0 0;
}
.lp-svc-mask {
  position:absolute; bottom:-1px; left:0; width:100%; pointer-events:none;
}

/* ── HOW IT WORKS ──────────────────────────────────────── */
.lp-how { padding:80px 20px; background:#fff; }
.lp-how-inner { max-width:1300px; margin:0 auto; }
.lp-how-title {
  font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700;
  color:var(--page-primary); margin-bottom:50px;
}
.lp-how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:40px; }
.lp-how-item a { display:block; text-decoration:none; color:inherit; padding-bottom:16px; }
.lp-how-item h5 { font-size:1rem; font-weight:700; color:var(--page-primary); margin-bottom:10px; }
.lp-how-item p { font-size:0.9375rem; color:#555; line-height:1.6; }
.lp-how-line { display:block; height:1px; background:var(--page-primary); opacity:.3; }
.lp-how-item:hover h5 { color:var(--lp-dark); }
.lp-how-item:hover .lp-how-line { opacity:1; }

/* ── CWL ACCORDION SECTIONS ────────────────────────────── */
.lp-cwl { padding:100px 20px; background:var(--lp-light-bg); }
.lp-cwl--dark { background:var(--page-primary); color:#fff; }
.lp-cwl-inner {
  max-width:1300px; margin:0 auto;
  display:flex; gap:60px; align-items:flex-start;
}
.lp-cwl-text { flex:1; }
.lp-cwl-text h4 {
  font-size:clamp(1.8rem,3vw,2.5rem); font-weight:700;
  color:var(--page-primary); margin-bottom:20px; line-height:1.2;
}
.lp-cwl--dark .lp-cwl-text h4 { color:#fff; }
.lp-cwl-text > p { font-size:1.0625rem; color:#444; line-height:1.6; margin-bottom:16px; }
.lp-cwl--dark .lp-cwl-text > p { color:rgba(255,255,255,.8); }
.lp-cwl-text a { color:var(--page-primary); text-decoration:underline; }
.lp-cwl--dark .lp-cwl-text a { color:var(--lp-accent); }
.lp-cwl-media {
  flex:1; position:sticky; top:100px;
  border-radius:12px; overflow:hidden;
}
.lp-cwl-media video,
.lp-cwl-media img { width:100%; display:block; border-radius:12px; }

/* Accordion */
.lp-accordion { margin-top:28px; border-top:1px solid rgba(43,79,130,.2); }
.lp-accordion--dark { border-top-color:rgba(255,255,255,.2); }
.lp-acc-item { border-bottom:1px solid rgba(43,79,130,.2); position:relative; }
.lp-accordion--dark .lp-acc-item { border-bottom-color:rgba(255,255,255,.2); }
.lp-acc-header {
  width:100%; background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0; font-size:0.9375rem; font-weight:600;
  color:rgba(43,79,130,.55); font-family:var(--font); text-align:left; transition:color .2s;
}
.lp-accordion--dark .lp-acc-header { color:rgba(255,255,255,.55); }
.lp-acc-header svg { flex-shrink:0; margin-left:10px; transition:transform .3s; }
.lp-acc-item.active .lp-acc-header { color:var(--page-primary); }
.lp-accordion--dark .lp-acc-item.active .lp-acc-header { color:#fff; }
.lp-acc-item.active .lp-acc-header svg { transform:rotate(180deg); }
.lp-acc-body { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.lp-acc-body p { font-size:0.9375rem; color:#555; padding-bottom:16px; line-height:1.7; margin:0; }
.lp-accordion--dark .lp-acc-body p { color:rgba(255,255,255,.7); }
.lp-acc-links { display:flex; gap:20px; padding-bottom:16px; flex-wrap:wrap; }
.lp-acc-links a { font-size:0.9375rem; font-weight:600; color:var(--page-primary); text-decoration:underline; text-underline-offset:2px; }
.lp-acc-item::after { content:''; position:absolute; bottom:0; left:0; height:1px; width:0; background:var(--page-primary); transition:width .3s; }
.lp-acc-item:hover::after, .lp-acc-item.active::after { width:100%; }

/* ── TESTIMONIALS ──────────────────────────────────────── */
.lp-testimonials {
  background:var(--page-primary); color:#fff; padding:80px 20px;
}
.lp-testimonials-inner { max-width:1000px; margin:0 auto; }
.lp-testimonials h4 {
  font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700;
  text-align:center; margin-bottom:50px;
}
.lp-testimonials-slider { display:flex; align-items:center; gap:16px; }
.lp-t-prev, .lp-t-next {
  background:none; border:none; cursor:pointer;
  color:var(--lp-accent); flex-shrink:0; padding:8px;
}
.lp-t-track-wrap { flex:1; overflow:hidden; }
.lp-t-track { display:flex; transition:transform .4s ease; }
.lp-t-slide { min-width:100%; padding:0 8px; }
.lp-t-author { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.lp-t-author img { width:64px; height:64px; border-radius:50%; object-fit:cover; }
.lp-t-name { font-weight:700; font-size:1.0625rem; }
.lp-t-role { font-size:0.875rem; color:rgba(255,255,255,.6); }
.lp-t-quote { font-size:1.125rem; line-height:1.7; color:rgba(255,255,255,.9); }
.lp-t-dots { display:flex; justify-content:center; gap:8px; margin-top:32px; }
.lp-t-dot { width:8px; height:8px; border-radius:50%; border:none; background:rgba(255,255,255,.3); cursor:pointer; transition:.2s; padding:0; }
.lp-t-dot.active { background:#fff; }

/* ── LOGO CAROUSEL ──────────────────────────────────────── */
.lp-logos { padding:70px 20px; background:var(--lp-light-bg); }
.lp-logos-inner { max-width:1300px; margin:0 auto; text-align:center; }
.lp-logos h4 { font-size:clamp(1.5rem,3vw,2.2rem); font-weight:700; color:var(--page-primary); margin-bottom:16px; }
.lp-logos p { font-size:1rem; color:#555; margin-bottom:40px; }
.lp-logos p a { color:var(--page-primary); text-decoration:underline; }
.lp-logos-track-wrap { display:flex; align-items:center; gap:12px; }
.lp-logo-prev, .lp-logo-next { background:none; border:none; cursor:pointer; color:var(--page-primary); flex-shrink:0; }
.lp-logos-track { flex:1; display:flex; gap:20px; overflow-x:auto; scrollbar-width:none; padding:10px 0; }
.lp-logos-track::-webkit-scrollbar { display:none; }
.lp-logo-item { flex:0 0 160px; height:80px; display:flex; align-items:center; justify-content:center;
  background:#fff; border-radius:8px; padding:16px; border:1px solid rgba(0,0,0,.07); text-decoration:none; }
.lp-logo-item img { max-width:120px; max-height:40px; object-fit:contain; filter:opacity(.7); transition:.2s; }
.lp-logo-item:hover img { filter:opacity(1); }

/* ── VIDEO GRID ─────────────────────────────────────────── */
.lp-videogrid { padding:100px 20px; background:#fff; }
.lp-videogrid-inner { max-width:1300px; margin:0 auto; }
.lp-videogrid h4 { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700; color:var(--page-primary); margin-bottom:16px; }
.lp-videogrid > .lp-videogrid-inner > p { font-size:1rem; color:#555; margin-bottom:40px; }
.lp-vg-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.lp-vg-item video { width:100%; border-radius:12px; display:block; margin-bottom:20px; }
.lp-vg-item p { font-size:0.9375rem; color:#444; line-height:1.6; }

/* ── ASSET LIBRARY TABS ─────────────────────────────────── */
.lp-assets { padding:100px 20px; background:var(--lp-light-bg); }
.lp-assets-inner { max-width:1300px; margin:0 auto; }
.lp-assets h4 { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700; color:var(--page-primary); margin-bottom:32px; }
.lp-assets-tabs { display:flex; gap:32px; border-bottom:1px solid rgba(43,79,130,.2); margin-bottom:40px; }
.lp-tab {
  background:none; border:none; cursor:pointer;
  font-size:0.9375rem; font-weight:600; padding:10px 0;
  color:rgba(43,79,130,.5); position:relative; font-family:var(--font); transition:color .2s;
}
.lp-tab::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--page-primary); transform:scaleX(0); transition:transform .2s; }
.lp-tab.active { color:var(--page-primary); }
.lp-tab.active::after { transform:scaleX(1); }
.lp-tab-panel { display:none; }
.lp-tab-panel.active { display:block; }
.lp-assets-split { display:flex; gap:50px; align-items:center; }
.lp-assets-text { flex:1; }
.lp-assets-text h4 { font-size:1.75rem; margin-bottom:16px; }
.lp-assets-text p { font-size:1rem; color:#444; line-height:1.6; margin-bottom:12px; }
.lp-assets-img { flex:1.2; border-radius:12px; overflow:hidden; }
.lp-assets-img img { width:100%; display:block; border-radius:12px; }

/* ── COLLECTION SECTIONS ────────────────────────────────── */
.lp-collection { padding:100px 20px; background:#fff; }
.lp-collection-inner { max-width:1300px; margin:0 auto; }
.lp-collection h4 { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700; color:var(--page-primary); margin-bottom:16px; }
.lp-collection > .lp-collection-inner > p { font-size:1rem; color:#444; line-height:1.6; margin-bottom:40px; }
.lp-col-row { display:grid; grid-template-columns:1fr 1.6fr; gap:24px; margin-bottom:24px; align-items:stretch; }
.lp-col-row--reverse { grid-template-columns:1fr 1.6fr; }
.lp-col-row--reverse .lp-col-small { order:1; }
.lp-col-row--reverse .lp-col-large { order:0; }
.lp-col-small, .lp-col-large { border-radius:12px; overflow:hidden; position:relative; }
.lp-col-small img, .lp-col-small video,
.lp-col-large img, .lp-col-large video { width:100%; height:100%; object-fit:cover; display:block; border-radius:12px; }
.lp-col-caption {
  position:absolute; bottom:16px; left:16px;
  background:rgba(0,0,0,.5); color:#fff;
  padding:6px 12px; border-radius:4px; font-size:0.875rem;
}

/* ── OUTPUT CARDS ────────────────────────────────────────── */
.lp-cards-light { padding:100px 20px; background:var(--lp-light-bg); }
.lp-cards-inner { max-width:1300px; margin:0 auto; }
.lp-cards-inner h4 { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700; color:var(--page-primary); margin-bottom:12px; }
.lp-cards-inner > p { font-size:1rem; color:#444; line-height:1.6; margin-bottom:40px; }
.lp-cards-inner > p a { color:var(--page-primary); }
.lp-cards-grid { display:grid; gap:28px; }
.lp-cards-grid--3 { grid-template-columns:repeat(3,1fr); }
.lp-cards-grid--4 { grid-template-columns:repeat(4,1fr); }
.lp-card-light { display:flex; flex-direction:column; }
.lp-card-light img { width:100%; border-radius:8px; object-fit:cover; display:block; margin-bottom:18px; }
.lp-card-video { border-radius:8px; overflow:hidden; margin-bottom:18px; }
.lp-card-video video { width:100%; display:block; }
.lp-card-light h5 { font-size:1.0625rem; font-weight:700; color:var(--page-primary); margin-bottom:8px; }
.lp-card-light p { font-size:0.9375rem; color:#555; line-height:1.5; }
.lp-card-light p a { color:var(--page-primary); }

/* ── PRINT-READY (dark media layout) ─────────────────────── */
.lp-media-dark { padding:100px 20px; background:var(--page-primary); color:#fff; }
.lp-media-dark-inner { max-width:1300px; margin:0 auto; display:flex; gap:60px; align-items:center; }
.lp-media-dark-text { flex:1; }
.lp-media-dark-text h4 { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700; margin-bottom:20px; }
.lp-media-dark-text p { font-size:1.0625rem; color:rgba(255,255,255,.8); line-height:1.6; margin-bottom:16px; }
.lp-media-dark-img { flex:1.2; border-radius:12px; overflow:hidden; }
.lp-media-dark-img img { width:100%; display:block; border-radius:12px; }

/* ── LINK GRID ───────────────────────────────────────────── */
.lp-link-grid { background:var(--page-primary); }
.lp-link-grid-inner { max-width:100%; display:grid; grid-template-columns:repeat(3,1fr); }
.lp-lg-item {
  padding:60px 48px;
  border-right:1px solid rgba(255,255,255,.1);
  text-decoration:none; color:#fff;
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  transition:background .2s;
}
.lp-lg-item:last-child { border-right:none; }
.lp-lg-item:hover { background:rgba(255,255,255,.06); }
.lp-lg-item h4 { font-size:1.5rem; font-weight:700; margin-bottom:12px; }
.lp-lg-item p { font-size:0.9375rem; color:rgba(255,255,255,.7); line-height:1.5; }
.lp-lg-arrow { width:28px; flex-shrink:0; color:rgba(255,255,255,.5); margin-top:4px; transition:.2s; }
.lp-lg-item:hover .lp-lg-arrow { color:#fff; transform:translateX(4px); }

/* ── HIGHLIGHT SECTION ───────────────────────────────────── */
.lp-highlight { background:#fff; overflow:hidden; }
.lp-highlight-inner { display:flex; min-height:580px; }
.lp-highlight-img { flex:1; position:relative; }
.lp-highlight-img img { width:100%; height:100%; object-fit:cover; display:block; }
.lp-highlight-mask { position:absolute; top:0; right:-2px; height:100%; width:auto; }
.lp-highlight-text {
  flex:1; padding:80px 60px 80px 40px;
  display:flex; flex-direction:column; justify-content:center;
}
.lp-highlight-text h3 { font-size:clamp(2rem,3.5vw,3rem); font-weight:700; color:var(--page-primary); margin-bottom:20px; }
.lp-highlight-text p { font-size:1rem; color:#444; line-height:1.6; margin-bottom:16px; }
.lp-highlight-text ul { padding-left:20px; margin-bottom:20px; color:#444; }
.lp-highlight-text ul li { margin-bottom:8px; font-size:1rem; line-height:1.5; }
.lp-highlight-btns { display:flex; gap:16px; flex-wrap:wrap; margin-top:8px; }

/* ── CTA BLOCKS ──────────────────────────────────────────── */
.lp-cta-block { background:var(--page-primary); padding:100px 20px; text-align:center; }
.lp-cta-inner { max-width:700px; margin:0 auto; }
.lp-cta-inner h3 { font-size:clamp(2rem,4vw,3rem); font-weight:700; color:var(--lp-accent); margin-bottom:20px; line-height:1.15; }
.lp-cta-inner p { font-size:1.125rem; color:rgba(255,255,255,.8); margin-bottom:36px; line-height:1.6; }
.lp-cta-btns { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }

/* ── FOOTER OVERRIDES ────────────────────────────────────── */
[data-page="lumion-pro"] .footer,
[data-page="lumion-pro"] .footer-cta,
[data-page="lumion-pro"] .footer-nav { background:#1e3a63; }
[data-page="lumion-pro"] .footer-bottom { background:#162e52; }
[data-page="lumion-pro"] .footer-cta h3 { color:rgba(255,255,255,.9); }
[data-page="lumion-pro"] .footer-link { color:rgba(255,255,255,.6); }
[data-page="lumion-pro"] .footer-link:hover { color:#fff; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1100px) {
  .lp-hero-text { width:50%; }
  .lp-hero-image { width:55%; }
  .lp-how-grid { grid-template-columns:repeat(2,1fr); }
  .lp-highlight-inner { flex-direction:column; }
  .lp-highlight-img { height:400px; }
  .lp-highlight-mask { display:none; }
  .lp-link-grid-inner { grid-template-columns:1fr; }
  .lp-lg-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); }
}
@media(max-width:900px) {
  .lp-hero-inner { flex-direction:column; }
  .lp-hero-text { width:100%; padding:80px 24px 40px; }
  .lp-hero-image { position:relative; width:100%; height:340px; }
  .lp-hero-mask { display:none; }
  .lp-cwl-inner, .lp-media-dark-inner, .lp-assets-split { flex-direction:column; }
  .lp-cwl-media { position:relative; top:0; width:100%; }
  .lp-vg-grid { grid-template-columns:1fr; }
  .lp-cards-grid--3, .lp-cards-grid--4 { grid-template-columns:repeat(2,1fr); }
  .lp-col-row, .lp-col-row--reverse { grid-template-columns:1fr; }
  .lp-col-row--reverse .lp-col-small, .lp-col-row--reverse .lp-col-large { order:unset; }
  .lp-svc-video-wrap { margin:0 12px; }
}
@media(max-width:600px) {
  .lp-how-grid { grid-template-columns:1fr; }
  .lp-cards-grid--3, .lp-cards-grid--4 { grid-template-columns:1fr; }
  .lp-assets-tabs { gap:16px; overflow-x:auto; }
  .lp-highlight-text { padding:40px 24px; }
  .lp-lg-item { padding:40px 24px; }
}