/* Hive Workshops — HOME page (loaded after public.css). Bright, airy, compositor-only motion.
   No parallax, no fixed layers, no backdrop-filter, no blend modes, no animated gradients/filters/shadows. */

/* metric-compatible fallbacks so the web-font swap does not move text */
@font-face{font-family:"Inter Fallback";src:local("Arial");ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%;size-adjust:107.4%}
@font-face{font-family:"Space Grotesk Fallback";src:local("Arial");ascent-override:93%;descent-override:26%;line-gap-override:0%;size-adjust:101%}
.pg-home{--font:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--display:'Space Grotesk','Space Grotesk Fallback','Inter',system-ui,sans-serif}

/* ---------- hero ---------- */
.hm-hero{position:relative;overflow:hidden;isolation:isolate;padding:44px 0 56px}
.hm-aura{position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(520px 380px at 8% 6%,var(--p-wash1),transparent 70%),radial-gradient(560px 420px at 96% 16%,var(--p-wash2),transparent 70%),radial-gradient(520px 380px at 55% 104%,var(--p-wash3),transparent 70%)}
.hm-hex{position:absolute;z-index:-1;pointer-events:none;color:var(--g1);width:96px;height:auto}
.hm-hex-a{right:5%;top:44px;opacity:.55;width:110px}
.hm-hex-b{left:3%;bottom:34px;color:var(--g2);width:72px}
html[data-theme="dark"] .hm-hex-a{color:#C4B5FD;opacity:.4}
.hm-hero-in{display:grid;gap:34px;align-items:center}
.hm-copy{min-width:0}
.hm-pill{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;padding:7px 14px;border-radius:99px;background:var(--p-card);border:1px solid var(--p-line);font:700 12px/1.2 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--p-ac);box-shadow:var(--p-shadow)}
.hm-pill i{width:8px;height:8px;border-radius:50%;background:var(--g2);flex:none}
.hm-hero h1{font-size:clamp(40px,10.4vw,86px);line-height:1;margin:0 0 18px;letter-spacing:-.03em;text-wrap:balance;color:var(--p-head)}
.hm-hero h1 em{font-style:normal;color:var(--p-link);position:relative;white-space:nowrap}
.hm-hero h1 em::after{content:"";position:absolute;left:2%;right:2%;bottom:.07em;height:.13em;border-radius:99px;background:var(--g2);opacity:.85;z-index:-1}
html[data-theme="dark"] .hm-hero h1 em{color:#C4B5FD}
.hm-lead{font-size:clamp(16px,2.3vw,20px);line-height:1.6;color:var(--p-soft);max-width:560px;margin:0 0 26px}
.hm-cta{display:flex;flex-wrap:wrap;gap:12px}
.hm-cta .btn-pub{flex:1 1 auto}
@media (min-width:480px){.hm-cta .btn-pub{flex:0 0 auto}}
.hm-facts{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--p-mute);font-size:14px}
.hm-facts b{font:700 20px/1 var(--display);color:var(--p-head);margin-right:3px}

