/* AppsLeisure widget styles — scoped to .apl so nothing leaks into your theme */

.apl{
  /* ---- PALETTE: change these five values if any colour looks off ---- */
  --apl-carbon:        #0B0B0C;
  --apl-carbon-raised: #141518;
  --apl-platinum:      #EDEDEA;
  --apl-volt:          #D6FF3F;
  --apl-steel:         #8A8F98;

  --apl-font-body: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --apl-font-display: 'Bebas Neue', 'Barlow', sans-serif;

  font-family: var(--apl-font-body);
  -webkit-font-smoothing: antialiased;
}

.apl *,
.apl *::before,
.apl *::after{ box-sizing: border-box; }

.apl h1,.apl h2,.apl h3,.apl h4,.apl p,.apl figure,.apl dl,.apl dd{ margin:0; }
.apl ul,.apl ol{ margin:0; padding:0; }
.apl a{ text-decoration:none; color:inherit; }
.apl img{ display:block; max-width:100%; }
.apl summary::-webkit-details-marker{ display:none; }
.apl summary{ list-style:none; }

/* ---------- layout ---------- */
.apl .relative,.apl.relative{position:relative}
.apl .absolute,.apl.absolute{position:absolute}
.apl .sticky,.apl.sticky{position:sticky}
.apl .isolate,.apl.isolate{isolation:isolate}
.apl .inset-0,.apl.inset-0{inset:0}
.apl .inset-x-0,.apl.inset-x-0{left:0;right:0}
.apl .top-0,.apl.top-0{top:0}
.apl .bottom-0,.apl.bottom-0{bottom:0}
.apl .z-50,.apl.z-50{z-index:50}
.apl .-z-10,.apl.-z-10{z-index:-10}
.apl .-z-20,.apl.-z-20{z-index:-20}

.apl .flex,.apl.flex{display:flex}
.apl .inline-flex,.apl.inline-flex{display:inline-flex}
.apl .grid,.apl.grid{display:grid}
.apl .hidden,.apl.hidden{display:none}
.apl .list-none,.apl.list-none{list-style:none}
.apl .flex-col,.apl.flex-col{flex-direction:column}
.apl .flex-wrap,.apl.flex-wrap{flex-wrap:wrap}
.apl .items-center,.apl.items-center{align-items:center}
.apl .items-start,.apl.items-start{align-items:flex-start}
.apl .justify-between,.apl.justify-between{justify-content:space-between}
.apl .justify-center,.apl.justify-center{justify-content:center}
.apl .content-center,.apl.content-center{align-content:center}
.apl .shrink-0,.apl.shrink-0{flex-shrink:0}

.apl .grid-cols-1,.apl.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.apl .grid-cols-12,.apl.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.apl .col-span-12,.apl.col-span-12{grid-column:span 12/span 12}

.apl .gap-3,.apl.gap-3{gap:.75rem}
.apl .gap-4,.apl.gap-4{gap:1rem}
.apl .gap-5,.apl.gap-5{gap:1.25rem}
.apl .gap-6,.apl.gap-6{gap:1.5rem}
.apl .gap-7,.apl.gap-7{gap:1.75rem}
.apl .gap-8,.apl.gap-8{gap:2rem}
.apl .gap-px,.apl.gap-px{gap:1px}

.apl .mx-auto,.apl.mx-auto{margin-left:auto;margin-right:auto}
.apl .mt-1,.apl.mt-1{margin-top:.25rem}
.apl .mt-2,.apl.mt-2{margin-top:.5rem}
.apl .mt-3,.apl.mt-3{margin-top:.75rem}
.apl .mt-4,.apl.mt-4{margin-top:1rem}
.apl .mt-5,.apl.mt-5{margin-top:1.25rem}
.apl .mt-6,.apl.mt-6{margin-top:1.5rem}
.apl .mt-8,.apl.mt-8{margin-top:2rem}
.apl .mt-10,.apl.mt-10{margin-top:2.5rem}
.apl .mt-12,.apl.mt-12{margin-top:3rem}
.apl .mt-16,.apl.mt-16{margin-top:4rem}
.apl .mb-4,.apl.mb-4{margin-bottom:1rem}
.apl .mb-10,.apl.mb-10{margin-bottom:2.5rem}

