/* ——— Icon (lucide-static via CSS mask, so glyphs take currentColor) ——— */
.bk-icon{display:inline-block;width:1em;height:1em;flex:none;background:currentColor;-webkit-mask:var(--bk-icon) center/contain no-repeat;mask:var(--bk-icon) center/contain no-repeat}

/* ——— Button ——— */
.bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-body-sm);font-weight:var(--weight-medium);letter-spacing:.01em;line-height:1;padding:14px 26px;border:1px solid transparent;border-radius:var(--r-pill);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-calm),box-shadow var(--dur-base) var(--ease-calm),background var(--dur-fast) var(--ease-calm),color var(--dur-fast) var(--ease-calm),border-color var(--dur-fast) var(--ease-calm)}
.bk-btn:hover{transform:translateY(var(--lift-hover))}
.bk-btn:active{transform:scale(var(--press-scale))}
.bk-btn--sm{padding:9px 18px;font-size:var(--fs-caption)}
.bk-btn--lg{padding:18px 34px;font-size:var(--fs-body)}
.bk-btn--block{width:100%}
.bk-btn--primary{background:var(--grad-accent);color:var(--text-on-accent);box-shadow:0 14px 34px -16px rgba(6,214,160,.65),var(--inset-sheen)}
.bk-btn--primary:hover{box-shadow:0 20px 46px -16px rgba(6,214,160,.8),var(--inset-sheen)}
.bk-btn--glass{background:var(--surface-glass);backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));border-color:var(--border-hairline);color:var(--text-primary);box-shadow:var(--inset-sheen)}
.bk-btn--glass:hover{background:var(--surface-glass-strong);border-color:var(--border-hairline-strong)}
.bk-btn--ghost{background:transparent;color:var(--text-secondary)}
.bk-btn--ghost:hover{color:var(--text-primary);background:var(--surface-glass)}
.bk-btn--solid{background:var(--green-800);color:var(--polar-100);box-shadow:var(--shadow-sm)}
.bk-btn--solid:hover{background:var(--green-700)}
.bk-btn[disabled],.bk-btn--disabled{opacity:.42;pointer-events:none;box-shadow:none}

/* ——— IconButton ——— */
.bk-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:19px;border-radius:var(--r-pill);border:1px solid var(--border-hairline);background:var(--surface-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));color:var(--text-primary);cursor:pointer;transition:background var(--dur-fast) var(--ease-calm),color var(--dur-fast) var(--ease-calm),transform var(--dur-fast) var(--ease-calm),border-color var(--dur-fast)}
.bk-iconbtn:hover{background:var(--surface-glass-strong);border-color:var(--border-hairline-strong);transform:translateY(var(--lift-hover))}
.bk-iconbtn:active{transform:scale(var(--press-scale))}
.bk-iconbtn--sm{width:36px;height:36px;font-size:16px}
.bk-iconbtn--bare{background:transparent;border-color:transparent;color:var(--text-secondary)}
.bk-iconbtn--bare:hover{color:var(--text-primary);background:var(--surface-glass)}
.bk-iconbtn--accent{background:var(--grad-accent);border-color:transparent;color:var(--text-on-accent);box-shadow:0 12px 28px -14px rgba(6,214,160,.7)}

/* ——— Badge ——— */
.bk-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);font-size:var(--fs-eyebrow);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}
.bk-badge--accent{background:var(--accent-quiet);color:var(--emerald-300);border-color:rgba(6,214,160,.28)}
.bk-badge--neutral{background:var(--surface-glass);color:var(--text-secondary);border-color:var(--border-hairline)}
.bk-badge--solid{background:var(--grad-accent);color:var(--text-on-accent)}
.bk-badge--light{background:var(--polar-200);color:var(--green-800);border-color:var(--border-on-light)}

/* ——— GlassPanel ——— */
.bk-glass{position:relative;background:var(--grad-glass);backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));border:1px solid var(--border-hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-glass);overflow:hidden}
.bk-glass::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad-hairline);pointer-events:none}
.bk-glass--flat{box-shadow:var(--inset-sheen)}
.bk-glass--lift{box-shadow:var(--shadow-lift),var(--inset-sheen)}
.bk-glass--sm{border-radius:var(--r-md)}
.bk-glass--xl{border-radius:var(--r-xl)}
.bk-glass--pad{padding:var(--sp-8)}

