*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:17px;line-height:1.6;color:var(--oc-text)}
h1,h2,h3{margin:0;color:var(--oc-text-strong);text-wrap:balance;font-weight:800}
h1{font-size:44px;line-height:1.1;letter-spacing:-.015em}h2{font-size:32px;line-height:1.15;letter-spacing:-.015em}h3{font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
p{margin:0;text-wrap:pretty}.lead{font-size:17px;line-height:1.6;max-width:65ch}.small{font-size:15px;line-height:1.55}.caption{font-size:13px;line-height:1.4}
.on-navy{color:#fff}.on-navy p,.on-navy .lead,.on-navy .small{color:var(--oc-text-on-navy)}.on-navy h1,.on-navy h2,.on-navy h3{color:#fff}
.num{font-variant-numeric:tabular-nums}
.skip{position:absolute;left:16px;top:-48px;z-index:100;background:var(--oc-blue);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600}.skip:focus{top:12px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--oc-blue);outline-offset:2px}.on-navy a:focus-visible,.on-navy button:focus-visible{outline-color:var(--oc-cyan)}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.section{padding:96px 0}.section.tight{padding:64px 0}.surface-2{background:var(--oc-surface-2)}.navy{background:var(--oc-navy)}
.hero{background:var(--oc-navy);position:relative;overflow:hidden;padding:80px 0 88px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
.hero .display{font-size:56px;line-height:1.05;letter-spacing:-.02em;color:#fff}
.grid-lines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 80%)}
.head{display:grid;gap:12px;margin-bottom:48px;max-width:65ch}.head.center{margin-left:auto;margin-right:auto;text-align:center}
.grid{display:grid;gap:24px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.card{background:#fff;border:1px solid var(--oc-line);border-radius:16px;padding:28px;box-shadow:var(--shadow-card)}
.tile{width:56px;height:56px;border-radius:16px;background:var(--oc-icon-tile);color:var(--oc-blue);display:inline-flex;align-items:center;justify-content:center;flex:none}
.on-navy .tile{background:rgba(255,255,255,.08);color:var(--oc-cyan)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}.checks li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55}.checks .ck{width:20px;height:20px;border-radius:50%;background:var(--oc-green-100);color:var(--oc-success);display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:2px}.on-navy .checks .ck{background:rgba(34,211,238,.16);color:var(--oc-cyan)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--oc-line);background:#fff;font-size:15px;font-weight:600;color:var(--oc-text-strong)}
.media{border-radius:24px;overflow:hidden;box-shadow:var(--shadow-card);background:#fff}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:40px 0;border-top:1px solid var(--oc-line);border-bottom:1px solid var(--oc-line)}.stats>div{padding-left:32px;border-left:1px solid var(--oc-line)}.stats>div:first-child{padding-left:0;border:none}.stat-n{font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--oc-text-strong)}.stat-l{font-size:15px;color:var(--oc-text);margin-top:6px}
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--oc-line)}
.nav .container{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav-links{display:flex;align-items:center;gap:2px}.nav-links a,.nav-links button{white-space:nowrap;padding:8px 12px;border-radius:999px;font-size:15px;font-weight:600;color:var(--oc-text-strong);text-decoration:none;background:none;border:none;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.nav-links a[aria-current="page"],.nav-links button.is-current{background:var(--oc-icon-tile);color:var(--oc-blue)}
.nav-right{display:flex;align-items:center;gap:16px}.nav-tel{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--oc-text-strong);text-decoration:none;white-space:nowrap}
.menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--oc-line);border-radius:12px;box-shadow:var(--shadow-card);padding:6px;min-width:180px;display:grid}.menu a{display:block;padding:8px 12px;border-radius:8px;font-size:15px;font-weight:600;color:var(--oc-text-strong);text-decoration:none}
.burger{display:none!important}
/* Reveal on scroll: rise, unblur and settle. Grid children cascade via --stagger */
.reveal{opacity:1;transform:none;filter:none}
.js-reveal .reveal:not(.is-in){opacity:0;transform:translateY(18px) scale(.98);filter:blur(6px)}
.js-reveal .reveal{transition:opacity 500ms cubic-bezier(.23,1,.32,1),transform 650ms cubic-bezier(.23,1,.32,1),filter 500ms cubic-bezier(.23,1,.32,1);transition-delay:var(--stagger,0ms)}
.grid>.reveal:nth-child(2){--stagger:60ms}.grid>.reveal:nth-child(3){--stagger:120ms}.grid>.reveal:nth-child(4){--stagger:180ms}.grid>.reveal:nth-child(5){--stagger:240ms}.grid>.reveal:nth-child(n+6){--stagger:300ms}
@media (prefers-reduced-motion:reduce),print{.js-reveal .reveal:not(.is-in){opacity:1;transform:none;filter:none}}
@media (hover:hover) and (pointer:fine){.nav-links a:hover{background:var(--oc-surface-2)}.menu a:hover{background:var(--oc-surface-2)}.demo-row:hover{background:rgba(255,255,255,.1)}.card.link:hover{border-color:var(--oc-blue-100)}}
.tabs{display:grid;grid-template-columns:320px 1fr;gap:24px}.tablist{display:grid;gap:8px;align-content:start}
.tab{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;border:1px solid var(--oc-line);background:#fff;color:var(--oc-text-strong);font:inherit;font-weight:700;font-size:16px;cursor:pointer;text-align:left;transition:background-color 200ms var(--ease-out),border-color 200ms var(--ease-out)}
.tab[aria-selected="true"]{border-color:var(--oc-blue);background:var(--oc-icon-tile);color:var(--oc-blue-hover)}
.tab .tile{width:40px;height:40px;border-radius:12px}.tab[aria-selected="true"] .tile{background:var(--oc-blue);color:#fff}
.tabpanel{background:var(--oc-navy);border-radius:24px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;min-height:320px}.tabpanel.fade{animation:oc-fade-in 150ms var(--ease-out)}
@keyframes oc-fade-in{from{opacity:0}to{opacity:1}}
.demo{background:var(--oc-navy);border-radius:24px;padding:48px;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.demo-row{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:18px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff;transition:background-color 200ms var(--ease-out)}
.demo-row .ind{display:block;white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--oc-text-on-navy)}
.demo-num{display:inline-flex;white-space:nowrap;align-items:center;gap:10px;font-family:var(--font-mono);font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.demo-num span{width:32px;height:32px;border-radius:50%;background:var(--oc-success);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.cta-band{background:var(--oc-surface-2);border-top:1px solid var(--oc-line);padding:72px 0}.cta-band .container{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.footer{background:var(--oc-navy-deep);color:var(--oc-text-on-navy);padding:72px 0 32px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.14)}
.footer h2{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:16px}.footer nav{display:grid;gap:10px}.footer nav a{color:var(--oc-text-on-navy);font-size:15px;text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:24px;font-size:13px;flex-wrap:wrap}
.footer a:focus-visible{outline-color:var(--oc-cyan)}
.feature-lists{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.feature-lists ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.feature-lists li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55}.feature-lists li .ico{color:var(--oc-blue);flex:none;margin-top:2px}
.two-col-list{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}.two-col-list>div{display:grid;gap:8px}
.callouts{display:grid;gap:20px}.callout{display:flex;gap:16px;align-items:flex-start}.callout .n{width:32px;height:32px;border-radius:50%;background:var(--oc-blue);color:#fff;font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.bottom-bar{display:none}
.mobile-menu{position:fixed;inset:72px 0 0 0;background:#fff;z-index:39;padding:16px 24px;display:grid;gap:4px;align-content:start}.mobile-menu a{padding:14px 12px;border-radius:12px;font-size:17px;font-weight:600;color:var(--oc-text-strong);text-decoration:none}.mobile-menu a[aria-current="page"]{background:var(--oc-icon-tile);color:var(--oc-blue)}
.field{display:grid;gap:6px}.field label{font-size:15px;font-weight:600;color:var(--oc-text-strong)}.field .err{font-size:13px;color:var(--oc-red-600)}
@media (max-width:1100px){.nav-links{display:none}.burger{display:inline-flex!important}.nav-tel span{display:none}.demo{grid-template-columns:1fr}.demo-row .voice{display:none}.split.desk{grid-template-columns:1fr}}
@media (max-width:900px){.hero-grid,.split,.tabs,.demo,.cta-band .container,.two-col-list,.tabpanel{grid-template-columns:1fr!important}.cols-4,.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-lists{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero .display{font-size:40px!important}h1{font-size:36px}h2{font-size:28px}.stats{grid-template-columns:1fr}.stats>div{padding:12px 0;border-left:none;border-top:1px solid var(--oc-line)}.stats>div:first-child{border:none}.bento{grid-template-columns:1fr!important}.bento>*{grid-column:auto!important}.price{grid-template-columns:1fr!important}}
@media (max-width:768px){.section{padding:64px 0}.section.tight{padding:48px 0}.hero{padding:48px 0 56px}.cols-4,.cols-3,.cols-2{grid-template-columns:1fr}.demo{padding:24px}.demo-row{grid-template-columns:44px 1fr;gap:10px 14px}.demo-row .voice{display:none}.demo-row .demo-num{grid-column:2}.tabpanel{padding:24px}.footer-grid{grid-template-columns:1fr}.card{padding:24px}.hero .display{font-size:34px!important}.price>div{padding:28px!important}.nav-right .oc-btn:not(.burger){display:none!important}
.bottom-bar{display:flex;position:sticky;bottom:0;z-index:30;background:rgba(13,33,71,.94);backdrop-filter:blur(12px);padding:10px 16px;gap:10px;justify-content:center}}
/* Industry carousel: active card widens (320ms) and fades in a blue gradient (500ms) */
.icar{--ease:cubic-bezier(.23,1,.32,1)}
@property --fl{syntax:'<length>';inherits:false;initial-value:0px}
@property --fr{syntax:'<length>';inherits:false;initial-value:0px}
.icar-track{overflow:hidden;touch-action:pan-y;user-select:none;margin-right:calc(50% - 50vw);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);transition:--fl 300ms ease,--fr 300ms ease}
.icar-track.fade-l{--fl:56px}.icar-track.fade-r{--fr:160px} /* bleed to the right edge of the window */
#industries{overflow-x:clip}
.icar-list{list-style:none;margin:0;padding:0;display:flex;gap:var(--gap);transition:transform 500ms var(--ease);will-change:transform}
.icar-card{position:relative;isolation:isolate;flex:0 0 var(--w);width:var(--w);height:548px;padding:28px;border-radius:24px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:flex-basis 320ms var(--ease),width 320ms var(--ease)}
.icar-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(160deg,var(--oc-blue) -20%,var(--oc-navy-700) 55%,var(--oc-navy) 110%);opacity:0;transition:opacity 500ms var(--ease)}
.icar-card.is-active{flex-basis:var(--wa);width:var(--wa);cursor:default}
.icar-card.is-alt{background:transparent;border:1px dashed rgba(255,255,255,.3)}
.icar-card.is-alt.is-active{border-style:solid;border-color:rgba(255,255,255,.12)}
.icar-card.is-active::before{opacity:1}
.icar-top{display:flex;gap:16px;align-items:center}
.icar-top h3{font-size:22px;line-height:1.2;letter-spacing:-.01em}
.icar-biz{margin:4px 0 0;font-size:14px}
.icar-card.is-active .tile{background:rgba(255,255,255,.14);color:#fff}
.icar-detail{min-width:calc(var(--wa) - 58px);margin-top:24px;opacity:0;transform:translateY(8px);transition:opacity 200ms var(--ease),transform 200ms var(--ease)}
.icar-preview{position:absolute;top:110px;left:28px;right:28px;margin:0;font-size:15px;line-height:1.55;color:var(--oc-text-on-navy);opacity:.75;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;transition:opacity 150ms ease}
.icar-card.is-active .icar-preview{opacity:0}
.icar-chat{display:grid;gap:8px;margin-bottom:22px}
.icar-msg{opacity:0;transform:translateY(6px) scale(.98);transition:opacity 150ms ease,transform 150ms ease}
.icar-card.is-active .icar-msg{opacity:1;transform:none;transition:opacity 300ms var(--ease),transform 300ms var(--ease);transition-delay:calc(250ms + var(--d) * 550ms)}
.icar-detail .checks{gap:8px;opacity:0;transition:opacity 150ms ease}.icar-detail .checks li{font-size:14px}
.icar-card.is-active .icar-detail .checks{opacity:1;transition:opacity 400ms var(--ease) 1.5s}
.icar-card.is-active .icar-detail{opacity:1;transform:none;transition-duration:400ms;transition-delay:160ms}
.icar-foot{margin-top:auto;display:grid;justify-items:start;gap:10px;white-space:nowrap}
.icar-call{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 8px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-family:var(--font-mono);font-size:17px;font-weight:500;font-variant-numeric:tabular-nums;pointer-events:none;transition:background-color 300ms var(--ease),color 300ms var(--ease),border-color 300ms var(--ease)}
.icar-ic{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:var(--oc-cyan);transition:background-color 300ms var(--ease),color 300ms var(--ease)}
.icar-card.is-active .icar-call{pointer-events:auto;background:var(--oc-cyan);border-color:var(--oc-cyan);color:var(--oc-navy)}
.icar-card.is-active .icar-ic{background:var(--oc-navy);color:var(--oc-cyan)}
.icar-call:active{transform:scale(.97)}
.icar-label{color:var(--oc-text-on-navy);opacity:0;transition:opacity 300ms var(--ease)}
.icar-card.is-active .icar-label{opacity:1}
.icar-list.is-panning{transition:none}
.icar-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.icar-dot{width:8px;height:8px;padding:0;border:none;border-radius:999px;background:var(--oc-line);cursor:pointer;transition:width 320ms var(--ease),background-color 320ms var(--ease)}
.icar-dot.on{width:28px;background:var(--oc-blue)}
.on-navy .icar-dot{background:rgba(255,255,255,.22)}.on-navy .icar-dot.on{background:var(--oc-cyan)}
@media (hover:hover) and (pointer:fine){.icar-card:not(.is-active):hover{border-color:rgba(255,255,255,.28)}}
@media (max-width:640px){.icar-card{height:640px;padding:22px}.icar-top h3{font-size:19px}.icar-preview{left:22px;right:22px}.icar-track.fade-r{--fr:48px}}
@media (prefers-reduced-motion:reduce){.icar-list,.icar-card,.icar-card::before,.icar-detail,.icar-dot,.icar-msg,.icar-detail .checks{transition:none!important;transform:none!important}}
/* How it works: numbered steps joined by a 2px line */
#how-ai-works .head{margin-bottom:24px}
.steps{list-style:none;margin:0;padding:0;gap:32px}
.step{position:relative}
.step-n{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;background:var(--oc-blue);color:#fff;font-weight:800;font-size:15px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 0 0 0 var(--oc-blue-100);transition:box-shadow 200ms cubic-bezier(.23,1,.32,1)}
.step h3{transition:color 200ms ease}
/* Base line plus a blue fill that grows from the left; filling is staggered so it travels step to step, emptying is instant-ish */
.step:not(:last-child)::after,.step:not(:last-child)::before{content:"";position:absolute;top:22px;left:46px;width:calc(100% + 32px - 46px);height:2px;background:var(--oc-blue-100)}
.step:not(:last-child)::before{z-index:1;background:var(--oc-blue);transform:scaleX(0);transform-origin:left;transition:transform 150ms cubic-bezier(.23,1,.32,1)}
.step.fill::before{transform:scaleX(1);transition-duration:240ms}
.step.fill:nth-child(2)::before{transition-delay:70ms}.step.fill:nth-child(3)::before{transition-delay:140ms}
.step.lit .step-n{box-shadow:0 0 0 6px var(--oc-blue-100)}
@media (hover:hover) and (pointer:fine){.step:hover h3{color:var(--oc-blue)}}
@media (prefers-reduced-motion:reduce){.step::before{transition:none!important}}
@media (max-width:900px){.step::after,.step::before{display:none}}
#industries.navy{background:var(--oc-navy-deep)} /* deeper than the hero so the two navy bands read as separate */
/* Carriers page */
.car-h2{font-size:44px;line-height:1.08;letter-spacing:-.02em}
.car-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.car-path{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px}
.car-stages{list-style:none;margin:0;padding:0;display:grid;gap:20px;position:relative}
.car-stage{position:relative;display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.car-stage:not(:last-child)::after{content:"";position:absolute;left:34px;top:100%;width:2px;height:20px;background:rgba(109,150,255,.45)}
.car-stage .car-stage-t{margin:0;font-size:17px;font-weight:800;line-height:1.3;color:#fff}.car-stage p{margin:4px 0 0}
.car-stage-n{flex:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;background:rgba(255,255,255,.14);color:#fff}
.car-stage.s2{background:rgba(30,94,255,.16);border-color:rgba(109,150,255,.55)}.car-stage.s2 .car-stage-n{background:var(--oc-blue)}
.car-stage.s3{background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.4)}.car-stage.s3 .car-stage-n{background:var(--oc-cyan);color:var(--oc-navy)}
.car-chips{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.car-chips li{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:600;color:#fff}.car-chips svg{color:var(--oc-cyan)}
/* hero path: stages arrive one after another, then the chips */
.js-reveal .car-path .car-stage{opacity:0;transform:translateY(8px);transition:opacity 400ms cubic-bezier(.23,1,.32,1),transform 400ms cubic-bezier(.23,1,.32,1);transition-delay:calc(200ms + var(--d) * 180ms)}
.js-reveal .car-path.is-in .car-stage{opacity:1;transform:none}
.js-reveal .car-path .car-chips{opacity:0;transition:opacity 400ms ease 800ms}.js-reveal .car-path.is-in .car-chips{opacity:1}
.car-proof{padding-top:56px}.car-proof>p{max-width:62ch;margin:0 0 24px;font-size:17px;color:var(--oc-text-strong)}
.car-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.car-reasons>div{padding:22px 0;border-top:1px solid var(--oc-line)}.car-reasons h3{font-size:17px}.car-reasons p{margin-top:6px}
#carrier-process .head{margin-bottom:24px}
.car-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.car-compare h3{font-size:18px;margin-bottom:14px}
.car-plain{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:15px;color:var(--oc-text)}
.car-voip{border:2px solid var(--oc-blue)}.car-voip h3{color:var(--oc-blue)}
.car-why>div{padding:24px 0;border-bottom:1px solid var(--oc-line)}.car-why>div:first-child{padding-top:0}.car-why h3{font-size:19px}.car-why p{margin:8px 0 0;font-size:16px}
.car-contact{display:grid;gap:6px;margin:28px 0 0}.car-contact a{font-weight:700;color:var(--oc-text-strong);text-decoration:none}.car-contact a:hover{color:var(--oc-blue)}
.car-form{display:grid;gap:16px;padding:32px}.car-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:900px){.car-split,.car-compare{grid-template-columns:1fr;gap:32px}.car-h2{font-size:34px}}
@media (max-width:640px){.car-reasons,.car-form-row{grid-template-columns:minmax(0,1fr)}.car-form{padding:22px}}
@media (prefers-reduced-motion:reduce){.js-reveal .car-path .car-stage,.js-reveal .car-path .car-chips{opacity:1;transform:none;transition:none}}
/* Page switch: new page settles in */
main.page{animation:oc-page 320ms cubic-bezier(.23,1,.32,1)}
@keyframes oc-page{from{opacity:0;transform:translateY(8px)}}
/* Hero live call */
.lc-wrap{width:100%}
.lc{position:relative;background:#fff;border-radius:24px;box-shadow:var(--shadow-modal);padding:22px;min-height:470px;display:flex;flex-direction:column;gap:16px;color:var(--oc-text);transition:opacity 450ms ease,transform 450ms cubic-bezier(.23,1,.32,1)}
.lc.is-leaving{opacity:0;transform:translateY(6px)}
.lc-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--oc-line)}
.lc-avatar{width:42px;height:42px;border-radius:12px;background:var(--oc-icon-tile);color:var(--oc-blue);display:inline-flex;align-items:center;justify-content:center;flex:none}
.lc-who{display:grid;min-width:0}.lc-who strong{color:var(--oc-text-strong);font-size:15px}.lc-who span{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc-status{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--oc-surface-2);color:var(--oc-text-strong);transition:background-color 250ms ease,color 250ms ease}
.lc-status.on{background:var(--oc-blue-50);color:var(--oc-blue)}.lc-time{font-family:var(--font-mono);font-weight:500;color:var(--oc-text)}
.lc-body{display:grid;gap:10px;align-content:start;flex:1}
.lc-msg{animation:lc-in 350ms cubic-bezier(.23,1,.32,1) both;transform-origin:bottom left}
.lc-msg:nth-child(even){transform-origin:bottom right}
@keyframes lc-in{from{opacity:0;transform:translateY(8px) scale(.96)}}
.lc-typing{display:inline-flex;gap:4px;padding:12px 14px;border-radius:16px 16px 16px 4px;background:var(--oc-surface-2);width:max-content;animation:lc-in 200ms ease both}
.lc-typing span{width:6px;height:6px;border-radius:50%;background:var(--oc-slate-400,#94A3B8)}
.lc-result{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:14px 16px;border-radius:16px;background:var(--oc-navy);color:#fff;opacity:0;transform:translateY(10px) scale(.97);transition:opacity 300ms ease,transform 450ms cubic-bezier(.23,1,.32,1)}
.lc-result.on{opacity:1;transform:none}
.lc-result-ic{grid-row:span 2;width:40px;height:40px;border-radius:12px;background:var(--oc-cyan);color:var(--oc-navy);display:inline-flex;align-items:center;justify-content:center}
.lc-result strong{display:block;font-size:15px}.lc-result div span{font-size:13px;color:var(--oc-text-on-navy)}
.lc-sent{grid-column:2;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--oc-cyan)}
/* 24/7 bars grow in across the day */
.hour-bar{transform-origin:bottom}
.js-reveal .reveal:not(.is-in) .hour-bar{transform:scaleY(.15)}
.js-reveal .reveal .hour-bar{transition:transform 500ms cubic-bezier(.23,1,.32,1);transition-delay:calc(250ms + var(--h) * 30ms)}
/* Pricing checklist ticks in */
.js-reveal .price .checks li{transition:opacity 400ms ease,transform 400ms cubic-bezier(.23,1,.32,1)}
.js-reveal .price:not(.is-in) .checks li{opacity:0;transform:translateX(-8px)}
.price .checks li:nth-child(1){transition-delay:300ms}.price .checks li:nth-child(2){transition-delay:390ms}.price .checks li:nth-child(3){transition-delay:480ms}.price .checks li:nth-child(4){transition-delay:570ms}
/* Portal callouts: a line draws down and each number pops as it arrives */
.callouts{position:relative}
.callouts::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:var(--oc-blue-100);transform-origin:top;transition:transform 900ms cubic-bezier(.23,1,.32,1) 200ms}
.callout .n{position:relative;z-index:1;transition:transform 350ms cubic-bezier(.23,1,.32,1),opacity 250ms ease}
.js-reveal .callouts:not(.is-in)::before{transform:scaleY(0)}
.js-reveal .callouts:not(.is-in) .callout .n{opacity:0;transform:scale(.6)}
.callout:nth-child(2) .n{transition-delay:300ms}.callout:nth-child(3) .n{transition-delay:600ms}.callout:nth-child(4) .n{transition-delay:900ms}
/* Carriers compare: arrow between the cards nudges toward VoIP */
.car-compare{position:relative}
.car-arrow{position:absolute;left:50%;top:50%;z-index:2;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:#fff;border:1px solid var(--oc-line);box-shadow:var(--shadow-card);color:var(--oc-blue);display:flex;align-items:center;justify-content:center;transition:transform 250ms cubic-bezier(.23,1,.32,1)}
.car-voip{transition:box-shadow 250ms ease}
.js-reveal .car-voip .checks li{transition:opacity 400ms ease,transform 400ms cubic-bezier(.23,1,.32,1)}
.js-reveal .car-voip:not(.is-in) .checks li{opacity:0;transform:translateX(-8px)}
.car-voip .checks li:nth-child(1){transition-delay:350ms}.car-voip .checks li:nth-child(2){transition-delay:450ms}.car-voip .checks li:nth-child(3){transition-delay:550ms}
@media (hover:hover) and (pointer:fine){.car-compare:hover .car-arrow{transform:translateX(4px)}.car-compare:hover .car-voip{box-shadow:0 0 0 4px var(--oc-blue-100),var(--shadow-card)}}
@media (max-width:900px){.car-arrow{display:none}}
/* Nav gains a soft shadow once the page scrolls */
.nav{transition:box-shadow 250ms ease,background-color 250ms ease}
.nav.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 8px 24px -16px rgba(13,33,71,.35)}
/* Dialogs: scrim fades, panel scales up from 96% */
div:has(> div[role="dialog"]){animation:oc-fade-in 200ms ease}
div[role="dialog"]{animation:oc-pop 260ms cubic-bezier(.23,1,.32,1)!important}
@keyframes oc-pop{from{opacity:0;transform:translateY(6px) scale(.96)}}
/* Clickable cards lift; the entrance keeps its cascade while hover responds instantly */
.js-reveal .card.link.reveal{transition-property:opacity,transform,filter,translate,box-shadow,border-color;transition-duration:500ms,650ms,500ms,220ms,220ms,220ms;transition-timing-function:cubic-bezier(.23,1,.32,1);transition-delay:var(--stagger,0ms),var(--stagger,0ms),var(--stagger,0ms),0s,0s,0s}
@media (hover:hover) and (pointer:fine){.card.link:hover{translate:0 -3px;box-shadow:0 14px 32px -18px rgba(13,33,71,.35)}}
@media (prefers-reduced-motion:reduce){main.page,.lc-msg,.lc-typing,div[role="dialog"]{animation:none!important}.lc,.lc-result,.hour-bar,.callouts::before,.callout .n{transition:none!important}.js-reveal .reveal .hour-bar,.js-reveal .reveal:not(.is-in) .hour-bar{transform:none}}
/* Support page */
.sup{padding:72px 0 96px;background:linear-gradient(180deg,var(--oc-blue-50) 0%,#fff 440px)}
.sup-head{text-align:center;max-width:640px;margin:0 auto 40px}.sup-head h1{font-size:48px;line-height:1.08;letter-spacing:-.02em}.sup-head .lead{margin-top:14px}
.sup-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;padding:40px;background:#fff;border:1px solid var(--oc-line);border-radius:24px;box-shadow:var(--shadow-card)}
.sup-form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-content:start;min-width:0}.sup-form h2{font-size:26px}
.sup-sent{display:grid;gap:12px;align-content:center;justify-items:start;min-height:420px}.sup-sent h2{font-size:28px}.sup-sent a{font-weight:700;color:var(--oc-blue)}
.sup-side{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-content:start;min-width:0}
.sup-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:28px;border-radius:20px;background:var(--oc-gradient-hero)}
.sup-hi{margin:0 0 6px;font-weight:700;color:#fff!important}
.sup-tile{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;text-align:left;font:inherit;cursor:pointer;text-decoration:none;transition:background-color 200ms ease,border-color 200ms ease}
.sup-ic{width:40px;height:40px;flex:none;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:var(--oc-cyan)}
.sup-label{display:block;font-size:13px;color:var(--oc-text-on-navy)}.sup-value{display:block;font-size:17px;font-weight:700;color:#fff}.sup-value.is-email{font-size:15px}.sup-value.num{font-family:var(--font-mono);font-weight:500;font-size:19px}
.sup-go{margin-left:auto;color:var(--oc-cyan);opacity:.6;transition:transform 200ms cubic-bezier(.23,1,.32,1),opacity 200ms ease}
.sup-tile:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.sup-tile:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}.sup-tile:hover .sup-go{opacity:1;transform:translateX(3px)}}
/* tiles arrive one after another once the card is in view */
.js-reveal .sup-card .sup-tile{transition:background-color 200ms ease,border-color 200ms ease,opacity 400ms ease calc(250ms + var(--n) * 90ms),translate 500ms cubic-bezier(.23,1,.32,1) calc(250ms + var(--n) * 90ms)}
.js-reveal .sup-card:not(.is-in) .sup-tile{opacity:0;translate:0 10px}
.sup-hq h2{font-size:15px;font-weight:700;letter-spacing:0}.sup-hq p{margin:6px 0 0}.sup-hq p:first-of-type{font-weight:700;color:var(--oc-text-strong)}
@media (max-width:900px){.sup-card{grid-template-columns:minmax(0,1fr);padding:24px;gap:32px}.sup-head h1{font-size:36px}}
@media (prefers-reduced-motion:reduce){.js-reveal .sup-card:not(.is-in) .sup-tile{opacity:1;translate:none}}
.sup-tile>span:nth-child(2){min-width:0}
@media (max-width:640px){.sup-panel{padding:18px}.sup-tile{padding:14px;gap:12px}}
/* Legal pages: Terms and Privacy */
.legal-head{padding:64px 0 40px;background:var(--oc-surface-2);border-bottom:1px solid var(--oc-line)}
.legal-head .caption{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--oc-blue);margin:0 0 10px}
.legal-head h1{font-size:44px;line-height:1.08;letter-spacing:-.02em}.legal-head h1+p{margin:12px 0 0;color:var(--text-muted)}
.legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;padding:56px 0 96px;align-items:start}
.legal-toc{position:sticky;top:96px}
.legal-toc .caption{font-weight:700;color:var(--oc-text-strong);margin:0 0 12px}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:2px solid var(--oc-line)}
.legal-toc a{display:flex;gap:8px;padding:6px 12px;margin-left:-2px;border-left:2px solid transparent;font-size:14px;line-height:1.4;color:var(--oc-text);text-decoration:none;transition:color 150ms ease,border-color 150ms ease}
.legal-toc a .num{min-width:20px;color:var(--text-muted)}
.legal-toc a[aria-current="true"]{color:var(--oc-blue);border-left-color:var(--oc-blue);font-weight:600}
@media (hover:hover) and (pointer:fine){.legal-toc a:hover{color:var(--oc-text-strong)}}
.legal-other{margin:20px 0 0;font-size:14px}.legal-other a{color:var(--oc-blue);font-weight:600}
.legal-body{max-width:72ch}
.legal-body section{padding-top:8px;margin-bottom:36px;scroll-margin-top:96px}
.legal-body h2{font-size:22px;margin-bottom:12px}.legal-body h2 .num{color:var(--oc-blue)}
.legal-body h3{font-size:17px;margin:20px 0 8px}
.legal-body p,.legal-body li{font-size:16px;line-height:1.7}.legal-body p{margin:0 0 12px}
.legal-body ul{margin:0 0 12px;padding-left:22px;display:grid;gap:8px}.legal-body strong{color:var(--oc-text-strong)}
.legal-body a{color:var(--oc-blue);font-weight:600}
.legal-contact{font-style:normal;display:grid;gap:4px;padding:20px 22px;border:1px solid var(--oc-line);border-radius:16px;background:var(--oc-surface-2);font-size:16px}
.legal-contact span:first-child{font-weight:700;color:var(--oc-text-strong)}
@media (max-width:900px){.legal{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:32px}.legal-toc{position:static}.legal-head h1{font-size:34px}}
/* About: DFW coverage map */
.dfw{overflow:hidden;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:center;text-align:left;padding:36px 40px;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.dfw-copy .caption{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--oc-cyan);margin:0 0 12px}
.dfw-title{font-size:28px;line-height:1.15;letter-spacing:-.02em;color:#fff}
.dfw-facts{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:16px}
.dfw-facts li{display:flex;gap:12px;align-items:flex-start}.dfw-facts strong{display:block;color:#fff;font-size:16px}.dfw-facts li span span{font-size:14px;color:var(--oc-text-on-navy)}
.dfw-ic{flex:none;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:var(--oc-cyan)}
.dfw-map{width:100%;height:auto;overflow:visible}
.dfw-ring{fill:none;stroke:rgba(109,150,255,.22);stroke-width:1;stroke-dasharray:3 5}
.dfw-spoke{stroke:var(--oc-blue-on-navy);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:.75}
.dfw-city circle{fill:#fff}.dfw-city text{fill:var(--oc-text-on-navy);font-family:var(--font-sans);font-size:13px;font-weight:600}
.dfw-city.is-hq circle{fill:var(--oc-cyan)}.dfw-city.is-hq .dfw-halo{fill:rgba(34,211,238,.18)}.dfw-city.is-hq text{fill:#fff;font-size:15px;font-weight:800}
/* draw outward from Plano when revealed */
.js-reveal .dfw .dfw-ring{transition:opacity 600ms ease calc(200ms + var(--n) * 120ms)}
.js-reveal .dfw .dfw-spoke{transition:stroke-dashoffset 700ms cubic-bezier(.23,1,.32,1) calc(450ms + var(--n) * 90ms)}
.js-reveal .dfw .dfw-city{transform-box:fill-box;transform-origin:center;transition:opacity 300ms ease calc(900ms + var(--n) * 90ms)}
.js-reveal .dfw .dfw-city.is-hq{transition-delay:250ms}
.js-reveal .dfw:not(.is-in) .dfw-ring{opacity:0}
.js-reveal .dfw:not(.is-in) .dfw-spoke{stroke-dashoffset:1}
.js-reveal .dfw:not(.is-in) .dfw-city{opacity:0}
@media (max-width:900px){.dfw{grid-template-columns:minmax(0,1fr);padding:24px}.dfw-title{font-size:24px}}
@media (prefers-reduced-motion:reduce){.js-reveal .dfw:not(.is-in) .dfw-ring,.js-reveal .dfw:not(.is-in) .dfw-city{opacity:1}.js-reveal .dfw:not(.is-in) .dfw-spoke{stroke-dashoffset:0}}
/* Blog index */
.bl-head{padding:64px 0 36px;background:linear-gradient(180deg,var(--oc-blue-50) 0%,#fff 100%)}
.bl-head .caption,.bl-topic{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--oc-blue);font-size:12px;margin:0}
.bl-head h1{font-size:48px;line-height:1.08;letter-spacing:-.02em;margin-top:10px;max-width:18ch}.bl-head .lead{margin-top:14px;max-width:60ch}
.bl-tools{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:32px}
.bl-topics{display:flex;flex-wrap:wrap;gap:8px}
.bl-topics button{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--oc-line);background:#fff;font:inherit;font-size:14px;font-weight:600;color:var(--oc-text-strong);cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}
.bl-topics button[aria-pressed="true"]{background:var(--oc-navy);border-color:var(--oc-navy);color:#fff}
.bl-topics button:active{transform:scale(.97)}
.bl-search{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid var(--oc-line);border-radius:999px;background:#fff;color:var(--text-muted);min-width:260px}
.bl-search input{border:none;outline:none;font:inherit;font-size:15px;flex:1;min-width:0;background:transparent;color:var(--oc-text-strong)}
.bl-search:focus-within{border-color:var(--oc-blue);box-shadow:var(--focus-ring)}
#main .bl-head + .section{padding-top:40px}
.bl-media{display:block;overflow:hidden;background:var(--oc-surface-2)}
.bl-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.23,1,.32,1)}
.bl-img-empty{display:flex;align-items:center;justify-content:center;background:var(--oc-gradient-hero);color:var(--oc-cyan)}
.bl-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid var(--oc-line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow-card);text-decoration:none;color:inherit;margin-bottom:40px}
.bl-feature .bl-media{aspect-ratio:16/10;height:100%}
.bl-feature .bl-card-body{padding:40px;justify-content:center}.bl-feature .bl-title{font-size:30px;line-height:1.15}.bl-feature .bl-excerpt{-webkit-line-clamp:4}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bl-card{display:flex;flex-direction:column;border:1px solid var(--oc-line);border-radius:18px;overflow:hidden;background:#fff;text-decoration:none;color:inherit}
.bl-card .bl-media{aspect-ratio:16/9}
.bl-card-body{display:flex;flex-direction:column;gap:10px;padding:22px;flex:1}
.bl-title{font-size:19px;font-weight:800;line-height:1.3;letter-spacing:-.01em;color:var(--oc-text-strong);text-wrap:balance}
.bl-excerpt{font-size:15px;line-height:1.55;color:var(--oc-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bl-date{margin-top:auto;font-size:13px;color:var(--text-muted)}
.bl-more{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--oc-blue)}
/* card hover: lift, image zooms slightly (entrance cascade kept, hover is instant) */
.js-reveal .bl-card.reveal,.js-reveal .bl-feature.reveal{transition-property:opacity,transform,filter,translate,box-shadow,border-color;transition-duration:500ms,650ms,500ms,220ms,220ms,220ms;transition-timing-function:cubic-bezier(.23,1,.32,1);transition-delay:var(--stagger,0ms),var(--stagger,0ms),var(--stagger,0ms),0s,0s,0s}
@media (hover:hover) and (pointer:fine){.bl-card:hover,.bl-feature:hover{translate:0 -3px;box-shadow:0 18px 40px -22px rgba(13,33,71,.4);border-color:var(--oc-blue-100)}.bl-card:hover .bl-img,.bl-feature:hover .bl-img{transform:scale(1.03)}.bl-card:hover .bl-title,.bl-feature:hover .bl-title{color:var(--oc-blue)}}
.bl-cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;margin:40px 0;padding:32px 36px;border-radius:24px;background:var(--oc-gradient-hero)}
.bl-cta .caption{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--oc-cyan);margin:0 0 8px}.bl-cta .bl-cta-t{font-size:22px;max-width:36ch;color:#fff}
.bl-cta + .bl-grid{margin-top:0}
.bl-load{display:grid;justify-items:center;gap:10px;margin-top:40px}
.bl-empty{display:grid;justify-items:start;gap:12px;padding:48px 0}.bl-empty a{color:var(--oc-blue);font-weight:600}
.bl-skel{border:1px solid var(--oc-line);border-radius:18px;overflow:hidden;background:#fff;padding-bottom:20px}
.bl-skel span{display:block;aspect-ratio:16/9;background:var(--oc-surface-2)}.bl-skel i{display:block;height:12px;margin:16px 22px 0;border-radius:6px;background:var(--oc-surface-2)}.bl-skel i:nth-of-type(2){width:70%}.bl-skel i:nth-of-type(3){width:40%}
/* Blog post */
.bp-head{padding:48px 0 0;background:linear-gradient(180deg,var(--oc-blue-50) 0%,#fff 100%)}
.bp-head-in{max-width:820px}
.bl-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--oc-text);text-decoration:none;margin-bottom:24px}
.bl-back:hover{color:var(--oc-blue)}
.bp-head h1{font-size:44px;line-height:1.1;letter-spacing:-.02em;margin-top:10px}
.bp-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;font-size:14px;color:var(--text-muted)}
.bp-hero{margin-top:36px;border-radius:24px;overflow:hidden;aspect-ratio:21/9;background:var(--oc-surface-2)}.bp-hero img{width:100%;height:100%;object-fit:cover;display:block}
.bp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding:48px 0 80px;align-items:start}
.bp-side{position:sticky;top:96px;display:grid;gap:28px}
.bp-toc ol{max-height:46vh;overflow:auto}
.bp-cta{display:grid;gap:10px;padding:24px;border-radius:20px;background:var(--oc-gradient-hero)}
.bp-cta .caption{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--oc-cyan);margin:0}.bp-cta-t{margin:0 0 6px;color:#fff!important;font-weight:700;font-size:17px;line-height:1.35}
.bp-loading{padding:48px 0 96px}.bl-skel-post{border:none;padding:0}.bl-skel-post i{margin:14px 0 0;height:18px}.bl-skel-post span{margin-top:28px;border-radius:24px;aspect-ratio:21/9}
/* Article typography for WordPress content */
.prose{max-width:72ch;font-size:17px;line-height:1.75;color:var(--oc-text)}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:28px;line-height:1.2;margin:44px 0 14px;scroll-margin-top:96px}.prose h3{font-size:21px;margin:32px 0 10px}.prose h4{font-size:18px;margin:24px 0 8px}
.prose p{margin:0 0 18px}.prose ul,.prose ol{margin:0 0 18px;padding-left:24px;display:grid;gap:8px}
.prose a{color:var(--oc-blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose strong{color:var(--oc-text-strong)}
.prose img{max-width:100%;height:auto;border-radius:16px;margin:8px 0}.prose figure{margin:24px 0}.prose figcaption{font-size:14px;color:var(--text-muted);margin-top:8px}
.prose blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--oc-blue);color:var(--oc-text-strong);font-size:18px}
.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;display:block;overflow-x:auto}
.prose th,.prose td{padding:10px 14px;border-bottom:1px solid var(--oc-line);text-align:left;vertical-align:top}.prose th{color:var(--oc-text-strong);background:var(--oc-surface-2)}
.prose hr{border:none;border-top:1px solid var(--oc-line);margin:36px 0}
.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--oc-surface-2);padding:2px 6px;border-radius:6px}
@media (max-width:1000px){.bp-layout{grid-template-columns:minmax(0,1fr)}.bp-side{position:static}.bp-toc{display:none}}
@media (max-width:900px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-feature{grid-template-columns:minmax(0,1fr)}.bl-feature .bl-card-body{padding:24px}.bl-feature .bl-title{font-size:24px}.bl-head h1,.bp-head h1{font-size:34px}}
@media (max-width:640px){.bl-grid{grid-template-columns:minmax(0,1fr)}.bl-search{min-width:0;width:100%}.bl-cta{padding:24px}.bp-hero{aspect-ratio:16/10}}
.bl-feature .bl-date{margin-top:6px}.bl-feature .bl-media{aspect-ratio:1200/630;height:auto;align-self:center}
.bl-card .bl-media{aspect-ratio:1200/630} /* post images carry text, so show them uncropped */
.bp-hero{aspect-ratio:1200/630;max-width:880px} /* post images are 1200x630 graphics with text; never crop them */
/* Phone systems: live admin portal frames */
.ps{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--oc-line);box-shadow:var(--shadow-modal)}
.on-navy .ps{border-color:rgba(255,255,255,.14)}
.ps-chrome{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:var(--oc-slate-100,#F1F5F9);border-bottom:1px solid var(--oc-line)}
.ps-chrome>span{width:10px;height:10px;border-radius:50%;background:#CBD5E1}
.ps-chrome em{margin:0 auto;display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 12px;border-radius:999px;background:#fff;font-style:normal;font-size:11px;font-weight:600;color:var(--text-muted)}
.ps-view{position:relative;overflow:hidden}
.ps-scale{transform-origin:top left;position:absolute;top:0;left:0}
.ps-app{background:var(--surface-subtle,#F8FAFC);font-family:var(--font-sans);color:var(--text-body);text-align:left}
.ps-banner{display:flex;justify-content:space-between;padding:8px 24px;background:var(--oc-amber-100,#FEF3C7);color:#78350F;font-size:13px}.ps-link{color:var(--oc-blue-700);font-weight:600}
.ps-top{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 24px;background:#fff;border-bottom:1px solid var(--border-default)}
.ps-logo{font-weight:800;font-size:21px;letter-spacing:-.03em;color:var(--oc-navy-900)}.ps-logo span{color:var(--oc-blue-600)}.ps-logo i{font-style:normal;font-weight:500;color:var(--oc-slate-600)}
.ps-menu{font-size:14px;font-weight:600;color:var(--text-body)}.ps-menu em{font-style:normal;color:var(--border-strong);margin:0 10px}
.ps-tabs{display:flex;gap:4px;padding:8px 24px;background:#fff;border-bottom:1px solid var(--border-default)}
.ps-tabs span{flex:1;max-width:110px;display:grid;justify-items:center;gap:4px;padding:8px 4px;border-radius:10px;font-size:12px;font-weight:600}.ps-tabs span.on{background:var(--oc-blue-50);color:var(--oc-blue-600)}
.ps-main{display:grid;gap:18px;padding:22px 24px 26px}
.ps-title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:var(--text-heading);letter-spacing:-.01em}
.ps-title-row{justify-content:space-between}.ps-actions{display:flex;gap:8px}
.ps-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--border-default);background:#fff;font-size:13px;font-weight:600;color:var(--text-heading)}
.ps-icbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border-default);background:#fff;color:var(--text-body)}
.ps-panel{background:#fff;border:1px solid var(--border-default);border-radius:14px;overflow:hidden}
.ps-panel-h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-default);font-size:14px;font-weight:700;color:var(--text-heading)}
.ps-panel-b{padding:16px}
.ps-table{width:100%;border-collapse:collapse;font-size:13px}
.ps-table th{text-align:left;padding:8px 10px;background:var(--oc-slate-50,#F8FAFC);color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ps-table td{padding:10px;color:var(--text-heading);font-weight:600;border-top:1px solid var(--border-default)}
.ps-empty{text-align:center;color:var(--text-muted)!important;font-weight:400!important;padding:20px!important}
.ps-row-in{animation:ps-row 400ms cubic-bezier(.23,1,.32,1)}
@keyframes ps-row{from{opacity:0;transform:translateY(-4px)}}
.ps-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--oc-green-500,#22C55E);margin-right:8px;vertical-align:1px}
.ps-bars{display:flex;align-items:flex-end;gap:6px}
.ps-bar{flex:1;border-radius:3px;background:var(--oc-blue-100);transform-origin:bottom;transition:transform 600ms cubic-bezier(.23,1,.32,1)}.ps-bar.peak{background:var(--oc-blue-600)}.ps-bar.now{box-shadow:inset 0 0 0 2px var(--oc-blue-600)}
.ps-bar-l{display:flex;gap:6px;margin-top:6px}.ps-bar-l div{flex:1;text-align:center;font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}
.ps-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ps-kv{display:grid;gap:2px}.ps-kv div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--border-default);font-size:14px}.ps-kv b{font-family:var(--font-mono);color:var(--text-heading)}
.ps-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ps-kpi{background:#fff;border:1px solid var(--border-default);border-radius:14px;padding:18px}
.ps-kpi-l{font-size:13px;font-weight:600;color:var(--text-muted)}.ps-kpi-n{font-size:32px;font-weight:800;letter-spacing:-.02em;color:var(--text-heading);margin:4px 0;font-family:var(--font-mono)}.ps-kpi-s{font-size:12px;color:var(--text-muted)}.ps-kpi-s.up{color:var(--oc-green-600)}
.ps-seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--oc-slate-100,#F1F5F9)}
.ps-seg button{height:26px;padding:0 12px;border:none;border-radius:999px;background:transparent;font:inherit;font-size:12px;font-weight:600;color:var(--text-body);cursor:pointer}.ps-seg button[aria-pressed="true"]{background:#fff;color:var(--oc-blue-600);box-shadow:0 1px 2px rgba(13,33,71,.12)}
@media (prefers-reduced-motion:reduce){.ps-bar{transition:none}.ps-row-in{animation:none}}
.phone-art{aspect-ratio:1;border-radius:12px;margin-bottom:12px;background:var(--oc-icon-tile);display:flex;align-items:center;justify-content:center;padding:14%}.phone-art svg{width:100%;height:100%;overflow:visible}
/* Blog pagination */
.bl-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:48px;flex-wrap:wrap}
.bl-pager ol{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.bl-pager ol button,.bl-pg-step{height:42px;min-width:42px;padding:0 12px;border-radius:12px;border:1px solid var(--oc-line);background:#fff;font:inherit;font-size:15px;font-weight:700;color:var(--oc-text-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}
.bl-pager ol button[aria-current="page"]{background:var(--oc-navy);border-color:var(--oc-navy);color:#fff}
.bl-pg-gap{display:inline-flex;align-items:center;padding:0 4px;color:var(--text-muted)}
.bl-pg-step:disabled{opacity:.4;cursor:default}
.bl-pager button:not(:disabled):active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.bl-pager ol button:not([aria-current]):hover,.bl-pg-step:not(:disabled):hover{border-color:var(--oc-blue);color:var(--oc-blue)}}
@media (max-width:640px){.bl-pg-step{padding:0 10px}.bl-pg-step{font-size:0;gap:0}.bl-pg-step svg{width:18px;height:18px}}