.apl .p-5,.apl.p-5{padding:1.25rem}
.apl .p-6,.apl.p-6{padding:1.5rem}
.apl .p-7,.apl.p-7{padding:1.75rem}
.apl .px-4,.apl.px-4{padding-left:1rem;padding-right:1rem}
.apl .px-5,.apl.px-5{padding-left:1.25rem;padding-right:1.25rem}
.apl .px-6,.apl.px-6{padding-left:1.5rem;padding-right:1.5rem}
.apl .py-2,.apl.py-2{padding-top:.5rem;padding-bottom:.5rem}
.apl .py-3,.apl.py-3{padding-top:.75rem;padding-bottom:.75rem}
.apl .py-3\.5,.apl.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}
.apl .py-6,.apl.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.apl .py-10,.apl.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.apl .py-20,.apl.py-20{padding-top:5rem;padding-bottom:5rem}
.apl .pb-14,.apl.pb-14{padding-bottom:3.5rem}
.apl .pt-16,.apl.pt-16{padding-top:4rem}
.apl .pl-6,.apl.pl-6{padding-left:1.5rem}
.apl .pr-10,.apl.pr-10{padding-right:2.5rem}

.apl .w-2,.apl.w-2{width:.5rem}
.apl .w-8,.apl.w-8{width:2rem}
.apl .w-full,.apl.w-full{width:100%}
.apl .w-max,.apl.w-max{width:max-content}
.apl .h-0\.5,.apl.h-0\.5{height:.125rem}
.apl .h-7,.apl.h-7{height:1.75rem}
.apl .h-16,.apl.h-16{height:4rem}
.apl .h-full,.apl.h-full{height:100%}

.apl .min-h-screen,.apl.min-h-screen{min-height:100vh}
.apl .min-h-64,.apl.min-h-64{min-height:16rem}
.apl .min-h-\[22rem\],.apl.min-h-\[22rem\]{min-height:22rem}
.apl .min-h-\[44rem\],.apl.min-h-\[44rem\]{min-height:44rem}

.apl .max-w-xs,.apl.max-w-xs{max-width:20rem}
.apl .max-w-md,.apl.max-w-md{max-width:28rem}
.apl .max-w-2xl,.apl.max-w-2xl{max-width:42rem}
.apl .max-w-4xl,.apl.max-w-4xl{max-width:56rem}
.apl .max-w-\[1400px\],.apl.max-w-\[1400px\]{max-width:1400px}
.apl .max-w-\[12ch\],.apl.max-w-\[12ch\]{max-width:12ch}
.apl .max-w-\[18ch\],.apl.max-w-\[18ch\]{max-width:18ch}

.apl .aspect-video,.apl.aspect-video{aspect-ratio:16/9}
.apl .aspect-\[16\/8\],.apl.aspect-\[16\/8\]{aspect-ratio:16/8}
.apl .overflow-hidden,.apl.overflow-hidden{overflow:hidden}
.apl .object-cover,.apl.object-cover{object-fit:cover}
.apl .object-center,.apl.object-center{object-position:center}
.apl .whitespace-nowrap,.apl.whitespace-nowrap{white-space:nowrap}
.apl .cursor-pointer,.apl.cursor-pointer{cursor:pointer}
.apl .backdrop-blur-md,.apl.backdrop-blur-md{backdrop-filter:blur(12px)}
.apl .shadow-2xl,.apl.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.45)}
.apl .shadow-volt\/5,.apl.shadow-volt\/5{box-shadow:0 25px 50px -12px rgba(214,255,63,.05)}

/* ---------- type ---------- */
.apl .font-display,.apl.font-display{font-family:var(--apl-font-display);font-weight:400;letter-spacing:.01em}
.apl .font-semibold,.apl.font-semibold{font-weight:600}
.apl .font-bold,.apl.font-bold{font-weight:700}
.apl .uppercase,.apl.uppercase{text-transform:uppercase}

.apl .text-xs,.apl.text-xs{font-size:.75rem;line-height:1rem}
.apl .text-sm,.apl.text-sm{font-size:.875rem;line-height:1.25rem}
.apl .text-lg,.apl.text-lg{font-size:1.125rem;line-height:1.75rem}
.apl .text-xl,.apl.text-xl{font-size:1.25rem;line-height:1.75rem}
.apl .text-2xl,.apl.text-2xl{font-size:1.5rem;line-height:2rem}
.apl .text-3xl,.apl.text-3xl{font-size:1.875rem;line-height:2.25rem}
.apl .text-4xl,.apl.text-4xl{font-size:2.25rem;line-height:2.5rem}
.apl .text-5xl,.apl.text-5xl{font-size:3rem;line-height:1}
.apl .text-6xl,.apl.text-6xl{font-size:3.75rem;line-height:1}
.apl .text-\[clamp\(3\.25rem\2c 7vw\2c 7rem\)\]{font-size:clamp(3.25rem,7vw,7rem)}
.apl .text-\[clamp\(4rem\2c 8vw\2c 8rem\)\]{font-size:clamp(4rem,8vw,8rem)}

