/* Palette drawn from the Halo product walkthrough. */
:root{color-scheme:dark;--paper:#060812;--ink:#edf3ff;--muted:#a0abc2;--blue:#40a6f5;--frost:#101525;--line:#242b40}
body{background:var(--paper);color:var(--ink)}
::selection{background:#555f9d;color:#fff}
.site-nav a,.hero-copy>p{color:#acb6cb}
.brand svg,.closing svg,.halo-pass svg,.thanks-token svg{mix-blend-mode:screen;filter:invert(1) hue-rotate(180deg)}
.button,.join-placeholder:disabled:hover{background:#929ff2;color:#10152d;border-color:#929ff2;box-shadow:0 5px 25px #6674d51a}
.button-small,.join-placeholder.button-small:disabled:hover{background:#101421;color:#dce2ff;border-color:#303850;box-shadow:none}
.community-collage .world-poster{background:#101421;border-color:#2b3249;box-shadow:0 24px 55px -18px #000a}
.community-details{background:#101421}
.community-name>span,.community-chain,.community-stats small,.community-stats a span{color:#a2aec6}
.community-join{background:#222b49;border-color:#354163;color:#e0e6ff}.community-join span{color:#abb8db}
.world-orbit{border-color:#30395d;background:radial-gradient(ellipse,#646acc0b,transparent 65%)}
.world-disclaimer,.community-collage .world-disclaimer{color:#98a4bc}
.feature-intro,.site-footer,.natives-audiences{border-color:var(--line)}
.feature-intro p,.roadmap-note,.feature-copy>p,.large-description{color:#aab5cc}
.capability-line{color:#c0cbe2}.capability-line span:before{color:#9aaafa}
.section-label,.audience-label,.motion-hint{color:#a7b1ed}
.pulse-section{background:linear-gradient(145deg,#0c1021,#080b16 75%)}
.pulse-orbit{border-color:#2b3453;background:radial-gradient(ellipse,#737bea0e,transparent 70%)}
.pulse-card{background:#141a2a;border-color:#333d57;box-shadow:0 20px 45px -15px #0009}
.pulse-card p,.pulse-card blockquote{color:#c1cbe0}.pulse-card blockquote{border-color:#555e85}
.pulse-card .moment-foot,.pulse-disclaimer{color:#a0adc5}
.pulse-card .moment-type{background:#29334f;color:#c1ceff}
.pulse-card[data-kind=market] .moment-type{background:#183c36;color:#9bdebd}
.pulse-card[data-kind=social] .moment-type{background:#342b4c;color:#d0bafa}
.price-moment h3,.price-moment svg{color:#81d6b3}.price-moment h3 small{color:#a5b5c9}
.feed-controls button{background:transparent;border-color:#313a54;color:#a9b5ce}
.feed-controls button.selected,.feed-controls button:hover{background:#293352;color:#e6eaff;border-color:#465580;box-shadow:none}
.world-update{background:#111726;border-color:#2b354c;box-shadow:none}
.world-update-type{color:#a6b6e5}.world-update p,.world-update .world-update-caption{color:#aebad0}.world-update strong{color:#e6ebf8}.world-update a{color:#b1c2ff}.world-moments-note{color:#95a4bf}
.natives-audiences ul{color:#b4c1d9}.natives-audiences li:before{color:#b1baf5}
.guardian-stage{background:radial-gradient(ellipse at 38% 50%,#2c39604d,transparent 68%),var(--paper)}
.guardian-art{mix-blend-mode:normal}.guardian-stage .guardian-art{filter:drop-shadow(0 12px 24px #718ce029)}
.guardian-story,.guardian-phase{color:#aebfe0}.guardian-orbit{border-color:#54649b}
.guardian-alert{background:#151e31;border-color:#344663;box-shadow:0 12px 30px #0008}.guardian-alert b{color:#edf2ff}.guardian-alert small{color:#afbdd5}
.guardian-check{background:#253e50;color:#9ddfda}.guardian-benefits{color:#b2bfd6}.guardian-benefits li>span{background:#202f46;color:#a8caee}
.text-button{color:#b8c7ff}.spam-intruder,.spam-intruder img{mix-blend-mode:screen}.spam-intruder img{filter:invert(1) hue-rotate(180deg)}.spam-intruder>span{background:#302444;color:#e6cff8;border-color:#624780}
.coming-soon{background:#1b2440;color:#c0ccff;border-color:#35466e}.coming-soon>span{background:#aab9ff}.token-note{color:#a7b5ce}
.token-art img{mix-blend-mode:screen;filter:invert(1) hue-rotate(180deg)}
.utility-visual,.tools-visual{background:#11182a;border:1px solid #26314b}.thanks-visual{background:#101e25}.halo-pass{background:linear-gradient(125deg,#273654,#141d33);border-color:#475c83;box-shadow:0 15px 25px #0005}.halo-pass>span,.pass-stars{color:#adbfec}
.thanks-bubble{background:#203b3e;color:#b9e3d8}.thanks-caption{color:#a3c7c1}.thanks-token{background:linear-gradient(120deg,#405673,#19293d);border-color:#6f8eac}
.tool-tag{background:#27314b;color:#c3d1ec}.concept-label,.utility-note{color:#a4b3ce}
.closing{background:transparent}.closing p,.site-footer>span,.site-footer>a:last-child,.social-placeholders span{color:#9faec8}.site-footer button{color:#cad6ed}
.skip:focus{background:#202b49;color:white}
.feature-copy .large-description{color:#becae2}.guardian-stage.is-protected .guardian-check{background:#25433e;color:#b4efce}.guardian-stage.is-protected .guardian-alert{border-color:#426d67}
/* Seven-second Guardian film; feather into the page without a visible frame. */
.guardian-stage.guardian-video-stage{height:auto;aspect-ratio:16/9;overflow:visible;border-radius:0;background:none;max-width:100%;align-self:center}
.guardian-video{display:block;width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.guardian-video-stage:after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(to bottom,var(--paper),transparent 12%,transparent 83%,var(--paper))}
@media(max-width:560px){.guardian-stage.guardian-video-stage{width:calc(100% + 16px);max-width:none;margin-inline:-8px}}
/* Shared controls: periwinkle primary, inset availability badges, quiet secondary. */
.button,.join-placeholder:disabled:hover{min-height:54px;padding:12px 15px 12px 23px;gap:23px;border-radius:14px;border:1px solid #adbaff8c;background:linear-gradient(160deg,#afbbff 0%,#919eec 65%,#8795e5);color:#131b3c;box-shadow:inset 0 1px 0 #e5eaff99,0 5px 18px #5f70de1a;font-size:14px;font-weight:600;letter-spacing:-.15px}
.button .join-soon{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #33417428;border-radius:7px;background:#27345b12;color:#2b3861;font-size:10px;font-weight:500;opacity:1;line-height:1}
.button .join-soon:before,.community-join>span:before,.coming-soon>span{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}
.button-small,.join-placeholder.button-small:disabled:hover{min-height:42px;padding:8px 10px 8px 16px;gap:16px;font-size:12px;border-radius:11px;background:linear-gradient(145deg,#1d2540,#141a2b);border-color:#394565;color:#e3e9ff;box-shadow:inset 0 1px 0 #dce5ff0a}
.button-small .join-soon{color:#b3bfdf;background:#0b102166;border-color:#6e80b22b;font-size:9px;padding:5px 7px}
.community-join{min-height:38px;padding:7px 9px 7px 12px;border-radius:9px;border:1px solid #405078;background:linear-gradient(145deg,#293655,#202a45);box-shadow:inset 0 1px 0 #c1d0ff0c;color:#e2e9ff;font-weight:500}
.community-join>span{display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:5px;background:#10182b80;border:1px solid #60739930;color:#afbfdf;font-size:8px;line-height:1}
.coming-soon{gap:8px;padding:8px 12px;border-radius:8px;background:linear-gradient(135deg,#202b46,#131c30);border:1px solid #425275;color:#c5d3f4;font-size:11px;letter-spacing:.1px;box-shadow:inset 0 1px 0 #dce7ff0b}
.coming-soon>span{width:5px;height:5px;background:#b4c5ff;box-shadow:0 0 0 3px #a7bbff12}
.feed-controls{gap:6px}.feed-controls button{min-height:36px;padding:8px 13px;border-radius:9px;border-color:#29344c;background:#0c1220;color:#a9b7d2;transition:background .18s,border-color .18s,color .18s}
.feed-controls button.selected{background:#283657;color:#e9efff;border-color:#53668d;box-shadow:inset 0 1px 0 #bfd2ff12}.feed-controls button:hover{background:#202c46;border-color:#52678b;color:#fff}
.guardian-demo{display:inline-flex;align-items:center;gap:24px;min-height:44px;padding:11px 15px;border:1px solid #425274;border-radius:10px;background:linear-gradient(145deg,#1e2a44,#141e32);color:#dbe6ff;text-decoration:none;transition:background .18s,border-color .18s}
.guardian-demo:hover{background:#283859;border-color:#7087b6}.guardian-demo>span{font-size:16px;color:#b9cbf6}
.social-placeholders{gap:8px}.social-placeholders button{display:inline-flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid #2c3850;border-radius:8px;background:#101827;color:#c5d1e8;font-size:11px}.social-placeholders span{margin:0;font-size:8px;padding:3px 5px;border:1px solid #38465e;border-radius:4px;color:#a4b5d2;background:#1a2436}
.site-footer #motion-toggle{border:1px solid #33425e;border-radius:8px;padding:9px 12px;background:#111a2b;color:#b9c9e8;font-size:10px}.site-footer #motion-toggle:hover{border-color:#647ca7;color:white}
button:focus-visible,a:focus-visible{outline:2px solid #bdceff;outline-offset:4px}
@media(max-width:560px){.button{min-height:52px}.button-small{min-height:40px}.community-join{padding:7px 8px;font-size:10px}.community-join>span{font-size:7px;gap:4px;padding:4px 5px}.social-placeholders button{padding:8px;gap:7px}.site-footer #motion-toggle{margin-left:0}}
/* Dimensional Halo with a light passing around its fixed orbit. */
.community-collage .hero-halo{inset:0 -9%;border:0;border-radius:0;transform:none;background:none;pointer-events:none;z-index:-1}
.hero-halo svg{display:block;width:100%;height:100%;overflow:visible}
.halo-light{animation:halo-cruise 14s linear infinite;stroke-dashoffset:160}.halo-light-glow{opacity:.7}.halo-light-tip{stroke-dashoffset:108;animation-name:halo-cruise-tip}
@keyframes halo-cruise{to{stroke-dashoffset:-840}}
@keyframes halo-cruise-tip{to{stroke-dashoffset:-892}}
.motion-paused .halo-light{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.halo-light{animation:none!important}}
@media(max-width:560px){.community-collage .hero-halo{inset:0 -5%}.hero-halo svg{height:100%}}
/* A soft studio reflection, not a point of light chasing the outline. */
.halo-reflection{opacity:.2;animation:halo-reflection-breathe 11s ease-in-out infinite}
@keyframes halo-reflection-breathe{0%,100%{opacity:.12}45%,55%{opacity:.75}}
.motion-paused .halo-reflection{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.halo-reflection{animation:none!important;opacity:.35}}
.hero-halo canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-halo.webgl-ready>svg{visibility:hidden}
.hero-halo .halo-reflection{animation:none;opacity:.25}
.cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:20;background:radial-gradient(circle,#8eaaff0d 0%,#6d91f207 30%,transparent 68%);mix-blend-mode:screen;opacity:0;transition:opacity .4s;will-change:transform}
.cursor-glow.is-visible{opacity:1}
@media(hover:none),(prefers-reduced-motion:reduce){.cursor-glow{display:none}}
.token-art.token-film{position:relative;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.token-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent)}
/* Compact conversation prompts and short audience benefits. */
.moments-heading{grid-column:1/-1;margin-bottom:2px}.moments-heading h3{font-size:30px;font-weight:500;letter-spacing:-1px}.moments-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px}
.world-moments{gap:18px}.world-update-art{height:145px}.world-update>div{padding:20px 24px}.world-update h3{font-size:23px;margin-top:10px;letter-spacing:-.6px}.world-update p{font-size:12px;margin-top:10px}.world-update .world-update-caption{margin-top:7px}.world-update a{margin-top:12px}.world-moments-note{margin-top:0}
.natives-section{padding-block:75px 20px}.natives-heading h2{font-size:clamp(36px,4vw,54px)}.natives-audiences{margin-top:30px;padding-top:25px;gap:40px}.natives-audiences h3{font-size:27px;margin-top:12px}.natives-audiences p{margin-top:12px;font-size:14px;max-width:380px}
@media(max-width:560px){.moments-heading h3{font-size:26px}.moments-heading p{font-size:13px}.world-update-art{height:125px}.world-update>div{padding:18px 20px}.world-update h3{font-size:23px}.natives-section{padding-block:45px 10px}.natives-audiences{gap:25px}.natives-audiences h3{font-size:25px}}
.world-update .moment-halo-link{font-size:11px;color:#c3d1ff;text-decoration:none;border-bottom:1px solid #687cad66;padding-bottom:3px}.world-update a+.moment-halo-link{margin-left:20px}.world-update .moment-halo-link:hover{color:#fff;border-bottom-color:#c3d1ff}

/* Client-approved Pearl + Sky identity. */
:root{--pearl:#edf3ff;--sky:#40a6f5;--cyan:#8deaf2}
::selection{background:#155e91;color:var(--pearl)}
.brand{flex-shrink:0;gap:8px;font-family:Arial,sans-serif;letter-spacing:-1.2px}
.brand svg,.closing svg,.halo-pass svg,.thanks-token svg{filter:none;mix-blend-mode:screen}
.brand svg{width:56px;height:38px}
.brand-wordmark{color:var(--pearl);text-shadow:0 0 12px #edf3ff25}
.brand-wordmark>span{color:var(--sky);text-shadow:0 0 12px #40a6f540}
.site-nav a:hover,.text-button,.world-update a,.world-update .moment-halo-link{color:var(--sky)}
.section-label,.audience-label,.motion-hint,.world-update-type{color:#8bcafa}
.capability-line span:before,.natives-audiences li:before{color:var(--sky)}
.button,.join-placeholder:disabled:hover{background:linear-gradient(145deg,#76c8ff,#40a6f5);color:#061b2c;border-color:#8dd7ff99;box-shadow:inset 0 1px 0 #dff6ff99,0 5px 22px #40a6f523}
.button .join-soon{color:#103c5d;background:#0a355315;border-color:#0a355330}
.button-small,.join-placeholder.button-small:disabled:hover{background:linear-gradient(145deg,#132c40,#0e1b2c);color:var(--pearl);border-color:#305676;box-shadow:inset 0 1px 0 #8deaf215}
.button-small .join-soon{color:#a7d9fb;background:#07172480;border-color:#40a6f52b}
.community-join,.guardian-demo{background:linear-gradient(145deg,#17364d,#112338);border-color:#305e80;color:var(--pearl)}
.community-join>span{color:#a7d9fb;border-color:#40a6f530;background:#07172480}
.coming-soon{background:linear-gradient(135deg,#132d43,#101d2b);border-color:#315a78;color:#b2ddff}
.coming-soon>span{background:var(--cyan);box-shadow:0 0 9px #8deaf24d}
.feed-controls button.selected,.feed-controls button:hover{background:#17364d;border-color:#397aa8;color:var(--pearl)}
.pulse-card .moment-type{background:#18374e;color:#a9dcff}
.pulse-card[data-kind=social] .moment-type{background:#163449;color:#8deaf2}
.guardian-demo:hover{background:#204864;border-color:var(--sky)}
.guardian-demo>span,.guardian-benefits li>span{color:#8dccfa}
.cursor-glow{background:radial-gradient(circle,#40a6f510 0%,#8deaf207 30%,transparent 68%)}
button:focus-visible,a:focus-visible{outline-color:var(--cyan)}
.site-footer .brand svg{width:46px;height:30px}
@media(max-width:560px){.brand{font-size:23px;gap:4px}.brand svg{width:43px;height:31px}.site-header{gap:9px}.site-header .button-small{padding:8px;gap:8px;font-size:10px}.site-footer .brand{font-size:22px}}

.social-placeholders .social-link{display:inline-flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid #305676;border-radius:8px;background:#101e2e;color:#edf3ff;font-size:11px;text-decoration:none}.social-placeholders .social-link:hover{background:#17364d;border-color:#40a6f5}.social-placeholders .social-link span{color:#8deaf2;border:0;background:none;padding:0;font-size:12px}

/* Native Halo cursor: exact hotspot, no delayed tracking; touch stays native. */
@media(hover:hover) and (pointer:fine){
 body{cursor:url("assets/brand/halo-cursor.png") 3 2,auto}
 a,button:not(:disabled),[role="button"],label[for]{cursor:url("assets/brand/halo-cursor-active.png") 3 2,pointer}
 button:disabled,[aria-disabled="true"]{cursor:not-allowed}
 input,textarea,[contenteditable="true"]{cursor:text}
}
@media(forced-colors:active){body,a,button:not(:disabled),[role="button"],label[for]{cursor:revert}}

/* Product feature story informed by the HaloChat product reference. */
.trust-feature{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-block:80px 100px}
.trust-copy h2{font:500 clamp(38px,4.5vw,64px)/1.04 var(--display);letter-spacing:-2px;margin:0 0 24px}.trust-copy>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:400px}
.trust-details{margin-top:28px}.trust-details details{border-top:1px solid #25394c;padding:18px 0}.trust-details summary{display:flex;justify-content:space-between;gap:14px;list-style:none;font-size:15px;color:var(--pearl);cursor:inherit}.trust-details summary::-webkit-details-marker{display:none}.trust-details summary span{color:var(--sky);font-size:20px}.trust-details details[open] summary span{transform:rotate(45deg)}.trust-details p{font-size:13px;line-height:1.7;color:var(--muted);max-width:410px;margin:12px 0 0}
.trust-art{position:relative;isolation:isolate;min-height:390px;display:flex;justify-content:center;flex-direction:column;padding:35px 10px}.trust-ring{position:absolute;inset:30px -15px;border:1px solid #40a6f54d;border-radius:50%;transform:rotate(-25deg);background:radial-gradient(ellipse,#40a6f513,transparent 65%);z-index:-1;box-shadow:0 0 35px #40a6f50a,inset 0 0 35px #40a6f508}
.identity-panel{border:1px solid #426782;border-radius:20px;padding:28px;background:linear-gradient(125deg,#152f45,#0c1421 70%);box-shadow:0 28px 65px #0008;transform:rotate(-3deg)}
.identity-overline{font-size:11px;color:#94bfdd}.identity-title{display:flex;align-items:center;gap:12px;margin:20px 0}.identity-title svg{width:52px;height:36px;mix-blend-mode:screen}.identity-title strong{font:500 28px var(--display);letter-spacing:-1px}.identity-roles{display:flex;gap:18px;flex-wrap:wrap}.identity-roles>span{font-size:11px;color:#c4d9e9}.identity-roles i{font-style:normal;color:var(--cyan);margin-right:4px}.identity-address{margin-top:28px;border-block:1px solid #30485b;padding:18px 0;display:flex;flex-direction:column;gap:8px}.identity-address>span{font-size:10px;color:var(--muted)}.identity-address b{font-weight:500;font-size:16px}.identity-footer{display:flex;gap:20px;margin-top:18px;color:#9bc8e8;font-size:11px}
.trust-note{align-self:flex-end;position:relative;margin-top:-5px;transform:rotate(3deg);padding:17px 22px;border-radius:12px;background:#163348;border:1px solid #457591;color:#d8f1ff;font-size:12px;box-shadow:0 10px 25px #0005}.trust-note>span{color:var(--cyan);margin-right:10px}.trust-example{margin-top:23px;text-align:center;font-size:10px;color:var(--muted)}
.owner-features{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:25px;color:#8bcafa;font-size:12px}.owner-features span:before{content:'✓';margin-right:7px;color:var(--cyan)}
@media(hover:hover) and (pointer:fine){.trust-details summary{cursor:url('assets/brand/halo-cursor-active.png') 3 2,pointer}}
@media(max-width:900px){.trust-feature{gap:35px}.identity-panel{padding:22px}.identity-title strong{font-size:24px}}
@media(max-width:650px){.trust-feature{grid-template-columns:1fr;padding-block:35px 60px;gap:35px}.trust-copy{grid-row:1}.trust-art{min-height:320px;padding-inline:8px}.trust-copy h2{font-size:43px}.identity-title strong{font-size:27px}.trust-ring{inset:20px 0}.owner-features{font-size:11px;gap:12px 20px}.trust-details summary{font-size:14px}}

/* Fixed ellipse; only the colour phase turns. */
@property --halo-phase{syntax:'<angle>';initial-value:0deg;inherits:false}
.halo-pointer-ring{display:none;position:fixed;z-index:2147483647;pointer-events:none;width:14px;height:9px;margin-left:5px;margin-top:10px;transform:rotate(-28deg);border-radius:50%;background:conic-gradient(from var(--halo-phase),#8deaf2,#40a6f5,#164bff,#40a6f5,#8deaf2);mask:radial-gradient(ellipse,transparent 46%,#000 53%,#000 72%,transparent 79%);opacity:0;animation:halo-pointer-turn 9s linear infinite}
.halo-pointer-ring.shown{opacity:1}.halo-pointer-ring.active{filter:brightness(1.35)}
@keyframes halo-pointer-turn{to{--halo-phase:360deg}}
@media(hover:hover) and (pointer:fine){.halo-pointer-ring{display:block}body{cursor:url('assets/brand/halo-cursor-arrow.png') 3 2,auto}a,button:not(:disabled),[role="button"],label[for],.trust-details summary{cursor:url('assets/brand/halo-cursor-active-arrow.png') 3 2,pointer}}
.motion-paused .halo-pointer-ring{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.halo-pointer-ring{animation:none}}
@media(forced-colors:active){.halo-pointer-ring{display:none}body,a,button:not(:disabled),[role="button"],label[for],.trust-details summary{cursor:revert}}

/* One cursor container keeps the arrow and orbit locked together. */
.halo-pointer{position:fixed;left:0;top:0;width:28px;height:28px;z-index:2147483647;pointer-events:none;display:none;background:url('assets/brand/halo-cursor-arrow.png') 0 0/28px 28px no-repeat}
.halo-pointer.active{background-image:url('assets/brand/halo-cursor-active-arrow.png')}
.halo-pointer .halo-pointer-ring{position:absolute;left:9px;top:12.7px;margin:0;width:11.9px;height:7.65px;opacity:1;display:block}
.halo-pointer.active .halo-pointer-ring{filter:brightness(1.35)}
@media(hover:hover) and (pointer:fine){.halo-pointer.shown{display:block}.halo-pointer-on body,.halo-pointer-on a,.halo-pointer-on button:not(:disabled),.halo-pointer-on [role="button"],.halo-pointer-on label[for],.halo-pointer-on .trust-details summary{cursor:none}}
@media(forced-colors:active){.halo-pointer.shown{display:none}.halo-pointer-on body,.halo-pointer-on a,.halo-pointer-on button:not(:disabled),.halo-pointer-on [role="button"],.halo-pointer-on label[for],.halo-pointer-on .trust-details summary{cursor:revert}}
