/* Canvas Theory — maps native Elementor widgets onto the CT design. Assign these classes via Advanced > CSS Classes. */
.ct-section{padding-block:clamp(64px,9vw,128px)!important}
.ct-section--tight{padding-block:clamp(48px,6vw,80px)!important}
.ct-section--ink{background:var(--ink);--fg:#E9ECF2;--muted:#9AA2B2;--accent:#7E96FF;color:#E9ECF2}
.ct-section--sky{background:var(--blue-tint)}
.ct-section--blue{background:var(--blue);--fg:#fff;--muted:#C9D2FF;--accent:#fff;color:#fff}
.e-con.ct-wrap{max-width:var(--maxw);margin-inline:auto}
.elementor-widget.ct-eyebrow .elementor-heading-title{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent,var(--blue));display:inline-flex;align-items:center;gap:.6em}
.elementor-widget.ct-eyebrow .elementor-heading-title::before{content:"";width:9px;height:9px;background:var(--accent,var(--blue));display:inline-block}
.elementor-widget.ct-h1 .elementor-heading-title{font-family:var(--font-display);font-weight:700;line-height:1.0;letter-spacing:-.022em;font-size:clamp(2.7rem,7.2vw,5.6rem);color:var(--fg,var(--ink))}
.elementor-widget.ct-h2 .elementor-heading-title{font-family:var(--font-display);font-weight:700;line-height:1.04;letter-spacing:-.022em;font-size:clamp(2.05rem,4.6vw,3.6rem);color:var(--fg,var(--ink))}
.elementor-widget.ct-h3 .elementor-heading-title{font-family:var(--font-display);font-weight:600;font-size:1.32rem;letter-spacing:-.01em;line-height:1.18;color:var(--fg,var(--ink))}
.ct-hl{color:var(--blue)}
.ct-section--ink .ct-hl,.ct-section--blue .ct-hl{color:var(--accent)}
.elementor-widget.ct-lead .elementor-widget-container{font-size:clamp(1.08rem,1.6vw,1.32rem);color:var(--muted);line-height:1.55}
.elementor-widget.ct-body .elementor-widget-container{color:var(--muted)}
.elementor-widget.ct-kicker .elementor-heading-title{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--accent,var(--blue));letter-spacing:.04em}
.elementor-widget.ct-btn .elementor-button{font-family:var(--font-body);font-weight:600;font-size:.97rem;padding:.92em 1.5em;border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;gap:.55em;transition:all .25s;line-height:1}
.elementor-widget.ct-btn-primary .elementor-button{background:var(--blue);color:#fff}
.elementor-widget.ct-btn-primary .elementor-button:hover{background:var(--blue-deep);transform:translateY(-2px)}
.elementor-widget.ct-btn-ghost .elementor-button{background:transparent;color:var(--fg,var(--ink));border-color:var(--line)}
.elementor-widget.ct-btn-ghost .elementor-button:hover{background:var(--fg,var(--ink));color:var(--canvas)}
.elementor-widget.ct-btn-white .elementor-button{background:#fff;color:var(--blue)}
.elementor-widget.ct-media img{border-radius:var(--r-lg);box-shadow:0 40px 80px -40px rgba(16,19,26,.45);width:100%;display:block}
.e-con.ct-hero-grid{gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:880px){.e-con.ct-hero-grid{flex-direction:column}}
.e-con.ct-grid{display:grid;gap:1.4rem}
.e-con.ct-grid-3{grid-template-columns:repeat(3,1fr)}
.e-con.ct-grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1080px){.e-con.ct-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.e-con.ct-grid-3,.e-con.ct-grid-2{grid-template-columns:1fr}}
.e-con.ct-card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r);padding:clamp(1.6rem,2.4vw,2.2rem)!important;transition:transform .35s,border-color .3s,box-shadow .35s}
.e-con.ct-card:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:0 26px 50px -30px rgba(28,64,216,.4)}