.apl .leading-none,.apl.leading-none{line-height:1}
.apl .leading-relaxed,.apl.leading-relaxed{line-height:1.625}
.apl .leading-\[0\.84\],.apl.leading-\[0\.84\]{line-height:.84}
.apl .leading-\[0\.86\],.apl.leading-\[0\.86\]{line-height:.86}
.apl .leading-\[0\.9\],.apl.leading-\[0\.9\]{line-height:.9}

/* ---------- colour ---------- */
.apl .bg-carbon,.apl.bg-carbon{background-color:var(--apl-carbon)}
.apl .bg-carbon\/95,.apl.bg-carbon\/95{background-color:color-mix(in srgb,var(--apl-carbon) 95%,transparent)}
.apl .bg-carbon\/85,.apl.bg-carbon\/85{background-color:color-mix(in srgb,var(--apl-carbon) 85%,transparent)}
.apl .bg-carbon\/15,.apl.bg-carbon\/15{background-color:color-mix(in srgb,var(--apl-carbon) 15%,transparent)}
.apl .bg-carbon-raised,.apl.bg-carbon-raised{background-color:var(--apl-carbon-raised)}
.apl .bg-carbon-raised\/45,.apl.bg-carbon-raised\/45{background-color:color-mix(in srgb,var(--apl-carbon-raised) 45%,transparent)}
.apl .bg-platinum,.apl.bg-platinum{background-color:var(--apl-platinum)}
.apl .bg-volt,.apl.bg-volt{background-color:var(--apl-volt)}

.apl .text-platinum,.apl.text-platinum{color:var(--apl-platinum)}
.apl .text-platinum\/75,.apl.text-platinum\/75{color:color-mix(in srgb,var(--apl-platinum) 75%,transparent)}
.apl .text-carbon,.apl.text-carbon{color:var(--apl-carbon)}
.apl .text-carbon\/70,.apl.text-carbon\/70{color:color-mix(in srgb,var(--apl-carbon) 70%,transparent)}
.apl .text-carbon\/65,.apl.text-carbon\/65{color:color-mix(in srgb,var(--apl-carbon) 65%,transparent)}
.apl .text-carbon\/20,.apl.text-carbon\/20{color:color-mix(in srgb,var(--apl-carbon) 20%,transparent)}
.apl .text-steel,.apl.text-steel{color:var(--apl-steel)}
.apl .text-volt,.apl.text-volt{color:var(--apl-volt)}

.apl .border,.apl.border{border-width:1px;border-style:solid}
.apl .border-t,.apl.border-t{border-top-width:1px;border-top-style:solid}
.apl .border-b,.apl.border-b{border-bottom-width:1px;border-bottom-style:solid}
.apl .border-l,.apl.border-l{border-left-width:1px;border-left-style:solid}
.apl .border-y,.apl.border-y{border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid}
.apl .border-volt,.apl.border-volt{border-color:var(--apl-volt)}
.apl .border-carbon,.apl.border-carbon{border-color:var(--apl-carbon)}
.apl .border-platinum\/10,.apl.border-platinum\/10{border-color:color-mix(in srgb,var(--apl-platinum) 10%,transparent)}
.apl .border-platinum\/15,.apl.border-platinum\/15{border-color:color-mix(in srgb,var(--apl-platinum) 15%,transparent)}
.apl .border-platinum\/20,.apl.border-platinum\/20{border-color:color-mix(in srgb,var(--apl-platinum) 20%,transparent)}
.apl .border-platinum\/30,.apl.border-platinum\/30{border-color:color-mix(in srgb,var(--apl-platinum) 30%,transparent)}
.apl .divide-y > * + *{border-top-width:1px;border-top-style:solid}
.apl .divide-platinum\/10 > * + *{border-top-color:color-mix(in srgb,var(--apl-platinum) 10%,transparent)}
.apl .rounded-md,.apl.rounded-md{border-radius:.375rem}

