.lumo-page{min-height:100vh;color:var(--text);background:var(--bg);font-family:var(--font-body,var(--font-family-sans));letter-spacing:.02em;font-size:1rem;line-height:1.8;overflow:clip}.lumo-page *,.lumo-page :before,.lumo-page :after{box-sizing:border-box}.lumo-page :where(h1,h2,h3,p,ul,ol,figure){margin-block:0}.lumo-page :where(h1,h2,h3){font-family:var(--font-display,var(--font-family-display));text-wrap:balance}.lumo-page :where(p,li){text-wrap:pretty}.lumo-shell{width:min(100% - 6rem,80rem);margin-inline:auto}.lumo-shell--wide{width:min(100% - 6rem,90rem);margin-inline:auto}.lumo-hero{isolation:isolate;border-bottom:1px solid var(--border);padding-block:clamp(10rem,18vh,14rem) clamp(5rem,9vw,8rem);position:relative}.lumo-hero:before{z-index:-2;content:"";background:linear-gradient(to right, transparent 0, transparent calc(50% - 1px), color-mix(in srgb, var(--border) 66%, transparent) 50%, transparent calc(50% + 1px)), radial-gradient(circle at 78% 22%, color-mix(in srgb, var(--accent-soft) 88%, var(--bg)), var(--bg) 34rem);mask-image:linear-gradient(to bottom, var(--text), transparent 94%);position:absolute;inset:0}.lumo-hero:after{z-index:-1;aspect-ratio:1;content:"";border:1px solid var(--border);width:clamp(7rem,15vw,13rem);box-shadow:0 0 0 1.25rem color-mix(in srgb, var(--accent-soft) 58%, transparent), 0 0 0 2.5rem color-mix(in srgb, var(--accent-soft) 30%, transparent);opacity:.72;border-radius:50%;position:absolute;top:7rem;right:clamp(1.25rem,7vw,8rem)}.lumo-hero-grid{grid-template-columns:minmax(0,8fr) minmax(16rem,4fr);align-items:end;gap:clamp(2rem,6vw,7rem);display:grid}.lumo-kicker{width:fit-content;color:var(--text-secondary);font-family:var(--font-mono,var(--font-family-mono));letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.72rem;font-weight:500;line-height:1.4;display:inline-flex}.lumo-kicker:before{content:"";background:var(--accent);width:1.75rem;height:1px}.lumo-title{letter-spacing:-.035em;max-width:11ch;margin-top:1.6rem;font-size:clamp(3.75rem,8vw,8.6rem);font-weight:600;line-height:1.02}.lumo-title--case{max-width:12ch;font-size:clamp(3.4rem,7.5vw,8rem)}.lumo-title em{color:var(--accent);font-style:normal}.lumo-lead{max-width:38em;color:var(--text-secondary);margin-top:1.75rem;font-size:clamp(1.08rem,1.65vw,1.35rem);line-height:1.75}.lumo-hero-note{background:color-mix(in srgb, var(--surface) 88%, var(--accent-soft));border:1px solid var(--border);border-radius:1rem;gap:1rem;padding:1.35rem;display:grid}.lumo-hero-note strong{font-size:1rem}.lumo-hero-note p{color:var(--text-secondary);font-size:.92rem;line-height:1.7}.lumo-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.lumo-button{min-height:3rem;color:var(--bg);background:var(--accent);border:1px solid var(--accent);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.15rem;font-size:.94rem;font-weight:600;line-height:1;text-decoration:none;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background-color .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.lumo-button:hover{background:color-mix(in srgb, var(--accent) 84%, var(--text));border-color:color-mix(in srgb, var(--accent) 84%, var(--text));transform:translateY(-2px)}.lumo-button:active{transform:translateY(0)scale(.98)}.lumo-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 30%, transparent);outline-offset:3px}.lumo-button--secondary{color:var(--text);background:var(--surface);border-color:var(--border)}.lumo-button--secondary:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.lumo-button svg{width:1rem;height:1rem}.lumo-section{padding-block:clamp(5rem,9vw,9rem)}.lumo-section+.lumo-section{border-top:1px solid var(--border)}.lumo-section-head{grid-template-columns:minmax(9rem,3fr) minmax(0,9fr);gap:clamp(1.5rem,5vw,5rem);margin-bottom:clamp(3rem,6vw,5.5rem);display:grid}.lumo-section-title{letter-spacing:-.035em;max-width:13ch;font-size:clamp(2.5rem,5.3vw,5.6rem);font-weight:600;line-height:1.05}.lumo-section-copy{max-width:38em;color:var(--text-secondary);align-self:end;font-size:1.05rem;line-height:1.8}.lumo-badge{width:fit-content;min-height:1.8rem;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);font-family:var(--font-mono,var(--font-family-mono));letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .62rem;font-size:.66rem;font-weight:500;line-height:1.25;display:inline-flex}.lumo-badge[data-status=production]:before,.lumo-badge[data-status=production-scope]:before{content:"";background:var(--accent-teal);border-radius:50%;width:.45rem;height:.45rem}.lumo-badge[data-status=prototype]{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 28%, var(--border))}.lumo-badge[data-status=concept]{color:var(--accent-coral);background:color-mix(in srgb, var(--accent-coral) 9%, var(--surface));border-color:color-mix(in srgb, var(--accent-coral) 25%, var(--border))}.lumo-badge[data-status=research]{color:var(--accent-teal);background:color-mix(in srgb, var(--accent-teal) 8%, var(--surface));border-color:color-mix(in srgb, var(--accent-teal) 24%, var(--border))}.lumo-tags{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.lumo-tag{color:var(--text-secondary);font-family:var(--font-mono,var(--font-family-mono));letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.lumo-tag+.lumo-tag:before{content:"/";color:var(--border);margin-right:.45rem}.lumo-dark{color:var(--bg);background:var(--surface-dark)}.lumo-dark :where(.lumo-kicker,.lumo-section-copy){color:color-mix(in srgb, var(--bg) 72%, var(--surface-dark))}.lumo-dark .lumo-kicker:before{background:var(--accent-teal)}.lumo-cta{background:var(--surface-dark);border-radius:1.25rem;grid-template-columns:minmax(0,8fr) minmax(14rem,4fr);align-items:end;gap:2rem;padding:clamp(2rem,5vw,4.75rem);display:grid;position:relative;overflow:hidden}.lumo-cta:after{aspect-ratio:1;content:"";border:1px solid color-mix(in srgb, var(--accent-teal) 54%, var(--surface-dark));width:20rem;box-shadow:0 0 0 2rem color-mix(in srgb, var(--accent-teal) 10%, transparent), 0 0 0 4rem color-mix(in srgb, var(--accent) 8%, transparent);border-radius:50%;position:absolute;bottom:-7rem;right:-5rem}.lumo-cta h2{z-index:1;max-width:15ch;color:var(--bg);letter-spacing:-.035em;font-size:clamp(2.5rem,5vw,5rem);line-height:1.06;position:relative}.lumo-cta-side{z-index:1;position:relative}.lumo-cta-side p{color:color-mix(in srgb, var(--bg) 72%, var(--surface-dark))}.lumo-cta .lumo-button{color:var(--text);background:var(--bg);border-color:var(--bg)}.lumo-cta .lumo-button:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft)}[data-lumo-reveal][data-lumo-ready=true]{opacity:0;transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1);transition-delay:var(--lumo-delay,0s);transform:translateY(1.75rem)}[data-lumo-reveal][data-lumo-visible=true]{opacity:1;transform:translateY(0)}.lumo-hero [data-hero-item]{opacity:0;animation:.82s cubic-bezier(.32,.72,0,1) forwards lumo-hero-in;animation-delay:var(--hero-delay,80ms);transform:translateY(1.5rem)}@keyframes lumo-hero-in{to{opacity:1;transform:translateY(0)}}@media (width<=63.9375rem){.lumo-shell,.lumo-shell--wide{width:min(100% - 4rem,80rem)}.lumo-hero-grid,.lumo-cta{grid-template-columns:1fr}.lumo-hero-note{max-width:34rem}}@media (width<=47.9375rem){.lumo-shell,.lumo-shell--wide{width:min(100% - 2.5rem,100%)}.lumo-hero{padding-block:8.5rem 4.5rem}.lumo-hero:after{opacity:.4;top:5.5rem;right:-2rem}.lumo-title,.lumo-title--case{max-width:12ch;font-size:clamp(3.25rem,15vw,5.5rem)}.lumo-section-head{grid-template-columns:1fr;margin-bottom:2.75rem}.lumo-section-title{font-size:clamp(2.45rem,12vw,4.4rem)}.lumo-cta{border-radius:1rem;padding:1.5rem}}@media (width<=26.1875rem){.lumo-actions{grid-template-columns:1fr;display:grid}.lumo-button{width:100%}}@media (prefers-reduced-motion:reduce){.lumo-page *,.lumo-page :before,.lumo-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lumo-page [data-lumo-reveal],.lumo-page [data-hero-item]{opacity:1!important;transform:none!important}}