/* ——— Card ——— */
.bk-card{position:relative;border-radius:var(--r-lg);padding:var(--sp-8);background:var(--surface-card);border:1px solid var(--border-hairline);box-shadow:var(--shadow-card);transition:transform var(--dur-base) var(--ease-calm),box-shadow var(--dur-base) var(--ease-calm),border-color var(--dur-base)}
.bk-card--light{background:var(--surface-card-light);border-color:var(--border-on-light);color:var(--text-on-light);box-shadow:0 20px 48px -26px rgba(10,46,38,.28)}
.bk-card--interactive{cursor:pointer}
.bk-card--interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--border-hairline-strong)}
.bk-card--light.bk-card--interactive:hover{box-shadow:0 30px 64px -28px rgba(10,46,38,.34);border-color:rgba(6,214,160,.4)}

/* ——— Orb + MeshBackdrop (the soft-3d layer) ——— */
.bk-orb{position:absolute;border-radius:var(--r-orb);pointer-events:none;filter:blur(2px);background:radial-gradient(circle at 32% 28%,rgba(230,251,246,.9) 0%,rgba(127,237,204,.7) 18%,rgba(6,214,160,.55) 42%,rgba(4,138,105,.3) 68%,rgba(3,16,12,0) 100%);box-shadow:var(--shadow-orb);animation:bk-float var(--dur-drift) var(--ease-veil) infinite}
.bk-orb--soft{background:radial-gradient(circle at 34% 26%,rgba(230,251,246,.28) 0%,rgba(30,139,118,.42) 40%,rgba(3,16,12,0) 100%);filter:blur(28px);box-shadow:none}
.bk-orb--halo{background:radial-gradient(circle at 50% 50%,rgba(6,214,160,.22) 0%,rgba(6,214,160,0) 66%);filter:blur(40px);box-shadow:none}
@keyframes bk-float{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(2%,-3.5%,0) scale(1.045)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes bk-breathe{0%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}100%{opacity:.72;transform:scale(1)}}
@keyframes bk-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.bk-backdrop{position:absolute;inset:0;overflow:hidden;background:var(--grad-mesh);pointer-events:none}
.bk-backdrop--quiet{background:var(--grad-mesh-quiet)}
.bk-backdrop__grain{position:absolute;inset:-20%;opacity:.5;animation:bk-breathe var(--dur-breathe) var(--ease-veil) infinite}
.bk-rise{animation:bk-rise var(--dur-reveal) var(--ease-glide) both}

/* ——— Steinschicht: Edelsteinfoto ganz hinten, darüber der durchlässige Mesh-Veil ——— */
.bk-stone{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:var(--bg-base)}
.bk-stone__img{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(var(--stone-blur)) saturate(var(--stone-saturate));transform:scale(var(--stone-scale));animation:bk-stone-drift 46s var(--ease-veil) infinite}
.bk-stone__img--malachite{background-image:url("/assets/img/gem-malachite-slab.jpg")}
.bk-stone__img--geodes{background-image:url("/assets/img/gem-geodes-gold.jpg")}
.bk-stone__veil{position:absolute;inset:0;background:var(--grad-mesh-sheer)}
.bk-stone--light .bk-stone__veil{background:var(--grad-mesh-sheer-light)}
.bk-stone--sharp .bk-stone__img{filter:saturate(var(--stone-saturate))}
.bk-stone--deep .bk-stone__veil{background:radial-gradient(58% 74% at 18% 12%,rgba(6,214,160,.16) 0%,rgba(6,214,160,0) 62%),linear-gradient(168deg,rgba(4,20,15,.84) 0%,rgba(3,16,12,.90) 100%)}
@keyframes bk-stone-drift{0%{transform:scale(var(--stone-scale)) translate3d(0,0,0)}50%{transform:scale(calc(var(--stone-scale) + .03)) translate3d(-1.2%,-1%,0)}100%{transform:scale(var(--stone-scale)) translate3d(0,0,0)}}

