body.landing-page{background:#e9e6e1;color:#252830;min-height:100dvh}.landing-page header{background:transparent;backdrop-filter:none;border:0;padding:24px 30px;position:relative;z-index:3}.landing-page header .wordmark{font-size:17px}
#living-surface{position:fixed;inset:0 390px 0 0;z-index:0;overflow:hidden;background:radial-gradient(ellipse at 48% 43%,#faf8f2 0,#e9e6e1 60%,#ddd9d3 100%);touch-action:pan-y}#living-surface canvas{display:block;width:100%;height:100%}
.landing-page main{margin-left:calc(100% - 390px);position:relative;z-index:2}.landing-page .front-door{width:auto;margin:20px 26px 40px 0;padding:22px;background:#f9f8f4bd;border:1px solid #ffffff60;border-radius:10px;box-shadow:none;backdrop-filter:blur(18px)}
.front-intro h1{font-size:3.4rem}.front-intro .eyebrow{font-size:9px}.understudy-intro{font-size:13px}.chat-inline .chat-compose button{background:#292d36}.living-controls{position:fixed;z-index:3;left:30px;bottom:25px;color:#686971;display:flex;align-items:center;gap:20px;font-size:11px}.living-controls button{padding:10px 12px;min-height:44px;border:1px solid #9c9ca3;border-radius:4px;background:transparent;color:#343843;font:inherit;cursor:pointer}.living-hint{margin:0;letter-spacing:.03em}.landing-page footer{display:none}
@media(max-width:750px){#living-surface{position:relative;inset:auto;height:42svh;min-height:260px;margin-top:-70px}.landing-page main{margin:0}.landing-page .front-door{width:calc(100% - 24px);margin:0 12px 20px;padding:20px;background:#faf9f5e8}.living-controls{position:relative;left:auto;bottom:auto;padding:0 20px 12px;justify-content:space-between}.living-hint{max-width:210px;font-size:10px}.landing-page header{padding:14px 20px}.front-intro h1{font-size:2.8rem}}

.living-form-label{font-size:12px;font-weight:600;color:#922748}.living-controls{max-width:calc(100% - 440px);flex-wrap:wrap;gap:12px}.living-hint{font-size:12px;max-width:330px}@media(max-width:750px){.living-controls{max-width:none}.living-hint{max-width:240px}}

.living-samples{display:flex;flex-wrap:wrap;gap:6px;width:100%}.living-samples button{min-height:36px;padding:7px 10px;background:#ffffff80;font-size:12px}.living-samples button[aria-pressed=true]{background:#922748;color:white;border-color:#922748}.living-controls{background:#f8f8f3d9;padding:10px;border-radius:6px;bottom:12px;left:20px}.living-form-label{min-width:64px}@media(max-width:750px){.living-controls{left:0;bottom:0;margin:0 12px 12px}.living-samples button{min-height:44px}}
/* Unified scene and page palette. */
body.landing-page{background:var(--living-bg);color:var(--living-ink);transition:background 1.2s,color 1.2s}.landing-page header,.landing-page main{background:transparent}.landing-page header a,.landing-page header .wordmark,.landing-page header .wordmark span,.landing-page nav a{color:var(--living-ink)}
.landing-page .front-door{background:var(--living-card);border-color:color-mix(in srgb,var(--living-ink) 12%,transparent);transition:background 1.2s,border-color 1.2s}.front-intro h1,.front-question,.intro-disclosure>summary,.understudy-intro span,.chat-inline .chat-input-label{color:var(--living-ink)}.front-intro .eyebrow,.understudy-intro,.intro-disclosure>summary span,.chat-inline .chat-foot button{color:var(--living-muted)}
.chat-inline .chat-compose{background:color-mix(in srgb,var(--living-bg) 65%,var(--living-card));border-color:var(--living-muted)}.landing-page .chat-inline textarea,.landing-page .chat-inline textarea:focus,.chat-inline .chat-message p,.chat-inline .chat-message{color:var(--living-ink)}.chat-inline textarea::placeholder{color:var(--living-muted)}.chat-inline .chat-compose button{background:var(--living-accent);color:var(--living-bg)}.chat-inline .chat-message a,.chat-inline .chat-status,.chat-history{color:var(--living-accent)}.intro-disclosure{border-color:color-mix(in srgb,var(--living-ink) 18%,transparent)}
.living-controls{background:transparent;color:var(--living-muted);padding:0}.living-controls button{color:var(--living-ink);border-color:var(--living-muted);background:transparent;font-size:12px}.living-controls button[aria-pressed=true]{background:var(--living-ink);color:var(--living-bg)}#living-surface{background:var(--living-bg);touch-action:none;cursor:grab}#living-surface.is-grabbing{cursor:grabbing}.living-hint{font-size:12px}
@media(prefers-reduced-motion:reduce){body.landing-page,.landing-page .front-door{transition:none}}
.landing-page .chat-inline textarea,.landing-page .chat-inline textarea:focus{min-height:96px;font-size:16px;line-height:1.5}.chat-inline .chat-message>span,.chat-inline .visitor p{color:var(--living-muted)}.chat-inline .chat-compose:focus-within{border-color:var(--living-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--living-accent) 20%,transparent)}
/* Conversation floats directly on the scene, without a panel. */
#living-surface{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;margin:0}
.landing-page main{margin:0;position:relative;z-index:2;pointer-events:none;min-height:calc(100dvh - 90px)}
.landing-page .front-door{width:min(450px,42vw);margin:clamp(30px,7vh,85px) 0 110px 6vw;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;pointer-events:auto}
.landing-page .chat-inline,.chat-inline .chat-form,.chat-inline .chat-compose,.chat-inline .chat-message,.chat-inline .chat-message p,.chat-inline .chat-expanded-view{background:transparent;box-shadow:none;backdrop-filter:none}
.chat-inline .chat-compose{border:0;border-bottom:1px solid var(--living-muted);border-radius:0;padding:10px 0}.chat-inline .chat-compose:focus-within{box-shadow:none;border-color:var(--living-accent)}
.landing-page .chat-inline textarea,.landing-page .chat-inline textarea:focus{background:transparent;min-height:76px}.understudy-intro{font-size:14px;line-height:1.65}.front-intro .eyebrow{font-size:11px}.front-intro h1{font-size:clamp(48px,5vw,76px)}
.living-controls{position:fixed;left:auto;right:28px;bottom:20px;max-width:50vw;margin:0;padding:0;background:transparent;z-index:3}.living-hint{max-width:none}
@media(max-width:750px){.landing-page .front-door{width:calc(100% - 40px);margin:26svh 20px 100px;padding:0;background:transparent;border:0;backdrop-filter:none}.landing-page main{margin:0}.living-controls{right:20px;left:20px;max-width:none;bottom:12px;justify-content:flex-end}.living-hint{display:none}.front-intro h1{font-size:48px}.understudy-intro{font-size:14px}}

/* Keep the full introduction available on demand at every screen size. */
.intro-disclosure{margin:18px 0 22px;background:transparent;border:0}.intro-disclosure>summary{display:list-item;cursor:pointer;padding:8px 0;font-size:13px;font-weight:500}.intro-disclosure>summary span{display:block;margin-top:4px;font-size:12px;font-weight:400}.intro-disclosure .understudy-intro{margin:8px 0 0;padding:0}

.is-exploring .front-door{visibility:hidden;pointer-events:none}.is-exploring .living-controls{max-width:calc(100vw - 40px);flex-wrap:wrap}.living-controls input[type=range]{width:140px;accent-color:var(--living-accent)}.living-controls [hidden]{display:none!important}.is-exploring #living-surface{cursor:move}@media(max-width:750px){.is-exploring .living-controls{gap:8px}.is-exploring .living-controls button{font-size:11px;padding:8px}}
/* A light recessed input, while the surrounding conversation stays transparent. */
.landing-page .chat-inline .chat-compose{
 border:1px solid color-mix(in srgb,var(--living-ink) 24%,transparent);
 border-radius:18px;padding:12px;
 background:rgb(255 255 255 / 10%);
 box-shadow:inset 0 2px 6px rgb(0 0 0 / 7%),0 1px 0 rgb(255 255 255 / 18%);
 transition:border-color .2s,box-shadow .2s;
}
.landing-page .chat-inline .chat-compose:focus-within{
 border-color:color-mix(in srgb,var(--living-accent) 65%,transparent);
 box-shadow:inset 0 2px 6px rgb(0 0 0 / 7%),0 0 0 2px color-mix(in srgb,var(--living-accent) 12%,transparent);
}
.landing-page .chat-inline .chat-compose textarea{background:transparent;border:0;border-radius:0;box-shadow:none;resize:none;padding:4px;}
.landing-page .chat-inline .chat-compose textarea:focus-visible{outline:none;}

.landing-page .chat-inline .chat-compose>button{background:color-mix(in srgb,var(--living-accent) 15%,transparent);color:var(--living-ink);border:1px solid color-mix(in srgb,var(--living-ink) 20%,transparent);box-shadow:inset 0 1px 0 rgb(255 255 255 / 20%);transition:background .2s,border-color .2s}.landing-page .chat-inline .chat-compose>button:hover{background:color-mix(in srgb,var(--living-accent) 25%,transparent);border-color:color-mix(in srgb,var(--living-ink) 40%,transparent)}

/* A quieter editorial voice for the living home page. */
.landing-page .front-intro h1{font-family:'Barlow Semi Condensed','DM Sans',sans-serif;font-weight:300;font-size:clamp(46px,5.4vw,72px);line-height:1.06;letter-spacing:-.035em;text-transform:none;margin-bottom:16px}.landing-page .front-question{font-weight:400;font-size:clamp(18px,1.7vw,23px);line-height:1.5}.landing-page .understudy-intro{line-height:1.75}.landing-page .chat-inline .chat-input-label{font-weight:500;line-height:1.5}.landing-page .chat-inline textarea{line-height:1.65}.landing-page .front-intro .eyebrow{line-height:1.65;letter-spacing:.08em}@media(max-width:750px){.landing-page .front-intro h1{font-size:46px;line-height:1.08;letter-spacing:-.03em}}

.synth-panel{position:fixed;z-index:5;right:24px;bottom:90px;width:min(570px,calc(100vw - 40px));padding:14px;border:1px solid color-mix(in srgb,var(--living-ink) 20%,transparent);border-radius:18px;background:color-mix(in srgb,var(--living-bg) 82%,transparent);backdrop-filter:blur(12px);color:var(--living-ink);font:12px/1.5 'DM Sans',sans-serif}.synth-panel[hidden]{display:none}.synth-panel p{margin:0 0 10px}.synth-pads{display:grid;grid-template-columns:repeat(9,1fr);gap:5px}.synth-pads button{min-width:0;min-height:54px;border-radius:10px;border:1px solid color-mix(in srgb,var(--living-ink) 20%,transparent);background:transparent;color:inherit;touch-action:none;cursor:pointer}.synth-pads kbd,.synth-pads span{display:block}.synth-pads kbd{font:500 16px/1.5 'DM Sans',sans-serif}.synth-pads span{font-size:10px}.synth-pads .is-sounding{background:color-mix(in srgb,var(--living-accent) 28%,transparent);border-color:var(--living-accent)}.synth-panel label{display:flex;align-items:center;gap:12px;margin-top:10px}.synth-panel input{accent-color:var(--living-accent);width:110px}@media(max-width:750px){.synth-panel{bottom:120px;right:20px;box-sizing:border-box}.synth-pads{grid-template-columns:repeat(5,1fr)}.synth-playing:not(.is-exploring) .synth-panel{position:relative;right:auto;bottom:auto;margin:20px;z-index:4}}

/* Compact world context, separated from the conversation. */
.living-controls{max-width:min(680px,calc(100vw - 40px));gap:8px 12px}
.living-context{order:99;flex-basis:100%;width:100%}
.living-specialties{font-size:9px;letter-spacing:.025em;margin:8px 0;white-space:nowrap}
.living-context .intro-disclosure{margin:0;border:0;position:relative}
.living-context .intro-disclosure>summary{display:list-item;padding:5px 0;min-height:0;font-size:11px;white-space:nowrap}
.living-context .intro-disclosure>summary span{display:inline;margin:0 0 0 8px;font-size:10px}
.living-context .understudy-intro{max-width:580px;font-size:12px;line-height:1.6;margin:8px 0 0}
.landing-page[data-hide-chat-label=true] .chat-input-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.landing-page .front-question{font-size:20px;line-height:1.5;margin-top:16px}
@media(max-width:750px){.living-specialties{font-size:clamp(6px,1.8vw,9px);letter-spacing:0}.living-context .intro-disclosure>summary{font-size:10px}.living-context .intro-disclosure>summary span{font-size:9px;margin-left:5px}.living-controls{gap:5px 8px}.living-controls button{font-size:10px;padding:7px 8px}.landing-page .front-question{font-size:18px}}

@media(min-width:751px){.living-controls{max-width:calc(100vw - 56px);width:820px}.living-controls button{font-size:11px;padding:8px 10px}.living-controls .living-hint{font-size:11px}}

@media(max-width:750px){.living-specialties{font-size:9px;line-height:1.6;white-space:normal;text-wrap:balance}}

.sound-set-label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--living-ink)}.sound-set-label select{font:inherit;color:var(--living-ink);background:color-mix(in srgb,var(--living-bg) 85%,transparent);border:1px solid var(--living-muted);border-radius:18px;padding:10px 12px;max-width:190px}.sound-set-status{font-size:10px}.sound-set-label select:focus-visible{outline:2px solid var(--living-accent);outline-offset:3px}

.layer-menus{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.layer-menus label{font-size:10px;display:grid;gap:5px}.layer-menus select{width:100%;min-width:0;padding:7px;border-radius:8px;border:1px solid var(--living-muted);color:var(--living-ink);background:var(--living-bg);font-size:11px}.synth-panel{max-height:65svh;overflow:auto}@media(max-width:600px){.layer-menus{grid-template-columns:repeat(2,1fr)}}

.synth-close{float:right;background:transparent;border:0;color:var(--living-ink);font-size:24px;cursor:pointer;min-width:36px;min-height:36px}.synth-panel>p{padding-right:38px}
/* Recorded audio controls: readable titles and reachable controls on phones. */
.synth-panel{font-size:14px;max-height:min(70svh,680px);box-sizing:border-box}.synth-pads{grid-template-columns:repeat(3,minmax(0,1fr))}.synth-pads button{font:inherit;line-height:1.3;padding:10px;min-height:64px;touch-action:manipulation;overflow-wrap:anywhere}.synth-pads button[data-audio-state=loading]{opacity:.65}.synth-pads button[data-audio-state=error]{border-style:dashed}.layer-menus label{font-size:14px}.layer-menus select{font-size:14px;min-height:40px}.synth-panel>button:last-child{margin-top:14px;padding:10px 15px;border:1px solid currentColor;border-radius:12px;background:transparent;color:inherit;font:inherit}.sound-set-status{display:block;max-width:250px}@media(max-width:600px){.synth-panel{bottom:90px;max-height:70svh}.synth-pads{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-menus{grid-template-columns:1fr}}
/* Twelve sounds, twelve visible forms. No separate mixer. */
.orb-instrument-labels{position:fixed;inset:0;pointer-events:none;z-index:2}.orb-instrument-labels button{position:absolute;transform:translateX(-50%);max-width:130px;padding:4px 6px;border:0;border-radius:8px;background:transparent;color:var(--living-muted);font:12px/1.2 'DM Sans',sans-serif;cursor:pointer;pointer-events:auto}.orb-instrument-labels button:hover,.orb-instrument-labels button:focus-visible,.orb-instrument-labels button.is-playing{color:var(--living-ink);background:color-mix(in srgb,var(--living-bg) 50%,transparent)}.orb-instrument-labels button.is-playing{font-weight:700}.orb-instrument-labels button[hidden]{display:none}.orb-audio-status{font-size:12px}@media(max-width:750px){.landing-page .front-door{margin-top:44svh}.orb-instrument-labels button{font-size:10px;max-width:95px;padding:3px}.living-controls{gap:6px}.living-controls button{padding:7px 9px}}
@media(max-width:750px){.landing-page main{min-height:0}.landing-page .front-door{margin-bottom:24px}.living-controls{position:relative;right:auto;left:auto;bottom:auto;margin:12px 20px 24px;max-width:none;width:auto}}
/* Forms carry the instrument; names remain accessible without visual tags. */
.orb-instrument-labels button{width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important;background:transparent!important}
.orb-instrument-labels button:focus-visible{width:auto!important;height:auto!important;max-width:160px;padding:6px!important;clip-path:none!important;pointer-events:auto!important;background:var(--living-bg)!important}

.landing-page header{flex-wrap:wrap;row-gap:8px}.landing-page header .living-specialties{flex-basis:100%;order:3;margin:0;font-size:10px;line-height:1.5;white-space:normal;text-align:left;text-wrap:pretty}.landing-page header .wordmark{margin-bottom:0}@media(max-width:750px){.landing-page header .living-specialties{font-size:8px;letter-spacing:.015em}}

/* Stable, quiet sound numbers for replacing individual recordings. */
.orb-instrument-labels button{width:26px!important;height:24px!important;clip-path:none!important;overflow:visible!important;margin:0!important;pointer-events:auto!important;font:10px/24px 'DM Sans',sans-serif;opacity:.55;text-align:center;max-width:26px}.orb-instrument-labels button:hover,.orb-instrument-labels button.is-playing{opacity:1}.orb-instrument-labels button:focus-visible{width:26px!important;padding:0!important}
/* Sound numbers are maintenance references, not visible scene labels. */
.orb-instrument-labels button{width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important;opacity:0!important}
.orb-instrument-labels button:focus-visible{width:auto!important;height:auto!important;padding:6px!important;margin:0!important;clip-path:none!important;pointer-events:auto!important;opacity:1!important;font-size:0!important;color:transparent!important;outline:2px solid var(--living-accent)}

/* The scene stays full-bleed; mobile does not reserve a separate stage above the conversation. */
@media(max-width:750px){.landing-page .front-door{margin:clamp(32px,10svh,90px) 20px 28px;width:calc(100% - 40px)}.landing-page main{min-height:calc(100svh - 260px)}.is-exploring .living-controls{position:fixed;bottom:14px;left:16px;right:16px;margin:0;width:auto}.is-exploring main{pointer-events:none}}
.landing-page .front-intro,.landing-page header{ text-shadow:0 1px 12px rgb(235 240 245 / 25%)}

/* A restrained supporting line beneath the headline. */
.landing-page .front-door{width:88vw;pointer-events:none}
.landing-page .front-intro{display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:1280px}
.landing-page .front-intro h1{flex:none;white-space:nowrap;margin:0;font-size:clamp(46px,5.4vw,72px)}
.landing-page .front-question{flex:none;max-width:480px;margin:0;font-family:'Barlow Semi Condensed','DM Sans',sans-serif;font-weight:400;font-size:clamp(1rem,1.35vw,1.125rem);line-height:1.6;letter-spacing:.005em}
.landing-page .front-question span{display:block}
.landing-page #home-conversation{width:min(450px,100%);margin-top:clamp(32px,6svh,65px);pointer-events:auto}
.landing-page .front-intro{pointer-events:auto}
@media(max-width:750px){.landing-page .front-door{width:calc(100% - 40px)}.landing-page .front-intro{gap:12px}.landing-page .front-intro h1{font-size:clamp(38px,10.6vw,58px)}.landing-page .front-question{font-size:1rem;flex-basis:auto;line-height:1.6}.landing-page #home-conversation{margin-top:clamp(27px,4.5svh,42px)}}

/* Spoken presence: discreet status, never an opaque panel. */
.world-voice-caption{font-size:12px;line-height:1.4;max-width:350px;color:var(--living-ink);}.world-voice-caption:empty{display:none}

.landing-page .chat-inline .chat-compose>.world-mic{width:44px;min-height:44px;height:44px;display:grid;place-items:center;border-radius:50%;flex:none}.world-mic.is-listening{color:#a92444!important;border-color:currentColor!important;background:rgb(255 255 255 / 25%)!important}.mic-status{font-size:11px;line-height:1.4;color:var(--living-muted);margin:8px 4px 0}.mic-status:empty{display:none}@media(max-width:600px){.landing-page .chat-inline .chat-compose{flex-wrap:wrap}.landing-page .chat-inline .chat-compose textarea{flex-basis:100%}.landing-page .chat-inline .chat-compose>.world-mic{margin-left:auto}}

.chat-memory-note{font-size:10px;opacity:.7;max-width:190px;text-align:right}.chat-foot{flex-wrap:wrap}

/* Touch gestures over the scene manipulate space; the conversation remains scrollable. */
@media(pointer:coarse){#living-surface,#living-surface canvas{touch-action:none}.landing-page .front-intro{pointer-events:none}.landing-page #home-conversation,.living-controls{touch-action:pan-y pinch-zoom}}

.world-mic-invitation{position:fixed;z-index:30;left:50%;top:50%;width:clamp(88px,10vw,124px);height:clamp(88px,10vw,124px);transform:translate(-50%,-45%) scale(.92);border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.12);color:var(--ink,#183042);backdrop-filter:blur(12px);box-shadow:0 10px 50px rgba(10,30,45,.12),inset 0 1px 0 rgba(255,255,255,.6);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .6s ease,transform .6s ease;cursor:pointer}.world-mic-invitation[hidden]{display:none}.world-mic-invitation.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.world-mic-invitation svg{width:38px;height:46px}.world-mic-invitation:focus-visible{outline:2px solid currentColor;outline-offset:6px}@media(prefers-reduced-motion:reduce){.world-mic-invitation{transition:none}}
/* Empty conversation layout belongs to the scene's hit area. */
.landing-page main,.landing-page .front-door,.landing-page .front-intro,
.landing-page #home-conversation,.landing-page #home-conversation .chat-inline,
.landing-page #home-conversation .chat-form,.landing-page #home-conversation .chat-foot,
.landing-page #home-conversation .chat-log,.landing-page #home-conversation .chat-history{pointer-events:none}
.landing-page #home-conversation .chat-compose,
.landing-page #home-conversation button,.landing-page #home-conversation a,
.landing-page #home-conversation summary,
.landing-page #home-conversation .chat-message{pointer-events:auto}
