/* Lumen Gesture 3.1.1. Production adaptation of the supplied reference. */
:root { --radius-section:64px; --glass:rgba(255,255,255,.62); --glass-line:rgba(16,18,19,.14); --glow:0 0 20px rgba(173,67,30,.2); }
[data-theme="stage"] { --glass:rgba(255,255,255,.045); --glass-line:rgba(255,255,255,.16); --glow:0 0 20px rgba(255,154,106,.28); }
[hidden] { display:none !important; }
body { font-synthesis:none; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.label,.btn,button,summary,strong,th,dt { font-family:var(--iv-font-family-display); font-variation-settings:"ELSH" 0,"DSTY" 1; }
h1,h2,.h1,.h2 { font-weight:440; }
input,select,textarea { font-family:var(--iv-font-family-body); font-weight:400; }
button,a,input,textarea,select { -webkit-tap-highlight-color:transparent; }
:focus-visible,.public :focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.btn,.public .btn { min-height:48px; border-radius:999px; font-family:var(--iv-font-family-display); font-weight:560; }
.btn-sm { min-height:36px; } .btn-lg { min-height:52px; }
.btn-secondary { background:var(--glass); box-shadow:inset 0 0 0 1px var(--glass-line); }
.btn-primary:hover { box-shadow:0 0 0 4px color-mix(in srgb,var(--text) 10%,transparent); }
.btn:active:not(:disabled) { transform:scale(.98); }
.btn-icon { min-width:44px; min-height:44px; border-radius:999px; }
.card,.public .contact-form,.public-info-panel,.public-path-card,.auth-card { border-radius:32px; box-shadow:none; border:1px solid var(--border-subtle); }
.public .contact-form { padding:32px; }
.input { border-radius:16px; }
.lumen-logo { display:block; width:150px; height:auto; aspect-ratio:1600/420; object-fit:contain; flex-shrink:0; }
.lumen-logo-night { display:none; }
[data-theme="stage"] .lumen-logo-day { display:none; }
[data-theme="stage"] .lumen-logo-night { display:block; }
.auth-mark { background:#F6F3ED; padding:8px; width:64px; height:64px; border-radius:18px; }
.stage-head .brand-word { width:150px; height:auto; }
.stage .brand-word { clip-path:none; display:block; }
.thread-message.internal { background:var(--surface-subtle); border-color:var(--warning); color:var(--text); }
.nav-item.active { color:var(--action); }
.public-header { background:var(--bg); border-bottom:0; }
.public-header-in { max-width:1600px; min-height:96px; padding:14px 40px; gap:20px; }
.public-nav { gap:4px; margin:auto; }
.public-nav .nav-link { padding:8px 12px; border-radius:999px; color:var(--text-muted); font-family:var(--iv-font-family-display); font-size:15px; }
.public-nav .nav-link:hover,.public-nav .nav-link.active { background:var(--surface-subtle); color:var(--text); box-shadow:none; }
.public-header-actions { gap:16px; margin:0; }
.public-header-actions .btn-primary { display:none; }
.theme-switch { background:transparent; border:1px solid var(--border-subtle); color:var(--text); border-radius:999px; min-height:44px; min-width:76px; cursor:pointer; padding:6px 14px; font-size:14px; }
.public .site-foot { background:var(--surface); color:var(--text); border-top:1px solid var(--border-subtle); margin-top:32px; }
.public .foot-grid { max-width:1440px; padding:48px 40px; }
.public .site-foot a { color:var(--text-muted); } .public .site-foot a:hover { color:var(--action); }
.public .site-foot .label { color:var(--text); font-size:18px; }
.public .site-foot li,.public .foot-brand p { font-size:14px; }
.public .foot-in { max-width:1440px; border-color:var(--border-subtle); }
.public .foot-in .caption { font-size:12px; }
.eyebrow-latin,.lumen-eyebrow { font:10px/1.7 ui-monospace,Consolas,monospace; letter-spacing:.12em; color:var(--text-muted); display:block; }
.lumen-home { max-width:1600px; margin:auto; }
.hand-hero { position:relative; isolation:isolate; min-height:670px; overflow:hidden; background:var(--bg); }
.hand-hero>canvas { position:absolute; inset:0; width:100%; height:100%; z-index:-1; touch-action:pan-y; }
.hand-fallback { position:absolute; inset:-8px; max-width:none; width:calc(100% + 16px); height:calc(100% + 16px); object-fit:cover; z-index:-1; transform:translate(var(--hand-x,0px),var(--hand-y,0px)); transition:transform 180ms ease-out; }
.hand-fallback.night-art { display:none; }
[data-theme="stage"] .hand-fallback.day-art { display:none; }
[data-theme="stage"] .hand-fallback.night-art { display:block; }
.hand-hero[data-hand-ready="true"] .hand-fallback { display:none; }
.hand-copy { margin-left:50%; padding:74px 44px 96px; max-width:720px; pointer-events:none; }
.hand-copy>* { pointer-events:auto; }
.hand-copy h1,.hand-copy h2 { font-size:clamp(52px,6.5vw,96px); line-height:1.15; font-weight:440; margin-bottom:24px; }
.hand-copy em { font-style:normal; color:var(--text-muted); }
.hand-copy p { font-size:18px; line-height:2; max-width:34ch; margin-bottom:26px; color:var(--text-muted); }
.hand-copy .lumen-eyebrow { margin-bottom:24px; }
.lumen-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.hand-hint { display:flex; gap:8px; color:var(--text-muted); font-size:12px; max-width:42ch; margin-top:24px; }
.hand-pause { font-size:12px; color:var(--text-muted); min-height:44px; margin-top:6px; background:transparent; border:0; cursor:pointer; padding:4px 0; }
.hand-hud { position:absolute; left:28px; right:28px; bottom:24px; display:flex; justify-content:space-between; direction:ltr; font:10px/1.5 ui-monospace,monospace; color:var(--text-muted); pointer-events:none; }
.hand-hud b { font-weight:400; }
.hand-probe { position:absolute; top:80px; left:32px; width:174px; padding:20px; border:1px solid var(--glass-line); border-radius:28px; background:var(--glass); backdrop-filter:blur(24px); pointer-events:none; text-align:left; direction:ltr; }
.hand-probe>span { font:9px ui-monospace,monospace; letter-spacing:.06em; color:var(--text-muted); }
.hand-probe strong { display:block; font:440 52px/1.2 var(--iv-font-family-display); font-variation-settings:"ELSH" 0,"DSTY" 1; margin:12px 0; }
.hand-probe strong b { font-weight:440; }
.hand-probe small { font:12px ui-monospace,monospace; }
.hand-probe p { direction:rtl; text-align:right; font-size:12px; margin-top:12px; }
.hand-meter { height:3px; background:var(--border-subtle); border-radius:10px; overflow:hidden; }
.hand-meter i { display:block; height:100%; background:var(--action); }
.hand-hero:not([data-hand-ready="true"]) .hand-hud,.hand-hero:not([data-hand-ready="true"]) .hand-probe { display:none; }
.curved-section { border-radius:var(--radius-section); margin:0 24px 32px; padding:44px; background:var(--surface); border:1px solid var(--border-subtle); }
.section-top { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-bottom:36px; }
.section-top h2 { font-size:40px; line-height:1.3; margin-top:14px; }
.section-top>p { max-width:390px; font-size:15px; color:var(--text-muted); }
.domain-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding-bottom:28px; }
.domain-tabs>button { display:flex; flex-direction:column; gap:14px; align-items:center; padding:18px 10px 16px; border:1px solid transparent; border-radius:28px; background:transparent; min-width:0; color:var(--text-muted); font-size:15px; line-height:1.6; cursor:pointer; }
.domain-tabs>button:hover,.domain-tabs>[aria-selected="true"] { background:var(--bg); color:var(--text); border-color:var(--border-subtle); }
.glow-icon { width:56px; height:56px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid var(--glass-line); border-radius:18px; color:var(--action); background:var(--glass); box-shadow:var(--glow); }
.glow-icon img { width:26px; height:26px; }
[data-theme="stage"] .glow-icon img { filter:brightness(1.6); }
.domain-slide { display:grid; grid-template-columns:180px 1fr; gap:36px; padding:36px 24px 24px; border-top:1px solid var(--border-subtle); animation:lumen-reveal 240ms ease-out; }
.domain-number { font:440 100px/1 var(--iv-font-family-display); font-variation-settings:"ELSH" 0,"DSTY" 1; }
.domain-number small { font:12px ui-monospace,monospace; color:var(--text-muted); display:block; margin-top:14px; }
.domain-slide h3 { font-size:30px; font-weight:440; margin:12px 0; }
.domain-slide p { max-width:62ch; font-size:16px; color:var(--text-muted); margin-bottom:20px; }
.carousel-controls { display:flex; justify-content:space-between; align-items:center; padding:12px 24px 0; }
.carousel-controls>span { font-size:12px; color:var(--text-muted); }
.carousel-controls .btn { border:1px solid var(--border); }
.method-section { background:var(--bg); }
.method-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.method-steps article { border-top:1px solid var(--border-subtle); padding-top:20px; }
.method-steps article>span { font:11px ui-monospace,monospace; color:var(--action); display:block; margin-bottom:20px; }
.method-steps h3 { font-size:25px; font-weight:560; margin-bottom:14px; }
.method-steps p { font-size:14px; color:var(--text-muted); }
.platform-section { display:grid; grid-template-columns:1.1fr 1fr; gap:56px; }
.platform-section h2 { font-size:44px; line-height:1.25; margin:16px 0 24px; }
.platform-section p { font-size:15px; max-width:45ch; color:var(--text-muted); margin-bottom:24px; }
.platform-links { display:flex; flex-direction:column; justify-content:center; gap:12px; }
.platform-links>a { display:flex; align-items:center; text-align:right; gap:16px; background:var(--bg); border:1px solid var(--border-subtle); border-radius:28px; padding:20px; color:var(--text); text-decoration:none; }
.platform-links>a>span:not(.glow-icon) { flex:1; min-width:0; }
.platform-links strong { font-weight:560; font-size:19px; display:block; }
.platform-links small { font-size:12px; display:block; margin-top:5px; color:var(--text-muted); }
.lumen-event-rail { display:grid; grid-template-columns:1fr 1.35fr; gap:32px; align-items:center; }
.lumen-event-rail h2 { font-size:36px; margin:18px 0; }
.lumen-event-rail p { font-size:15px; color:var(--text-muted); margin-bottom:20px; }
.lumen-art { display:block; border-radius:32px; width:100%; object-fit:cover; }
.lumen-event-rail .lumen-art { height:280px; }
.lumen-caption { color:var(--text-muted); font-size:12px; margin-top:8px; }
.public .band { padding:0; background:transparent; }
.public .band-in { max-width:1440px; padding:32px 44px; }
.exp-card { background:var(--surface); border:1px solid var(--border-subtle); border-radius:32px; overflow:hidden; box-shadow:none; }
.exp-card-media { border-radius:32px 32px 0 0; }
.exp-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.exp-visual { background:var(--surface-subtle); }
.public .exp-card .h5 { font-size:24px; font-weight:440; }
.public .exp-card-body { padding:24px; }
.public .public-card-action { color:var(--action); border-color:var(--border-subtle); }
.public .public-filter,.public-empty { background:var(--surface); border-radius:32px; }
.public .public-sample { color:var(--text); background:var(--surface); border-color:var(--border-subtle); }
.public-text-link { font-family:var(--iv-font-family-display); font-weight:560; color:var(--action); }
.public-page-title .h1,.public .public-experience-copy>.h1 { font-size:44px; font-weight:440; }
.public-page-title { gap:20px; }
.public-solution-hero .lumen-art { height:320px; }
.lumen-note { padding:20px 24px; background:var(--surface-subtle); border-radius:24px; font-size:14px; color:var(--text-muted); }
.lumen-new-page { max-width:1280px; gap:32px; }
.lumen-new-page>.curved-section { margin:0; }
.lumen-new-page .hand-hero { border-radius:32px; border:1px solid var(--border-subtle); }
.lumen-new-page .hand-copy h2 { font-size:64px; }
.lumen-two { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.lumen-search { display:flex; gap:12px; flex-wrap:wrap; align-items:end; }
.lumen-search .field { flex:1; min-width:min(280px,100%); }
.lumen-search-results { display:flex; flex-direction:column; gap:16px; }
.lumen-search-results article { background:var(--surface); padding:24px; border:1px solid var(--border-subtle); border-radius:24px; }
.lumen-search-results h2 { font-size:26px; }
.lumen-search-results p { margin-top:8px; color:var(--text-muted); }
.public .public-final-cta { background:var(--surface); border:1px solid var(--border-subtle); border-radius:64px; margin:32px 24px; }
.auth-wrap { background:var(--bg); }
.auth-card { background:var(--surface); max-width:480px; }
.card-inverse,.stage { --iv-action-primary-bg:var(--action-primary); }
@keyframes lumen-reveal { from { opacity:.5; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(max-width:1100px) {
 .public-header-in { padding:14px 24px; gap:16px; flex-wrap:wrap; }
 .public-nav { display:none; }
 .public-menu-toggle { display:inline-flex; }
 .public-header-actions { margin-inline-start:auto; }
 .hand-copy { padding-inline:28px; }
 .hand-copy h1 { font-size:70px; }
 .domain-slide { grid-template-columns:130px 1fr; }
 .curved-section { padding:32px; }
 .section-top h2 { font-size:36px; }
 .platform-section { gap:32px; }
}
@media(max-width:800px) {
 .hand-copy { margin-left:47%; padding-top:52px; }
 .hand-copy h1 { font-size:58px; }
 .hand-copy p { font-size:16px; }
 .hand-probe { width:150px; left:24px; top:60px; }
 .hand-probe strong { font-size:44px; }
 .domain-tabs>button { font-size:13px; padding:12px 6px; }
 .platform-section,.lumen-two { grid-template-columns:1fr; }
 .public .foot-grid { padding:32px 24px; }
}
@media(max-width:600px) {
 :root { --radius-section:32px; }
 .lumen-logo { width:130px; height:auto; }
 .public-header-in { min-height:76px; padding:12px 18px; gap:10px; }
 .public-header-actions { gap:10px; }
 .public-header-actions .public-login { font-size:13px; }
 .public-mobile-nav:not([hidden]) { grid-template-columns:1fr 1fr; }
 .public-menu-toggle { padding:0 12px; font-size:13px; min-height:44px; }
 .theme-switch { min-width:60px; padding-inline:10px; font-size:13px; }
 .hand-hero { min-height:920px; }
 .hand-copy { margin:0; padding:28px 22px 430px; max-width:none; }
 .hand-copy h1,.lumen-new-page .hand-copy h2 { font-size:52px; }
 .hand-copy p { font-size:15px; }
 .hand-copy .lumen-eyebrow { font-size:8px; }
 .hand-copy .btn { font-size:14px; padding:10px 18px; white-space:normal; }
 .hand-probe { display:none; }
 .hand-hud { left:18px; right:18px; font-size:8px; }
 .hand-hud>span:last-child { display:none; }
 .hand-fallback { top:auto; bottom:0; height:450px; object-position:18% center; }
 .curved-section { margin:0 12px 20px; padding:28px 20px; }
 .section-top { display:block; margin-bottom:24px; }
 .section-top h2 { font-size:34px; }
 .section-top>p { margin-top:18px; font-size:14px; }
 .domain-tabs { display:flex; overflow-x:auto; gap:8px; padding:4px 4px 20px; scroll-snap-type:x mandatory; }
 .domain-tabs>button { min-width:112px; scroll-snap-align:start; font-size:13px; }
 .domain-slide { grid-template-columns:1fr; gap:14px; padding:24px 0 12px; }
 .domain-number { font-size:48px; display:flex; gap:12px; align-items:end; }
 .domain-number small { margin-bottom:4px; }
 .domain-slide h3 { font-size:27px; }
 .domain-slide p { font-size:14px; }
 .carousel-controls { padding:12px 0 0; }
 .method-steps,.lumen-event-rail,.platform-section { grid-template-columns:1fr; }
 .method-steps { gap:24px; }
 .method-steps h3 { font-size:24px; }
 .platform-section h2 { font-size:34px; }
 .platform-links>a { padding:16px; gap:12px; }
 .platform-links strong { font-size:17px; }
 .glow-icon { width:48px; height:48px; }
 .lumen-event-rail .lumen-art { height:210px; }
 .lumen-event-rail h2 { font-size:32px; }
 .public .band-in { padding:28px 20px; }
 .public-page-title .h1,.public .public-experience-copy>.h1 { font-size:36px; }
 .public .public-final-cta { border-radius:32px; margin:24px 12px; }
 .public .contact-form { padding:24px 20px; }
 .public .foot-grid { grid-template-columns:1fr 1fr; }
 .public .foot-grid .foot-brand { grid-column:1/-1; }
 .public .page { padding-inline:16px; }
 .auth-wrap { padding:20px 12px; }
 .auth-card { padding:28px 20px; }
 .topbar:not(.public-header) { display:grid; grid-template-columns:minmax(0,1fr) auto; height:auto; gap:8px 12px; padding:12px 16px; }
 .topbar:not(.public-header) .topbar-start { display:contents; }
 .topbar:not(.public-header) .brand { grid-row:1; grid-column:1; min-width:0; }
 .topbar:not(.public-header) .lumen-logo { width:110px; }
 .topbar:not(.public-header) .topbar-end { grid-row:1; grid-column:2; gap:6px; }
 .topbar:not(.public-header) .topnav { grid-row:2; grid-column:1/-1; margin:0; padding:0; border:0; overflow-x:auto; min-width:0; }
 .topbar:not(.public-header) .topnav .nav-link { flex:none; min-height:44px; padding:0 10px; gap:6px; font-size:13px; }
 .topbar:not(.public-header) .topnav .nav-link span { display:inline; }
 .topbar:not(.public-header) .topbar-end>.btn { padding-inline:10px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .btn:active:not(:disabled) { transform:none; } }
[data-motion="off"] .hand-fallback,[data-hand-paused="true"] .hand-fallback { transform:none; transition:none; }