/* ——— Forms ——— */
.bk-field{display:flex;flex-direction:column;gap:var(--sp-2)}
.bk-field__label{font-size:var(--fs-caption);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}
.bk-field__hint{font-size:var(--fs-caption);color:var(--text-muted)}
.bk-field__error{font-size:var(--fs-caption);color:var(--signal-error)}
.bk-input,.bk-textarea,.bk-select{width:100%;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border-hairline);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--inset-well);transition:border-color var(--dur-fast) var(--ease-calm),box-shadow var(--dur-fast) var(--ease-calm),background var(--dur-fast)}
.bk-input::placeholder,.bk-textarea::placeholder{color:var(--text-muted)}
.bk-input:hover,.bk-textarea:hover,.bk-select:hover{border-color:var(--border-hairline-strong)}
.bk-input:focus,.bk-textarea:focus,.bk-select:focus{outline:none;border-color:rgba(6,214,160,.6);box-shadow:var(--inset-well),0 0 0 3px rgba(6,214,160,.16)}
.bk-textarea{min-height:140px;resize:vertical;line-height:var(--lh-body)}
.bk-select{appearance:none;padding-right:44px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237CEDCC' stroke-width='1.5'><path d='M3 6l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
.bk-check{display:inline-flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--fs-body-sm);color:var(--text-secondary);cursor:pointer}
.bk-check__box{width:20px;height:20px;flex:none;margin-top:2px;border-radius:6px;border:1px solid var(--border-hairline-strong);background:var(--surface-inset);display:grid;place-items:center;color:transparent;font-size:12px;transition:background var(--dur-fast) var(--ease-calm),color var(--dur-fast),border-color var(--dur-fast)}
.bk-check input{position:absolute;opacity:0;width:0;height:0}
.bk-check--on .bk-check__box{background:var(--grad-accent);border-color:transparent;color:var(--text-on-accent)}
.bk-slot{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:var(--r-pill);border:1px solid var(--border-hairline);background:var(--surface-glass);color:var(--text-secondary);font-size:var(--fs-body-sm);cursor:pointer;transition:all var(--dur-fast) var(--ease-calm)}
.bk-slot:hover{border-color:var(--border-hairline-strong);color:var(--text-primary)}
.bk-slot--on{background:var(--grad-accent);border-color:transparent;color:var(--text-on-accent);font-weight:var(--weight-medium)}
.bk-slot--off{opacity:.34;pointer-events:none;text-decoration:line-through}

/* ——— Navbar ——— */
.bk-nav{position:sticky;top:0;z-index:40;padding:var(--sp-4) 0;transition:background var(--dur-base) var(--ease-calm),backdrop-filter var(--dur-base)}
.bk-nav--stuck{background:rgba(4,20,15,.72);backdrop-filter:blur(var(--blur-veil)) saturate(1.2);-webkit-backdrop-filter:blur(var(--blur-veil));border-bottom:1px solid var(--border-hairline)}
.bk-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-8)}
.bk-wordmark{font-family:var(--font-display);font-weight:var(--weight-display-em);font-size:1.4rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-primary);text-decoration:none}
.bk-wordmark small{display:block;font-family:var(--font-sans);font-size:9px;letter-spacing:.3em;color:var(--text-muted);margin-top:3px;text-transform:uppercase}
.bk-nav__links{display:flex;align-items:center;gap:var(--sp-8);list-style:none;margin:0;padding:0}
.bk-nav__link{position:relative;font-size:var(--fs-body-sm);color:var(--text-secondary);text-decoration:none;padding-block:6px;transition:color var(--dur-fast) var(--ease-calm)}
.bk-nav__link:hover{color:var(--text-primary);text-decoration:none}
.bk-nav__link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right var(--dur-base) var(--ease-glide)}
.bk-nav__link:hover::after,.bk-nav__link--active::after{right:0}
.bk-nav__link--active{color:var(--text-primary)}

/* ——— Footer ——— */
.bk-footer{position:relative;background:var(--bg-deep);border-top:1px solid var(--border-hairline);padding-block:var(--sp-20) var(--sp-10);overflow:hidden}
.bk-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-10)}
.bk-footer__title{font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-4)}
.bk-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.bk-footer__list a{color:var(--text-secondary);font-size:var(--fs-body-sm);text-decoration:none}
.bk-footer__list a:hover{color:var(--accent)}
.bk-footer__base{display:flex;justify-content:space-between;gap:var(--sp-6);margin-top:var(--sp-16);padding-top:var(--sp-6);border-top:1px solid var(--border-hairline);font-size:var(--fs-caption);color:var(--text-muted)}
@media (max-width:860px){.bk-footer__grid{grid-template-columns:1fr 1fr}}

