/* Approved route B, entrance C and shared physical handset materials. */
html:not(.js) img[data-deferred-src]{display:none!important}
@layer orator-quiet-edges{
 html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button{box-shadow:none!important}
}
/* Approved CSS handset materials. Native screenshots and geometry remain. */
.phone-demos .h-device-3d{position:absolute;top:0;left:0;width:250px;height:525px;transform:scale(var(--h-native-scale));transform-origin:top left;transform-style:preserve-3d;--h-rim:#b2aaa0;--h-edge-dark:#706a63;--h-edge-light:#e2d9cc;--h-rear:#a79f94;--h-glint:rgba(255,249,237,.72)}
.phone-demos .h-depth-layer{position:absolute;inset:0;border-radius:41px;background:linear-gradient(108deg,var(--h-edge-light) 0%,var(--h-edge-dark) 10%,var(--h-rim) 22%,var(--h-edge-dark) 66%,var(--h-edge-light) 96%,var(--h-rim));transform:translateZ(var(--z));backface-visibility:hidden;pointer-events:none;box-shadow:inset 0 0 0 .6px #ffffff18}
.phone-demos .h-device-back{position:absolute;inset:0;border-radius:41px;transform:translateZ(-18px) rotateY(180deg);background:linear-gradient(130deg,var(--h-rear),var(--h-edge-dark));backface-visibility:hidden;pointer-events:none;box-shadow:inset 0 0 0 1px var(--h-edge-light)}
.phone-demos .h-device-back::after{content:'';position:absolute;inset:8px;border-radius:34px;background:linear-gradient(130deg,#ffffff0a,#00000018);box-shadow:inset 0 0 0 1px #ffffff12}
.phone-demos .h-native-hardware{position:absolute!important;inset:0;transform:translateZ(8px);transform-origin:center;backface-visibility:hidden;--iphone-shell:linear-gradient(112deg,#ded8ce 0%,#a09a91 4%,#b9afa2 10%,#8f8981 46%,#c5bbae 83%,#a8a198 96%,#dbd5cb 100%);--iphone-shadow:0 28px 64px #0004,0 8px 20px #0003,inset 0 0 0 .8px #f5ede355,inset 0 -1px 1px #0006}
.phone-demos .h-native-hardware::after{content:'';position:absolute;inset:0;border-radius:41px;pointer-events:none;box-shadow:inset 1px 0 1px var(--h-glint),inset -1px 0 1px #0008,inset 0 1px 1px #fff5;z-index:20}
.phone-demos .h-native-hardware>.product-phone-key{transform:translateZ(-5px);box-shadow:0 0 0 .5px #0007,inset 1px 0 #ffffff45}
.phone-demos .h-native-hardware>.product-phone-key-action::after{content:'';position:absolute;inset:5px 1px;border-radius:1px;background:#0007}
.phone-demos .h-native-hardware>.product-phone-key-power::before{content:'';position:absolute;inset:5px 1px;border-radius:1px;background:#ffffff22}
/* Dark finish for the two dark themes; light palettes retain the natural titanium. */
html[data-theme=dark] .phone-demos .h-device-3d,
html[data-theme=graphite] .phone-demos .h-device-3d,
html[data-theme=blue] .phone-demos .h-device-3d{--h-rim:#34383d;--h-edge-dark:#101215;--h-edge-light:#6d7379;--h-rear:#202327;--h-glint:rgba(197,207,221,.46)}
html[data-theme=dark] .phone-demos .h-native-hardware,
html[data-theme=graphite] .phone-demos .h-native-hardware,
html[data-theme=blue] .phone-demos .h-native-hardware{--iphone-shell:linear-gradient(112deg,#676e76 0%,#25292e 3%,#14171b 10%,#30353b 42%,#111316 70%,#3d444c 94%,#7a828b 100%);--iphone-shadow:0 32px 65px #0008,0 8px 20px #0007,inset 0 0 0 .7px #aeb8c640,inset 0 -1px 1px #000}

/* Side controls sit in the chassis' Y/Z side plane, not on the front glass. */
.phone-demos .h-side-key{--key-length:34px;--key-depth:13px;--key-yaw:-90deg;--key-x:-.9px;--key-rise:1.15px;position:absolute;left:var(--key-x);top:var(--key-top);width:var(--key-depth);height:var(--key-length);margin-left:calc(var(--key-depth) / -2);transform:translateZ(-5px) rotateY(var(--key-yaw));transform-style:preserve-3d;pointer-events:none;backface-visibility:hidden}
.phone-demos .h-side-key.is-right{--key-x:250.9px;--key-yaw:90deg}
.phone-demos .h-key-seat{position:absolute;inset:-1px;border-radius:5px;background:linear-gradient(90deg,#000b,var(--h-edge-dark) 60%,#000b);box-shadow:0 0 0 .45px #000b,inset 0 0 1px #000;transform:translateZ(.05px);backface-visibility:hidden}
.phone-demos .h-key-extrusion{position:absolute;inset:0;border-radius:4px;background:var(--h-edge-dark);transform:translateZ(var(--key-z));backface-visibility:hidden}
.phone-demos .h-key-cap{position:absolute;inset:0;border-radius:4px;background:linear-gradient(90deg,var(--h-edge-dark),var(--h-rim) 28%,var(--h-rim) 68%,var(--h-edge-light));box-shadow:inset .55px 0 .4px #ffffff30,inset -.6px 0 .5px #0007,inset 0 .6px .5px #ffffff42,inset 0 -.6px .5px #0009;transform:translateZ(var(--key-rise));backface-visibility:hidden}
.phone-demos .h-key-action{--key-top:106px;--key-length:24px}
.phone-demos .h-key-volume-up{--key-top:153px;--key-length:34px}
.phone-demos .h-key-volume-down{--key-top:202px;--key-length:34px}
.phone-demos .h-key-power{--key-top:165px;--key-length:64px}
.phone-demos .h-key-camera{--key-top:316px;--key-length:56px;--key-depth:14px;--key-rise:.3px}
.phone-demos .h-key-camera .h-key-cap{background:linear-gradient(90deg,#111215,var(--h-edge-dark) 38%,#25282c 80%,#0e0f11);box-shadow:inset 0 0 0 .55px #ffffff32,inset 0 1px 1px #0008;border-radius:4px}
.phone-demos .h-key-camera .h-key-extrusion{display:none}
body.phone-demos :is(#demo,#buddy) .product-rotator{--rx:0deg;--ry:0deg;--h-native-scale:1;position:relative;width:250px;height:525px;margin-inline:auto;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .65s cubic-bezier(.2,.8,.2,1);touch-action:pan-y;user-select:none;outline-offset:8px}
body.phone-demos :is(.demo-window,.buddy-window){overflow:visible!important;perspective:1100px}
body.phone-demos :is(#demo,#buddy) .product-rotator .product-phone{position:absolute!important;inset:0!important;width:250px!important;min-width:250px!important;height:525px!important;max-height:none!important;box-sizing:border-box!important;border:0!important;border-radius:41px!important;padding:7px!important;overflow:visible!important;background:var(--iphone-shell)!important;transform:translateZ(8px)!important;box-shadow:var(--iphone-shadow)!important}
body.phone-demos :is(#demo,#buddy) .product-phone>:is(.window-content,.buddy-window-content){width:100%!important;height:100%!important;box-sizing:border-box!important;border:0!important;border-radius:34px!important;padding:0!important;overflow:hidden!important;background:#060706!important;box-shadow:inset 0 0 0 1px #ffffff07!important}
body.phone-demos :is(#demo,#buddy) .product-phone>.product-phone-speaker{display:block!important;position:absolute!important;top:11px!important;left:50%!important;width:76px!important;height:22px!important;border-radius:13px!important;transform:translateX(-50%)!important;background:#050506!important;z-index:12!important;box-shadow:0 1px 2px #000b!important}
body.phone-demos .product-phone-speaker::after{content:none!important}
body.phone-demos :is(#demo,#buddy) .product-rotator .product-phone{display:block!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy):is(#demo,#buddy) .product-step-rail{min-height:0!important;height:auto!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy):is(#demo,#buddy) .product-step-rail :is(.demo-copy-panel,.buddy-copy){min-height:0!important;height:auto!important;padding-block:0!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy):is(#demo,#buddy) .product-step-rail button{box-shadow:none!important;background:transparent!important;filter:none!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy):is(#demo,#buddy) .product-step-rail button[aria-selected=true]{color:var(--ui-accent-fill)!important}
@media(min-width:761px){
 html[data-product-phones] body.phone-demos :is(#demo,#buddy) :is(.demo-tabs,.buddy-steps)::before{content:'';position:absolute;top:15px;bottom:15px;left:14px;width:1px;background:var(--ui-line-strong);pointer-events:none;z-index:0}
 html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button .seg-number{position:relative!important;z-index:1;background:var(--ui-bg)!important}
 html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button[aria-selected=true] .seg-number{background:var(--ui-accent-fill)!important}
}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail .seg-number{opacity:1!important}
body.phone-demos :is(#demo,#buddy) .product-phone>.product-phone-home{display:block!important;position:absolute!important;z-index:14!important;bottom:7px!important;left:50%!important;width:86px!important;height:4px!important;transform:translateX(-50%)!important;border-radius:999px!important;background:#ddd9!important;pointer-events:none!important}
body.phone-demos .product-rotator,body.phone-demos .product-rotator *{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
body.phone-demos .product-rotator *{pointer-events:none}
html[data-product-phones] .product-rotator{cursor:grab}
html[data-product-phones] .product-rotator.is-dragging{cursor:grabbing;transition:none}
html[data-product-phones] body.phone-demos .product-phone>.product-phone-key{display:none!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-phone>.product-phone-key{display:none!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button.is-active{box-shadow:none!important}
html:is([data-theme=graphite],[data-theme=blue],[data-theme=dark]) body.phone-demos .product-rotator .product-phone{--iphone-shell:linear-gradient(112deg,#676e76 0%,#25292e 3%,#14171b 10%,#30353b 42%,#111316 70%,#3d444c 94%,#7a828b 100%)!important;--iphone-shadow:0 24px 55px #0007,inset 0 0 0 .7px #aeb8c640,inset 0 -1px 1px #000}
html:is([data-theme=light],[data-theme=light-warm]) body.phone-demos .product-rotator .product-phone{--iphone-shell:linear-gradient(112deg,#ded8ce 0%,#a09a91 4%,#b9afa2 10%,#8f8981 46%,#c5bbae 83%,#a8a198 96%,#dbd5cb 100%)!important;--iphone-shadow:0 24px 55px #0003,inset 0 0 0 .8px #f5ede355}
/* B/C use the compact numbered route from the approved hero, no moving pill. */
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail{position:relative;align-self:start;min-width:0;min-height:0;padding:0!important;background:transparent!important;border:0!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) :is(.demo-tabs,.buddy-steps){display:grid!important;gap:10px!important;grid-template-columns:minmax(0,1fr)!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;overflow:visible!important;width:100%!important}
html[data-product-phones] .product-step-rail .seg-indicator{display:none!important}
html[data-product-phones] body.phone-demos .product-step-rail button::after,html[data-product-phones] body.phone-demos .product-step-rail button::before{display:none!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button{display:flex!important;align-items:center;justify-content:flex-start!important;gap:10px!important;min-height:34px!important;height:auto!important;width:100%!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:var(--ui-muted-strong)!important;text-align:left!important;font-size:12px!important;line-height:1.4!important;white-space:normal!important;transform:none!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button :is(.seg-num,span[aria-hidden=true]){display:grid!important;place-items:center!important;flex:0 0 29px!important;width:29px!important;height:29px!important;border:1px solid var(--ui-line-strong)!important;border-radius:50%!important;background:var(--ui-bg)!important;color:var(--ui-muted)!important;margin:0!important;font-size:10px!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button[aria-selected=true]{color:var(--ui-text)!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button[aria-selected=true] :is(.seg-num,span[aria-hidden=true]){background:var(--ui-accent-fill)!important;border-color:var(--ui-accent-fill)!important;color:#221506!important}
html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button:hover{color:var(--ui-accent-ink)!important}
html[data-product-phones] .product-step-rail .seg-label{min-width:0;flex:1;white-space:normal!important}
html[data-product-phones] body.phone-demos .product-step-rail :is(.demo-copy-panel,.buddy-copy){margin:25px 0 0!important;padding:0 2px!important;min-height:0!important;max-height:none!important;background:transparent!important;border:0!important;box-shadow:none!important}
html[data-product-phones] body.phone-demos .product-step-rail :is(.demo-copy-panel,.buddy-copy) h3{font-size:18px!important;line-height:1.25!important;margin:9px 0!important}
html[data-product-phones] body.phone-demos .product-step-rail :is(.demo-copy-panel,.buddy-copy) p{font-size:13px!important;line-height:1.5!important}
html[data-product-phones] body.phone-demos .product-step-rail .step-hint{margin-top:18px!important;font-size:11px!important;gap:7px!important}
html[data-product-phones] body.phone-demos .product-step-rail .step-hint p{font-size:11px!important;line-height:1.5!important}
@media(max-width:760px){
 body.phone-demos :is(#demo,#buddy) :is(.demo-stage,.buddy-stage){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:22px!important}
 body.phone-demos :is(#demo,#buddy) .product-step-rail{width:100%!important;margin:0!important}
 html[data-product-phones] body.phone-demos :is(#demo,#buddy) :is(.demo-tabs,.buddy-steps){grid-template-columns:repeat(var(--product-step-count,4),minmax(0,1fr))!important;gap:4px!important}
 html[data-product-phones] body.phone-demos :is(#demo,#buddy) .product-step-rail button{flex-direction:column!important;text-align:center!important;gap:6px!important;font-size:9px!important;line-height:1.25!important;grid-row:auto!important;grid-column:auto!important}
 html[data-product-phones] body.phone-demos .product-step-rail :is(.demo-copy-panel,.buddy-copy){display:grid!important;margin:17px 0 0!important;grid-row:auto!important;max-width:none!important;min-height:0!important}
 html[data-product-phones] body.phone-demos .product-step-rail :is(.demo-copy-panel,.buddy-copy) h3{font-size:18px!important;margin:5px 0!important}
 html[data-product-phones] body.phone-demos .product-step-rail .step-hint{margin-top:8px!important}
 body.phone-demos :is(.demo-window,.buddy-window){padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;overflow:visible!important}
 body.phone-demos .product-rotator{flex-shrink:0}
}
/* A compact, fully clickable invitation after the author's own block. */
body.phone-demos #open-author-channel{padding:0!important;margin-top:-48px!important;margin-bottom:64px!important}
body.phone-demos .open-channel-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px 28px;border:0!important;border-radius:24px;text-decoration:none;color:var(--ui-text);background:linear-gradient(115deg,var(--ui-panel-top),var(--ui-panel));transition:transform .3s,box-shadow .3s}
.open-channel-card::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 5% 10%,color-mix(in srgb,var(--ui-accent-fill) 17%,transparent),transparent 65%);opacity:.35;transition:opacity .4s}
.open-channel-card:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow)}.open-channel-card:hover::before{opacity:1}
.open-channel-card:focus-visible{outline:2px solid var(--ui-accent-ink);outline-offset:5px}
.open-channel-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;color:var(--ui-accent-ink);background:color-mix(in srgb,var(--ui-accent-fill) 9%,var(--ui-panel-top))}
.open-channel-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.open-channel-kicker{display:block;color:var(--ui-muted-strong);font-size:10px;letter-spacing:.06em;margin:0 0 7px;text-transform:uppercase}
body.phone-demos .open-channel-copy h2{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:0 0 8px!important;color:var(--ui-text)}
.open-channel-copy p{font-size:13px;line-height:1.5;color:var(--ui-muted-strong);max-width:76ch;margin:0}
.open-channel-cta{display:flex;align-items:center;justify-content:center;gap:15px;background:var(--ui-accent-fill);color:#211404;font-size:12px;font-weight:700;min-height:44px;padding:0 18px;border-radius:13px;white-space:nowrap}
.open-channel-cta>span{font-size:19px;font-weight:400}
@media(max-width:760px){body.phone-demos #open-author-channel{margin-top:-25px!important;margin-bottom:30px!important}.open-channel-card{grid-template-columns:minmax(0,1fr)!important;padding:21px!important;gap:17px!important}.open-channel-icon{display:none}.open-channel-kicker{font-size:9px}.open-channel-copy h2{font-size:23px!important}.open-channel-copy p{font-size:13px}.open-channel-cta{justify-self:start;min-height:42px}}
@media(prefers-reduced-motion:reduce){body.phone-demos .product-rotator,.open-channel-card{transition:none!important}}
/* One centered entrance per visible handset; native interaction remains. */
.product-entrance{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 50% 0;transform-style:preserve-3d}
.product-chassis-face{position:absolute;height:26px;margin-top:-13px;transform-origin:50% 50%;background:linear-gradient(180deg,var(--h-edge-dark),var(--h-rim) 18%,var(--h-edge-light) 34%,var(--h-rim) 50%,var(--h-edge-dark) 82%,var(--h-rim));backface-visibility:hidden;pointer-events:none;box-shadow:none}
.product-glass{position:absolute;inset:7px;border-radius:34px;overflow:hidden;transform:translateZ(8.4px);backface-visibility:hidden;pointer-events:none}
.product-glass-beam{position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.12) 47%,rgba(255,255,255,.04) 55%,transparent 70%);opacity:.32;transform:translateX(0%);transition:transform .5s ease,opacity .5s ease;pointer-events:none}
.is-dragging .product-glass-beam{transition:none}
html[data-product-phones] #landing-hero .h-screen-shine{display:none}
html[data-product-phones] .open-channel-card::before{opacity:.12}
html[data-product-phones] .open-channel-card:hover::before{opacity:.68}
.route-signal{position:absolute!important;width:11px!important;height:11px!important;background:var(--ui-accent-fill)!important;border-radius:50%!important;z-index:8!important;pointer-events:none!important;transform:translate(-50%,-50%);box-shadow:0 0 9px color-mix(in srgb,var(--ui-accent-fill) 50%,transparent)!important}
.route-signal-electric{width:6px!important;height:6px!important;box-shadow:0 0 10px var(--ui-accent-fill),0 0 3px var(--ui-accent-fill)!important}
.route-signal-electric::after{content:'';position:absolute;bottom:3px;left:2px;width:2px;height:25px;background:linear-gradient(transparent,var(--ui-accent-fill));border-radius:2px}
.route-signal.route-signal-transfer{opacity:0;box-shadow:none!important}
.route-signal-transfer::after{content:none!important}
.route-signal-number{position:absolute;inset:0;display:grid;place-items:center;color:#211506;font-family:inherit;font-size:10px;font-weight:700;line-height:1}
.route-signal-transfer-tail{position:absolute;width:2px;border-radius:2px;background:linear-gradient(transparent,var(--ui-accent-fill));transform-origin:50% 100%;opacity:0;z-index:7;pointer-events:none;box-shadow:0 0 4px var(--ui-accent-fill)}
.route-arrival-ring{position:absolute!important;width:29px!important;height:29px!important;border:1px solid var(--ui-accent-fill)!important;border-radius:50%!important;pointer-events:none!important;z-index:6!important;opacity:0}
.route-number-host{position:relative!important;isolation:isolate!important}
.route-number-fill{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:inherit!important;z-index:-1!important;background:var(--ui-bg);pointer-events:none!important}
button[aria-selected=true] .route-number-fill{background:var(--ui-accent-fill)}
html[data-product-phones] body.phone-demos .product-step-rail button{transition:color .35s ease!important}
@media(max-width:760px){html[data-product-phones] body.phone-demos :is(#demo,#buddy) :is(.demo-tabs,.buddy-steps)::before{content:'';position:absolute;left:calc(50% / var(--product-step-count,4));right:calc(50% / var(--product-step-count,4));top:14px;height:1px;background:var(--ui-line-strong);pointer-events:none}html[data-product-phones] body.phone-demos .product-step-rail .seg-number{position:relative!important;z-index:1!important}}
html[data-product-phones] body.phone-demos #buddy #stage-demo-panel .stage-platform{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
@layer orator-quiet-edges{html[data-product-phones] body.phone-demos #buddy #stage-demo-panel .stage-platform{background:none!important;border:0!important;box-shadow:none!important}}
html[data-product-phones] body.phone-demos #stage-demo-panel .stage-platform-label{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:44px!important}
@layer orator-quiet-edges{html[data-product-phones] body.phone-demos #stage-demo-panel .stage-platform-label{background:none!important;border:0!important;box-shadow:none!important}}
html[data-product-phones] body.phone-demos .open-channel-cta{background:transparent!important;padding:0!important;min-height:44px;font-size:16px;color:var(--ui-text);border-radius:0;transition:color .25s}
html[data-product-phones] body.phone-demos .open-channel-card:hover .open-channel-cta,html[data-product-phones] body.phone-demos .open-channel-card:focus-visible .open-channel-cta{color:var(--ui-accent-fill)}
html[data-product-phones] .open-channel-cta>span{display:inline-block;transition:transform .3s;color:inherit}
html[data-product-phones] .open-channel-card:hover .open-channel-cta>span,html[data-product-phones] .open-channel-card:focus-visible .open-channel-cta>span{transform:translate(4px,-3px)}
html[data-product-phones] body.phone-demos .open-channel-card{grid-template-columns:56px minmax(0,1fr) auto;gap:25px}
@media(prefers-reduced-motion:reduce){html[data-product-phones] .open-channel-cta>span{transition:none!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){.product-glass-beam{transition:none!important}}

