/* =================== Blog / category archive (resource hub) =================== */
.apl-archive-host,.apl-ahost{--cols:3;color:var(--ink-2);background:var(--bg);padding-block:8px 56px;overflow-x:clip}
.apl-archive{max-width:100%}
.apl-archive.apl-cols-2{--cols:2}.apl-archive.apl-cols-3{--cols:3}.apl-archive.apl-cols-4{--cols:4}
.apl-archive *,.apl-archive *::before,.apl-archive *::after{box-sizing:border-box}
.apl-wrap{max-width:1180px;margin-inline:auto;padding-inline:20px}

/* header */
.apl-ah{padding-block:clamp(28px,6vw,64px) 12px}
.apl-ah-chip{display:inline-block;padding:6px 16px;border-radius:999px;background:var(--soft);color:var(--apl-link,var(--brand));font-weight:700;font-size:14px;border:1px solid var(--line);margin-bottom:14px}
.apl-ah h1{margin:0 0 .35em;color:var(--ink);font-size:clamp(30px,5.2vw,54px);line-height:1.3;font-weight:var(--apl-fwx,700)}
.apl-ah .apl-lead{max-width:62ch;font-size:clamp(16px,2vw,19px);color:var(--ink-2);margin:0}

/* featured */
.apl-a-top{margin-block:26px 34px}
.apl-a-top.has-second{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}
.apl-a-second{display:grid;gap:22px;grid-template-rows:1fr 1fr}
.apl-feat{position:relative;overflow:hidden;border-radius:calc(var(--r) * 1.8);min-height:clamp(340px,46vw,540px);background:var(--surf,#14302f);color:#fff;isolation:isolate;
  box-shadow:0 24px 60px color-mix(in srgb,var(--ink) 18%,transparent)}
.apl-feat>img,.apl-feat-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s}
.apl-feat:hover>img{transform:scale(1.04)}
.apl-feat::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,color-mix(in srgb,var(--surf,#0f1f1e) 88%,transparent) 100%)}
.apl-feat-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surf,#14302f),color-mix(in srgb,var(--surf,#14302f) 55%,var(--apl-btn,var(--brand))))}
.apl-feat-link{position:absolute;inset:0;z-index:3}
.apl-feat-b{position:absolute;inset-inline:0;bottom:0;padding:clamp(18px,3vw,36px)}
.apl-feat-arrow{position:absolute;top:-4px;inset-inline-end:clamp(18px,3vw,36px);transform:translateY(-100%);font-size:22px;opacity:.85}
.apl-feat h2{margin:0 0 .35em;color:#fff;font-size:clamp(22px,3.2vw,36px);line-height:1.4;font-weight:var(--apl-fwx,700)}
.apl-feat p{margin:0 0 14px;color:rgba(255,255,255,.88);max-width:62ch;line-height:1.8}
.apl-feat-f{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.apl-feat .apl-ac-m{color:rgba(255,255,255,.82)}
.apl-tags{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:4}
.apl-tag{padding:5px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.55);color:#fff!important;text-decoration:none;font-size:13px;backdrop-filter:blur(4px)}
.apl-ac-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:64px;font-weight:var(--apl-fwx,700);color:rgba(255,255,255,.35);
  background:linear-gradient(135deg,var(--surf,#14302f),color-mix(in srgb,var(--surf,#14302f) 55%,var(--apl-btn,var(--brand))))}

/* tabs + search */
.apl-a-bar{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;margin:10px 0 28px;border-bottom:1px solid var(--line)}
.apl-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1 1 360px;min-width:0}
.apl-tabs::-webkit-scrollbar{display:none}
.apl-tabs a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:46px;padding:8px 16px;color:var(--ink-2);text-decoration:none;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}
.apl-tabs a b{font-size:12px;padding:1px 8px;border-radius:99px;background:var(--soft);color:var(--ink-2);font-weight:700}
.apl-tabs a:hover{color:var(--ink)}
.apl-tabs a.on{color:var(--apl-link,var(--brand));border-bottom-color:var(--apl-btn,var(--brand))}
.apl-tabs a.on b{background:var(--apl-btn,var(--brand));color:var(--apl-on,#fff)}
.apl-asearch{display:flex;align-items:center;gap:0;flex:0 1 280px;min-width:0;margin-bottom:10px;border:1px solid var(--line);border-radius:999px;background:var(--bg);overflow:hidden}
.apl-asearch input{flex:1;min-width:0;border:0;background:transparent;padding:10px 16px;font:inherit;color:var(--ink);outline:0;min-height:44px}
.apl-asearch button{border:0;background:transparent;width:46px;min-height:44px;font-size:18px;color:var(--ink-2);cursor:pointer}
.apl-asearch:focus-within{border-color:var(--apl-btn,var(--brand));box-shadow:0 0 0 3px color-mix(in srgb,var(--apl-btn,var(--brand)) 22%,transparent)}
.apl-a-found{margin:0 0 18px;color:var(--ink-2)}

/* cards */
.apl-agrid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:26px}
.apl-ac{display:flex;flex-direction:column;background:var(--bg);border-radius:calc(var(--r) * 1.4);overflow:hidden;transition:transform .25s,box-shadow .25s}
.apl-card--soft .apl-ac{box-shadow:0 10px 34px color-mix(in srgb,var(--ink) 9%,transparent);border:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.apl-card--outline .apl-ac{border:1px solid var(--line)}
.apl-card--flat .apl-ac{border-radius:calc(var(--r) * 1.2)}
.apl-ac:hover{transform:translateY(-4px);box-shadow:0 18px 44px color-mix(in srgb,var(--ink) 16%,transparent)}
.apl-ac-img{display:block;overflow:hidden;background:var(--soft)}
.apl-ac-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.apl-ac:hover .apl-ac-img img{transform:scale(1.05)}
.apl-ac-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.apl-ac .apl-chip{align-self:flex-start;background:var(--soft);color:var(--apl-link,var(--brand));padding:3px 12px;border-radius:99px;font-size:13px;font-weight:700;text-decoration:none}
.apl-ac h3{margin:0;font-size:clamp(17px,1.7vw,20px);line-height:1.55;font-weight:var(--apl-fwx,700)}
.apl-ac h3 a{color:var(--ink);text-decoration:none}
.apl-ac h3 a:hover{color:var(--apl-link,var(--brand))}
.apl-ac p{margin:0;font-size:15px;line-height:1.85;color:var(--ink-2)}
.apl-ac-m{display:flex;flex-wrap:wrap;gap:4px 0;font-size:14px;color:var(--ink-2);margin-top:auto}
.apl-ac-m>*+*::before{content:"•";margin-inline:9px;opacity:.5}

/* list template */
.apl-a-list .apl-agrid{grid-template-columns:1fr}
.apl-a-list .apl-ac--row{flex-direction:row;align-items:stretch}
.apl-a-list .apl-ac--row .apl-ac-img{flex:0 0 38%;max-width:38%;aspect-ratio:auto!important;min-height:200px}
.apl-a-list .apl-ac--row .apl-ac-b{padding:22px 26px}
/* minimal template */
.apl-a-minimal .apl-agrid{grid-template-columns:1fr;gap:0}
.apl-a-minimal .apl-ac--min{flex-direction:row-reverse;gap:20px;align-items:center;box-shadow:none!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0;padding:22px 0;background:transparent}
.apl-a-minimal .apl-ac--min:hover{transform:none;box-shadow:none}
.apl-a-minimal .apl-ac--min .apl-ac-img{flex:0 0 112px;width:112px;border-radius:calc(var(--r) * 1);aspect-ratio:1/1!important}
.apl-a-minimal .apl-ac--min .apl-ac-b{padding:0}
.apl-a-minimal .apl-ah{text-align:center}
.apl-a-minimal .apl-ah .apl-lead{margin-inline:auto}
.apl-a-minimal .apl-a-bar{justify-content:center}

/* pager */
.apl-a-count{margin:30px 0 8px;text-align:center;color:var(--ink-2);font-size:14px}
.apl-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.apl-pager a,.apl-pager .apl-gap{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:700;border:1px solid var(--line);background:var(--bg)}
.apl-pager a.on{background:var(--apl-btn,var(--brand));color:var(--apl-on,#fff);border-color:transparent}
.apl-pager .apl-gap{border:0}
.apl-more{padding-inline:30px!important;background:var(--soft)!important}
.apl-a-empty{grid-column:1/-1;text-align:center;padding:48px 0;color:var(--ink-2)}
.apl-a-cta{margin-top:56px}

/* responsive */
@media (max-width:980px){.apl-agrid{grid-template-columns:repeat(2,minmax(0,1fr))}.apl-a-top.has-second{grid-template-columns:1fr}.apl-a-second{grid-template-columns:1fr 1fr;grid-template-rows:none}}
@media (max-width:640px){
  .apl-wrap{padding-inline:16px}
  .apl-agrid{grid-template-columns:1fr;gap:20px}
  .apl-a-second{grid-template-columns:1fr}
  .apl-feat{min-height:clamp(360px,110vw,440px);border-radius:calc(var(--r) * 1.4)}
  .apl-a-list .apl-ac--row{flex-direction:column}
  .apl-a-list .apl-ac--row .apl-ac-img{flex:none;max-width:none;width:100%;min-height:0;aspect-ratio:16/10!important}
  .apl-a-bar{gap:10px}
  .apl-asearch{flex:1 1 100%}
  .apl-feat-f{flex-direction:column;align-items:flex-start}
}

/* featured card: stronger scrim so the title is readable over any photo */
.apl-feat::after{background:linear-gradient(180deg,transparent 8%,color-mix(in srgb,var(--surf,#0f1f1e) 55%,transparent) 42%,color-mix(in srgb,var(--surf,#0f1f1e) 94%,transparent) 100%)}
.apl-feat h2,.apl-feat p{text-shadow:0 1px 14px rgba(0,0,0,.55)}
.apl-feat .apl-ac-m,.apl-feat .apl-tag{text-shadow:0 1px 8px rgba(0,0,0,.5)}
.apl-ac-ph{font-size:clamp(48px,7vw,72px)}

/* v3.5 polish: readable micro-text, calmer placeholder */
.apl-tabs a b{font-size:13px;min-width:24px;text-align:center}
.apl-ac .apl-chip,.apl-tag,.apl-ah-chip{font-size:14px}
.apl-ac-ph,.apl-feat-ph{background:
  radial-gradient(circle at 78% 22%,rgba(255,255,255,.14) 0,transparent 42%),
  radial-gradient(circle at 12% 88%,rgba(255,255,255,.08) 0,transparent 38%),
  linear-gradient(135deg,var(--surf,#14302f),color-mix(in srgb,var(--surf,#14302f) 55%,var(--apl-btn,var(--brand))))}
@media (max-width:700px){.apl-tabs a b{font-size:14px}}

/* v3.8 glass template: soft light-field background, frosted panels, floating rounded cards */
.apl-a-glass{position:relative;isolation:isolate;overflow:hidden;padding-bottom:40px}
.apl-a-glass::before,.apl-a-glass::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;border-radius:50%;filter:blur(90px);opacity:.38;pointer-events:none}
.apl-a-glass::before{top:-140px;inset-inline-start:-120px;background:var(--apl-btn,var(--brand))}
.apl-a-glass::after{bottom:10%;inset-inline-end:-160px;background:color-mix(in srgb,var(--surf,#14302f) 70%,var(--apl-btn,var(--brand)))}
.apl-a-glass .apl-feat{border-radius:32px;min-height:clamp(380px,48vw,560px);box-shadow:0 30px 70px color-mix(in srgb,var(--ink) 24%,transparent);transition:transform .5s}
@media (min-width:900px){.apl-a-glass .apl-feat{transform:perspective(1400px) rotateX(1.5deg) rotateY(-1.5deg)}.apl-a-glass .apl-feat:hover{transform:none}}
.apl-a-glass .apl-feat::after{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.35))}
.apl-a-glass .apl-feat-b{inset-inline:14px;bottom:14px;border-radius:24px;padding:clamp(16px,2.6vw,28px);
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.apl-a-glass .apl-feat-arrow{top:14px;transform:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.apl-a-glass .apl-feat h2{text-shadow:0 2px 14px rgba(0,0,0,.4)}
.apl-a-glass .apl-tag{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:99px;padding:3px 12px;font-size:13px;text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.apl-a-glass .apl-a-bar{margin-top:32px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:999px;
  background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.apl-a-glass .apl-tabs a{border-bottom:0;margin:0;border-radius:999px}
.apl-a-glass .apl-tabs a.on{background:color-mix(in srgb,var(--apl-btn,var(--brand)) 18%,transparent);color:var(--ink)}
.apl-a-glass .apl-tabs a.on b{background:var(--apl-btn,var(--brand))}
.apl-a-glass .apl-asearch{background:color-mix(in srgb,var(--bg) 60%,transparent);margin-bottom:0}
.apl-a-glass .apl-ac{background:color-mix(in srgb,var(--soft) 62%,transparent);border:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:26px;padding:10px;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 40px color-mix(in srgb,var(--ink) 10%,transparent)}
.apl-a-glass .apl-ac-img{border-radius:18px}
.apl-a-glass .apl-ac-b{padding:14px 10px 10px}
.apl-a-glass .apl-ac .apl-chip{background:transparent;padding:0;border-radius:0;text-transform:none;font-size:13px}
.apl-a-glass .apl-pager a{border-radius:999px}
@media (max-width:600px){.apl-a-glass .apl-a-bar{border-radius:22px;padding:6px}.apl-a-glass .apl-feat-b{inset-inline:8px;bottom:8px;border-radius:18px}.apl-a-glass::before,.apl-a-glass::after{width:300px;height:300px}}
.apl-a-glass .apl-feat-arrow{top:-54px;inset-inline-end:6px}
@media (max-width:600px){.apl-a-glass .apl-feat{min-height:420px}.apl-a-glass .apl-feat p{display:none}.apl-a-glass .apl-feat h2{font-size:21px}}

/* a page chosen as the blog hub */
body.apl-blog-page .entry-header,body.apl-blog-page .ast-breadcrumbs-wrapper{display:none}
body.apl-blog-page .site-content>.ast-container{max-width:none;padding:0;display:block}
body.apl-blog-page #primary{margin:0;padding:0;width:100%}
body.apl-blog-page .ast-article-single,body.apl-blog-page .entry-content{padding:0;margin:0;background:transparent}
body.apl-blog-page,body.apl-blog-page .site-content,body.apl-blog-page #content{background:var(--bg,transparent)}
body.apl-blog-page .site-content{padding-top:0!important;margin-top:0!important}
body.apl-blog-page .ast-container,body.apl-blog-page #primary,body.apl-blog-page article,body.apl-blog-page .entry-content{padding-top:0!important;margin-top:0!important}
body.apl-blog-page .elementor{max-width:none}
.apl-a-glass .apl-tag,.apl-a-glass .apl-tag:hover{text-decoration:none!important}

/* v4.2 UX pass: states, focus, motion */
.apl-a-empty{grid-column:1/-1;text-align:center;padding:clamp(28px,6vw,64px) 20px;border:1px dashed var(--line);border-radius:20px;background:color-mix(in srgb,var(--soft) 60%,transparent)}
.apl-a-empty strong{display:block;font-size:19px;color:var(--ink);margin-bottom:6px}
.apl-a-empty p{margin:0 0 16px;color:var(--ink-2)}
.apl-archive.is-loading .apl-agrid{opacity:.45;pointer-events:none;transition:opacity .15s}
.apl-archive.is-loading .apl-agrid::after{content:"";position:absolute}
.apl-archive.is-loading .apl-a-bar{opacity:.8}
.apl-archive :is(a,button,input):focus-visible{outline:2px solid var(--apl-btn,var(--brand));outline-offset:3px;border-radius:10px}
.apl-tabs a[aria-current=page]{font-weight:700}
@media (prefers-reduced-motion:reduce){.apl-archive *,.apl-feat,.apl-ac{transition:none!important;animation:none!important;transform:none!important}}

/* ===== UX polish (v5.7) ===== */
.apl-archive a,.apl-archive a:hover,.apl-archive a:focus{text-decoration:none!important}
.apl-ac h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s}
.apl-ac:hover h3 a{background-size:100% 2px}
.apl-ac{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.apl-ac:hover{transform:translateY(-4px)}
.apl-ac .apl-ac-img{position:relative;overflow:hidden}.apl-ac .apl-ac-img img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.apl-ac:hover .apl-ac-img img{transform:scale(1.06)}
.apl-ac:focus-within{outline:2px solid var(--brand);outline-offset:3px}
.apl-new{position:absolute;top:10px;inset-inline-start:10px;background:var(--brand);color:#fff;font-size:12px;font-weight:800;padding:3px 10px;border-radius:99px;box-shadow:0 6px 14px -6px rgba(0,0,0,.5)}
.apl-ac-ph{--h:190;background:linear-gradient(135deg,hsl(var(--h) 42% 28%),hsl(calc(var(--h) + 45) 50% 20%))!important;color:rgba(255,255,255,.55)!important;filter:none!important}
.apl-ac-ph svg{opacity:.85}
.apl-ac-m{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px}
.apl-ac-rt{display:inline-flex;gap:4px;align-items:center}
.apl-a-bar{position:sticky;top:var(--apl-hdr-h,0px);z-index:20}
.apl-view{display:inline-flex;gap:2px;background:color-mix(in srgb,var(--ink,#111) 8%,transparent);padding:3px;border-radius:12px}
.apl-view button{width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:var(--ink-2,#555);cursor:pointer;display:grid;place-items:center;padding:0}
.apl-view button.on{background:var(--brand);color:#fff}
.apl-archive.is-list .apl-agrid{grid-template-columns:1fr!important}
.apl-archive.is-list .apl-ac{display:flex;flex-direction:row;align-items:stretch}
.apl-archive.is-list .apl-ac .apl-ac-img{flex:0 0 34%;max-width:34%;aspect-ratio:auto!important;min-height:170px}
.apl-archive.is-list .apl-ac-b{flex:1}
@media(max-width:640px){.apl-archive.is-list .apl-ac{flex-direction:column}.apl-archive.is-list .apl-ac .apl-ac-img{max-width:100%;flex:none;min-height:0;aspect-ratio:16/9!important}}
.content-area:has(.apl-archive-host){margin-bottom:0!important}
@media(prefers-reduced-motion:reduce){.apl-ac,.apl-ac .apl-ac-img img{transition:none}.apl-ac:hover{transform:none}}

/* clear the theme's floating header: fixed offsets (no JS => no layout jump). Override --apl-hd in your own CSS if the header changes. */
:root{--apl-hd:118px}@media(max-width:1100px){:root{--apl-hd:176px}}@media(max-width:1024px){:root{--apl-hd:90px}}@media(max-width:600px){:root{--apl-hd:75px}}
.apl-archive,main.apl:not(.apl-archive-host){padding-top:var(--apl-hd)}

.apl-ah{padding-block:clamp(16px,3vw,32px) 12px}
body.archive.apl-active .ast-archive-entry-banner,body.archive.apl-active .ast-archive-description,body.archive.apl-active .page-header{display:none!important}
