/* hive-door.css — the Buzz Hive door on buzzcompose.com.
 *
 * Adapted from ResumeBuzz's hive-door.css (2026-08-25), which built this component when
 * ResumeBuzz was still the identity holder. Ported here now that buzzcompose is. Embed mode
 * (the builder-overlay mount) is dropped: that only ever made sense on a brand's own product
 * page, and buzzcompose has no product surface of its own to overlay. The two-brand hardcoded
 * lockup (GradBuzz + ResumeBuzz side by side) is also dropped in favor of one generic Buzz
 * Hive mark, since this door now serves ANY number of crossing targets via `next`, not one
 * fixed pair — see hive-door.js's HIVE_TARGETS handling.
 *
 * EVERY rule is scoped under .hived on purpose, same reasoning as the original: an unscoped
 * input{} or h1{} would repaint whatever this door is mounted over.
 */

@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/playfair.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/dm-sans.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-mono-500.woff2') format('woff2')}

.hived{
  --bg:#FCF4E4; --bg-lo:#FBEAC8; --card:#FFFFFF;
  --ink:#2E2109; --ink-soft:#6B5320; --muted:#9A7B3C;
  --line:rgba(150,110,35,0.18); --line-soft:rgba(150,110,35,0.10);
  --honey:#F2A61C; --honey-hi:#F7B733; --honey-deep:#C97E08;
  --red:#C0431F; --green:#0E7A4B;
  --font-serif:'Playfair Display',Georgia,serif;
  --font-sans:'DM Sans',system-ui,-apple-system,sans-serif;
  --font-mono:'DM Mono','Courier New',monospace;
  color:var(--ink);font-family:var(--font-sans);line-height:1.6;
  position:relative;width:100%;
}
.hived,.hived *{box-sizing:border-box}
.hived [hidden]{display:none!important}

