/* Celfinity — Apple Cards Carousel (native port, namespaced .cfac-) */
.cfac-outer{position:relative; width:100%;}
.cfac-scroll{display:flex; width:100%; overflow-x:auto; overscroll-behavior-x:contain; scroll-behavior:smooth; padding:18px 0 8px; scrollbar-width:none; -ms-overflow-style:none;}
.cfac-scroll::-webkit-scrollbar{display:none;}
.cfac-track{display:flex; flex-direction:row; justify-content:flex-start; gap:16px; padding:4px 4px 4px 2px;}
.cfac-track > .cfac-card:last-child{margin-right:6%;}

.cfac-card{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start;
  height:30rem; width:19rem; flex:0 0 auto; overflow:hidden; border-radius:22px;
  background:#0F2349; border:none; cursor:pointer; padding:0; text-align:left; color:#fff; font-family:inherit;
  box-shadow:0 24px 54px -30px rgba(3,10,32,0.9);
  animation:cfac-rise .55s cubic-bezier(.22,1,.36,1) both; animation-delay:calc(var(--i,0) * .08s);
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
.cfac-card:hover{transform:translateY(-6px); box-shadow:0 40px 80px -34px rgba(3,10,32,0.95);}
@keyframes cfac-rise{from{opacity:0; transform:translateY(22px);} to{opacity:1; transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){ .cfac-card{animation:none;} }

.cfac-card__img{position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; filter:saturate(1.05);}
.cfac-card__tint{position:absolute; inset:0; z-index:2;}
.cfac-card__scrim{position:absolute; inset:0; z-index:3; background:linear-gradient(to bottom, rgba(3,9,26,0.55) 0%, rgba(3,9,26,0.05) 42%, rgba(3,9,26,0) 100%); pointer-events:none;}
.cfac-card__body{position:relative; z-index:4; padding:26px 26px 0; display:block;}
.cfac-card__cat{display:block; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#E7EEFF; opacity:.92;}
.cfac-card__title{display:block; margin-top:9px; max-width:15ch; font-family:'Outfit',sans-serif; font-weight:600; font-size:26px; line-height:1.08; letter-spacing:-0.02em; color:#fff;}
.cfac-card__meta{position:absolute; z-index:4; left:26px; bottom:24px; display:inline-flex; align-items:center; gap:7px; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.05em; color:#E7EEFF;}
.cfac-dot{width:6px; height:6px; border-radius:50%; background:#3FBE85; box-shadow:0 0 0 3px rgba(63,190,133,0.25);}
.cfac-card__price{position:absolute; z-index:4; right:24px; bottom:20px; font-family:'Outfit',sans-serif; font-weight:600; font-size:17px; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.4);}
.cfac-card__price small{display:block; font-weight:400; font-size:9px; letter-spacing:.14em; color:#C6D4F2; text-align:right;}

.cfac-nav{display:flex; justify-content:flex-end; gap:10px; padding-right:2px; margin-top:6px;}
.cfac-arrow{display:flex; height:42px; width:42px; align-items:center; justify-content:center; border-radius:999px; border:1px solid #2C4878; background:rgba(143,176,234,0.10); color:#fff; cursor:pointer; transition:background .2s ease, border-color .2s ease, opacity .2s ease;}
.cfac-arrow:hover{background:rgba(143,176,234,0.20); border-color:#8FB0EA;}
.cfac-arrow:disabled{opacity:0.32; cursor:default;}
.cfac-arrow svg{width:21px; height:21px;}

/* modal (mounted on document.body — outside x-dc) */
.cfac-modal{position:fixed; inset:0; z-index:99000; overflow:auto; display:none; font-family:'Outfit',sans-serif;}
.cfac-modal.cfac-open{display:block;}
.cfac-modal__backdrop{position:fixed; inset:0; background:rgba(2,7,20,0.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); opacity:0; transition:opacity .3s ease;}
.cfac-modal.cfac-open .cfac-modal__backdrop{opacity:1;}
.cfac-modal__panel{position:relative; z-index:1; margin:40px auto; height:fit-content; max-width:960px; width:calc(100% - 32px); border-radius:24px; background:#0B1A38; border:1px solid rgba(143,176,234,0.22); padding:24px; box-shadow:0 40px 120px -30px rgba(0,0,0,0.7); opacity:0; transform:translateY(24px) scale(.97); transition:opacity .32s ease, transform .32s cubic-bezier(.22,1,.36,1);}
.cfac-modal.cfac-open .cfac-modal__panel{opacity:1; transform:translateY(0) scale(1);}
@media(min-width:768px){ .cfac-modal__panel{padding:44px;} }
.cfac-modal__close{position:sticky; top:0; margin-left:auto; display:flex; height:38px; width:38px; align-items:center; justify-content:center; border-radius:999px; background:#fff; border:none; cursor:pointer; color:#0B1A38;}
.cfac-modal__close svg{width:20px; height:20px;}
.cfac-modal__cat{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:#8FB0EA; margin:6px 0 0;}
.cfac-modal__title{margin:14px 0 0; font-family:'Outfit',sans-serif; font-weight:600; font-size:clamp(30px,5vw,50px); line-height:1.04; letter-spacing:-0.03em; color:#fff;}
.cfac-modal__hero{margin:22px 0 0; border-radius:16px; overflow:hidden; height:230px; position:relative; background:#0C1B38;}
.cfac-modal__hero img{width:100%; height:100%; object-fit:cover;}
.cfac-chips{display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 0;}
.cfac-chip{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.05em; color:#CFE0FF; background:rgba(143,176,234,0.12); border:1px solid rgba(143,176,234,0.28); border-radius:999px; padding:7px 13px;}
.cfac-copy{margin:22px 0 0; color:#C4D0EA; font-size:17px; line-height:1.65; max-width:64ch;}
.cfac-copy strong{color:#fff; font-weight:600;}
.cfac-cta{display:inline-flex; align-items:center; gap:10px; margin-top:28px; padding:14px 26px; border-radius:999px; background:#fff; color:#0F2349; text-decoration:none; font-weight:500; font-size:15px;}

@media(max-width:768px){
  .cfac-card{height:22rem; width:15rem; border-radius:20px;}
  .cfac-card__title{font-size:21px;}
  .cfac-track{gap:10px;}
}

/* ---- Simple FAQs with Background (Aceternity port, dark-adapted) ---- */
.cf-faq{position:relative; overflow:hidden;}
.cf-faq-bg{position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(680px circle at 50% -4%, rgba(143,176,234,0.12), transparent 60%), linear-gradient(180deg,#08172F 0%,#0A1B3A 100%);}
.cf-faq-bg::before{content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(143,176,234,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(143,176,234,0.06) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 72% 60% at 50% 38%, #000 38%, transparent 76%);
  mask-image:radial-gradient(ellipse 72% 60% at 50% 38%, #000 38%, transparent 76%);}
.cf-faq-card{transition:border-color .25s ease, background .25s ease;}
.cf-faq-card:hover{border-color:#3A5C93 !important;}
.cf-faq-ans{animation:cf-faq-open .32s cubic-bezier(.22,1,.36,1);}
@keyframes cf-faq-open{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);}}