.apl .bg-gradient-to-t,.apl.bg-gradient-to-t{background-image:linear-gradient(to top,var(--apl-grad-from,transparent),var(--apl-grad-via,transparent),var(--apl-grad-to,transparent))}
.apl .from-carbon,.apl.from-carbon{--apl-grad-from:var(--apl-carbon)}
.apl .via-carbon\/25,.apl.via-carbon\/25{--apl-grad-via:color-mix(in srgb,var(--apl-carbon) 25%,transparent)}
.apl .to-transparent,.apl.to-transparent{--apl-grad-to:transparent}

/* ---------- transitions & interaction ---------- */
.apl .transition-transform,.apl.transition-transform{transition:transform .2s ease}
.apl .transition-colors,.apl.transition-colors{transition:color .2s ease,border-color .2s ease,background-color .2s ease}
.apl .duration-700,.apl.duration-700{transition-duration:.7s}
.apl .hover\:-translate-y-0\.5:hover,.apl.hover\:-translate-y-0\.5:hover{transform:translateY(-.125rem)}
.apl .hover\:text-platinum:hover,.apl.hover\:text-platinum:hover{color:var(--apl-platinum)}
.apl .hover\:text-volt:hover,.apl.hover\:text-volt:hover{color:var(--apl-volt)}
.apl .hover\:border-volt:hover,.apl.hover\:border-volt:hover{border-color:var(--apl-volt)}
.apl .group:hover .group-hover\:scale-105{transform:scale(1.05)}
.apl .group[open] .group-open\:rotate-45{transform:rotate(45deg)}
.apl .group-open\:rotate-45,.apl.group-open\:rotate-45,.apl .group-hover\:scale-105,.apl.group-hover\:scale-105{transition:transform .7s ease}

/* ---------- custom animations ---------- */
@keyframes apl-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.apl .app-rise,.apl.app-rise{animation:apl-rise .7s cubic-bezier(.16,1,.3,1) both}

@keyframes apl-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.apl .app-ticker,.apl.app-ticker{animation:apl-ticker 38s linear infinite}

@media (prefers-reduced-motion: reduce){
  .apl .app-rise,.apl.app-rise,.apl .app-ticker,.apl.app-ticker{animation:none}
}

/* ---------- responsive ---------- */
@media (min-width:640px){
  .apl .sm\:inline-flex,.apl.sm\:inline-flex{display:inline-flex}
}
@media (min-width:768px){
  .apl .md\:flex,.apl.md\:flex{display:flex}
  .apl .md\:flex-row,.apl.md\:flex-row{flex-direction:row}
  .apl .md\:items-center,.apl.md\:items-center{align-items:center}
  .apl .md\:items-end,.apl.md\:items-end{align-items:flex-end}
  .apl .md\:grid-cols-2,.apl.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apl .md\:grid-cols-3,.apl.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .apl .md\:grid-cols-12,.apl.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .apl .md\:col-span-3,.apl.md\:col-span-3{grid-column:span 3/span 3}
  .apl .md\:col-span-6,.apl.md\:col-span-6{grid-column:span 6/span 6}
  .apl .md\:px-8,.apl.md\:px-8{padding-left:2rem;padding-right:2rem}
  .apl .md\:py-28,.apl.md\:py-28{padding-top:7rem;padding-bottom:7rem}
  .apl .md\:pt-24,.apl.md\:pt-24{padding-top:6rem}
  .apl .md\:text-xl,.apl.md\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .apl .md\:text-5xl,.apl.md\:text-5xl{font-size:3rem;line-height:1}
  .apl .md\:text-8xl,.apl.md\:text-8xl{font-size:6rem;line-height:1}
  .apl .md\:min-h-72,.apl.md\:min-h-72{min-height:18rem}
  .apl .md\:min-h-\[32rem\],.apl.md\:min-h-\[32rem\]{min-height:32rem}
}
@media (min-width:1024px){
  .apl .lg\:grid-cols-3,.apl.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .apl .lg\:grid-cols-12,.apl.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .apl .lg\:col-span-4,.apl.lg\:col-span-4{grid-column:span 4/span 4}
  .apl .lg\:col-span-5,.apl.lg\:col-span-5{grid-column:span 5/span 5}
  .apl .lg\:col-span-7,.apl.lg\:col-span-7{grid-column:span 7/span 7}
  .apl .lg\:col-span-12,.apl.lg\:col-span-12{grid-column:span 12/span 12}
  .apl .lg\:self-end,.apl.lg\:self-end{align-self:flex-end}
}