.hived{
  display:flex;align-items:center;justify-content:center;min-height:100vh;padding:18px 20px;
}
.hived .hd-combbg{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='41.569' viewBox='0 0 72 41.569'%3E%3Cpath d='M-12 -20.78 L-24 0 L-48 0 L-60 -20.78 L-48 -41.57 L-24 -41.57Z M-12 20.78 L-24 41.57 L-48 41.57 L-60 20.78 L-48 0 L-24 0Z M24 -41.57 L12 -20.78 L-12 -20.78 L-24 -41.57 L-12 -62.35 L12 -62.35Z M24 0 L12 20.78 L-12 20.78 L-24 0 L-12 -20.78 L12 -20.78Z M60 -20.78 L48 0 L24 0 L12 -20.78 L24 -41.57 L48 -41.57Z M60 20.78 L48 41.57 L24 41.57 L12 20.78 L24 0 L48 0Z M96 0 L84 20.78 L60 20.78 L48 0 L60 -20.78 L84 -20.78Z' fill='none' stroke='%23E7D3A6' stroke-width='1'/%3E%3C/svg%3E");
  opacity:.55;mask-image:radial-gradient(120% 90% at 50% 20%,#000 40%,transparent 92%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 20%,#000 40%,transparent 92%);}
body.hived-page{margin:0;min-height:100%;overflow-x:hidden;
  background:
    radial-gradient(1100px 620px at 50% -12%,rgba(247,183,51,.30),transparent 62%),
    radial-gradient(900px 700px at 108% 112%,rgba(224,162,26,.20),transparent 60%),
    linear-gradient(160deg,#FCF4E4 0%,#FCF4E4 55%,#FBEAC8 100%);}
html.hived-page{min-height:100%;color-scheme:light}

.hived .hd-wrap{position:relative;z-index:2;width:100%;max-width:452px;margin:0 auto}

.hived .hd-bee{position:absolute;z-index:4;width:22px;height:auto;pointer-events:none;opacity:.72}
.hived .hd-bee .wing{transform-box:fill-box;transform-origin:center bottom;
  animation:hd-flap .16s ease-in-out infinite alternate}
.hived .hd-bee.b1{top:-13px;right:26px}
.hived .hd-bee.b2{top:42%;right:-25px}
.hived .hd-bee.b2 .wing{animation-delay:-.05s}
.hived .hd-bee.b3{bottom:22px;left:-21px;opacity:.55;transform:scale(.82)}
.hived .hd-bee.b3 .wing{animation-delay:-.09s}
@keyframes hd-flap{from{transform:rotate(-16deg)}to{transform:rotate(10deg)}}

/* one generic Buzz Hive mark, replacing the old hardcoded two-brand lockup */
.hived .hd-lockup{display:flex;flex-direction:column;align-items:center;margin:0 0 10px}
.hived .hd-mark{width:64px;height:auto;display:block;filter:drop-shadow(0 10px 22px rgba(150,100,20,.28))}
.hived .hd-wordmark{margin-top:9px;font-family:var(--font-serif);font-weight:700;font-size:1.05rem;
  letter-spacing:-.01em;color:var(--ink)}
.hived .hd-wordmark b{color:var(--honey-deep)}

.hived .hd-h{font-family:var(--font-serif);font-weight:900;font-size:1.95rem;line-height:1.05;
  text-align:center;margin:11px 0 6px;letter-spacing:-.015em;text-wrap:balance;color:var(--ink)}
.hived .hd-h .hi{background:linear-gradient(100deg,var(--honey-deep),var(--honey) 55%,var(--honey-hi));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--honey-deep)}
.hived .hd-lede{text-align:center;color:var(--ink-soft);font-size:.9rem;line-height:1.5;
  margin:0 auto 15px;max-width:40ch}

.hived .hd-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:18px;box-shadow:0 18px 50px rgba(150,105,20,.16),0 2px 0 rgba(255,255,255,.6) inset}

.hived .hd-tabs{display:flex;gap:5px;padding:5px;margin:0 0 14px;background:var(--bg);
  border:1px solid var(--line-soft);border-radius:12px}
.hived .hd-tab{flex:1;padding:10px 8px;border-radius:8px;border:1px solid transparent;background:transparent;
  color:var(--muted);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap;
  transition:color .16s,background .16s,box-shadow .16s}
.hived .hd-tab:hover{color:var(--honey-deep)}
.hived .hd-tab[aria-selected="true"]{color:var(--ink);background:var(--card);
  border-color:var(--line);box-shadow:0 2px 8px rgba(150,105,20,.12)}

.hived form{margin:0}
.hived .hd-row{display:flex;gap:12px}
.hived .hd-row>div{flex:1}
.hived label{display:block;font-family:var(--font-mono);font-weight:500;font-size:.66rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--honey-deep);margin:0 0 6px}
.hived input{width:100%;padding:10px 12px;margin:0 0 11px;border-radius:10px;border:1px solid var(--line);
  background:#FFFDF8;color:var(--ink);font:inherit;font-size:.96rem;
  transition:border-color .15s,box-shadow .15s}
.hived input::placeholder{color:#C3AF82}
.hived input:focus{outline:none;border-color:var(--honey);box-shadow:0 0 0 3px rgba(242,166,28,.22)}

.hived .hd-go{width:100%;padding:12px;border-radius:11px;border:1px solid var(--honey-deep);
  background:linear-gradient(180deg,var(--honey-hi),var(--honey) 60%,var(--honey-deep));
  color:#3A2905;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;
  box-shadow:0 6px 16px rgba(224,140,10,.32);transition:transform .14s,box-shadow .14s,filter .14s}
.hived .hd-go:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(224,140,10,.42);filter:brightness(1.04)}
.hived .hd-go:active{transform:translateY(0)}
.hived .hd-go:focus-visible{outline:3px solid rgba(242,166,28,.5);outline-offset:2px}
.hived .hd-go[disabled]{opacity:.6;cursor:default;transform:none}

.hived .hd-msg{margin:12px 0 0;font-size:.85rem;line-height:1.5;min-height:1.2em;text-align:center}
.hived .hd-msg.error{color:var(--red)}
.hived .hd-msg.ok{color:var(--honey-deep)}

.hived .hd-who{margin:0 0 12px;font-size:.95rem;color:var(--ink-soft);text-align:center}
.hived .hd-who b{color:var(--ink);font-weight:700}

.hived .hd-fine{margin:12px auto 0;text-align:center;font-family:var(--font-mono);font-size:.68rem;
  line-height:1.8;color:var(--muted);max-width:40ch}
.hived .hd-fine a{color:var(--honey-deep);text-decoration:none}
.hived .hd-fine a:hover{text-decoration:underline}

.hived .hd-turnstile{margin-bottom:13px;min-height:65px}

@media(max-width:420px){
  .hived .hd-h{font-size:2rem}
  .hived .hd-mark{width:68px}
}
@media(prefers-reduced-motion:reduce){
  .hived .hd-bee .wing{animation:none}
  .hived *{transition:none!important}
}
