/* Selly "On air" section; inherits Geist, homepage h2 size and the existing page grain. */
.p-selly.onair{--onair-gutter:clamp(24px,3vw,48px);margin:0 calc(-1*var(--page-gutter));padding:0;width:calc(100% + 2*var(--page-gutter));color:#efefec}
.p-selly.onair .p-selly-reveal{width:100%;height:auto;margin:0}
.p-selly.onair .p-selly-pin{position:relative;top:auto;height:100svh}
.p-selly.onair .p-selly-stage{display:block;height:100%;border:0;border-radius:0;background:transparent;transform:none!important;clip-path:none!important;will-change:auto}
.p-selly.onair .experience{position:relative;inset:auto;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:56px minmax(0,1fr) auto auto;height:100%;min-height:0;background:transparent;color:inherit;overflow:visible}
.p-selly.onair .onair-bugs{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--onair-gutter);font-size:13px;letter-spacing:.18em;line-height:1.2}
.p-selly.onair .onair-status{display:flex;align-items:center;gap:12px}
.p-selly.onair .onair-tally{width:16px;height:16px;border:1px solid var(--plan-accent);border-radius:50%;background:transparent;opacity:.45}
.p-selly.onair .has-started .onair-tally{background:var(--plan-accent);opacity:1}
.p-selly.onair .onair-copy{grid-column:1/6;grid-row:2;align-self:center;padding:24px var(--onair-gutter);z-index:2;min-width:0}
.p-selly.onair #selly-title{text-align:left;text-wrap:initial}
.p-selly.onair #selly-lead{margin-top:24px;font-size:20px;line-height:1.5;color:#b9b9b5;max-width:32em}
.p-selly.onair .onair-picture{grid-column:5/-1;grid-row:2;position:relative;overflow:hidden;min-height:0}
.p-selly.onair .experience .character{position:absolute;grid-area:auto;inset:auto;left:0;top:-36px;width:100%;height:calc(100svh - 56px);z-index:0;border:0;border-radius:0;background:transparent;transform:none;transition:none;overflow:hidden}
.p-selly.onair.has-secondary .experience .character{height:calc(80svh - 56px)}
.p-selly.onair .character img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;padding:36px 0 0;mix-blend-mode:normal}
.p-selly.onair .onair-caption{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px var(--onair-gutter);border-block:1px solid #efefec;min-height:26svh;max-height:38svh;overflow:auto;background:transparent}
.p-selly.onair .has-started .onair-caption{grid-template-columns:48px minmax(0,1fr)}
.p-selly.onair .onair-wave{align-self:center;margin-top:0}
.p-selly.onair .onair-caption-cell{min-width:0}
.p-selly.onair .experience .conversation{position:static;grid-area:auto;inset:auto;width:auto;max-width:none;min-height:0;max-height:none;padding:0;overflow:visible;background:transparent;border-radius:0;transform:none;transition:none;animation:none}
.p-selly.onair :is(.onair-opening,.dialogue){font-size:clamp(28px,2.6vw,48px);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin:0}
.p-selly.onair .has-started :is(.onair-opening,.selly-entry){display:none}
.p-selly.onair .experience .selly-entry{position:static;grid-area:auto;inset:auto;align-self:center;width:auto;max-width:none;max-height:none;padding:0;overflow:visible;transform:none;background:transparent}
.p-selly.onair .selly-entry #start{position:static;inset:auto;display:flex;align-items:center;justify-content:center;gap:16px;width:auto;min-height:64px;padding:16px 24px;border:1px solid var(--plan-accent);border-radius:8px;background:var(--plan-accent);color:var(--plan-accent-ink);font:500 20px/1.2 Geist,Arial,Helvetica,sans-serif;letter-spacing:-.02em;white-space:nowrap;transform:none;box-shadow:none;backdrop-filter:none}
.p-selly.onair .selly-entry #start:hover{background:var(--plan-accent);color:var(--plan-accent-ink);text-decoration:underline}
.p-selly.onair #start span{animation:none}
.p-selly.onair #start span::after{content:none}
.p-selly.onair #start .selly-play{display:block!important;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;padding:10px;flex:none}
.p-selly.onair .conversation-actions{max-width:none;gap:8px;margin-top:16px;animation:none}
.p-selly.onair .conversation-actions :is(a,button){min-height:44px;padding:10px 16px;border:1px solid #9d9c96;border-radius:4px;background:transparent;color:#efefec;font-size:16px;overflow-wrap:anywhere}
.p-selly.onair .conversation-actions :is(a,button):hover{background:#efefec;color:#080808;border-color:#efefec}
.p-selly.onair .onair-utility{grid-column:1/-1;grid-row:4;display:flex;align-items:center;gap:16px;padding:8px var(--onair-gutter);min-height:60px;font-size:13px}
.p-selly.onair .hero-scroll{position:static;display:inline-flex;align-items:center;justify-content:flex-start;width:auto;gap:12px;min-height:44px;margin:0;padding:0;border:0;color:#b9b9b5;flex:none}
.p-selly.onair .experience .render-note{position:static;inset:auto;max-width:none;margin:0;padding:0;flex:1;text-align:left;background:transparent;border-radius:0;font-size:13px;line-height:1.4;color:#b9b9b5}
.p-selly.onair .conversation-controls{display:flex;gap:8px;margin:0 0 0 auto}
.p-selly.onair .experience:not(.has-started) .conversation-controls{display:none}
.p-selly.onair .replay{width:44px;height:44px;border:1px solid #9d9c96;background:transparent;color:#efefec}
.p-selly.onair .experience .sound-toggle{position:static;grid-area:auto;inset:auto;width:auto;height:auto;min-height:44px;padding:10px 14px;border:1px solid #9d9c96;border-radius:4px;background:transparent;color:#efefec;font-size:13px;transition:none}
.p-selly.onair .sound-toggle::after{content:none}
.p-selly.onair .loader{position:static;inset:auto;align-items:flex-start;margin-top:24px;background:transparent;color:#efefec;gap:8px}
.p-selly.onair .loader-name{font-size:24px;letter-spacing:-.04em;line-height:1.2}
.p-selly.onair .loader-track{margin:0;background:#575751}
.p-selly.onair .loader-track::after{background:#efefec;animation:none}
.p-selly.onair .loader button{margin:0;min-height:44px;color:#efefec;border-color:#9d9c96}
.p-selly.onair .no-script{position:static;inset:auto;max-width:none;font-size:18px}
.p-selly.onair .no-script__title{font-size:32px;line-height:1.2;margin-bottom:12px}
.p-selly.onair .no-script a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.p-selly.onair .onair-caption:has(.no-script) :is(.onair-opening,.selly-entry){display:none}
.p-selly.onair :is(a,button,.conversation):focus-visible{outline:2px solid #efefec;outline-offset:3px}
.p-selly.onair .dialogue.is-typing::after{animation:none}
@media(max-width:760px),(max-aspect-ratio:1/1){
 .p-selly.onair{--onair-gutter:20px}
 .p-selly.onair .p-selly-pin{height:auto}
 .p-selly.onair .experience{height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto clamp(300px,40svh,420px) auto auto}
 .p-selly.onair .onair-bugs{grid-column:1;grid-row:1;min-height:48px;font-size:11px;letter-spacing:.12em}
 .p-selly.onair .onair-copy{grid-column:1;grid-row:2;align-self:start;padding-block:20px 12px}
 .p-selly.onair #selly-lead{font-size:17px;margin-top:16px}
 .p-selly.onair .onair-picture{grid-column:1;grid-row:3}
 .p-selly.onair .experience .character{left:-15%;top:-36px;width:130%;height:520px}
 .p-selly.onair.has-secondary .experience .character{height:400px}
 .p-selly.onair .onair-caption,.p-selly.onair .has-started .onair-caption{grid-column:1;grid-row:4;grid-template-columns:28px minmax(0,1fr);gap:16px 12px;min-height:0;max-height:none;padding-block:20px;overflow:visible}
 .p-selly.onair .onair-wave{align-self:start;width:28px;height:36px;margin-top:0}
 .p-selly.onair :is(.onair-opening,.dialogue){font-size:26px;line-height:1.16}
 .p-selly.onair .experience .selly-entry{grid-column:1/-1;width:100%}
 .p-selly.onair .selly-entry #start{width:100%;min-height:56px;font-size:18px;padding:12px 20px}
 .p-selly.onair .onair-utility{grid-column:1;grid-row:5;flex-wrap:wrap;gap:8px 12px;padding-block:8px 16px}
 .p-selly.onair .experience .render-note{flex-basis:100%;order:4}
 .p-selly.onair .conversation-actions{flex-direction:column}
 .p-selly.onair .conversation-actions :is(a,button){width:100%;justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.p-selly.onair *,.p-selly.onair *::before,.p-selly.onair *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* 3D Selly: no portrait while the model loads; it shows only when 3D is unavailable (is-fallback). */
.p-selly.onair .character.is-loading img{opacity:0}
.p-selly.onair .experience.is-fallback .character img{opacity:1}
.p-selly.onair .character-canvas{transition:opacity .8s cubic-bezier(.2,.7,.2,1)}
