/* Hero-only visual layer. The original website content and sections are retained. */
.website-sphere-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;--sphere-size:760px;mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 88%,transparent)}
.website-sphere-stage{position:absolute;left:74%;top:46%;width:0;height:0}
.website-sphere-canvas{position:absolute;display:block;pointer-events:none;border:0;outline:0;box-shadow:none;background:transparent}
.website-sphere-fallback{border:0;outline:0;box-shadow:none;background:transparent;position:absolute;width:calc(var(--sphere-size) * 0.836235);height:calc(var(--sphere-size) * 0.851481);left:calc(var(--sphere-size) * -0.418704);top:calc(var(--sphere-size) * -0.430432);object-fit:contain}
.website-sphere-canvas[hidden],.website-sphere-fallback[hidden]{display:none!important}
.hero:has(.website-sphere-layer) .hero-wash{background:linear-gradient(90deg,hsl(var(--background) / .98),hsl(var(--background) / .83) 35%,hsl(var(--background) / .18) 60%,hsl(var(--background) / .02) 87%),radial-gradient(ellipse at 72% 50%,transparent 32%,hsl(var(--background) / .6) 85%)}




.hero.sphere-interactive{touch-action:pan-y pinch-zoom}
.hero.sphere-interactive:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-4px}
.hero.sphere-interactive[data-sphere-draggable]{cursor:grab}
.hero.sphere-interactive[data-sphere-dragging]{cursor:grabbing;user-select:none;-webkit-user-select:none}





@media(max-width:700px){.website-sphere-stage{left:76%;top:46%}.website-sphere-layer{opacity:.82}.hero:has(.website-sphere-layer) .hero-wash{background:linear-gradient(90deg,hsl(var(--background) / .97),hsl(var(--background) / .72) 45%,hsl(var(--background) / .24)),linear-gradient(0deg,hsl(var(--background) / .8),transparent 40%,hsl(var(--background) / .2))}}
@media(prefers-reduced-motion:reduce){.website-sphere-stage{animation:none}}

/* Reference-inspired typography and fine dotted paper texture. */
:root{color-scheme:only light;--site-grid-image:radial-gradient(hsl(var(--foreground) / .28) .55px,transparent .85px);--site-grid-size:4px 4px;--app-font-sans:"Inter",Arial,sans-serif;--app-font-display:"Inter",Arial,sans-serif}
.hero-title{font-weight:700;letter-spacing:-.055em;line-height:1.07;font-size:clamp(3rem,6vw,6.25rem);max-width:960px}
h2.display,h3.display,.section-title{font-weight:700;letter-spacing:-.045em}
.section-title{line-height:1.04}
.hero-copy{font-size:1.05rem;line-height:1.65}
.hero-content{padding-inline-start:clamp(14px,2.2vw,32px)}
.hero-content .reveal{animation:none;opacity:1;transform:none}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:var(--site-grid-image);background-size:var(--site-grid-size);opacity:.39;mask-image:radial-gradient(ellipse at 64% 48%,#0006 10%,#0009 50%,#000 90%)}
@media(max-width:700px){.hero-content{padding-inline-start:12px}.hero-title{font-size:clamp(2.65rem,11.4vw,4.75rem);letter-spacing:-.05em;line-height:1.07}.hero-copy{font-size:.95rem}.hero::after{background-size:5px 5px;opacity:.30}}

/* A slightly smaller switch heading on desktop only. */
@media(min-width:1024px){.laptop-sequence .sequence-heading .section-title{font-size:clamp(2.7rem,4.8vw,5.6rem)}}

@media(max-width:700px){:root{--site-grid-size:5px 5px}}
/* The page is readable while the interactive version prepares. */
.website-sphere-stage .website-sphere-canvas{opacity:0}
.website-sphere-stage .website-sphere-fallback{opacity:1;pointer-events:none}
.website-sphere-stage.sphere-preview-ready .website-sphere-canvas{opacity:1}
.website-sphere-stage.sphere-preview-ready .website-sphere-fallback{opacity:0}
@media(prefers-reduced-motion:reduce){.website-sphere-stage .website-sphere-canvas,.website-sphere-stage .website-sphere-fallback{transition:none}}

.website-sphere-fallback{max-width:none!important}
