.elementor-7500 .elementor-element.elementor-element-291a9eb{--display:flex;--min-height:20px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7500 .elementor-element.elementor-element-8aa434c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-8aa434c *//* =====================================================
   Alumni CAIP — Asosiasi AI Indonesia
   Custom stylesheet
   ===================================================== */

/* --- Glass morphism --------------------------------- */
.glass {
    background: rgba(255, 255, 255, .07);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .12);
}

.glass-light {
    background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .9);
}

/* --- Gradients -------------------------------------- */
.hero-gradient {
    background: radial-gradient(ellipse at 70% -10%, #1e40af 0%, #0f2547 45%, #050e1d 100%);
}

.process-bg {
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f0fe 50%, #f5f0ff 100%);
}

/* --- Card hover ------------------------------------- */
.card-hover {
    transition: transform .25s ease, box-shadow .25s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 48px rgba(37, 99, 235, .18);
}

.card-hover-light:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 48px rgba(37, 99, 235, .12);
}

/* --- Neural line animation -------------------------- */
.neural-line {
    stroke-dasharray: 300;
    stroke-dashoffset: 300;
    animation: draw-line 3s ease forwards;
}

@keyframes draw-line {
    to { stroke-dashoffset: 0; }
}

/* --- Decorative orb --------------------------------- */
.orb {
    border-radius: 50%;
    filter: blur(70px);
    opacity: .45;
    position: absolute;
    pointer-events: none;
}

/* --- Process step card top border ------------------- */
.step-card {
    border-top: 4px solid;
}

/* =====================================================
   PHOTO FRAME — circular crop
   Wrapper div + img inside = bulletproof circle
   ===================================================== */

/* Wrapper: forces a perfect square, clips to circle */
.foto-bulat {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 1rem auto;
    flex-shrink: 0;
    position: relative;
    border: 2px solid rgba(255, 255, 255, .15);
    transition: border-color .25s ease, transform .25s ease;
}

/* Light section variant */
.foto-bulat--light {
    border-color: #e5e7eb;
}

/* Hover states */
.group:hover .foto-bulat {
    border-color: rgba(251, 191, 36, .5);  /* amber for dark sections */
    transform: scale(1.05);
}

.group:hover .foto-bulat--light {
    border-color: #93c5fd;                  /* blue-300 for light sections */
    transform: scale(1.05);
}

/* The img itself fills the wrapper completely */
.foto-bulat img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}/* End custom CSS */