/* featured event card */
.hm-feat{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:var(--p-card);border:1px solid var(--p-line);box-shadow:var(--p-shadow),0 30px 60px -34px rgba(76,29,149,.38);min-width:0}
.hm-feat-img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background-size:cover}
.hm-feat-date{position:absolute;left:14px;top:14px;width:56px;padding:7px 0;text-align:center;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 6px 18px -8px rgba(20,20,43,.45);line-height:1.1;color:#14142B}
.hm-feat-date b{display:block;font:700 22px/1 var(--display)}.hm-feat-date i{display:block;font:700 10px/1.5 var(--font);font-style:normal;letter-spacing:.12em;color:#B45309}
.hm-feat-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 24px;align-items:flex-start}
.hm-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font:700 12px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--p-ac)}
.hm-eyebrow .chip{letter-spacing:.02em;text-transform:none}
.hm-feat h2{font-size:clamp(22px,3.4vw,30px);line-height:1.12;margin:0}
.hm-feat h2 a{color:var(--p-head);text-decoration:none}
.hm-feat-tag{margin:0;color:var(--p-soft);font-size:15.5px}
.hm-feat-meta{margin:0;display:flex;flex-direction:column;gap:6px;color:var(--p-mute);font-size:14.5px}
.hm-feat-meta span{display:flex;align-items:flex-start;gap:8px}.hm-feat-meta .ico{flex:none;margin-top:2px;color:var(--p-ac)}
.hm-feat .cd{margin:4px 0 2px;gap:6px}
.hm-feat .fd{width:clamp(26px,7.4vw,38px);height:clamp(38px,10.5vw,52px);line-height:clamp(38px,10.5vw,52px);font-size:clamp(20px,5.6vw,28px);border-radius:9px;
  background:linear-gradient(180deg,var(--p-sub2) 0 50%,var(--p-sub) 50% 100%);border:1px solid var(--p-line);color:var(--p-head);box-shadow:none}
.hm-feat .fd::after{background:var(--p-line);box-shadow:none}
.hm-feat .cd-sep{font-size:20px;line-height:clamp(38px,10.5vw,52px)}
.hm-feat-btn{margin-top:6px;align-self:stretch}
.hm-feat-empty{padding:6px 0}
@media (min-width:480px){.hm-feat-btn{align-self:flex-start}}
@media (min-width:960px){
  .hm-hero{padding:72px 0 88px}
  .hm-hero-in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px}
}

/* ---------- sections ---------- */
.hm-sec{padding:56px 0;position:relative;content-visibility:auto;contain-intrinsic-size:auto var(--ih-m,620px)}
@media (min-width:640px){.hm-sec{contain-intrinsic-size:auto var(--ih-t,620px)}}
@media (min-width:1024px){.hm-sec{contain-intrinsic-size:auto var(--ih-d,620px)}}
.hm-tight{padding-top:8px}
@media (min-width:1024px){.hm-sec{padding:84px 0}.hm-tight{padding-top:12px}}
.hm-more{margin:30px 0 0}
#upcoming{background:var(--p-bg2);border-block:1px solid var(--p-line)}
#upcoming .ev-card{background:var(--p-card)}

/* how it works */
.hm-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:none}
@media (min-width:768px){.hm-steps{grid-template-columns:repeat(3,1fr);gap:22px}}
.hm-step{position:relative;padding:26px 24px 28px;border-radius:24px;background:var(--p-card);border:1px solid var(--p-line);box-shadow:var(--p-shadow)}
.hm-step-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--p-sub2);color:var(--p-link)}
.hm-step-ic .ico{width:24px;height:24px}
.hm-step .n{position:absolute;right:22px;top:18px;font:700 44px/1 var(--display);color:var(--p-line);letter-spacing:-.02em}
.hm-step h3{font-size:22px;margin:18px 0 8px}
.hm-step p{margin:0;color:var(--p-mute);line-height:1.6}
html[data-theme="dark"] .hm-step .n{color:rgba(255,255,255,.14)}

/* categories */
.hm-cats{display:flex;flex-wrap:wrap;gap:12px}
.hm-cat{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:16px 20px;border-radius:18px;background:var(--p-card);border:1px solid var(--p-line);box-shadow:var(--p-shadow);text-decoration:none!important}
.hm-cat b{font:700 18px/1.2 var(--display);color:var(--p-head)}.hm-cat span{font-size:13px;color:var(--p-mute)}
@media (hover:hover){.hm-cat:hover{border-color:var(--p-hover-bd)}}

