/* Page builder sections. Colors, radii and fonts come from the active theme variables. */
.bk-glass{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-card,22px);padding:26px;margin-block:18px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.bk-h-sm{--bh:200px}.bk-h-md{--bh:320px}.bk-h-lg{--bh:460px}
.bk-spacer.bk-h-sm{height:24px}.bk-spacer.bk-h-md{height:56px}.bk-spacer.bk-h-lg{height:104px}
.show-solo{grid-template-columns:1fr!important;max-width:820px}
.bk-text-in{max-width:none}
.bk-w-narrow .bk-text-in{max-width:70ch}
.bk-a-center .bk-text-in{margin-inline:auto;text-align:center}.bk-a-end .bk-text-in{margin-inline-start:auto;text-align:end}
.bk-text-in p{color:var(--ink2);margin:0 0 14px;line-height:1.75;font-size:17px}
.bk-text-in h2{margin-bottom:14px}
/* banner */
.bk-banner-in{position:relative;min-height:var(--bh,320px);display:flex;align-items:center;padding:34px;overflow:hidden;background-size:cover;background-position:center;border-radius:var(--r-card,22px)}
.bk-dim{position:absolute;inset:0;background:#000;pointer-events:none}
.bk-banner-txt{position:relative;display:grid;gap:12px;max-width:560px;justify-items:start}
.bk-banner-txt h2{margin:0;font-size:clamp(26px,4vw,44px)}
.bk-banner-txt p{margin:0;color:var(--ink);opacity:.92;font-size:17px}
.bk-a-center .bk-banner-in{justify-content:center;text-align:center}.bk-a-center .bk-banner-txt{justify-items:center}
.bk-a-end .bk-banner-in{justify-content:flex-end;text-align:end}.bk-a-end .bk-banner-txt{justify-items:end}
.bk-banner-in:has(.bk-dim) .bk-banner-txt{color:#fff}.bk-banner-in:has(.bk-dim) .bk-banner-txt h2,.bk-banner-in:has(.bk-dim) .bk-banner-txt p{color:#fff}
/* image + text */
.bk-it{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.bk-side-end .bk-it-img{order:2}
.bk-it-img{overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center;border-radius:var(--r-card,22px)}
.bk-it-img img{width:100%;height:100%;object-fit:cover;display:block}
.bk-it-txt{display:grid;gap:12px;justify-items:start}.bk-it-txt h2{margin:0}.bk-it-txt p{margin:0;color:var(--ink2);line-height:1.75;font-size:17px}
/* features */
.bk-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.bk-fi{padding:20px;display:grid;gap:8px;align-content:start}
.bk-fi b{font-size:17px}.bk-fi p{margin:0;color:var(--ink2);font-size:15px}
.bk-ic{width:44px;height:44px;border-radius:calc(var(--r-btn,14px) * .6);display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.bk-ic svg{width:24px;height:24px}
/* faq */
.bk-faqlist{display:grid;gap:10px;max-width:820px}
.bk-faqlist details{padding:0}
.bk-faqlist summary{cursor:pointer;padding:16px 18px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.bk-faqlist summary::-webkit-details-marker{display:none}
.bk-faqlist summary::after{content:"+";font-size:22px;line-height:1;color:var(--accent);flex:none}
.bk-faqlist details[open] summary::after{content:"\2212"}
.bk-faqlist details>div{padding:0 18px 16px}.bk-faqlist details p{margin:0 0 10px;color:var(--ink2);line-height:1.7}
/* gallery */
.bk-gal{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}
.bk-gal.bk-cols-2{grid-template-columns:repeat(2,1fr)}.bk-gal.bk-cols-4{grid-template-columns:repeat(4,1fr)}
.bk-gal figure{margin:0;overflow:hidden;border-radius:var(--r-card,22px)}
.bk-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.bk-gal figcaption{padding:10px 14px;font-size:14px;color:var(--ink2)}
@media (max-width:860px){.bk-it{grid-template-columns:1fr}.bk-side-end .bk-it-img{order:0}.bk-gal,.bk-gal.bk-cols-4{grid-template-columns:repeat(2,1fr)}.bk-banner-in{padding:24px}}
@media (max-width:480px){.bk-gal,.bk-gal.bk-cols-2,.bk-gal.bk-cols-4{grid-template-columns:1fr}.bk-glass{padding:18px}}

/* header / footer pieces */
.x-off{display:none!important}
.annc{position:relative;margin:-8px -8px 0;text-align:center;padding:9px 44px;font-size:14px;font-weight:600;background:var(--accent);color:var(--on-accent)}
.annc a{color:inherit;text-decoration:none}.annc a:hover{text-decoration:underline}
.annc-hot{background:var(--hot);color:#fff}
.annc-dark{background:#05101c;color:#e8f6ff}
.annc-light{background:#f4fbff;color:#06243a}
.annc button{position:absolute;inset-block:0;inset-inline-end:8px;width:32px;border:0;background:none;color:inherit;font-size:22px;line-height:1;cursor:pointer;opacity:.8}
.annc[hidden]{display:none}
.foot .soc{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.foot .soc a{display:inline-block;padding:6px 12px;border:1px solid var(--edge);border-radius:var(--r-btn,999px);font-size:13px}