/* ---------- wrapper canvas ----------
   The original page carried its background and text colour on <main>.
   Each widget is standalone in Elementor, so the wrapper carries it instead. */
.apl.apl-scope{
  background-color: var(--apl-carbon);
  color: var(--apl-platinum);
}
/* sections that set their own background (e.g. the light trio) still win */
.apl .bg-platinum,.apl.bg-platinum{ color: var(--apl-carbon); }


/* =====================================================================
   PRICING PAGE — classes used by the pricing widgets
   ===================================================================== */

/* display & layout */
.apl .block,.apl.block{display:block}
.apl .overflow-x-auto,.apl.overflow-x-auto{overflow-x:auto}
.apl .items-end,.apl.items-end{align-items:flex-end}
.apl .text-left,.apl.text-left{text-align:left}
.apl .grid-cols-2,.apl.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.apl .grid-cols-3,.apl.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* spacing */
.apl .gap-2,.apl.gap-2{gap:.5rem}
.apl .gap-10,.apl.gap-10{gap:2.5rem}
.apl .mb-2,.apl.mb-2{margin-bottom:.5rem}
.apl .mr-2,.apl.mr-2{margin-right:.5rem}
.apl .mt-7,.apl.mt-7{margin-top:1.75rem}
.apl .mt-9,.apl.mt-9{margin-top:2.25rem}
.apl .mt-auto,.apl.mt-auto{margin-top:auto}
.apl .p-4,.apl.p-4{padding:1rem}
.apl .pt-5,.apl.pt-5{padding-top:1.25rem}
.apl .pt-6,.apl.pt-6{padding-top:1.5rem}
.apl .py-5,.apl.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.apl .py-24,.apl.py-24{padding-top:6rem;padding-bottom:6rem}
.apl .space-y-7 > * + *{margin-top:1.75rem}

/* sizing */
.apl .min-h-40,.apl.min-h-40{min-height:10rem}
.apl .min-h-\[34rem\],.apl.min-h-\[34rem\]{min-height:34rem}
.apl .min-h-\[calc\(100vh-4rem\)\],.apl.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}
.apl .min-w-\[760px\],.apl.min-w-\[760px\]{min-width:760px}
.apl .max-w-xl,.apl.max-w-xl{max-width:36rem}
.apl .max-w-5xl,.apl.max-w-5xl{max-width:64rem}
.apl .max-w-\[13ch\],.apl.max-w-\[13ch\]{max-width:13ch}
.apl .max-w-\[14ch\],.apl.max-w-\[14ch\]{max-width:14ch}

/* type */
.apl .text-7xl,.apl.text-7xl{font-size:4.5rem;line-height:1}

/* colour */
.apl .bg-carbon\/80,.apl.bg-carbon\/80{background-color:color-mix(in srgb,var(--apl-carbon) 80%,transparent)}
.apl .bg-carbon\/90,.apl.bg-carbon\/90{background-color:color-mix(in srgb,var(--apl-carbon) 90%,transparent)}
.apl .bg-carbon-raised\/50,.apl.bg-carbon-raised\/50{background-color:color-mix(in srgb,var(--apl-carbon-raised) 50%,transparent)}
.apl .bg-carbon-raised\/60,.apl.bg-carbon-raised\/60{background-color:color-mix(in srgb,var(--apl-carbon-raised) 60%,transparent)}
.apl .bg-platinum\/15,.apl.bg-platinum\/15{background-color:color-mix(in srgb,var(--apl-platinum) 15%,transparent)}
.apl .text-carbon\/30,.apl.text-carbon\/30{color:color-mix(in srgb,var(--apl-carbon) 30%,transparent)}
.apl .text-carbon\/55,.apl.text-carbon\/55{color:color-mix(in srgb,var(--apl-carbon) 55%,transparent)}
.apl .text-carbon\/75,.apl.text-carbon\/75{color:color-mix(in srgb,var(--apl-carbon) 75%,transparent)}
.apl .text-platinum\/20,.apl.text-platinum\/20{color:color-mix(in srgb,var(--apl-platinum) 20%,transparent)}
.apl .text-platinum\/70,.apl.text-platinum\/70{color:color-mix(in srgb,var(--apl-platinum) 70%,transparent)}
.apl .text-platinum\/80,.apl.text-platinum\/80{color:color-mix(in srgb,var(--apl-platinum) 80%,transparent)}

