/* HD Genie Studio components. Uses HD dark tokens only (theme.css). Prefix: hd-genie-* */
.hd-genie-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hd-genie-icon{width:24px;height:24px;flex:none;color:var(--hd-accent)}
.hd-genie-section{padding:64px 0;max-width:1180px;margin:0 auto;padding-inline:20px}
.hd-genie-section h2{color:var(--hd-ink);font-size:clamp(26px,3vw,36px);margin:8px 0 24px}

/* 1. Flow */
.hd-genie-flow{list-style:none;margin:0;padding:24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;
  background:var(--hd-surface);border:1px solid var(--hd-hairline);border-radius:var(--hd-radius-lg);box-shadow:var(--hd-shadow)}
.hd-genie-flow__step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 10px;min-width:0}
.hd-genie-flow__node{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;
  background:var(--hd-surface-elevated);border:1px solid var(--hd-hairline);box-shadow:0 0 0 6px var(--hd-accent-soft);transition:transform 200ms var(--hd-ease)}
.hd-genie-flow__step:hover .hd-genie-flow__node{transform:translateY(-2px)}
.hd-genie-flow__step:last-child .hd-genie-flow__node .hd-genie-icon{color:var(--hd-success)}
.hd-genie-flow__text{display:flex;flex-direction:column;gap:4px}
.hd-genie-flow__label{color:var(--hd-ink);font-weight:600;font-size:15px;line-height:1.3}
.hd-genie-flow__tag{color:var(--hd-muted);font-size:13px}
.hd-genie-flow__step:not(:last-child)::after{content:"";position:absolute;top:40px;left:calc(50% + 40px);right:calc(-50% + 40px);height:2px;
  background:linear-gradient(90deg,var(--hd-accent),var(--hd-accent-soft))}
.hd-genie-flow__step:not(:last-child)::before{content:"";position:absolute;top:36px;right:calc(-50% + 38px);width:8px;height:8px;
  border-top:2px solid var(--hd-accent);border-right:2px solid var(--hd-accent);transform:rotate(45deg);opacity:.7}
@media (max-width:760px){
  .hd-genie-flow{grid-template-columns:1fr;padding:16px}
  .hd-genie-flow__step{flex-direction:row;text-align:left;gap:16px;padding:10px 4px 26px}
  .hd-genie-flow__node{width:52px;height:52px}
  .hd-genie-flow__text{display:flex;flex-direction:column;gap:2px}
  .hd-genie-flow__step:not(:last-child)::after{top:66px;bottom:2px;left:29px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--hd-accent),var(--hd-accent-soft))}
  .hd-genie-flow__step:not(:last-child)::before{top:auto;bottom:2px;right:auto;left:26px;transform:rotate(135deg)}
}

/* 3. Cards */
.hd-genie-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hd-genie-card{display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--hd-surface);border:1px solid var(--hd-hairline);
  border-radius:var(--hd-radius-md);transition:border-color 200ms var(--hd-ease),transform 200ms var(--hd-ease)}
.hd-genie-card:hover{border-color:var(--hd-accent);transform:translateY(-2px)}
.hd-genie-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--hd-radius-sm);background:var(--hd-accent-soft)}
.hd-genie-card h3{margin:0;color:var(--hd-ink);font-size:22px}
.hd-genie-card p{margin:0;color:var(--hd-muted);line-height:1.55;flex:1}
.hd-genie-card__link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--hd-ink);font-weight:600;text-decoration:none}
.hd-genie-card__link::after{content:"→";color:var(--hd-accent);transition:transform 200ms var(--hd-ease)}
.hd-genie-card__link:hover::after{transform:translateX(4px)}
@media (max-width:900px){.hd-genie-cards{grid-template-columns:1fr}}

/* 4. Deployment: twee kaarten + CTA */
.hd-genie-deploy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hd-genie-deploy__card{display:flex;flex-direction:column;gap:12px;padding:28px;min-width:0;background:var(--hd-surface);border:1px solid var(--hd-hairline);border-radius:var(--hd-radius-md)}
.hd-genie-deploy__card h3{margin:0;color:var(--hd-ink);font-size:22px}
.hd-genie-deploy__card p{margin:0;color:var(--hd-muted);line-height:1.55}
.hd-genie-deploy__cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:24px}
.hd-genie-deploy__cta p{margin:0;color:var(--hd-ink)}
.hd-genie-deploy__cta .hd-btn{min-height:46px}
@media (max-width:760px){.hd-genie-deploy{grid-template-columns:1fr}.hd-genie-deploy__cta .hd-btn{width:100%}}

/* 5. KB header + callouts */
.hd-genie-kbhead{position:relative;overflow:hidden;padding:72px 20px 56px;border-bottom:1px solid var(--hd-hairline);background:var(--hd-bg)}
.hd-genie-kbhead__bg{position:absolute;inset:0;width:100%;height:100%;color:var(--hd-accent);opacity:.55;pointer-events:none}
.hd-genie-kbhead__inner{position:relative;max-width:820px;margin:0 auto}
.hd-genie-kbhead h1{margin:10px 0 16px;color:var(--hd-ink);font-size:clamp(30px,5vw,52px);line-height:1.08;overflow-wrap:anywhere}
.hd-genie-kbhead__meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--hd-muted);font-size:14px}
.hd-genie-kbhead__meta span+span::before{content:"·";margin-right:16px;color:var(--hd-accent)}
.hd-genie-callout{display:flex;gap:14px;padding:18px 20px;margin:20px 0;border-radius:var(--hd-radius-sm);background:var(--hd-surface);
  border:1px solid var(--hd-hairline);border-left:4px solid var(--hd-accent);color:var(--hd-ink);line-height:1.55}
.hd-genie-callout p{margin:0}
.hd-genie-callout strong{display:block;margin-bottom:2px}
.hd-genie-callout--info{border-left-color:var(--hd-accent)}
.hd-genie-callout--info .hd-genie-icon{color:var(--hd-accent)}
.hd-genie-callout--letop{border-left-color:var(--hd-ink);background:var(--hd-surface-elevated)}
.hd-genie-callout--letop .hd-genie-icon{color:var(--hd-ink)}
.hd-genie-callout--tip{border-left-color:var(--hd-success)}
.hd-genie-callout--tip .hd-genie-icon{color:var(--hd-success)}
@media (prefers-reduced-motion:reduce){.hd-genie-card,.hd-genie-flow__node,.hd-genie-card__link::after{transition:none}}
