/* Estudio luminoso: scoped to Home's native Elementor hero; global tokens unchanged. */
body.ctc-elementor-content .elementor .ctc-luminous-hero {
  position:relative; width:min(calc(100% - 72px),1216px); max-width:1216px;
  margin:0 auto; padding:0; gap:0; background:#fff; min-height:540px;
  --container-default-padding:0;
}
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-slide {
  display:grid; grid-template-columns:42% 58%; grid-template-rows:1fr auto;
  width:100%; min-height:540px; height:540px; padding:28px 56px 56px; gap:0;
  align-items:center; background:#fff; overflow:hidden;
}
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-slide:not(:first-child):not([data-active="true"]),
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-slide[hidden] { display:none!important; }
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-title { grid-column:1; grid-row:1; align-self:end; margin:0 0 26px; width:100%; max-width:370px; }
body.ctc-elementor-content .ctc-luminous-title :is(h1,h2).elementor-heading-title { font:700 clamp(42px,4.8vw,62px)/1.04 Arial,Helvetica,sans-serif; letter-spacing:-2px; color:var(--ctc-ink); text-align:left; }
body.ctc-elementor-content :is(.ctc-luminous-iphone,.ctc-luminous-macbook) .ctc-luminous-title .elementor-heading-title { max-width:370px; }
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-cta { grid-column:1; grid-row:2; align-self:start; margin:0 0 85px; width:auto; }
body.ctc-elementor-content .ctc-luminous-cta .elementor-button { min-height:48px; padding:14px 27px; font-size:16px; }
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-image { grid-column:2; grid-row:1 / 3; width:100%; height:440px; margin:0; }
body.ctc-elementor-content .ctc-luminous-image :is(.elementor-widget-container,a) { height:100%; }
body.ctc-elementor-content .ctc-luminous-image img { width:100%; height:440px; object-fit:contain; }
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-note { position:absolute; left:56px; bottom:64px; font-size:13px; color:var(--ctc-muted); }
body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-controls { position:static; width:100%; margin:0; }
.ctc-luminous-ui { display:none; }
.ctc-luminous-ready .ctc-luminous-ui { display:flex; }
.ctc-luminous-ui button { display:grid; place-items:center; padding:0; border:0; background:#fff; color:var(--ctc-ink); min-width:44px; min-height:44px; cursor:pointer; border-radius:6px; }
.ctc-luminous-ui button:hover { background:var(--ctc-pale); color:var(--ctc-ink); }
.ctc-luminous-ui .ctc-luminous-prev,.ctc-luminous-ui .ctc-luminous-next { position:absolute; top:calc(50% - 22px); z-index:2; }
.ctc-luminous-prev { left:0; }.ctc-luminous-next { right:0; }
.ctc-luminous-ui img { width:24px; height:24px; }.ctc-luminous-prev img { transform:rotate(90deg); }.ctc-luminous-next img { transform:rotate(-90deg); }
.ctc-luminous-dots { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); display:flex; gap:0; z-index:2; }
.ctc-luminous-ui .ctc-luminous-dot { width:44px; min-width:44px; height:44px; border-radius:0; }
.ctc-luminous-dot span { display:block; width:10px; height:10px; border:1px solid var(--ctc-ink); border-radius:50%; }
.ctc-luminous-dot[aria-current="true"] span { background:var(--ctc-ink); }
.ctc-luminous-ui .ctc-luminous-pause { position:absolute; right:0; bottom:8px; padding:8px 12px; font-size:13px; z-index:2; }
.ctc-luminous-fallback { padding:8px 0; display:flex; flex-wrap:wrap; gap:18px; font-size:14px; }
.ctc-luminous-ready .ctc-luminous-fallback { display:none; }
@media(max-width:767px) {
 body.ctc-elementor-content .elementor .ctc-luminous-hero { width:calc(100% - 40px); min-height:540px; }
 body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-slide { height:540px; min-height:540px; padding:24px 0 0; grid-template-columns:1fr; grid-template-rows:84px 310px 1fr; }
 body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-title { grid-column:1; grid-row:1; align-self:center; max-width:330px; margin:0 auto; }
 body.ctc-elementor-content .ctc-luminous-title :is(h1,h2).elementor-heading-title { font-size:34px; line-height:1.04; letter-spacing:-1px; text-align:center; max-width:300px; margin:0 auto; }
 body.ctc-elementor-content :is(.ctc-luminous-iphone,.ctc-luminous-macbook) .ctc-luminous-title .elementor-heading-title { max-width:220px; }
 body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-image { grid-column:1; grid-row:2; height:310px; }
 body.ctc-elementor-content .ctc-luminous-image img { width:100%; height:310px; }
 body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-cta { grid-column:1; grid-row:3; align-self:end; width:100%; margin:0 0 12px; }
 body.ctc-elementor-content .ctc-luminous-cta .elementor-button { display:flex; width:100%; }
 .ctc-luminous-ui .ctc-luminous-prev,.ctc-luminous-ui .ctc-luminous-next { top:235px; }
 .ctc-luminous-prev { left:-16px; }.ctc-luminous-next { right:-16px; }
 .ctc-luminous-dots { bottom:70px; left:0; transform:none; }
 .ctc-luminous-ui .ctc-luminous-pause { right:0; bottom:70px; padding:8px 5px; }
 body.ctc-elementor-content .ctc-luminous-hero .ctc-luminous-note { left:0; right:0; bottom:110px; text-align:center; font-size:12px; }
}
/* In Elementor all slides stay directly editable, never an opaque page shortcode. */
body.elementor-editor-active .ctc-luminous-hero .ctc-luminous-slide { display:grid!important; }
body.elementor-editor-active .ctc-luminous-controls { display:none; }
