/* AHA! Future Tech — fix-forward layer
   Targets the actual Elementor DOM used by the existing pages. */
:root{
  --aha-lime:#d7ff36;--aha-coral:#ff705e;--aha-blue:#6d8cff;
  --aha-cream:#f5f1e7;--aha-ink:#10110f;--aha-panel:#191b17;
  --aha-panel2:#22251f;--aha-rule:#3a3d34;--aha-muted:#b9b9ae;
}
.aft-main{background:var(--aha-ink)!important;color:var(--aha-cream)!important}
.aft-main .elementor{width:100%}
.aft-main .elementor > .e-con{box-sizing:border-box}
.aft-main .elementor-widget-text-editor,
.aft-main .elementor-widget-text-editor p,
.aft-main .elementor-widget-text-editor li{color:var(--aha-muted)!important}
.aft-main .elementor-widget-text-editor strong{color:var(--aha-cream)!important}
.aft-main .elementor-widget-text-editor a{color:var(--aha-lime)!important;text-decoration-color:var(--aha-coral)!important}
.aft-main .elementor-widget-text-editor a:hover{color:var(--aha-coral)!important}
.aft-main .elementor-widget-text-editor h1,
.aft-main .elementor-widget-heading .elementor-heading-title{
  color:var(--aha-cream)!important;font-family:"Space Grotesk",sans-serif!important;
  font-weight:700!important;letter-spacing:-.075em!important;line-height:.92!important;
}
.aft-main .elementor-widget-text-editor h2{
  color:var(--aha-lime)!important;font:500 11px/1.4 "DM Mono",monospace!important;
  letter-spacing:.15em!important;text-transform:uppercase!important;
}
.aft-main .elementor > .e-con:first-child{
  position:relative;isolation:isolate;min-height:360px;
  padding:clamp(76px,9vw,124px) max(28px,calc((100vw - 1180px)/2)) clamp(52px,7vw,88px)!important;
  border-bottom:1px solid rgba(215,255,54,.22);
}
.aft-main .elementor > .e-con:first-child:after{
  content:"";position:absolute;z-index:-1;right:max(24px,calc((100vw - 1180px)/2 + 28px));
  top:18%;width:clamp(130px,22vw,290px);aspect-ratio:1;border:1px solid rgba(215,255,54,.32);
  border-radius:50%;background:radial-gradient(circle,rgba(215,255,54,.12),rgba(109,140,255,.05) 44%,transparent 70%);
  box-shadow:0 0 0 22px rgba(215,255,54,.025),0 0 0 44px rgba(109,140,255,.02);pointer-events:none;
}
.aft-main .elementor > .e-con:first-child h1,
.aft-main .elementor > .e-con:first-child .elementor-heading-title{
  display:block;max-width:950px;font-size:clamp(54px,8.5vw,112px)!important;
  text-wrap:balance;margin:0 0 28px!important;
}
.aft-main .elementor > .e-con:first-child .elementor-widget-text-editor p:first-of-type{
  max-width:760px;color:var(--aha-cream)!important;
  font:500 clamp(21px,2.5vw,31px)/1.35 "Newsreader",Georgia,serif!important;
}
.aft-main .elementor > .e-con:not(:first-child){
  padding:clamp(38px,5.5vw,76px) max(28px,calc((100vw - 1180px)/2))!important;
  border-bottom:1px solid rgba(215,255,54,.12);
}
.aft-main .elementor > .e-con:not(:first-child) .e-con-inner{max-width:1180px;margin-inline:auto}
.aft-main .elementor-widget-text-editor h2{margin:0 0 20px!important}
.aft-main .elementor-widget-text-editor h2+p{max-width:780px;font-size:18px;line-height:1.75}
.aft-main .elementor-widget-image img{display:block;border:1px solid var(--aha-rule);filter:saturate(.86) contrast(1.04)}
/* About: keep the long-form manifesto readable and make its visual plate intentional. */
.elementor-page-232 .elementor > .e-con:first-child .elementor-widget-text-editor{max-width:900px;position:relative;z-index:1}
.elementor-page-232 .elementor > .e-con:first-child .elementor-widget-text-editor h1{font-size:clamp(60px,9vw,116px)!important}
.elementor-page-232 .elementor > .e-con:first-child .elementor-widget-image{max-width:760px;margin:36px 0 0 auto;position:relative;z-index:1}
.elementor-page-232 .elementor > .e-con:first-child .elementor-widget-text-editor h2{margin-top:64px!important;padding-top:18px;border-top:1px solid var(--aha-rule)}
.elementor-page-232 .elementor > .e-con:first-child .elementor-widget-text-editor h2+p{font:500 clamp(20px,2.2vw,27px)/1.5 "Newsreader",Georgia,serif!important;color:var(--aha-cream)!important}
/* Experience and CV: timeline / dossier rhythm, independent of custom Elementor classes. */
.elementor-page-324 .elementor > .e-con:not(:first-child),
.elementor-page-332 .elementor > .e-con:not(:first-child){background:linear-gradient(90deg,rgba(215,255,54,.035),transparent 48%)}
.elementor-page-324 .elementor-widget-text-editor h2,
.elementor-page-332 .elementor-widget-text-editor h2{padding-bottom:14px;border-bottom:1px solid var(--aha-rule)}
.elementor-page-324 .aft-role,.elementor-page-332 .aft-cv-grid>div,
.elementor-page-332 .aft-cv-four>div{border-color:var(--aha-rule)!important;border-radius:0!important}
/* AI & Engineering: sections read as lab notes, not generic stacked blocks. */
.elementor-page-326 .elementor > .e-con:nth-child(even){background:var(--aha-panel);border-block:1px solid var(--aha-rule)}
.elementor-page-326 .elementor-widget-text-editor h2{font-size:clamp(30px,4.5vw,54px)!important;letter-spacing:-.06em!important;text-transform:none!important;color:var(--aha-cream)!important;font-family:"Space Grotesk",sans-serif!important}
.elementor-page-326 .elementor-widget-text-editor h3{color:var(--aha-lime)!important}
/* Projects: clear catalogue hierarchy with tactile project panels. */
.elementor-page-328 .elementor > .e-con:first-child{min-height:340px}
.elementor-page-328 .elementor > .e-con:not(:first-child){max-width:1180px;margin-inline:auto}
.elementor-page-328 .elementor-widget-text-editor h2{font-size:12px!important;color:var(--aha-coral)!important}
.elementor-page-328 .elementor-widget-text-editor h2+p,
.elementor-page-328 .elementor-widget-text-editor h2+p+p,
.elementor-page-328 .elementor-widget-text-editor h2+p+p+p{
  padding:24px!important;margin:12px 0!important;background:var(--aha-panel)!important;
  border:1px solid var(--aha-rule)!important;border-left:3px solid var(--aha-lime)!important;
}
.elementor-page-328 .elementor-widget-text-editor h2+p strong,
.elementor-page-328 .elementor-widget-text-editor h2+p+p strong,
.elementor-page-328 .elementor-widget-text-editor h2+p+p+p strong{font:600 26px/1.1 "Space Grotesk",sans-serif!important;color:var(--aha-cream)!important}
/* Writing and Contact. */
.elementor-page-330 .elementor > .e-con:nth-child(2){background:var(--aha-panel)}
.elementor-page-330 .elementor-widget-text-editor h2{font-size:clamp(24px,3.5vw,42px)!important;color:var(--aha-cream)!important;text-transform:none!important;font-family:"Space Grotesk",sans-serif!important;letter-spacing:-.05em!important}
.elementor-page-334 .elementor-widget-form,.elementor-page-359 .elementor-widget-form{background:var(--aha-panel);padding:clamp(20px,4vw,40px);border:1px solid var(--aha-rule);border-top:3px solid var(--aha-lime)}
.elementor-page-334 input,.elementor-page-334 textarea,.elementor-page-359 input,.elementor-page-359 textarea{background:var(--aha-ink)!important;border:1px solid var(--aha-rule)!important;border-radius:0!important;color:var(--aha-cream)!important}
@media(max-width:720px){
 .aft-main .elementor > .e-con:first-child{min-height:0;padding:72px 20px 48px!important}
 .aft-main .elementor > .e-con:not(:first-child){padding:38px 20px!important}
 .aft-main .elementor > .e-con:first-child:after{width:120px;right:10px;top:12%}
 .aft-main .elementor > .e-con:first-child h1,
 .aft-main .elementor > .e-con:first-child .elementor-heading-title{font-size:clamp(46px,13vw,72px)!important}
 .elementor-page-232 .elementor > .e-con:first-child .elementor-widget-image{margin-top:24px}
}
