/* HiHelloBye public pages — shared layout for landing & room pages (2026-09-28) */
:root{ --seo-bg:#090616; --seo-card:#150f2b; --seo-line:rgba(124,92,255,.28); --seo-text:#ece8ff; --seo-mute:#b3abd6; --seo-acc:#a78bfa; --seo-acc2:#ff4d9d; }
html:has(body.seo-page){ background:var(--seo-bg); }
body.seo-page{ color:var(--seo-text); font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; margin:0;
  background:radial-gradient(900px 480px at 12% -10%, rgba(124,92,255,.40), transparent 55%), radial-gradient(720px 420px at 100% 0%, rgba(255,77,157,.28), transparent 50%), var(--seo-bg); }
header.site{ flex-wrap:wrap; gap:10px 24px; }
body.seo-page .seo-wrap, .seo-home{ color:var(--seo-text); }
header.site nav.main{ gap:6px 18px; }
header.site nav.main a{ font-size:13.5px; }
.seo-wrap{ max-width:900px; margin:0 auto; padding:24px 20px 56px; line-height:1.7; font-size:16px; }
.seo-crumbs{ font-size:12.5px; color:var(--seo-mute); margin-bottom:14px; }
.seo-crumbs a{ color:var(--seo-mute); text-decoration:none; } .seo-crumbs a:hover{ color:#fff; }
.seo-hero h1{ font-family:'Sora','Plus Jakarta Sans',sans-serif; font-size:clamp(28px,5vw,44px); line-height:1.15; margin:0 0 12px; letter-spacing:-.02em; }
.seo-hero h1 .g{ background:linear-gradient(90deg,#a78bfa,#ff4d9d 60%,#22d3ee); -webkit-background-clip:text; background-clip:text; color:transparent; }
.seo-hero p.lead{ font-size:17.5px; color:#d9d3f5; margin:0 0 22px; }
.seo-cta{ display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:14px; font-weight:800; color:#fff !important; text-decoration:none;
  background:linear-gradient(90deg,#7c5cff,#ff4d9d 55%,#22d3ee); box-shadow:0 14px 34px -12px rgba(124,92,255,.8); }
.seo-cta.alt{ background:transparent; border:1px solid var(--seo-line); box-shadow:none; }
.seo-ctas{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.seo-wrap h2{ font-family:'Sora','Plus Jakarta Sans',sans-serif; font-size:clamp(21px,3.2vw,27px); margin:38px 0 10px; letter-spacing:-.01em; }
.seo-wrap h3{ font-size:17px; margin:22px 0 6px; }
.seo-wrap p{ margin:0 0 14px; color:#e2dcfb; }
.seo-wrap a{ color:#c4b5fd; }
.seo-wrap ul{ padding-left:20px; margin:0 0 16px; } .seo-wrap li{ margin:4px 0; color:#e2dcfb; }
.seo-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; margin:14px 0 8px; }
.seo-card{ background:linear-gradient(180deg,rgba(32,22,60,.9),rgba(14,9,28,.95)); border:1px solid var(--seo-line); border-radius:16px; padding:16px 16px 14px; }
.seo-card h3{ margin:0 0 6px; font-size:16.5px; } .seo-card p{ font-size:14.5px; margin:0 0 10px; color:var(--seo-mute); }
.seo-card a.go{ font-weight:800; text-decoration:none; font-size:14px; }
.seo-card .ic{ font-size:24px; display:block; margin-bottom:6px; }
.seo-faq details{ background:rgba(21,15,43,.85); border:1px solid var(--seo-line); border-radius:12px; padding:12px 16px; margin:8px 0; }
.seo-faq summary{ cursor:pointer; font-weight:700; list-style:none; } .seo-faq summary::-webkit-details-marker{ display:none; }
.seo-faq summary::after{ content:'+'; float:right; color:var(--seo-acc); font-weight:800; } .seo-faq details[open] summary::after{ content:'–'; }
.seo-faq details p{ margin:10px 0 2px; color:var(--seo-mute); }
.seo-links{ display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 0; }
.seo-links a{ padding:7px 12px; border:1px solid var(--seo-line); border-radius:999px; text-decoration:none; font-size:13.5px; font-weight:700; color:#e9e3ff; }
.seo-links a:hover{ border-color:#a78bfa; }
.seo-note{ font-size:13.5px; color:var(--seo-mute); border-left:3px solid #7c5cff; padding:6px 12px; margin:14px 0; background:rgba(124,92,255,.08); border-radius:0 8px 8px 0; }
/* homepage block */
.seo-home{ border-top:1px solid var(--seo-line); margin-top:30px; }
@media (max-width:600px){ .seo-wrap{ padding:18px 16px 44px; font-size:15.5px; } header.site nav.main{ gap:4px 12px; } header.site nav.main a{ font-size:12.5px; } }
footer.site{ flex-wrap:wrap; gap:12px 20px; }
footer.site .flinks{ flex-wrap:wrap; gap:10px 18px; }