/* ——— Tabs ——— */
.bk-tabs{display:inline-flex;gap:4px;padding:5px;border-radius:var(--r-pill);background:var(--surface-inset);border:1px solid var(--border-hairline)}
.bk-tab{padding:10px 20px;border:0;background:transparent;border-radius:var(--r-pill);font-size:var(--fs-body-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-calm),color var(--dur-fast)}
.bk-tab:hover{color:var(--text-primary)}
.bk-tab--active{background:var(--surface-glass-strong);color:var(--text-primary);box-shadow:var(--inset-sheen)}

/* ——— Accordion ——— */
.bk-acc{border-top:1px solid var(--border-hairline)}
.bk-acc__item{border-bottom:1px solid var(--border-hairline)}
.bk-acc__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);padding:var(--sp-6) 0;background:none;border:0;text-align:left;cursor:pointer;font-family:var(--font-display);font-size:var(--fs-subtitle);font-weight:var(--weight-display-em);color:var(--text-primary);transition:color var(--dur-fast) var(--ease-calm)}
.bk-acc__head:hover{color:var(--emerald-300)}
.bk-acc__sign{font-size:18px;color:var(--accent);transition:transform var(--dur-base) var(--ease-glide)}
.bk-acc__item--open .bk-acc__sign{transform:rotate(45deg)}
.bk-acc__body{overflow:hidden;max-height:0;transition:max-height var(--dur-slow) var(--ease-glide),opacity var(--dur-base) var(--ease-calm);opacity:0}
.bk-acc__item--open .bk-acc__body{max-height:460px;opacity:1}
.bk-acc__body p{padding-bottom:var(--sp-6);color:var(--text-secondary);max-width:var(--measure-prose)}

/* ——— SectionHeading ——— */
.bk-heading{display:flex;flex-direction:column;gap:var(--sp-4);max-width:var(--measure-lead)}
.bk-heading--center{align-items:center;text-align:center;margin-inline:auto}

/* ——— ServiceCard ——— */
.bk-service{display:flex;flex-direction:column;gap:var(--sp-5);min-height:100%}
.bk-service__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-md);font-size:24px;color:var(--emerald-300);background:var(--grad-accent-soft);border:1px solid rgba(6,214,160,.24);box-shadow:var(--inset-sheen)}
.bk-service__meta{display:flex;align-items:center;gap:var(--sp-4);margin-top:auto;padding-top:var(--sp-4);border-top:1px solid var(--border-hairline);font-size:var(--fs-caption);color:var(--text-muted)}
.bk-card--light .bk-service__meta{border-color:var(--border-on-light);color:var(--text-on-light-muted)}
.bk-card--light .bk-service__icon{color:var(--emerald-700);background:var(--polar-100);border-color:var(--border-on-light)}

/* ——— Testimonial ——— */
.bk-quote{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--fs-title);line-height:var(--lh-tight);letter-spacing:var(--tracking-title);color:var(--text-primary)}
.bk-quote__mark{font-family:var(--font-display);font-size:64px;line-height:.6;color:rgba(6,214,160,.45);display:block;margin-bottom:var(--sp-3)}
.bk-quote__by{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-6);font-size:var(--fs-caption);color:var(--text-muted)}
.bk-quote__dot{width:34px;height:34px;border-radius:var(--r-orb);background:var(--grad-accent-soft);border:1px solid var(--border-hairline)}

/* ——— CTABand ——— */
.bk-cta{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(40px,6vw,88px);background:var(--grad-mesh);border:1px solid var(--border-hairline);box-shadow:var(--shadow-lift)}
.bk-cta__inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--sp-6);align-items:flex-start;max-width:56ch}

/* ——— Dialog ——— */
.bk-dialog__veil{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--gutter);background:rgba(3,16,12,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:bk-rise var(--dur-base) var(--ease-calm) both}
.bk-dialog{width:100%;max-width:520px;padding:var(--sp-8);animation:bk-rise var(--dur-slow) var(--ease-glide) both}
.bk-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-4)}

/* ——— image placeholder (no photography shipped with the brand material) ——— */
.bk-imgslot{position:relative;display:grid;place-items:center;border-radius:var(--r-lg);background:var(--grad-accent-soft),var(--grad-mesh-quiet);border:1px dashed var(--border-hairline-strong);color:var(--text-muted);font-size:var(--fs-caption);letter-spacing:.06em;text-align:center;padding:var(--sp-6);overflow:hidden}
.bk-imgslot--photo{aspect-ratio:4/5}
.bk-imgslot--wide{aspect-ratio:16/9}
