/* ALFASAN HOMEPAGE HERO â€” Mobile-first, full-viewport split layout. Colors stay local to this slider; slide copy and images remain Drupal-managed. */
.alfa-home-slider{--alfa-slider-blue:#E9F3FC;--alfa-slider-deep:#E9F3FC;--alfa-slider-ink:#17384d;--alfa-slider-muted:#38566b;--alfa-slider-accent:#0171b9;--alfa-slider-controls:#19296E;position:relative;width:100%;height:100vh;height:100dvh;min-height:min(100dvh,32rem);overflow:hidden;border-bottom:3px solid var(--alfa-slider-accent);background:#E9F3FC;color:var(--alfa-slider-ink);isolation:isolate;}
/* SLIDE FRAME â€” Every item shares one viewport-sized frame. JavaScript applies the state classes; keep the 900ms animation duration in sync with its cleanup timer. */
.alfa-slider-track,.alfa-slider-item{position:absolute;inset:0;}
.alfa-slider-item{display:block;overflow:hidden;opacity:0;visibility:hidden;}
.alfa-slider-item.is-active{z-index:1;opacity:1;visibility:visible;}
.alfa-slider-item.is-entering-from-right,.alfa-slider-item.is-entering-from-left{z-index:3;visibility:visible;animation:.9s cubic-bezier(.22,1,.36,1) both;}
.alfa-slider-item.is-entering-from-right{animation-name:alfa-slider-enter-right;}
.alfa-slider-item.is-entering-from-left{animation-name:alfa-slider-enter-left;}
.alfa-slider-item.is-leaving-to-left,.alfa-slider-item.is-leaving-to-right{z-index:2;visibility:visible;animation:.9s cubic-bezier(.22,1,.36,1) both;}
.alfa-slider-item.is-leaving-to-left{animation-name:alfa-slider-leave-left;}
.alfa-slider-item.is-leaving-to-right{animation-name:alfa-slider-leave-right;}
/* KEN BURNS â€” Each incoming image starts a gentle zoom with the slide change; the 7s zoom matches the 7s slide interval. */
.alfa-slider-image{transform:scale(1.04);transform-origin:center;}
.alfa-slider-item.is-active .alfa-slider-image{animation:alfa-slider-kenburns 7s ease-out both;}
@keyframes alfa-slider-kenburns{from{transform:scale(1.04) translate3d(0,0,0);}to{transform:scale(1.16) translate3d(-1.4%,-.8%,0);}}
/* NEXT: incoming content travels right-to-left; PREVIOUS reverses that direction. The outgoing panel moves less so the change feels layered. */
@keyframes alfa-slider-enter-right{from{opacity:.65;transform:translateX(100%);}to{opacity:1;transform:translateX(0);}}
@keyframes alfa-slider-enter-left{from{opacity:.65;transform:translateX(-100%);}to{opacity:1;transform:translateX(0);}}
@keyframes alfa-slider-leave-left{from{opacity:1;transform:translateX(0);}to{opacity:0;transform:translateX(-18%);}}
@keyframes alfa-slider-leave-right{from{opacity:1;transform:translateX(0);}to{opacity:0;transform:translateX(18%);}}
/* COPY AND IMAGE â€” The left panel holds the injected heading, description and optional link. The right panel clips its image into the reference's diagonal edge. */
.alfa-slider-content{display:grid;width:100%;height:100%;grid-template-columns:minmax(0,65%) minmax(0,35%);align-items:stretch;background:linear-gradient(145deg,var(--alfa-slider-blue),var(--alfa-slider-deep));}
.alfa-slider-copy{position:relative;z-index:2;display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:1.5rem .7rem 4.8rem 1.1rem;}
.alfa-slider-eyebrow{display:flex;align-items:center;gap:.55rem;margin:0 0 .8rem;color:var(--alfa-slider-muted);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;}
.alfa-slider-eyebrow::before{width:1.6rem;height:3px;background:var(--alfa-slider-accent);content:"";}
.alfa-slider-title{max-width:12ch;margin:0 0 .7rem;color:var(--alfa-slider-ink);font-family:var(--heading-font,Georgia,serif);font-size:clamp(1.9rem,8vw,2.9rem);font-weight:800;line-height:1.04;letter-spacing:0;text-wrap:balance;}
.alfa-slider-title::after{display:block;width:3.5rem;height:4px;margin-top:.7rem;background:var(--alfa-slider-accent);content:"";}
.alfa-slider-item.is-active .alfa-slider-title{animation:alfa-slider-title-type var(--alfa-slider-title-duration,1.05s) steps(var(--alfa-slider-title-steps,24),end) both;}
.alfa-slider-item.is-active .alfa-slider-eyebrow{animation:alfa-slider-copy-enter .45s cubic-bezier(.2,.7,.2,1) .08s both;}
.alfa-slider-item.is-active .alfa-slider-description{animation:alfa-slider-copy-enter .55s cubic-bezier(.2,.7,.2,1) var(--alfa-slider-copy-delay,.65s) both;}
.alfa-slider-item.is-active .alfa-slider-button{animation:alfa-slider-copy-enter .55s cubic-bezier(.2,.7,.2,1) calc(var(--alfa-slider-copy-delay,.65s) + 140ms) both;}
@keyframes alfa-slider-title-type{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes alfa-slider-copy-enter{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.alfa-slider-description{max-width:34rem;margin:0 0 1.15rem;color:var(--alfa-slider-ink);font-size:16px;line-height:1.5;}
/* The call-to-action appears only when the slider module provides button text and a destination. */
.alfa-slider-button{display:inline-flex;min-height:2.75rem;align-items:center;gap:.7rem;padding:.35rem .4rem .35rem .9rem;border:1px solid var(--alfa-slider-controls);border-radius:2px;background:var(--alfa-slider-controls);color:#fff;font-size:.88rem;font-weight:800;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease;}
.alfa-slider-button-arrow{display:grid;width:2rem;height:2rem;place-items:center;background:var(--alfa-slider-controls);color:#fff;font-size:1.2rem;line-height:1;transition:transform .2s ease;}
.alfa-slider-button:hover,.alfa-slider-button:focus-visible{transform:translateY(-2px);background:var(--alfa-slider-controls);color:#fff;}
.alfa-slider-button:hover .alfa-slider-button-arrow,.alfa-slider-button:focus-visible .alfa-slider-button-arrow{transform:translateX(3px);}
.alfa-slider-visual{position:relative;min-width:0;height:100%;overflow:hidden;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,var(--alfa-slider-deep),var(--alfa-slider-blue));}
/* Module images cover the clipped panel; when no image is assigned, the gradient fallback preserves the split design. */
.alfa-slider-image,.alfa-slider-image-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.alfa-slider-image-fallback{background:radial-gradient(ellipse at 70% 35%,rgba(255,255,255,.18),transparent 45%),linear-gradient(145deg,var(--alfa-slider-deep),var(--alfa-slider-blue));}
.alfa-slider-visual::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,39,77,.02) 48%,rgba(0,33,88,.66) 100%);content:"";pointer-events:none;}
/* CONTROLS â€” Arrows stay at the frame edges; the indicator row reflects the active slide and remains clickable. */
.alfa-slider-controls{position:absolute;z-index:5;inset:0;pointer-events:none;}
.alfa-slider-arrow{position:absolute;top:50%;display:grid;width:3rem;height:3rem;place-items:center;padding:0;border:0;border-radius:50%;background:var(--alfa-slider-controls);box-shadow:0 2px 10px rgba(0,39,77,.2);color:#fff;font-size:2rem;line-height:1;cursor:pointer;pointer-events:auto;transform:translateY(-50%);transition:background-color .2s ease,transform .2s ease;}
.alfa-slider-arrow--previous{left:1rem;}
.alfa-slider-arrow--next{right:1rem;}
.alfa-slider-arrow:hover,.alfa-slider-arrow:focus-visible{background:var(--alfa-slider-controls);transform:translateY(-50%) scale(1.08);}
.alfa-slider-toggle{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.alfa-slider-indicators{position:absolute;bottom:.85rem;left:50%;display:flex;align-items:center;gap:.6rem;margin:0;transform:translateX(-50%);pointer-events:auto;}
.alfa-slider-indicator{width:.55rem;height:.55rem;padding:0;border:1px solid #fff;border-radius:50%;background:rgba(0,28,64,.45);cursor:pointer;transition:width .25s ease,background-color .25s ease,border-radius .25s ease;}
.alfa-slider-indicator.is-active{width:1.65rem;border-color:var(--alfa-slider-controls);border-radius:999px;background:var(--alfa-slider-controls);}
.alfa-home-slider :is(button,a):focus-visible{outline:3px solid var(--alfa-slider-ink);outline-offset:4px;}
/* TABLET AND DESKTOP â€” Widen the photo, enlarge the injected heading, and use the shallower diagonal shown in the reference. */
@media(min-width:48rem){.alfa-slider-content{grid-template-columns:minmax(0,46%) minmax(0,54%);}.alfa-slider-copy{padding:3rem 1.5rem 5rem clamp(2rem,7vw,7.5rem);}.alfa-slider-eyebrow{font-size:.86rem;}.alfa-slider-title{max-width:12ch;font-size:clamp(2.8rem,4.8vw,5.2rem);}.alfa-slider-description{max-width:40rem;font-size:clamp(1.05rem,1.45vw,1.35rem);line-height:1.55;}.alfa-slider-button{min-height:3.1rem;padding-left:1.1rem;font-size:1rem;}.alfa-slider-visual{clip-path:polygon(11% 0,100% 0,100% 100%,0 100%);}.alfa-slider-arrow{width:3.2rem;height:3.2rem;font-size:2.2rem;}.alfa-slider-indicators{bottom:1rem;}}
/* MOBILE â€” Stack a fully branded blue copy card above the photo; controls sit over the lower image panel. */
@media(max-width:47.99rem){.alfa-home-slider{min-height:36rem;}.alfa-slider-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(17rem,1fr);background:var(--alfa-slider-deep);}.alfa-slider-copy{min-height:15.5rem;justify-content:center;padding:1.15rem 1.25rem 1.35rem;border-bottom:3px solid var(--alfa-slider-accent);background:linear-gradient(145deg,var(--alfa-slider-blue),var(--alfa-slider-deep));}.alfa-slider-eyebrow{margin-bottom:.45rem;font-size:.68rem;}.alfa-slider-title{max-width:16ch;margin-bottom:.45rem;font-size:clamp(1.8rem,7.4vw,2.6rem);line-height:1.04;}.alfa-slider-title::after{width:2.8rem;height:3px;margin-top:.55rem;}.alfa-slider-description{max-width:34rem;margin-bottom:.75rem;font-size:15px;line-height:1.4;}.alfa-slider-button{min-height:2.55rem;}.alfa-slider-visual{position:relative;inset:auto;min-height:17rem;height:100%;clip-path:none;}.alfa-slider-visual::after{background:linear-gradient(180deg,rgba(0,39,77,.02) 18%,rgba(1,73,129,.12) 55%,rgba(6,54,103,.72) 100%);}.alfa-slider-arrow{width:2.5rem;height:2.5rem;font-size:1.7rem;}.alfa-slider-indicators{bottom:.8rem;}}
/* ACCESSIBILITY â€” Keep controls visible and disable motion for visitors who request reduced movement. */
@media(prefers-reduced-motion:reduce){.alfa-slider-item,.alfa-slider-image,.alfa-slider-title,.alfa-slider-eyebrow,.alfa-slider-description,.alfa-slider-button,.alfa-slider-button-arrow,.alfa-slider-arrow,.alfa-slider-indicator{animation:none!important;scroll-behavior:auto!important;transition:none!important;}}
