/* Pulse, October 2026: supplied branding and a source-informed illustrative app. */
.pulse-brand-lockup { display:flex; align-items:center; gap:18px; margin-bottom:28px; }
.pulse-brand-lockup>img { width:172px; height:auto; }
.pulse-brand-lockup>span { color:#66726c; font-size:11px; border-left:1px solid #d5ded9; padding-left:18px; }
.pulse-brand-lockup--light>span { color:#b3c8bc; border-color:#ffffff30; }
.pulse-product-brand { display:flex; align-items:center; justify-content:center; gap:25px; padding:25px; }
.pulse-product-brand>img { flex:none; width:86px; border-radius:23px; box-shadow:0 12px 28px #173c3026; }
.pulse-product-brand>div { display:grid; gap:16px; }
.pulse-product-brand>div>img { width:145px; height:auto; }
.pulse-product-brand small { font-size:11px; color:#4c6258; }
.page-pulse .pulse-visual { padding:48px 30px 26px; background:radial-gradient(ellipse at 15% 35%,#c4ded2,transparent 70%),#e9ecee; }
.page-pulse .pulse-visual .visual-label { margin-bottom:24px; }
.page-pulse .pulse-type { width:480px; height:480px; top:40px; left:-120px; opacity:.25; transform:none; }
.page-pulse .pulse-type img { width:100%; height:100%; filter:brightness(.6); }
.page-pulse .pulse-orbits { opacity:.22; }
.pp-refreshed { width:min(100%,330px); color:#0d1321; font-size:12px; line-height:1.4; animation:none; touch-action:pan-y; }
.pp-refreshed .pp-app { position:relative; min-width:0; padding:0; border:0; margin:0; }
.pp-sr-only,.pp-choice { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Keep native radio focus beside its visible label, avoiding a mobile scroll jump. */
.pp-refreshed .pp-choice { left:50%; bottom:24px; }
.pp-refreshed .px-frame { padding:7px; border-radius:43px; background:#172422; box-shadow:0 27px 55px -15px #152d2855,0 2px 8px #0a201b22,inset 0 0 0 1px #ffffff60; }
.pp-refreshed .px-screen { position:relative; height:614px; aspect-ratio:auto; border-radius:36px; background:radial-gradient(ellipse at 20% 10%,#c2ded3,transparent 75%),linear-gradient(140deg,#e3eceb,#eaebf2); }
.pp-status { position:relative; flex:none; height:43px; display:flex; align-items:center; justify-content:space-between; padding:0 22px; font-size:10px; font-weight:700; z-index:2; }
.pp-island { position:absolute; width:82px; height:21px; border-radius:20px; background:#172422; left:50%; top:9px; transform:translateX(-50%); }
.pp-panels { display:grid; flex:1; min-height:0; }
.pp-panel { grid-area:1/1; min-width:0; min-height:0; display:flex; flex-direction:column; padding:6px 15px 0; visibility:hidden; opacity:0; transform:translateX(8px); transition:opacity .3s ease,transform .4s cubic-bezier(.2,.7,.25,1),visibility 0s .3s; }
.pp-choice[value="calls"]:checked ~ .px-frame .pp-panel--calls,
.pp-choice[value="chat"]:checked ~ .px-frame .pp-panel--chat,
.pp-choice[value="call"]:checked ~ .px-frame .pp-panel--call { visibility:visible; opacity:1; transform:none; transition-delay:0s; }
.pp-refreshed svg { flex:none; stroke-linecap:round; stroke-linejoin:round; }
.pp-masthead { display:flex; align-items:center; justify-content:space-between; margin:7px 2px 22px; gap:15px; }
.pp-masthead>img { width:87px; height:auto; }
.pp-connected { display:flex; gap:5px; align-items:center; padding:9px 10px; border-radius:24px; background:#ffffff55; border:1px solid #ffffffa0; font-size:9px; }
.pp-connected>i,.pp-chat-head small>i { width:5px; height:5px; background:#15803d; border-radius:50%; }
.pp-segment { display:flex; padding:4px; border-radius:17px; background:#ffffffb3; gap:4px; }
.pp-segment>span { flex:1; padding:9px 0; text-align:center; font-size:11px; color:#56616a; }
.pp-segment .on { background:#fff; color:#0d1321; border-radius:13px; box-shadow:0 2px 6px #203d3210; }
.pp-favourites { display:flex; justify-content:space-around; gap:5px; padding:20px 0; }
.pp-favourites>span { display:grid; gap:7px; justify-items:center; font-size:9px; color:#475f55; }
.pp-avatar { display:inline-grid; place-items:center; position:relative; width:37px; height:37px; border-radius:50%; flex:none; font-size:11px; font-weight:650; font-style:normal; }
.pp-favourites .pp-avatar { width:43px; height:43px; border:2px solid #ffffff99; }
.pp-blue { background:linear-gradient(135deg,#5598f0,#2877da); color:white; }
.pp-mint { background:linear-gradient(135deg,#dcf1e7,#bcdacc); color:#006b45; }
.pp-lilac { background:linear-gradient(135deg,#ede1f6,#d3c4e3); color:#675084; }
.pp-peach { background:linear-gradient(135deg,#fbe6d2,#ebc7a7); color:#7d5130; }
.pp-filters { display:flex; align-items:center; gap:8px; margin:0 0 15px; }
.pp-filters>span { padding:6px 10px; border-radius:14px; font-size:10px; background:#ffffff60; color:#53645d; }
.pp-filters>span:first-child { background:#d0e8d9; color:#244c3d; }
.pp-filters>i { margin-left:auto; font-style:normal; font-size:20px; color:#58616b; }
.pp-history { background:#ffffffed; border:1px solid #ffffff; border-radius:22px; padding:13px 13px 7px; }
.pp-history>p { font-size:10px; margin-bottom:10px; color:#66726b; }
.pp-history-row { display:flex; align-items:center; gap:9px; padding:12px 0; }
.pp-history-row+.pp-history-row { border-top:1px solid #eef1f0; }
.pp-history-row strong { display:block; font-size:11px; font-weight:600; }
.pp-history-row small { display:block; font-size:8px; color:#5c7166; margin-top:5px; }
.pp-history-end { margin-left:auto; display:grid; gap:9px; justify-items:end; }
.pp-history-end svg { width:13px; height:13px; color:#647169; }
.pp-history-end small { font-size:7px; white-space:nowrap; margin:0; }
.pp-shell-nav { display:flex; gap:1px; padding:4px; border:1px solid #ffffff; background:#ffffffb0; border-radius:20px; margin: auto -4px 0; box-shadow:0 6px 18px #10251c0d; }
.pp-shell-nav>span { flex:1; display:grid; justify-items:center; gap:4px; padding:8px 2px; border-radius:15px; font-size:7px; color:#58616b; }
.pp-shell-nav svg { width:17px; height:17px; }
.pp-shell-nav .on { background:#d2e8df; color:#006b45; }
.pp-panel--chat { padding-top:8px; }
.pp-chat-head { display:flex; align-items:center; gap:8px; padding-bottom:15px; border-bottom:1px solid #ffffff66; }
.pp-back { font-size:25px; color:#5d7469; }
.pp-chat-head h3 { font-size:14px; letter-spacing:-.025em; line-height:1.3; font-weight:700; }
.pp-chat-head small { display:flex; align-items:center; gap:4px; font-size:10px; color:#53665d; margin-top:3px; }
.pp-chat-head .pp-avatar>i { position:absolute; bottom:0; right:0; width:9px; height:9px; border:2px solid white; border-radius:50%; background:#15803d; }
.pp-chat-call { display:grid; place-items:center; background:#008757; color:#fff; border-radius:50%; width:30px; height:30px; margin-left:auto; }
.pp-chat-call svg { width:15px; height:15px; }
.pp-messages { display:flex; flex-direction:column; gap:11px; padding-top:30px; }
.pp-today { align-self:center; font-size:9px; padding:5px 11px; border-radius:15px; background:#0d13210b; color:#64706a; margin-bottom:2px; }
.pp-message { align-self:flex-start; max-width:90%; }
.pp-message>p { margin:0; padding:11px 12px 7px; background:#fff; color:#0d1321; border:1px solid #ffffffaa; border-radius:18px 18px 18px 4px; font-size:12px; line-height:1.5; }
.pp-message>p>small { display:block; text-align:right; margin-top:6px; font-size:8px; color:#6a747c; }
.pp-message--own { align-self:flex-end; }
.pp-message--own>p { color:#fff; background:linear-gradient(125deg,#00926e,#007c51); border-color:transparent; border-radius:18px 18px 4px 18px; }
.pp-message--own>p>small { color:#c9e9dc; }
.pp-attachment { display:flex; align-items:center; gap:8px; background:#eef0f2; padding:8px; border-radius:11px; margin-bottom:8px; }
.pp-attachment>i { display:grid; place-items:center; flex:none; width:26px; height:31px; border-radius:7px; background:#df4c57; color:#fff; font-style:normal; font-size:8px; }
.pp-attachment strong { display:block; font-size:10px; font-weight:650; }
.pp-attachment small { display:block; font-size:8px; color:#68727a; margin-top:4px; }
.pp-composer { display:flex; align-items:center; gap:12px; margin-top:auto; padding:7px; background:#ffffffac; border:1px solid #ffffffaa; border-radius:25px; color:#69797c; font-size:11px; }
.pp-composer span,.pp-composer i { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:#263a3710; font-size:23px; font-style:normal; }
.pp-composer i { margin-left:auto; font-size:20px; }
.pp-refreshed:has(.pp-choice[value="call"]:checked) .px-screen { background:radial-gradient(ellipse at 50% 30%,#123b32,#0c1717 68%); color:#f4faf7; }
.pp-refreshed:has(.pp-choice[value="call"]:checked) .pp-status { color:#ebf4ee; }
.pp-refreshed:has(.pp-choice[value="call"]:checked) .pp-home-indicator { background:#eef8f1; }
.pp-panel--call { text-align:center; align-items:center; color:#f4faf7; padding-top:9px; }
.pp-call-brand { width:69px; height:29px; object-fit:contain; margin-bottom:10px; }
.pp-call-workspace { font-size:9px; color:#a1beb1; }
.pp-burst { position:relative; display:grid; place-items:center; flex:none; width:180px; height:180px; margin:8px 0 4px; }
.pp-burst>i { position:absolute; inset:0; background:radial-gradient(#b4e7a8,#2a9c71 72%); mask:url('../images/pulse-halftone-20261007.svg') center/contain no-repeat; -webkit-mask:url('../images/pulse-halftone-20261007.svg') center/contain no-repeat; }
.pp-burst>i+i { opacity:0; }
.pp-burst>b { z-index:1; display:grid; place-items:center; width:53px; height:53px; background:#102921; border:1px solid #387059; border-radius:50%; font-weight:500; font-size:17px; box-shadow:0 0 20px #123326; }
.pp-panel--call h3 { font-size:24px; letter-spacing:-.04em; line-height:1.2; font-weight:550; }
.pp-call-connected { display:flex; align-items:center; gap:8px; margin-top:9px; color:#afcabc; font-size:10px; }
.pp-call-connected>i { width:3px; height:3px; border-radius:50%; background:#78ab8d; }
.pp-call-controls { display:grid; grid-template-columns:repeat(3,1fr); gap:14px 25px; margin-top:auto; margin-bottom:21px; }
.pp-call-controls>span { display:grid; justify-items:center; gap:5px; font-size:8px; color:#bed2c8; }
.pp-call-controls svg { width:39px; height:39px; padding:11px; border:1px solid #d3e9df21; border-radius:50%; background:#cceede0a; color:#eef7f2; }
.pp-call-end { display:grid; justify-items:center; gap:6px; font-size:8px; color:#d7e5df; margin-bottom:6px; }
.pp-call-end svg { width:47px; height:47px; padding:14px; background:#d75360; border-radius:50%; transform:rotate(135deg); color:#fff; }
.pp-home-indicator { flex:none; width:91px; height:4px; border-radius:4px; background:#1a2924; margin:10px auto 8px; }
.pp-navigation { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; margin:22px 0 0; padding:5px; border:1px solid #b6c8bf; border-radius:30px; background:#ffffff95; }
.pp-navigation>label { display:flex; justify-content:center; align-items:center; gap:7px; padding:10px 3px; border-radius:23px; color:#50675b; font-size:11px; cursor:pointer; transition:background .2s,color .2s; }
.pp-navigation svg { width:15px; height:15px; }
.pp-choice[value="calls"]:checked ~ .pp-navigation>label:nth-child(1),.pp-choice[value="chat"]:checked ~ .pp-navigation>label:nth-child(2),.pp-choice[value="call"]:checked ~ .pp-navigation>label:nth-child(3) { color:#fff; background:#18553e; }
.pp-choice[value="calls"]:focus-visible ~ .pp-navigation>label:nth-child(1),.pp-choice[value="chat"]:focus-visible ~ .pp-navigation>label:nth-child(2),.pp-choice[value="call"]:focus-visible ~ .pp-navigation>label:nth-child(3) { outline:2px solid #008757; outline-offset:2px; }
.pp-refreshed .pp-preview-note { font-size:9px; color:#576f61; text-align:center; margin:12px 0 0; }
.pulse-stage .pp-navigation { border-color:#809f8e55; background:#ffffff10; }
.pulse-stage .pp-navigation>label { color:#c4d6cd; }
.pulse-stage .pp-choice:checked ~ .pp-navigation>label { color:#c4d6cd; }
.pulse-stage .pp-choice[value="calls"]:checked ~ .pp-navigation>label:nth-child(1),.pulse-stage .pp-choice[value="chat"]:checked ~ .pp-navigation>label:nth-child(2),.pulse-stage .pp-choice[value="call"]:checked ~ .pp-navigation>label:nth-child(3) { color:#103625; background:#cde9d8; }
.pulse-stage .pp-refreshed .pp-preview-note { color:#b3c8bc; }
@media (prefers-reduced-motion:no-preference) {
  .pp-refreshed .pp-burst>i:first-child { animation:pp-breathe 4.2s ease-in-out infinite; animation-play-state:paused; }
  .pp-refreshed .pp-burst>i+i { animation:pp-halo 4.2s ease-out infinite; animation-play-state:paused; }
  .pp-refreshed[data-playback="playing"][data-view="call"] .pp-burst>i { animation-play-state:running; }
  @keyframes pp-breathe { 50% { transform:scale(.92); opacity:.78; } }
  @keyframes pp-halo { 0% { transform:scale(.88); opacity:0; } 25% { opacity:.2; } 100% { transform:scale(1.12); opacity:0; } }
}
@media (max-width:600px) {
  .page-pulse .pulse-visual { padding:32px 17px 25px; }
  .pp-refreshed { width:min(100%,320px); }
  .pulse-brand-lockup>img { width:145px; }
  .pulse-brand-lockup { gap:13px; }
  .pulse-brand-lockup>span { padding-left:13px; font-size:10px; }
  .pulse-product-brand { gap:20px; }
}
@media (max-width:360px) {
  .pp-panel { padding-inline:10px; }
  .pp-masthead>img { width:72px; }
  .pp-connected { padding:8px; font-size:8px; }
  .pp-messages { gap:9px; padding-top:23px; }
  .pp-message>p { padding:9px; font-size:11px; }
  .pp-navigation>label { font-size:10px; }
  .pp-preview-note { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .pp-panel,.pp-navigation>label { transition:none; transform:none; }
  .pp-refreshed .pp-burst>i { animation:none !important; }
}
/* Pulse desktop scene: a floating call bar above a two-pane chat workspace. */
.pulse-desktop-section { background:#f5f7f6; }
.pd-intro { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; margin-bottom:40px; }
.pd-intro .kicker { display:block; margin-bottom:18px; }
.pd-intro h2 { font-size:clamp(32px,4vw,53px); }
.pd-intro p { max-width:460px; font-size:16px; }
.pd-benefits { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.pd-benefits>span { font-size:10px; padding:7px 10px; border:1px solid #d8e2dd; border-radius:20px; color:#436150; }
.pd-demo { position:relative; border:0; padding:0; margin:0; min-width:0; }
.pd-demo-top { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:22px; }
.pd-demo-top>span { display:flex; gap:13px; align-items:center; font-size:13px; color:#4e6158; }
.pd-demo-top img { width:42px; height:42px; border-radius:12px; }
.pd-appearance { display:flex; gap:3px; padding:4px; border:1px solid #d2ded5; border-radius:24px; background:#fff; }
.pd-appearance label { display:block; padding:8px 16px; border-radius:20px; font-size:11px; color:#5c6c63; cursor:pointer; }
#pulse-desktop-light:checked ~ .pd-demo-top label[for="pulse-desktop-light"],#pulse-desktop-dark:checked ~ .pd-demo-top label[for="pulse-desktop-dark"] { background:#244e3c; color:#fff; }
#pulse-desktop-light:focus-visible ~ .pd-demo-top label[for="pulse-desktop-light"],#pulse-desktop-dark:focus-visible ~ .pd-demo-top label[for="pulse-desktop-dark"] { outline:2px solid #008757; outline-offset:2px; }
.pd-window { --pd-ink:#17231d; --pd-muted:#62756a; --pd-glass:#ffffff88; --pd-line:#ffffff99; --pd-card:#ffffffd4; position:relative; min-width:0; border:1px solid #d2e0d7; border-radius:22px; padding:0 0 62px; background:radial-gradient(ellipse at 0 10%,#b8dbcb,transparent 75%),linear-gradient(135deg,#e0e9e5,#e4e8f1); color:var(--pd-ink); box-shadow:0 30px 45px -35px #1947326b; overflow:clip; transition:background .3s,color .3s; font-size:12px; line-height:1.4; }
#pulse-desktop-dark:checked ~ .pd-window { --pd-ink:#f0f5f2; --pd-muted:#b1c5b9; --pd-glass:#ffffff09; --pd-line:#e4f1e414; --pd-card:#293830; background:radial-gradient(ellipse at 5% 5%,#184435,transparent 75%),linear-gradient(135deg,#10221d,#1a1f2a); border-color:#364e40; }
.pd-titlebar { display:flex; align-items:center; justify-content:space-between; height:44px; padding:0 17px; border-bottom:1px solid var(--pd-line); color:var(--pd-muted); background:var(--pd-glass); font-size:10px; }
.pd-titlebar>span:first-child { display:flex; gap:5px; }
.pd-titlebar i { width:7px; height:7px; background:#879b8f77; border-radius:50%; }
.pd-titlebar>span:last-child { display:flex; align-items:center; gap:32px; font-size:9px; }
.pd-titlebar b { border:1px solid var(--pd-line); border-radius:5px; padding:4px 6px; font-weight:500; }
.pd-workspace { display:grid; grid-template-columns:82px minmax(190px,.85fr) minmax(0,1.7fr); min-height:377px; }
.pd-sidebar { display:flex; flex-direction:column; align-items:center; gap:5px; padding:18px 10px; border-right:1px solid var(--pd-line); background:var(--pd-glass); }
.pd-sidebar>img { width:31px; height:31px; border-radius:9px; margin-bottom:21px; }
.pd-sidebar>span { width:100%; text-align:center; font-size:10px; color:var(--pd-muted); padding:10px 0; border-radius:10px; }
.pd-sidebar>span.on { background:#00875717; color:var(--pd-ink); }
.pd-sidebar>.pp-avatar { margin-top:auto; width:27px; height:27px; font-size:9px; }
.pd-chatlist { padding:23px 14px; border-right:1px solid var(--pd-line); }
.pd-chatlist h3 { font-size:20px; font-weight:650; }
.pd-search { padding:11px; border-radius:12px; background:var(--pd-glass); border:1px solid var(--pd-line); font-size:10px; color:var(--pd-muted); margin-top:15px; }
.pd-list-filter { display:flex; gap:12px; align-items:center; font-size:9px; color:var(--pd-muted); padding:16px 5px; }
.pd-list-filter b { padding:4px 9px; border-radius:12px; color:var(--pd-ink); background:#00875713; font-weight:500; }
.pd-contact { display:flex; align-items:center; gap:9px; padding:13px 8px; border-radius:12px; }
.pd-contact.on { background:var(--pd-glass); }
.pd-contact .pp-avatar { width:32px; height:32px; font-size:10px; }
.pd-contact strong { display:block; font-size:11px; font-weight:650; }
.pd-contact small { display:block; margin-top:4px; font-size:9px; color:var(--pd-muted); }
.pd-contact>small { margin-left:auto; font-size:8px; }
.pd-conversation { display:flex; flex-direction:column; padding:18px 23px; }
.pd-conversation-heading { display:flex; align-items:center; gap:10px; padding-bottom:15px; border-bottom:1px solid var(--pd-line); }
.pd-conversation-heading strong { font-size:12px; font-weight:650; }
.pd-conversation-heading span { display:flex; gap:5px; align-items:center; font-size:9px; color:var(--pd-muted); margin-top:3px; }
.pd-conversation-heading span>i { width:5px; height:5px; background:#008757; border-radius:50%; }
.pd-bubbles { display:flex; flex-direction:column; gap:12px; padding-top:18px; }
.pd-bubbles>span { align-self:center; color:var(--pd-muted); font-size:9px; margin-bottom:5px; }
.pd-bubbles>p { align-self:flex-start; background:var(--pd-card); color:var(--pd-ink); border-radius:15px 15px 15px 4px; max-width:84%; padding:10px 12px 7px; font-size:12px; line-height:1.5; margin:0; }
.pd-bubbles>p.own { align-self:flex-end; background:linear-gradient(125deg,#00926e,#007c51); color:#fff; border-radius:15px 15px 4px 15px; }
.pd-bubbles small { display:block; text-align:right; opacity:.65; font-size:8px; margin-top:4px; }
.pd-message-input { display:flex; gap:11px; align-items:center; border:1px solid var(--pd-line); border-radius:30px; padding:10px 13px; margin-top:24px; color:var(--pd-muted); background:var(--pd-glass); font-size:10px; }
.pd-message-input>b { font-size:19px; font-weight:400; }
.pd-message-input>span { margin-left:auto; }
.pd-callbar { display:flex; align-items:center; gap:12px; position:absolute; bottom:18px; left:50%; transform:translateX(-50%); padding:10px 13px; width:min(470px,90%); background:#12271eed; border:1px solid #718d7b55; border-radius:23px; color:#fff; box-shadow:0 14px 35px #102d2940; }
.pd-call-signal { flex:none; width:34px; height:34px; background:#9eddac; mask:url('../images/pulse-halftone-20261007.svg') center/contain no-repeat; -webkit-mask:url('../images/pulse-halftone-20261007.svg') center/contain no-repeat; }
.pd-callbar strong { display:block; font-weight:600; font-size:11px; }
.pd-callbar small { display:block; font-size:8px; color:#a9c2b4; margin-top:3px; }
.pd-callbar-time { margin-left:auto; font-size:10px; font-variant-numeric:tabular-nums; color:#c3d8cd; }
.pd-callbar-tools { display:flex; gap:6px; }
.pd-callbar-tools>i { display:grid; place-items:center; width:27px; height:27px; border:1px solid #ffffff26; border-radius:50%; font-style:normal; color:#e1eae5; }
.pd-callbar-tools>.end { border-color:#dc5462; background:#dc5462; font-size:20px; }
.pd-caption { margin-top:18px; color:#607369; font-size:10px; }
@media (max-width:850px) { .pd-intro { gap:28px; }.pd-workspace { grid-template-columns:63px minmax(170px,.8fr) minmax(0,1fr); }.pd-conversation { padding-inline:15px; }.pd-contact>small { display:none; } }
@media (max-width:600px) { .pd-intro { grid-template-columns:1fr; gap:24px; }.pd-intro p { font-size:15px; }.pd-demo-top>span { font-size:11px; max-width:155px; }.pd-demo-top img { width:33px; height:33px; }.pd-appearance label { padding:8px 11px; }.pd-titlebar>span:last-child { display:none; }.pd-workspace { grid-template-columns:1fr; }.pd-sidebar,.pd-chatlist { display:none; }.pd-conversation { padding:18px; }.pd-callbar { gap:8px; }.pd-callbar-tools>i:not(.end) { display:none; }.pd-callbar-time { font-size:9px; }.pd-window { padding-bottom:66px; } }
@media (prefers-reduced-motion:reduce) { .pd-window { transition:none; } }