/* speakers */
.hm-spk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (min-width:768px){.hm-spk{grid-template-columns:repeat(4,1fr);gap:18px}}
.hm-spk a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:20px 12px;border-radius:22px;background:var(--p-card);border:1px solid var(--p-line);box-shadow:var(--p-shadow);text-decoration:none!important;height:100%}
.hm-spk .av{position:relative;overflow:hidden;width:88px;height:88px;margin-bottom:10px;font-size:28px;box-shadow:0 0 0 3px var(--p-line)}
.hm-spk .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-spk b{font:700 16px/1.25 var(--display);color:var(--p-head)}.hm-spk small{font-size:13px;color:var(--p-mute);line-height:1.35}
@media (hover:hover){.hm-spk a:hover{border-color:var(--p-hover-bd)}}

/* sponsors */
.logos .logo-tile img{width:auto}

/* newsletter */
.hm-notify{display:grid;gap:26px;padding:26px 22px;border-radius:30px;background:var(--p-notify-bg);border:1px solid var(--p-hover-bd);box-shadow:var(--p-shadow)}
.hm-notify h2{font-size:clamp(26px,4.6vw,40px);margin:0 0 10px;line-height:1.1}
.hm-notify-copy>p:not(.kicker){margin:0;color:var(--p-soft);font-size:17px;line-height:1.6;max-width:440px}
.hm-notify-form{background:var(--p-card);border:1px solid var(--p-line);border-radius:22px;padding:20px}
@media (min-width:900px){.hm-notify{grid-template-columns:1fr 1.1fr;gap:48px;padding:48px;align-items:center}}

/* mobile: tighter hero */
@media (max-width:480px){.hm-hero{padding:30px 0 44px}.hm-hex{display:none}}
@media print{.hm-hex,.hm-aura{display:none}}

/* "Have a workshop to share?" — presenter / promoter invitation (distinct dark band, #host) */
.hm-host{display:grid;gap:30px;padding:30px 22px;border-radius:30px;color:#f4effd;border:1px solid rgba(167,139,250,.35);box-shadow:var(--p-shadow);position:relative;overflow:hidden;background:radial-gradient(120% 90% at 0% 0%,#4c1d95 0%,rgba(76,29,149,0) 60%),radial-gradient(90% 80% at 100% 100%,rgba(245,158,11,.28) 0%,rgba(245,158,11,0) 55%),linear-gradient(145deg,#1a0f33,#2a1560)}
.hm-host .kicker{color:#fbbf24}
.hm-host h2{font-size:clamp(26px,4.6vw,40px);margin:0 0 12px;line-height:1.1;color:#fff}
.hm-host-lead{margin:0 0 22px;color:#ddd3f5;font-size:17px;line-height:1.6;max-width:480px}
.hm-host-paths{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.hm-host-paths li{display:flex;gap:14px;align-items:flex-start}
.hm-host-paths .hp-ic{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(251,191,36,.14);border:1px solid rgba(251,191,36,.35);color:#fbbf24}
.hm-host-paths b{display:block;font-size:16px;color:#fff;margin-bottom:2px}
.hm-host-paths span:not(.hp-ic){display:block;font-size:14.5px;line-height:1.5;color:#cbbfe8}
.hm-host-form{background:var(--p-card);color:var(--p-soft);border:1px solid var(--p-line);border-radius:22px;padding:20px}
.host-kinds{border:0;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.host-kinds legend{font-size:13px;font-weight:600;color:var(--p-soft);padding:0;margin-bottom:8px}
.host-pill{cursor:pointer}
.host-pill input{position:absolute;opacity:0;pointer-events:none}
.host-pill span{display:inline-block;padding:8px 14px;border-radius:999px;border:1.5px solid var(--p-line);font-size:14px;font-weight:600;color:var(--p-soft);transition:background .15s,border-color .15s,color .15s}
.host-pill input:checked+span{background:#6d28d9;border-color:#6d28d9;color:#fff}
.host-pill input:focus-visible+span{outline:2px solid var(--p-focus);outline-offset:2px}
.host-form textarea{width:100%;resize:vertical}
@media (min-width:900px){.hm-host{grid-template-columns:1fr 1.1fr;gap:48px;padding:48px;align-items:center}}
