/* Xenyra Hub (H15): one clean stylesheet. Replaces hub.css + return-nav + hub-header + hub-hero + motto layers. */
@font-face{font-family:Cardo;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cardo-400.woff2) format('woff2')}
@font-face{font-family:Cardo;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/cardo-700.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/inter-var.woff2) format('woff2')}
@property --xh-a{syntax:'<angle>';inherits:false;initial-value:0deg}

:root{
  --ink:var(--xt-ink-0); --ink-2:var(--xt-ink-deep); --muted:var(--xt-mute-2); --line:var(--xt-line-3);
  --blue:var(--xt-blue-2); --violet:var(--xt-violet-2); --cyan:#00e5ff; --bg:var(--xt-bg-2);
  --ring:conic-gradient(from var(--xh-a),#00e5ff,#1d7cff,#b026ff,#00e5ff);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--xt-ink-2,#3b425e);background:radial-gradient(900px 520px at 82% 8%,var(--xt-glow-a) 0%,transparent 70%),radial-gradient(700px 480px at 6% 4%,var(--xt-glow-b) 0%,transparent 70%),var(--xt-bg,#f5f7ff)}
a{color:inherit}
button{font:inherit;cursor:pointer}
.xh-skip{position:absolute;top:-90px}
.xh-skip:focus{top:5px;left:5px;z-index:20;background:var(--xt-surface);padding:10px}


/* ---- layout ---- */
.xh-main{max-width:1360px;margin:auto;padding:clamp(40px,7vw,96px) clamp(18px,4vw,48px) 40px;display:grid;grid-template-columns:minmax(0,640px) minmax(300px,1fr);column-gap:clamp(24px,5vw,72px);align-items:start;min-height:calc(100vh - 75px)}
.xh-hero{grid-column:1}
.xh-stage{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:380px;align-self:center;transition:opacity .5s ease}
.xh-spaces,.xh-footnote{grid-column:1}

/* ---- hero text ---- */
.xh-eyebrow{display:inline-block;padding:8px 14px;border:1px solid var(--xt-pill-line);border-radius:999px;background:var(--xt-surface);color:var(--xt-eyebrow);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.xh-hero h1{font-family:var(--xt-serif,"EB Garamond",Cardo,Georgia,serif);font-size:clamp(44px,6vw,76px);line-height:1.02;font-weight:400;letter-spacing:-.01em;max-width:700px;margin:22px 0 20px;color:var(--xt-ink,#0f1433)}
.xh-grad{color:var(--xt-accent-ink)}
.xh-hero>p{color:var(--xt-text);line-height:1.6;font-size:19px;font-weight:300;max-width:540px}
.xh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
.xh-hint{font-size:14px;color:var(--xt-mute);min-height:20px}

/* ---- buttons: shared module css/xh-btn.css ---- */
.xh-orb:focus-visible{outline:3px solid var(--xt-focus);outline-offset:3px}

/* ---- orb launcher: one element, two slots (big = invitation, small = chat is open) ---- */
.xh-slot{display:grid;place-items:center}
.xh-slot-big{width:clamp(170px,19vw,260px);aspect-ratio:1}
.xh-slot-small{width:88px;height:88px;flex:none}
.xh-slot-small:empty{display:none}
.xh-orb{position:relative;isolation:isolate;display:block;width:100%;height:100%;padding:0;border:0;border-radius:50%;background:transparent;transform-origin:0 0;animation:xh-breathe 4.8s ease-in-out infinite}
.xh-orb img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.xh-orb::before{content:"";position:absolute;inset:-9%;border-radius:50%;background:var(--ring);filter:blur(22px);opacity:.5;z-index:-1;animation:xh-ring 7s linear infinite}
.xh-slot-small .xh-orb{animation:none}
.xh-slot-small .xh-orb::before{opacity:.35;filter:blur(12px)}
.xh-orb-hint{margin:0;font-size:14px;font-weight:650;color:var(--muted);text-align:center}
body.xh-chat-open .xh-orb-hint{opacity:0}

/* ---- motto row (orb joins it when the chat is open) ---- */
.xh-motto-row{display:flex;align-items:center;gap:22px;max-width:640px;margin:34px 0 0}
.xh-motto-wrap{min-width:0;flex:1}
.xh-motto summary{display:grid;gap:6px;cursor:pointer;list-style:none}
.xh-motto summary::-webkit-details-marker{display:none}
.xh-motto-line{font-family:Cardo,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(26px,3vw,34px);letter-spacing:-.2px;line-height:1.15;color:var(--ink)}
.xh-motto-more{font-size:13px;font-weight:650;color:var(--blue)}
.xh-motto-more::after{content:' \25BE'}
.xh-motto[open] .xh-motto-more::after{content:' \25B4'}
.xh-motto-body{margin-top:14px;border:1px solid var(--xt-line-4);border-radius:20px;background:rgb(var(--xt-surface-rgb) / .902);padding:8px 20px 16px;box-shadow:0 10px 28px rgb(var(--xt-shadow-rgb) / .043)}
.xh-motto-body p{margin:10px 0 0;line-height:1.6;font-size:15px;color:var(--xt-ink-3)}
.xh-motto-body ul{margin:10px 0 0;padding-left:20px;display:grid;gap:4px;font-size:15px;color:var(--xt-ink-3)}
.xh-motto-body .now{font-weight:650;color:var(--ink-2)}
.xh-motto-body .xh-motto-src{font-size:12px;color:var(--xt-mute-3)}
.xh-motto-body .xh-motto-src a{color:inherit}

/* ---- cards + footnote ---- */
.xh-spaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:44px 0 20px;max-width:640px}
.xh-card{text-decoration:none;display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--xt-line);border-radius:22px;background:var(--xt-surface);box-shadow:0 12px 32px -20px rgb(var(--xt-shadow-rgb) / .35);transition:transform .18s,box-shadow .18s,border-color .18s}
.xh-card:hover,.xh-card:focus-visible{transform:translateY(-3px);border-color:var(--xt-line-hi-2);box-shadow:0 20px 44px -22px rgb(var(--xt-shadow-rgb) / .5)}
.xh-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:var(--xt-blue);background:var(--xt-tint)}
.xh-ico{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.xh-card strong{font-size:18px;font-weight:500;color:var(--xt-ink,#0f1433)}
.xh-card>span:last-child{color:var(--xt-mute);font-size:14px;line-height:1.5}
.xh-footnote{font-size:12px;color:var(--xt-mute);line-height:1.6;max-width:640px}

/* ---- the assistant window: launched from the orb ---- */
.xh-page.xh-launch .xenyra-root.xenyra-open .xenyra-panel{transform-origin:var(--xh-ox,85%) var(--xh-oy,40%);animation:xh-emerge 1.05s cubic-bezier(.16,.84,.24,1) both}

@keyframes xh-ring{to{--xh-a:360deg}}
@keyframes xh-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes xh-emerge{0%{opacity:0;transform:scale(.18);filter:blur(16px)}55%{opacity:1;filter:blur(2px)}100%{opacity:1;transform:none;filter:none}}

/* ---- responsive ---- */
@media(max-width:920px){
  .xh-main{grid-template-columns:minmax(0,1fr);padding-bottom:85px}
  .xh-stage{grid-column:1;grid-row:auto;order:2;min-height:0;margin:30px 0 0}
  .xh-spaces,.xh-footnote{grid-column:1}
  .xh-spaces{order:3;max-width:620px}.xh-footnote{order:4}
}
@media(max-width:540px){
  .xh-main{padding-top:30px}.xh-hero h1{font-family:var(--xt-serif,"EB Garamond",Cardo,Georgia,serif);font-size:clamp(44px,6vw,76px);line-height:1.02;font-weight:400;letter-spacing:-.01em;max-width:700px;margin:22px 0 20px;color:var(--xt-ink,#0f1433)}
  .xh-spaces{grid-template-columns:1fr}
  .xh-slot-small{width:64px;height:64px}.xh-motto-row{gap:14px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.xh-card{transition:none}
  .xh-orb,.xh-orb::before{animation:none}
  .xh-page.xh-launch .xenyra-root.xenyra-open .xenyra-panel{animation:none}
}