/* borders */
.apl .border-t-2,.apl.border-t-2{border-top-width:2px;border-top-style:solid}
.apl .border-collapse,.apl.border-collapse{border-collapse:collapse}
.apl .border-carbon\/15,.apl.border-carbon\/15{border-color:color-mix(in srgb,var(--apl-carbon) 15%,transparent)}
.apl .border-carbon\/20,.apl.border-carbon\/20{border-color:color-mix(in srgb,var(--apl-carbon) 20%,transparent)}
.apl .border-platinum\/40,.apl.border-platinum\/40{border-color:color-mix(in srgb,var(--apl-platinum) 40%,transparent)}

/* gradients */
.apl .bg-gradient-to-r,.apl.bg-gradient-to-r{background-image:linear-gradient(to right,var(--apl-grad-from,transparent),var(--apl-grad-via,transparent),var(--apl-grad-to,transparent))}
.apl .via-carbon\/90,.apl.via-carbon\/90{--apl-grad-via:color-mix(in srgb,var(--apl-carbon) 90%,transparent)}
.apl .to-carbon\/50,.apl.to-carbon\/50{--apl-grad-to:color-mix(in srgb,var(--apl-carbon) 50%,transparent)}

/* form controls */
.apl .accent-current,.apl.accent-current{accent-color:currentColor}
.apl input[type="range"]{width:100%;cursor:pointer}

/* table cells inherit their row background */
.apl table{border-spacing:0}

@media (min-width:640px){
  .apl .sm\:grid-cols-\[1fr_auto\],.apl.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}
  .apl .sm\:text-right,.apl.sm\:text-right{text-align:right}
}
@media (min-width:768px){
  .apl .md\:p-9,.apl.md\:p-9{padding:2.25rem}
  .apl .md\:p-10,.apl.md\:p-10{padding:2.5rem}
  .apl .md\:py-32,.apl.md\:py-32{padding-top:8rem;padding-bottom:8rem}
  .apl .md\:text-3xl,.apl.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
}
@media (min-width:1024px){
  .apl .lg\:grid-cols-4,.apl.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .apl .lg\:grid-cols-5,.apl.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .apl .lg\:grid-cols-\[1\.1fr_0\.9fr\],.apl.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}
  .apl .lg\:min-h-72,.apl.lg\:min-h-72{min-height:18rem}
}
@media (min-width:1280px){
  .apl .xl\:grid-cols-4,.apl.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}




/* =====================================================================
   ELEMENT-LEVEL MODE

   Each widget prints its own .apl wrapper, exactly like the section
   widgets that already work. Elementor's own wrappers are left alone —
   nothing is collapsed, so nothing can disappear.

   Elementor containers carry "apl" plus the design's layout classes,
   and every utility rule above matches both ".apl .foo" and ".apl.foo",
   so a class works whether it sits on a child or on the element itself.
   ===================================================================== */

/* text colour travels with the scope */
.apl{ color:var(--apl-platinum); }
.apl.bg-platinum,
.apl .bg-platinum,
.apl.text-carbon,
.apl .text-carbon{ color:var(--apl-carbon); }

/* a widget's wrapper should not fight the design's own sizing */
[class*="elementor-widget-apl_el_"] > .elementor-widget-container{ display:block; }
[class*="elementor-widget-apl_el_"] > .elementor-widget-container > .apl{ display:block; }

/* Elementor containers carry the design's classes */
.e-con.apl,
.e-con-inner.apl{
  --padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;
  --margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;
  --gap:0px;
  --width:100%;
  --content-width:100%;
  max-width:none;
}
.e-con.apl:not(.flex):not(.grid):not(.inline-flex):not(.hidden){ display:block; }
.e-con.apl.mx-auto{ margin-left:auto; margin-right:auto; }
.e-con.apl.max-w-\[1400px\]{ max-width:1400px; }
.e-con.apl.max-w-2xl{ max-width:42rem; }
.e-con.apl.max-w-5xl{ max-width:64rem; }

/* the outermost wrapper carries the dark canvas */
.apl.apl-scope{ background-color:var(--apl-carbon); color:var(--apl-platinum); }
