/* Broadgate site styles.
   Layout: brochure language on the web. Big Demi headlines with a red second line,
   warm off-white bands between white sections, grey tiles with red icon discs,
   one black statement bar, one red closing band. Mobile gets a fixed action bar. */
@font-face{font-family:"Outfit";src:url(fonts/outfit-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Outfit";src:url(fonts/outfit-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Outfit";src:url(fonts/outfit-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
:root{
  --red:#EF4437; --red-dark:#D3352B; --ink:#1E1E1E; --text:#4A4646; --muted:#6B6463;
  --tile:#F3F1F0; --warm:#FAF6F5; --pink:#FDE9E7; --line:#EEE6E4; --paper:#FFFFFF; --wa:#25D366;
  --font:"Outfit","Century Gothic",Arial,sans-serif;
  --wrap:1200px; --r:18px; --shadow:0 22px 44px -26px rgba(60,30,25,.32);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{font-weight:600;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px, env(safe-area-inset-left, 0px));padding-right:max(20px, env(safe-area-inset-right, 0px))}
.label{color:var(--red);font-weight:600;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase}
.r{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons and icons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:.95rem;padding:14px 24px;border-radius:40px;text-decoration:none;transition:transform .2s ease, background .2s ease, color .2s ease;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--red)}
.btn-white:hover{transform:translateY(-2px)}
.btn svg,.ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic{width:46px;height:46px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;flex:none}
.ic svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tag{display:inline-block;background:var(--pink);color:var(--red);font-size:.62rem;font-weight:600;letter-spacing:.14em;padding:3px 8px;border-radius:20px;vertical-align:2px;margin-left:6px;text-transform:uppercase}

/* top bar */
.topbar{background:var(--ink);color:#d9d9d9;font-size:.8rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:8px}
.topbar nav{display:flex;gap:22px;align-items:center}
.topbar a{text-decoration:none;color:#d9d9d9}
.topbar a:hover{color:#fff}
.topbar .login{background:#fff;color:var(--ink);padding:4px 14px;border-radius:20px;font-weight:600}
.topbar .login:hover{color:var(--red)}

/* header and mega menu */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:60;background:var(--paper)}
header.site{position:sticky;top:env(safe-area-inset-top, 0px);z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
header.site .bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:10px}
.brand{display:flex;align-items:center;text-decoration:none;flex:none}
.brand img{height:38px;width:auto}
.nav-wrap{display:flex;align-items:center}
.nav{display:flex;align-items:center;gap:4px}
.nav > li > a,.nav > li > button{display:flex;align-items:center;gap:6px;background:none;border:0;padding:12px 14px;border-radius:30px;font-weight:600;font-size:.94rem;text-decoration:none;cursor:pointer}
.nav > li > button .chev{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .2s}
.nav > li > a:hover,.nav > li > button:hover,.nav > li.open > button{background:var(--warm);color:var(--red)}
.nav > li.open > button .chev{transform:rotate(180deg)}
.nav-cta{display:flex;gap:10px;align-items:center;margin-left:10px}
.nav-cta .btn{padding:11px 20px}
.panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 50px -30px rgba(60,30,25,.35);display:none}
.nav > li.open .panel{display:block;animation:drop .18s ease-out}
@keyframes drop{from{transform:translateY(-6px)}to{transform:none}}
.panel .wrap{padding-block:30px 26px}
.cols{display:grid;gap:28px}
.cols-5{grid-template-columns:repeat(5,1fr)}
.cols-6{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-2{grid-template-columns:repeat(2,1fr)}
.col h3{display:flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.col h3 .ic{width:30px;height:30px}.col h3 .ic svg{width:16px;height:16px}
.col li a{display:block;text-decoration:none;padding:7px 10px;margin:0 -10px;border-radius:10px}
.col li a:hover{background:var(--warm)}
.col li b{display:block;font-weight:600;font-size:.93rem}
.col li span{display:block;color:var(--muted);font-size:.8rem;line-height:1.4;margin-top:2px}
.col li span.tag{display:inline-block;color:var(--red);font-size:.6rem;margin-top:0;line-height:1.4}
.panel-foot{margin-top:24px;background:var(--pink);border-radius:14px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.panel-foot p{font-weight:600}
.panel-foot p span{font-weight:400;color:var(--text);margin-left:6px}
.menu-btn{display:none;align-items:center;gap:8px;background:var(--ink);color:#fff;border:0;border-radius:30px;padding:10px 18px;font-weight:600;cursor:pointer}
.menu-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}

/* hero */
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;padding-block:72px 60px}
.hero h1{font-size:clamp(2.3rem,5.2vw,4.3rem);margin-top:16px}
.hero h1 .r{display:block}
.hero p.lead{font-size:1.15rem;color:var(--text);margin-top:22px;max-width:36ch}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero .copy > *{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.hero .copy > *:nth-child(2){animation-delay:.08s}
.hero .copy > *:nth-child(3){animation-delay:.16s}
.hero .copy > *:nth-child(4){animation-delay:.24s}
@keyframes rise{from{transform:translateY(18px)}to{transform:none}}
.hub{width:100%;max-width:470px;justify-self:center}
.hub .spoke{stroke:var(--red);stroke-width:2;stroke-dasharray:140;animation:draw 1.1s ease .2s both}
@keyframes draw{from{stroke-dashoffset:140}to{stroke-dashoffset:0}}
.hub .node{transform-box:fill-box;transform-origin:center;animation:pop .5s cubic-bezier(.3,1.5,.5,1) both}
.hub .node:nth-of-type(2){animation-delay:.6s}.hub .node:nth-of-type(3){animation-delay:.7s}.hub .node:nth-of-type(4){animation-delay:.8s}.hub .node:nth-of-type(5){animation-delay:.9s}
@keyframes pop{from{transform:scale(.6)}to{transform:scale(1)}}
.hub .pulse{fill:none;stroke:var(--red);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:ring 3.2s ease-out 1.4s infinite}
@keyframes ring{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
.hub text{font-family:var(--font);font-weight:600;font-size:15px;fill:var(--ink)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid var(--red);border-radius:var(--r);overflow:hidden;background:#fff}
.stat{padding:24px 30px}
.stat+.stat{border-left:1.5px solid #F7C3BE}
.stat b{display:block;color:var(--red);font-size:clamp(2.1rem,4vw,3rem);font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat span{display:block;color:var(--text);margin-top:10px;font-size:.95rem}

/* generic sections */
section.block{padding-block:88px}
section.warm{background:var(--warm)}
.head{max-width:740px}
.head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-top:12px}
.head p{color:var(--text);margin-top:16px;font-size:1.06rem}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}

.statement{background:var(--ink);color:#fff;border-radius:var(--r);padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.statement h2{font-size:clamp(1.5rem,2.8vw,2.1rem)}
.statement p{color:#d6d6d6;margin-top:10px;max-width:60ch}
.statement .ic{width:68px;height:68px}
.statement .ic svg{width:32px;height:32px}

/* solution pillars */
.pillars{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:40px}
.card{grid-column:span 2;background:var(--tile);border-radius:var(--r);padding:28px 26px 24px;display:flex;flex-direction:column;gap:12px;transition:transform .25s ease, box-shadow .25s ease;min-width:0;text-decoration:none}
.card.wide{grid-column:span 3}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);background:#fff}
.card h3{font-size:1.3rem;margin-top:6px}
.card p{color:var(--text);font-size:.97rem}
.card ul{display:flex;flex-wrap:wrap;gap:6px;flex:1;align-content:flex-start}
.card li{background:#fff;border-radius:20px;padding:4px 11px;font-size:.8rem;font-weight:600;color:var(--text)}
.card:hover li{background:var(--warm)}
.card .more{color:var(--red);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;margin-top:6px}

/* how it all connects */
.connects{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;margin-top:44px}
.building{width:100%;height:auto;background:#fff;border-radius:var(--r);box-shadow:var(--shadow)}
.building .spot{cursor:pointer}
.building .spot circle.dot{fill:var(--red);transition:r .2s}
.building .spot circle.halo{fill:var(--red);opacity:.18;transform-box:fill-box;transform-origin:center;animation:breathe 2.6s ease-in-out infinite}
.building .spot.on circle.halo{opacity:.35}
.building .spot text{font-family:var(--font);font-weight:600;font-size:13px;fill:#fff;pointer-events:none}
.building .spot:focus{outline:none}
.building .spot:focus-visible circle.dot{stroke:var(--ink);stroke-width:3}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
.legend{display:flex;flex-direction:column;gap:6px}
.legend button{display:flex;gap:14px;align-items:flex-start;text-align:left;background:none;border:0;border-radius:14px;padding:12px 14px;cursor:pointer;transition:background .2s}
.legend button:hover{background:#fff}
.legend button.on{background:#fff;box-shadow:var(--shadow)}
.legend .n{width:28px;height:28px;border-radius:50%;background:var(--red);color:#fff;font-weight:600;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.legend b{display:block;font-size:1rem}
.legend div span{display:block;color:var(--text);font-size:.9rem;line-height:1.5;margin-top:3px}
.legend button:not(.on) div span{display:none}

/* integration */
.integrate{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.flow{background:var(--ink);color:#fff;border-radius:var(--r);padding:34px;display:grid;gap:14px}
.flow-row{display:flex;align-items:center;gap:12px}
.flow .box{flex:1;background:#2b2b2b;border-radius:12px;padding:14px 16px;min-width:0}
.flow .box b{display:block;font-size:.95rem}
.flow .box span{display:block;color:#bdbdbd;font-size:.8rem;margin-top:2px}
.flow .box.hl{background:var(--red)}
.flow .box.hl span{color:#ffe1de}
.flow .link{width:26px;height:2px;background:var(--red);position:relative;flex:none}
.flow .link::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:var(--red);border-right:0}
.crms{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.crms span{border:1.5px solid var(--line);border-radius:30px;padding:7px 14px;font-weight:600;font-size:.88rem;background:#fff}
.crms span.more{border-color:var(--red);color:var(--red)}
.ticks{display:grid;gap:10px;margin-top:22px}
.ticks li{display:flex;gap:10px;align-items:flex-start;color:var(--text)}
.ticks svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:2.4;flex:none;margin-top:3px}

/* industries */
.industries{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}
.ind{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:20px 18px;text-decoration:none;display:flex;flex-direction:column;gap:10px;transition:border-color .2s, transform .2s, box-shadow .2s;min-width:0}
.ind:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow)}
.ind .ic{width:40px;height:40px}.ind .ic svg{width:21px;height:21px}
.ind b{font-size:1rem;line-height:1.25}
.ind span{color:var(--muted);font-size:.82rem;line-height:1.45}

/* reasons */
.reasons{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.reason{border-top:2px solid var(--red);padding-top:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.reason h3{font-size:1.15rem}
.reason p{color:var(--text);font-size:.96rem}

/* brands */
.brands{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 38px;align-items:center;margin-top:36px;padding:38px 30px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r)}
.brands img{height:30px;width:auto;max-width:120px;object-fit:contain;opacity:.85;transition:opacity .2s}
.brands img:hover{opacity:1}
.brands img.sq{height:38px}.brands img.sm{height:24px}.brands img.wd{height:24px;max-width:150px}

/* demo band */
.demo{background:var(--red);color:#fff;border-radius:var(--r);padding:48px;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.demo h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.demo p{margin-top:14px;font-size:1.06rem;max-width:44ch}
.demo .steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.demo .steps span{border:1.5px solid rgba(255,255,255,.6);border-radius:30px;padding:7px 14px;font-weight:600;font-size:.86rem}
.contact-card{background:#fff;color:var(--ink);border-radius:14px;padding:26px 28px}
.contact-card b{display:block;color:var(--red);font-size:1.3rem;margin-bottom:10px}
.contact-card a{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:1.05rem;padding:5px 0}
.contact-card a:hover{color:var(--red)}
.contact-card small{display:block;color:var(--muted);margin-top:8px;font-size:.82rem}

/* footer */
footer{background:var(--ink);color:#cfcfcf;font-size:.9rem}
footer .wrap{padding-block:56px 34px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:28px}
footer h4{color:#fff;font-size:.95rem;margin-bottom:14px}
footer ul{display:grid;gap:8px}
footer a{text-decoration:none;color:#cfcfcf}
footer a:hover{color:#fff}
.flogo{display:inline-block;margin-bottom:18px}
.flogo img{height:36px;width:auto}
.legal{border-top:1px solid #3a3a3a;margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:#9a9a9a}

/* WhatsApp button (desktop) and action bar (mobile) */
.wa-float{position:fixed;right:max(22px, env(safe-area-inset-right, 0px));bottom:calc(22px + env(safe-area-inset-bottom, 0px));z-index:40;display:flex;align-items:center;gap:10px;background:var(--wa);color:#fff;text-decoration:none;font-weight:600;padding:12px 18px 12px 14px;border-radius:40px;box-shadow:0 14px 30px -12px rgba(0,0,0,.35);transition:transform .2s}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:26px;height:26px;fill:#fff}
.actionbar{display:none}

/* tablet and phone */
@media (max-width:1060px){
  .topbar{display:none}
  header.site{backdrop-filter:none;background:#fff}
  .menu-btn{display:inline-flex}
  .nav-wrap{display:none;position:fixed;inset:0;top:calc(env(safe-area-inset-top, 0px) + 73px);background:#fff;overflow-y:auto;padding:8px max(20px, env(safe-area-inset-left, 0px)) calc(110px + env(safe-area-inset-bottom, 0px));z-index:55}
  .nav-wrap.open{display:block}
  .nav{flex-direction:column;align-items:stretch;gap:0}
  .nav > li{border-bottom:1px solid var(--line)}
  .nav > li > a,.nav > li > button{width:100%;justify-content:space-between;padding:18px 4px;border-radius:0;font-size:1.12rem}
  .nav > li > a:hover,.nav > li > button:hover,.nav > li.open > button{background:none}
  .panel{position:static;box-shadow:none;border:0}
  .nav > li.open .panel{animation:none}
  .panel .wrap{padding:0 0 18px}
  .cols-6,.cols-5,.cols-3,.cols-2{grid-template-columns:1fr;gap:18px}
  .col h3{margin-bottom:6px}
  .col li a{padding:10px 10px}
  .col li span{display:none}
  .col li span.tag{display:inline-block}
  .panel-foot{flex-direction:column;align-items:flex-start}
  .nav-cta{flex-direction:column;align-items:stretch;margin:22px 0 0}
  .nav-cta .btn{padding:16px}
  .mobile-only{display:block}
  .hero .wrap{grid-template-columns:1fr;padding-block:48px 40px}
  .hub{max-width:380px}
  .pillars{grid-template-columns:1fr 1fr}
  .card,.card.wide{grid-column:span 1}
  .card.wide:last-child{grid-column:span 2}
  .connects,.integrate{grid-template-columns:1fr}
  .industries{grid-template-columns:repeat(3,1fr)}
  .reasons{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .demo{grid-template-columns:1fr}
  .wa-float{display:none}
  .actionbar{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:58;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px -18px rgba(0,0,0,.3);padding:10px max(12px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px))}
  .actionbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;font-weight:600;font-size:.78rem;border-radius:14px;padding:8px 4px;min-height:54px}
  .actionbar svg{width:22px;height:22px}
  .actionbar .call{background:var(--warm);color:var(--ink)}
  .actionbar .call svg{stroke:var(--ink);fill:none;stroke-width:2}
  .actionbar .wa{background:var(--wa);color:#fff}
  .actionbar .wa svg{fill:#fff}
  .actionbar .demo-btn{background:var(--red);color:#fff;flex-direction:row;font-size:.95rem;gap:8px}
  .actionbar .demo-btn svg{stroke:#fff;fill:none;stroke-width:2}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px))}
}
@media (max-width:640px){
  .brand img{height:32px}
  .stats{grid-template-columns:1fr}
  .stat{padding:18px 22px}
  .stat+.stat{border-left:0;border-top:1.5px solid #F7C3BE}
  .pillars,.reasons,.fgrid{grid-template-columns:1fr}
  .card.wide:last-child{grid-column:span 1}
  .industries{grid-template-columns:1fr 1fr}
  .ind span{display:none}
  .statement{flex-direction:column;align-items:flex-start;padding:30px 26px}
  .demo{padding:34px 24px}
  .flow{padding:22px}
  .flow-row{flex-direction:column;align-items:stretch}
  .flow .link{width:2px;height:18px;align-self:center}
  .flow .link::after{right:-4px;top:auto;bottom:-1px;border:5px solid transparent;border-top-color:var(--red);border-bottom:0}
  section.block{padding-block:60px}
  .brands{gap:26px 30px;padding:28px 18px}
  .legend button{padding:10px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ===== Inner pages ===== */
.crumbs{font-size:.85rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--red)}
.page-hero{background:linear-gradient(180deg,#fff 0%,var(--warm) 100%)}
.page-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding-block:48px 64px}
.page-hero h1{font-size:clamp(2.2rem,4.8vw,3.9rem);margin-top:14px}
.page-hero h1 .r{display:block}
.page-hero p.lead{font-size:1.12rem;color:var(--text);margin-top:20px;max-width:46ch}
.page-hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.page-hero .visual{position:relative;justify-self:center;width:100%;max-width:480px}
.page-hero .visual::before{content:"";position:absolute;inset:6% 4% 0 4%;border-radius:50%;background:var(--pink);z-index:0}
.page-hero .visual img{position:relative;z-index:1;filter:drop-shadow(0 24px 30px rgba(60,30,25,.22))}
.page-hero .copy > *{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.page-hero .copy > *:nth-child(2){animation-delay:.06s}.page-hero .copy > *:nth-child(3){animation-delay:.12s}.page-hero .copy > *:nth-child(4){animation-delay:.18s}.page-hero .copy > *:nth-child(5){animation-delay:.24s}

.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.choice{border:1.5px solid var(--red);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:10px;text-decoration:none;min-width:0;transition:transform .2s, box-shadow .2s}
.choice h3{color:var(--red);font-size:1.25rem}
.choice p{color:var(--text)}
.choice.main{background:var(--red);color:#fff}
.choice.main h3,.choice.main p{color:#fff}
a.choice:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.choice .more{margin-top:auto;font-weight:600;font-size:.9rem;display:inline-flex;gap:6px;align-items:center;color:var(--red)}
.choice.main .more{color:#fff}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.tile{background:var(--tile);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.tile h3{font-size:1.15rem;margin-top:4px}
.tile p{color:var(--text);font-size:.96rem}

.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.step{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.step .num{color:var(--red);font-size:.72rem;font-weight:600;letter-spacing:.2em}
.step h3{font-size:1.12rem}
.step p{color:var(--text);font-size:.94rem}
.standard{display:flex;gap:20px;align-items:center;background:#fff;border-radius:var(--r);padding:24px 28px;margin-top:36px;box-shadow:var(--shadow)}
.standard h3{font-size:1.2rem}
.standard p{color:var(--text);margin-top:6px}
.addons-h{display:flex;align-items:center;gap:10px;font-size:1.15rem;margin-top:44px}
.addons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.addons span{border:1.5px dashed #F3A39C;border-radius:12px;padding:12px 16px;font-weight:600;font-size:.92rem;background:#fff}
.note-bar{display:flex;gap:16px;align-items:center;background:var(--pink);border-radius:14px;padding:18px 22px;margin-top:24px}
.note-bar .ic{width:40px;height:40px}.note-bar .ic svg{width:20px;height:20px}
.note-bar p{color:var(--text)}
.note-bar b{color:var(--red)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split.flip > :first-child{order:2}
.shot{border-radius:var(--r);box-shadow:var(--shadow);background:#fff;padding:10px;border:1px solid var(--line)}
.shot img{border-radius:10px}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-top:26px}
.mini div{display:flex;gap:12px;align-items:flex-start}
.mini .ic{width:36px;height:36px}.mini .ic svg{width:18px;height:18px}
.mini b{display:block;font-size:.98rem}
.mini p span{display:block;color:var(--text);font-size:.88rem;line-height:1.5;margin-top:2px}
.platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.platforms span{background:var(--ink);color:#fff;border-radius:30px;padding:7px 14px;font-size:.85rem;font-weight:600}

.related{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.rel{display:flex;gap:18px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;transition:border-color .2s, transform .2s}
.rel:hover{border-color:var(--red);transform:translateY(-3px)}
.rel h3{font-size:1.15rem}
.rel p{color:var(--text);font-size:.93rem;margin-top:4px}
.rel .go{margin-left:auto;color:var(--red)}
.rel .go svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}

.chips-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chips-row a{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:40px;padding:8px 18px 8px 8px;text-decoration:none;font-weight:600;transition:border-color .2s}
.chips-row a:hover{border-color:var(--red)}
.chips-row .ic{width:32px;height:32px}.chips-row .ic svg{width:17px;height:17px}

.offer{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1.5px solid var(--red);border-radius:var(--r);padding:30px 34px;background:#fff}
.offer h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.offer p{color:var(--text);margin-top:8px;max-width:56ch}
.offer .btns{display:flex;gap:10px;flex-wrap:wrap}
.downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.dlbtn{display:inline-flex;align-items:center;gap:12px;text-decoration:none;background:var(--tile);border-radius:14px;padding:12px 18px 12px 12px;font-weight:600;font-size:.92rem;transition:background .2s}
.dlbtn:hover{background:var(--pink)}
.dlbtn .ic{width:34px;height:34px}.dlbtn .ic svg{width:17px;height:17px}
.dlbtn small{display:block;color:var(--muted);font-weight:400;font-size:.78rem}

@media (max-width:1060px){
  .page-hero .wrap,.split{grid-template-columns:1fr}
  .split.flip > :first-child{order:0}
  .page-hero .visual{max-width:380px}
  .choices,.grid3{grid-template-columns:1fr 1fr}
  .steps4{grid-template-columns:1fr 1fr}
  .related{grid-template-columns:1fr}
  .offer{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .choices,.grid3,.steps4,.mini{grid-template-columns:1fr}
  .standard{flex-direction:column;align-items:flex-start}
  .page-hero .wrap{padding-block:28px 44px}
  .offer{padding:24px}
}

/* Microsoft bill visual */
.billviz{position:relative;z-index:1;display:grid;gap:14px;max-width:400px;margin:0 auto;padding:30px 0}
.bill{background:#fff;border-radius:16px;padding:20px 22px;box-shadow:var(--shadow);border:1px solid var(--line)}
.bill .t{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
.bill .row{display:flex;justify-content:space-between;font-size:.92rem;margin-top:10px;color:var(--text)}
.bill .row b{color:var(--ink);font-variant-numeric:tabular-nums}
.bill .bar{height:10px;border-radius:6px;background:var(--tile);margin-top:14px;overflow:hidden}
.bill .bar i{display:block;height:100%;background:var(--ink);border-radius:6px}
.bill.us{border:2px solid var(--red);margin-left:34px}
.bill.us .bar i{background:var(--red)}
.bill.us .save{display:inline-block;margin-top:12px;background:var(--red);color:#fff;font-weight:600;font-size:.82rem;padding:5px 12px;border-radius:20px}

/* Teams options */
.optgroup{margin-top:34px}
.optgroup > h3{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:1.25rem}
.optgroup > h3 small{font-weight:400;font-size:.95rem;color:var(--text)}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.opt{border:1.5px solid var(--red);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:10px;background:#fff;min-width:0}
.opt.fill{background:var(--red);color:#fff;border-color:var(--red)}
.opt h4{font-size:1.2rem;color:var(--red)}
.opt.fill h4{color:#fff}
.opt > p{color:var(--text)}
.opt.fill > p{color:#ffe7e4}
.opt ul{display:grid;gap:8px;margin-top:4px}
.opt li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.opt li svg{width:20px;height:20px;flex:none;stroke:var(--red);fill:none;stroke-width:2.4;margin-top:2px}
.opt.fill li svg{stroke:#fff}
.opt .need{margin-top:auto;background:var(--tile);border-radius:10px;padding:10px 14px;font-size:.9rem}
.opt.fill .need{background:rgba(255,255,255,.18)}
.opt .need b{color:var(--red)}
.opt.fill .need b{color:#fff}
.opt .suits{font-size:.88rem;color:var(--text);border-top:1px solid var(--line);padding-top:10px}
.opt.fill .suits{color:#ffe7e4;border-color:rgba(255,255,255,.3)}
.opt .suits b{color:var(--red)}
.opt.fill .suits b{color:#fff}

/* FMC included list */
.included{display:grid;gap:18px;margin-top:24px}
.included div{display:flex;gap:14px;align-items:flex-start}
.included .ic{width:38px;height:38px}.included .ic svg{width:19px;height:19px}
.included b{display:block}
.included p span{display:block;color:var(--text);font-size:.92rem;margin-top:2px}
.why3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.why3 div{display:flex;gap:12px;align-items:center;font-weight:600}
.why3 .ic{width:40px;height:40px}.why3 .ic svg{width:20px;height:20px}

@media (max-width:1060px){ .opts{grid-template-columns:1fr} .why3{grid-template-columns:1fr} }
@media (max-width:640px){ .bill.us{margin-left:0} }
.steps4.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:640px){ .steps4.three{grid-template-columns:1fr} }
.netviz{position:relative;z-index:1;background:#fff;border-radius:20px;box-shadow:var(--shadow);border:1px solid var(--line);padding:22px;max-width:360px;margin:30px auto;display:grid;gap:8px}
.netviz .nt{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:4px}
.netviz .net{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;font-weight:600}
.netviz .dot{width:18px;height:18px;border-radius:50%;border:2px solid #cfc7c5;flex:none}
.netviz .net.on{border-color:var(--red);background:var(--pink)}
.netviz .net.on .dot{border-color:var(--red);background:radial-gradient(circle,var(--red) 45%,transparent 50%)}
.netviz .net small{font-weight:400;color:var(--text);margin-left:auto;font-size:.78rem}
.netviz .nfoot{text-align:center;color:var(--red);font-weight:600;font-size:.88rem;margin-top:6px}
.split > *,.integrate > *,.connects > *{min-width:0}

/* Connectivity */
.router{position:relative;z-index:1;width:100%;max-width:440px;margin:0 auto;display:block}
.router text{font-family:var(--font);font-weight:600;font-size:14px;fill:var(--ink)}
.router .spoke{stroke:var(--red);stroke-width:2;stroke-dasharray:140;animation:draw 1s ease .2s both}
.chooser{background:var(--ink);color:#fff;border-radius:var(--r);padding:34px;margin-top:36px}
.chooser h2{font-size:clamp(1.5rem,2.8vw,2.1rem)}
.chooser > p{color:#d6d6d6;margin-top:8px}
.choose-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.choose-btns button{background:#2b2b2b;border:2px solid transparent;border-radius:14px;padding:18px;text-align:left;cursor:pointer;color:#fff;transition:border-color .2s, background .2s}
.choose-btns button b{display:block;color:var(--red);font-size:1.1rem}
.choose-btns button span{display:block;color:#cfcfcf;font-size:.9rem;margin-top:6px}
.choose-btns button:hover{background:#333}
.choose-btns button[aria-pressed="true"]{border-color:var(--red);background:#331e1c}
.choose-out{margin-top:16px;background:#fff;color:var(--ink);border-radius:14px;padding:20px 22px;display:flex;gap:16px;align-items:center}
.choose-out .ic{width:44px;height:44px}
.choose-out b{display:block;font-size:1.05rem}
.choose-out span{display:block;color:var(--text);margin-top:2px}
.conn-list{margin-top:30px;border-top:1px solid var(--line)}
.conn{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.conn h3{font-size:1.15rem}
.conn p{color:var(--text);margin-top:4px}
.conn .tech{font-size:.75rem;letter-spacing:.14em;color:var(--muted);font-weight:600;text-transform:uppercase;text-align:right}
.mix{border:1.5px solid var(--red);border-radius:var(--r);padding:30px;margin-top:36px;background:#fff;scroll-margin-top:120px}
.mix h3{font-size:1.35rem}
.mix > p{color:var(--text);margin-top:8px}
.mix .ex{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.mix .ex div{background:var(--tile);border-radius:12px;padding:16px}
.mix .ex b{display:block;color:var(--red)}
.mix .ex span{color:var(--text);font-size:.92rem}
.carriers{margin-top:28px;color:var(--text);max-width:80ch}
.carriers b{color:var(--ink)}
.scale{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.scale div{display:flex;gap:12px;align-items:center;background:#fff;border-radius:14px;padding:14px 16px;font-weight:600}
.scale .ic{width:38px;height:38px}.scale .ic svg{width:19px;height:19px}
@media (max-width:1060px){ .choose-btns,.mix .ex,.scale{grid-template-columns:1fr} }
@media (max-width:640px){ .conn{grid-template-columns:44px 1fr} .conn .tech{grid-column:2;text-align:left} .conn .ic{width:40px;height:40px} .chooser{padding:24px} }

/* Smart buildings */
.prodviz{position:relative;z-index:1;height:420px;max-width:440px;margin:0 auto}
.prodviz .panel-img{position:absolute;left:12%;top:10px;height:380px;width:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.25))}
.prodviz .cam{position:absolute;right:4%;bottom:20px;width:190px;height:190px;border-radius:50%;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;overflow:hidden}
.prodviz .cam img{width:150px}
.feat4{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.feat{background:var(--tile);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:120px;min-width:0}
.feat h3{font-size:1.3rem}
.feat p{color:var(--text)}
.feat .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.feat .chips span{background:#fff;border-radius:20px;padding:5px 12px;font-size:.82rem;font-weight:600;color:var(--text)}
.feat .chips span.b{background:var(--ink);color:#fff}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.plan{border:1.5px solid var(--red);border-radius:var(--r);padding:24px;background:#fff}
.plan h4{color:var(--red);font-size:1.2rem}
.plan p{color:var(--text);margin-top:6px}
@media (max-width:1060px){ .feat4,.plans{grid-template-columns:1fr} .prodviz{height:360px} .prodviz .panel-img{height:320px} .prodviz .cam{width:160px;height:160px} .prodviz .cam img{width:125px} }

/* AI page */
.aiviz{position:relative;z-index:1;display:grid;gap:12px;max-width:400px;margin:20px auto}
.callcard{background:#fff;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line);padding:18px 20px}
.callcard .top{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.callcard .ex{background:var(--tile);color:var(--muted);border-radius:12px;padding:2px 8px;letter-spacing:.08em}
.bubble{border-radius:14px;padding:10px 14px;font-size:.92rem;margin-top:10px;max-width:90%}
.bubble.ai{background:var(--pink);color:var(--ink)}
.bubble.cust{background:var(--ink);color:#fff;margin-left:auto}
.sent{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sent span{font-size:.8rem;font-weight:600;border-radius:20px;padding:4px 10px;background:var(--tile)}
.sent span.pos{background:#E3F6EA;color:#1C7A43}
.callcard p.sum{color:var(--text);font-size:.9rem;margin-top:10px;line-height:1.5}
.aiblock{scroll-margin-top:120px}
.aiblock + .aiblock{margin-top:88px}

/* Contact */
.cards4{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:16px;margin-top:34px;align-items:stretch}
.ccard{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column;gap:10px;min-width:0;scroll-margin-top:120px}
.ccard h2{font-size:1.4rem}
.ccard > p{color:var(--text);font-size:.95rem}
.ccard .big{font-size:1.45rem;font-weight:600;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums;margin-top:4px}
.ccard .mail{color:var(--red);font-weight:600;text-decoration:none;font-size:.9rem;overflow-wrap:anywhere}
.ccard .hours{color:var(--muted);font-size:.85rem}
.ccard .btn{margin-top:auto;align-self:flex-start}
.ccard.wa-card .btn{background:var(--wa);color:#fff}
.form{display:grid;gap:10px}
.form label{font-size:.82rem;font-weight:600;color:var(--text)}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:.95rem;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--pink)}
.form textarea{min-height:96px;resize:vertical}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form .hp{position:absolute;left:-9999px}
.form button{border:0;justify-self:start}
.form small{color:var(--muted);font-size:.78rem;line-height:1.5}
.office{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;margin-top:20px;align-items:stretch}
.office .addr{background:var(--ink);color:#fff;border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:12px}
.office .addr h3{font-size:1.3rem}
.office .addr p{color:#d6d6d6}
.office .addr a{color:#fff;font-weight:600}
.map{border-radius:var(--r);overflow:hidden;min-height:320px;background:var(--tile);position:relative;border:1px solid var(--line)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--text)}
@media (max-width:1060px){ .cards4{grid-template-columns:1fr 1fr} .cards4 .ccard:first-child{grid-column:1 / -1} .office{grid-template-columns:1fr} }
@media (max-width:640px){ .cards4{grid-template-columns:1fr} .form .two{grid-template-columns:1fr} }

/* Customer pages */
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.portal{display:flex;flex-direction:column;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;transition:border-color .2s, transform .2s, box-shadow .2s;min-width:0}
.portal:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow)}
.portal h3{font-size:1.15rem}
.portal p{color:var(--text);font-size:.93rem;flex:1}
.portal .go{color:var(--red);font-weight:600;font-size:.9rem;display:inline-flex;gap:6px;align-items:center}
.portal.feature{background:var(--ink);color:#fff;border-color:var(--ink)}
.portal.feature p{color:#d6d6d6}
.portal.feature .go{color:#fff}
.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.brochure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.bro{display:flex;flex-direction:column;gap:12px;text-decoration:none;min-width:0}
.bro .cover{background:var(--warm);border-radius:14px;padding:16px;transition:transform .25s, box-shadow .25s}
.bro .cover img{border-radius:6px;box-shadow:0 10px 24px -12px rgba(0,0,0,.35);width:100%}
.bro:hover .cover{transform:translateY(-4px);box-shadow:var(--shadow)}
.bro b{font-size:1.02rem}
.bro span{color:var(--muted);font-size:.85rem}
.bro .dl{color:var(--red);font-weight:600;font-size:.88rem;display:inline-flex;gap:6px;align-items:center}
.bro.main{grid-column:span 2;flex-direction:row;align-items:center;gap:22px;background:var(--ink);color:#fff;border-radius:var(--r);padding:22px}
.bro.main .cover{width:46%;flex:none;background:#2b2b2b}
.bro.main span{color:#cfcfcf}
.bro.main .dl{color:#fff}
@media (max-width:1060px){ .portal-grid{grid-template-columns:1fr 1fr} .app-grid,.brochure-grid{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .portal-grid,.app-grid{grid-template-columns:1fr} .bro.main{grid-column:span 2;flex-direction:column;align-items:flex-start} .bro.main .cover{width:100%} }

/* Legal and policy pages */
.doc{max-width:780px}
.doc h2{font-size:1.45rem;margin-top:40px}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:1.12rem;margin-top:26px}
.doc p{color:var(--text);margin-top:12px}
.doc ul{list-style:disc;padding-left:22px;margin-top:12px;color:var(--text);display:grid;gap:6px}
.doc li b{color:var(--ink)}
.doc a{color:var(--red);font-weight:600}
.doc .updated{color:var(--muted);font-size:.88rem}
.doc .contact-box{background:var(--warm);border-radius:14px;padding:18px 22px;margin-top:14px}
.doc .contact-box p{margin-top:4px}
.notice{border:1.5px solid var(--line);border-radius:var(--r);padding:24px 26px;background:#fff;margin-top:18px}
.notice h3{margin-top:0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.notice h3 span{color:var(--red);font-size:.85rem;letter-spacing:.06em}
.notice.latest{border-color:var(--red)}
.doclist{display:grid;gap:10px;margin-top:20px}
.legal-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.legal-nav a{border:1.5px solid var(--line);border-radius:30px;padding:7px 14px;text-decoration:none;font-weight:600;font-size:.86rem;background:#fff}
.legal-nav a:hover,.legal-nav a.on{border-color:var(--red);color:var(--red)}
.doc a.btn-red{color:#fff}.doc a.btn-line{color:var(--ink)}.doc a.btn-line:hover{color:#fff}.doc a.dlbtn{color:var(--ink)}

/* FAQs */
.faq-group{margin-top:44px;max-width:860px;scroll-margin-top:120px}
.faq-group:first-of-type{margin-top:0}
.faq-group > h2{font-size:1.4rem;display:flex;align-items:center;gap:12px;margin-bottom:14px}
.faq-group > h2 .ic{width:38px;height:38px}.faq-group > h2 .ic svg{width:19px;height:19px}
.faq{border:1.5px solid var(--line);border-radius:14px;background:#fff;margin-top:10px;transition:border-color .2s}
.faq[open]{border-color:var(--red)}
.faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 20px;font-weight:600;font-size:1.02rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:50%;width:10px;height:10px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .a{padding:0 20px 18px;color:var(--text)}
.faq .a a{color:var(--red);font-weight:600}
/* Enquiry form extras */
.form label .optional{font-weight:400;color:var(--muted,#6b6b6b);font-size:.9em}
.form .form-error{color:var(--red);font-size:.92rem;margin:0}

/* ===== 2026 restyle: bold red top band, calm white below (see Broadgate brand guidelines) ===== */
.label{color:var(--red-dark)}
.btn{border-radius:40px}
.page-hero{background:var(--red);color:#fff;border-radius:0 0 50% 50% / 0 0 72px 72px;overflow:hidden}
.page-hero .wrap{padding-block:56px 104px}
.page-hero .crumbs,.page-hero .crumbs a{color:rgba(255,255,255,.88)}
.page-hero .crumbs a:hover{color:#fff}
.page-hero .label{color:#fff;opacity:.9}
.page-hero h1{color:#fff}
.page-hero h1 .r{color:var(--ink)}
.page-hero p.lead{color:#fff}
.page-hero p.lead a{color:#fff}
.page-hero .btn-red{background:#fff;color:var(--ink)}
.page-hero .btn-red:hover{background:#fff;color:var(--red-dark)}
.page-hero .btn-line{border-color:#fff;color:#fff}
.page-hero .btn-line:hover{background:#fff;color:var(--red-dark)}
.page-hero .visual::before{background:rgba(255,255,255,.14)}
.page-hero .netviz{color:var(--ink)}
.page-hero .r{color:var(--ink)}
@media (max-width:1060px){
  .page-hero{border-radius:0 0 50% 50% / 0 0 32px 32px}
  .page-hero .wrap{padding-block:32px 72px}
}
.page-hero .legal-nav a{color:var(--ink);border-color:#fff}
.page-hero .legal-nav a:hover,.page-hero .legal-nav a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.topbar .sup{color:#fff;font-weight:600}
@media (max-width:760px){.topbar .sup{display:none}}

/* ===== Homepage ===== */
.btn-line-white{border-color:#fff;color:#fff;background:transparent}
.btn-line-white:hover{background:#fff;color:var(--red-dark);transform:translateY(-2px)}
.hp-hero{background:var(--red);color:#fff;border-radius:0 0 50% 50% / 0 0 80px 80px}
.hp-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-block:84px 128px}
.hp-hero .label{color:#fff;opacity:.9}
.hp-hero h1{font-size:clamp(2.5rem,5vw,4.3rem);line-height:1.05;margin-top:16px;color:#fff}
.hp-hero h1 span{display:block;color:var(--ink)}
.hp-hero .lead{font-size:1.2rem;margin-top:22px;max-width:36ch}
.hp-hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hp-hero .btn-white{color:var(--ink)}
.hp-hero .btn-white:hover{color:var(--red-dark)}
.hp-account{background:#fff;color:var(--ink);border-radius:22px;padding:28px;width:100%;max-width:440px;justify-self:center;box-shadow:0 30px 60px -30px rgba(40,10,5,.55)}
.hp-account .t{font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hp-account ul{display:grid;gap:10px;margin-top:16px}
.hp-account li{display:flex;align-items:center;gap:12px;border:1.5px solid var(--red);background:var(--pink);border-radius:12px;padding:11px 14px;font-weight:600}
.hp-account li .ico{color:var(--red);stroke-width:2.6}
.hp-account .three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-weight:600;font-size:.88rem;line-height:1.3;text-align:center}
.hp-stats{position:relative;z-index:2;margin-top:-56px;background:#fff;border-radius:22px;box-shadow:0 24px 50px -28px rgba(60,30,25,.4);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.hp-stats > div{padding:28px 32px}
.hp-stats > div + div{border-left:1px solid var(--line)}
.hp-stats b{display:block;font-size:clamp(1.9rem,4vw,3rem);font-weight:600;color:var(--red-dark);line-height:1;font-variant-numeric:tabular-nums}
.hp-stats span{display:block;color:var(--text);margin-top:8px}
.hp-networks .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-block:60px 0}
.hp-networks .label{color:var(--muted);max-width:22ch;line-height:1.6}
.hp-networks .names{display:flex;flex-wrap:wrap;gap:40px;font-size:1.5rem;font-weight:600;color:#9A9291}
.hp-head{text-align:center;max-width:760px;margin:0 auto}
.hp-head h2,.hp-h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;margin-top:12px}
.hp-h2{max-width:20ch}
.hp-head p{color:var(--text);font-size:1.15rem;margin-top:16px}
.hp-solutions{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;margin-top:56px}
.hp-list li + li{border-top:1px solid var(--line)}
.hp-list a{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:16px 4px;text-decoration:none}
.hp-list b{font-size:1.25rem;font-weight:600}
.hp-list span{grid-column:1;color:var(--text);font-size:.95rem;line-height:1.5}
.hp-list .ico{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--red)}
.hp-list a:hover b{color:var(--red-dark)}
.hp-shot{background:var(--warm);border-radius:22px;padding:14px}
.hp-shot img{border-radius:14px;box-shadow:0 30px 60px -30px rgba(60,30,25,.45)}
.hp-dark{background:var(--ink);color:#fff;border-radius:28px;padding:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:40px}
.hp-dark .copy{flex:1 1 420px;min-width:0}
.hp-dark h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.12}
.hp-dark h2 span{color:var(--red)}
.hp-dark p{margin-top:18px;font-size:1.25rem;line-height:1.55;max-width:46ch}
.hp-dark img{width:220px;flex:none;margin-inline:auto}
.hp-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hp-tags a{border:1.5px solid var(--line);border-radius:40px;padding:11px 22px;text-decoration:none;font-weight:500}
.hp-tags a:hover{border-color:var(--red);color:var(--red-dark)}
.hp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.hp-steps > div{background:#fff;border-radius:22px;padding:32px}
.hp-steps .n{width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem}
.hp-steps h3{font-size:1.35rem;margin-top:18px}
.hp-steps p{color:var(--text);margin-top:8px}
.hp-cta{background:var(--red);color:#fff;border-radius:28px;padding:64px 56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.hp-cta h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.1}
.hp-cta p{margin-top:14px;font-size:1.15rem}
.hp-cta .ctas{display:flex;flex-wrap:wrap;gap:12px}
.hp-cta .btn-white{color:var(--ink)}
@media (max-width:1060px){
  .hp-hero{border-radius:0 0 50% 50% / 0 0 36px 36px}
  .hp-hero .wrap{grid-template-columns:1fr;gap:36px;padding-block:44px 92px}
  .hp-solutions{grid-template-columns:1fr}
  .hp-steps{grid-template-columns:1fr}
  .hp-dark,.hp-cta{padding:36px 24px}
}
@media (max-width:640px){
  .hp-stats{margin-top:-40px}
  .hp-stats > div{padding:18px 10px;text-align:center}
  .hp-stats span{font-size:.8rem;line-height:1.35}
  .hp-networks .names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;font-size:1.15rem;width:100%}
  .hp-account{padding:22px}
}
.hp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.hp-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;background:var(--tile);border:1.5px solid transparent;border-radius:18px;padding:24px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.hp-card:hover{border-color:var(--red);background:#fff;transform:translateY(-2px)}
.hp-card .ic{width:44px;height:44px}
.hp-card .txt b{display:block;font-size:1.15rem;font-weight:600;line-height:1.25}
.hp-card .txt span{display:block;color:var(--text);font-size:.95rem;line-height:1.5;margin-top:6px}
.hp-card > .ico{color:var(--red);margin-top:4px}
@media (max-width:1060px){.hp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hp-cards{grid-template-columns:1fr}.hp-card{padding:20px}}
@media (min-width:1061px){
  .nav > li:has(> .panel-sm){position:relative}
  .panel.panel-sm{left:auto;right:-24px;top:calc(100% + 14px);width:var(--w);border:1px solid var(--line);border-radius:0 0 18px 18px}
  .panel.panel-sm .wrap{padding:22px 26px}
}
.hp-account li{padding:0}
.hp-account li a{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;text-decoration:none;color:inherit;border-radius:11px}
.hp-account li a span{flex:1}
.hp-account li a .go{color:var(--red);transition:transform .2s}
.hp-account li:hover{background:#fff}
.hp-account li a:hover .go{transform:translateX(3px)}
/* Contact page: form left, compact contact boxes stacked on the right */
.contact-layout{grid-template-columns:1.35fr 1fr;align-items:start}
.contact-layout .side{display:flex;flex-direction:column;gap:16px;min-width:0}
.contact-layout .side .ccard{display:grid;grid-template-columns:46px 1fr;column-gap:16px;row-gap:6px;align-items:start}
.contact-layout .side .ccard .ic{grid-row:1 / span 6}
.contact-layout .side .ccard > *:not(.ic){grid-column:2}
.contact-layout .side .ccard .big{margin-top:2px}
.contact-layout .side .ccard .btn{margin-top:10px;justify-self:start}
@media (max-width:1060px){.contact-layout{grid-template-columns:1fr}.cards4.contact-layout .ccard:first-child{grid-column:auto}}
@media (max-width:640px){.contact-layout .side .ccard{grid-template-columns:1fr}.contact-layout .side .ccard .ic{grid-row:auto}.contact-layout .side .ccard > *:not(.ic){grid-column:1}}
/* Homepage hero: animated GoYap call (iPhone to desktop) */
.gy-anim{--white:#fff;--gy-purple:#5B1BA6;--gy-purple-2:#6A1BB5;--gy-lilac:#ECDDFC;--gy-active:#EFE3FB;--gy-line:#E9DDF6;--gy-green:#139A3B;--gy-bar:#14A04A;--gy-leave:#AE1F1F;--gy-blue:#1E9BF0;--ios-bg:#363435;--ios-btn:#4F4D4F;--ios-red:#E5534B;--ios-green:#30D158;--sys:-apple-system,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;width:100%;min-width:0}
.gy-anim *{box-sizing:border-box}
.gy-anim .gy-card{background:linear-gradient(150deg,#FFF6F4 0%,#FDE9E7 55%,#F7D2CD 100%);border-radius:32px;padding:6px;box-shadow:0 30px 60px -30px rgba(80,10,5,.55)}
.gy-anim .gy-card-in{border-radius:27px;border:1px solid rgba(255,255,255,.85);overflow:hidden;position:relative}
.gy-anim .gy-stage-box{position:relative;width:100%}
.gy-anim .gy-stage{position:absolute;left:0;top:0;width:1000px;height:680px;transform-origin:0 0}
.gy-anim .gy-laptop{position:absolute;left:296px;top:48px;width:690px}
.gy-anim .gy-lid{background:#1d1d1f;border-radius:22px 22px 6px 6px;padding:14px 14px 18px}
.gy-anim .gy-display{position:relative;height:430px;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#d9d5e6,#efe9f3);font-family:var(--sys);color:#333}
.gy-anim .gy-base{height:20px;margin:0 -40px;background:linear-gradient(#e2e0df,#c9c6c4);border-radius:0 0 22px 22px;position:relative}
.gy-anim .gy-base:after{content:"";position:absolute;left:50%;top:0;width:110px;height:7px;margin-left:-55px;background:#b5b1af;border-radius:0 0 8px 8px}
.gy-anim .gy-win{position:absolute;background:#fafafa;border-radius:9px;overflow:hidden;box-shadow:0 14px 34px -12px rgba(30,0,60,.45),0 0 0 .5px rgba(0,0,0,.18)}
.gy-anim .gy-tbar{height:24px;background:#ececec;border-bottom:1px solid #d9d9d9;display:flex;align-items:center;padding:0 9px;font-size:11px;font-weight:600;color:#3b3b3b;position:relative}
.gy-anim .gy-tbar .gy-lights{display:flex;gap:6px}
.gy-anim .gy-tbar .gy-lights i{width:10px;height:10px;border-radius:50%;display:block}
.gy-anim .gy-tbar .gy-lights i:nth-child(1){background:#ff5f57}
.gy-anim .gy-tbar .gy-lights i:nth-child(2){background:#febc2e}
.gy-anim .gy-tbar .gy-lights i:nth-child(3){background:#28c840}
.gy-anim .gy-tbar .gy-t{position:absolute;left:52px;right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;pointer-events:none}
.gy-anim .gy-main-win{left:44px;top:12px;width:500px;height:406px}
.gy-anim .gy-app{display:grid;grid-template-columns:96px 1fr;height:calc(100% - 24px)}
.gy-anim .gy-nav{background:#fafafa;border-right:1px solid var(--gy-line);display:grid;align-content:start}
.gy-anim .gy-nav a{display:grid;justify-items:center;gap:3px;padding:8px 4px;font-size:9.5px;font-weight:600;color:var(--gy-purple);text-align:center;line-height:1.15;border-left:3px solid transparent}
.gy-anim .gy-nav a.gy-on{background:var(--gy-active);border-left-color:var(--gy-purple-2)}
.gy-anim .gy-nav svg{width:20px;height:20px;fill:none;stroke:var(--gy-purple);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gy-anim .gy-nav svg .gy-f{fill:var(--gy-purple);stroke:none}
.gy-anim .gy-pane{min-width:0;display:flex;flex-direction:column}
.gy-anim .gy-phead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--gy-line)}
.gy-anim .gy-phead h3{margin:0;font-size:21px;font-weight:500;color:var(--gy-purple)}
.gy-anim .gy-mbtn{border:1px solid var(--gy-purple);border-radius:4px;font-size:10px;padding:6px 10px;color:#444}
.gy-anim .gy-search{margin:10px 16px 0;display:flex;align-items:center;background:var(--gy-lilac);border-radius:4px;height:24px;font-size:10.5px;color:#666}
.gy-anim .gy-search b{width:24px;height:24px;border-radius:4px;background:var(--gy-purple-2);display:grid;place-items:center;margin-right:9px}
.gy-anim .gy-search b svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2}
.gy-anim .gy-tabs{display:flex;gap:13px;white-space:nowrap;overflow:hidden;padding:10px 16px 0;font-size:10px;color:#555;border-bottom:1px solid var(--gy-line)}
.gy-anim .gy-tabs span{padding-bottom:7px}
.gy-anim .gy-tabs .gy-on{color:var(--gy-purple);border-bottom:2px solid var(--gy-purple-2)}
.gy-anim .gy-rows{overflow:hidden}
.gy-anim .gy-row{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid #eee;height:36px}
.gy-anim .gy-av{position:relative;width:26px;height:26px;border-radius:50%;background:var(--gy-blue);color:#fff;font-size:11px;display:grid;place-items:center;flex:none}
.gy-anim .gy-av:after{content:"";position:absolute;right:-3px;top:-3px;width:10px;height:10px;border-radius:50%;background:#20b14a;border:1.5px solid #fff;box-sizing:border-box}
.gy-anim .gy-who{font-size:10.5px;font-weight:600;color:#444;line-height:1.25}
.gy-anim .gy-who small{display:block;font-weight:400;font-size:9.5px;color:#666}
.gy-anim .gy-who small.gy-busy{color:#e8695e}
.gy-anim .gy-acts{margin-left:auto;display:flex;gap:12px}
.gy-anim .gy-acts svg{width:13px;height:13px}
.gy-anim .gy-me{background:#fbf7ff}
.gy-anim .gy-call-win{left:414px;top:30px;width:236px;height:380px;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .45s ease,transform .45s ease}
.gy-anim .gy-call-win.gy-on{opacity:1;transform:none}
.gy-anim .gy-cw-bar{height:20px;color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center;background:var(--gy-bar)}
.gy-anim .gy-cw-bar.gy-ring{background:var(--gy-purple-2)}
.gy-anim .gy-cw-top{display:flex;align-items:center;gap:0;height:34px;border-bottom:1px solid var(--gy-line);padding:0 0 0 10px}
.gy-anim .gy-cw-top .gy-burger{width:14px;height:10px;border-top:2px solid var(--gy-purple);border-bottom:2px solid var(--gy-purple);position:relative;margin-right:auto}
.gy-anim .gy-cw-top .gy-burger:after{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid var(--gy-purple)}
.gy-anim .gy-cw-top span{width:34px;height:34px;display:grid;place-items:center;border-left:1px solid var(--gy-line)}
.gy-anim .gy-cw-top svg{width:14px;height:14px;fill:var(--gy-purple)}
.gy-anim .gy-cw-me{width:20px;height:20px;border-radius:50%;background:#7b8aa0;position:relative}
.gy-anim .gy-cw-me:after{content:"";position:absolute;right:-4px;top:-3px;width:9px;height:9px;border-radius:50%;background:#20b14a;border:1.5px solid #fff}
.gy-anim .gy-cw-crumbs{font-size:9.5px;font-weight:600;color:#333;padding:8px 10px 0;display:flex;gap:10px}
.gy-anim .gy-cw-head{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 9px;border-bottom:1px solid var(--gy-line)}
.gy-anim .gy-cw-head h4{margin:0;font-size:14px;font-weight:500;color:var(--gy-purple)}
.gy-anim .gy-cw-head i{font-style:normal;font-size:9px;border:1px solid #ddd;border-radius:4px;padding:4px 10px;color:#555}
.gy-anim .gy-cw-body{padding:10px 8px;text-align:center}
.gy-anim .gy-cw-av{width:36px;height:36px;border-radius:50%;background:#fff;margin:0 auto;display:grid;place-items:center;box-shadow:0 0 0 1px #eee}
.gy-anim .gy-cw-av svg{width:18px;height:18px;fill:#6f7a86}
.gy-anim .gy-cw-num{font-size:11.5px;font-weight:600;color:#555;margin-top:5px}
.gy-anim .gy-cw-time{font-size:10.5px;font-weight:600;color:var(--gy-green);font-variant-numeric:tabular-nums}
.gy-anim .gy-cw-meta{text-align:left;font-size:9.5px;color:#444;line-height:1.45;margin-top:8px}
.gy-anim .gy-cw-meta .gy-dev{display:inline-flex;align-items:center;gap:4px;padding:0 3px;border-radius:3px;transition:background .5s ease}
.gy-anim .gy-cw-meta .gy-dev.gy-flash{background:#fff2b8}
.gy-anim .gy-cw-meta .gy-rec:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;border:1.5px solid #d33;box-shadow:inset 0 0 0 1.5px #fff;background:#d33;margin-right:4px;vertical-align:-1px}
.gy-anim .gy-cw-btns{display:grid;gap:7px;margin-top:10px}
.gy-anim .gy-cw-btns span{height:24px;border:1px solid var(--gy-purple-2);border-radius:4px;display:grid;place-items:center;font-size:10px;color:#444}
.gy-anim .gy-cw-btns .gy-leave{background:var(--gy-leave);border-color:var(--gy-leave);color:#fff;font-weight:600}
.gy-anim .gy-cw-btns .gy-ans{background:var(--gy-bar);border-color:var(--gy-bar);color:#fff;font-weight:600}
.gy-anim .gy-cw-btns .gy-dec{background:var(--gy-leave);border-color:var(--gy-leave);color:#fff;font-weight:600}
.gy-anim .gy-cw-ringing,.gy-anim .gy-cw-live{display:none}
.gy-anim .gy-call-win.gy-ringing .gy-cw-ringing{display:block}
.gy-anim .gy-call-win.gy-live .gy-cw-live{display:block}
.gy-anim .gy-phone{position:absolute;left:36px;top:70px;width:290px;height:600px;background:#0d0d0e;border-radius:52px;padding:10px;box-shadow:0 0 0 2px #3a3a3c,0 28px 50px -20px rgba(0,0,0,.6);transition:transform .35s ease}
.gy-anim .gy-phone.gy-buzz{animation:gy-k-buzz .5s ease}
.gy-anim .gy-screen{position:relative;width:100%;height:100%;border-radius:43px;overflow:hidden;background:var(--ios-bg);font-family:var(--sys);color:#fff}
.gy-anim .gy-island{position:absolute;top:10px;left:50%;width:92px;height:27px;margin-left:-46px;background:#000;border-radius:20px;z-index:20}
.gy-anim .gy-sbar{position:absolute;top:13px;left:26px;right:22px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;z-index:19}
.gy-anim .gy-sbar .gy-r{display:flex;gap:5px;align-items:center}
.gy-anim .gy-sbar .gy-bat{font-size:9px;background:#fff;color:#000;border-radius:4px;padding:1px 4px;font-weight:700}
.gy-anim .gy-sc{position:absolute;inset:0;opacity:0;transition:opacity .45s ease}
.gy-anim .gy-sc.gy-on{opacity:1}
.gy-anim .gy-lock{background:linear-gradient(160deg,#3c2b54 0%,#7a3a4b 55%,#e0745f 100%)}
.gy-anim .gy-lock .gy-lt{position:absolute;top:70px;width:100%;text-align:center}
.gy-anim .gy-lock .gy-d{font-size:14px;font-weight:600;opacity:.9}
.gy-anim .gy-lock .gy-clk{font-size:72px;font-weight:600;letter-spacing:-.02em;line-height:1.05}
.gy-anim .gy-ck{background:linear-gradient(180deg,#4b4650 0%,#2c2a30 55%,#1c1b1f 100%)}
.gy-anim .gy-ck .gy-top{position:absolute;top:78px;width:100%;text-align:center;padding:0 18px}
.gy-anim .gy-ck .gy-app{font-size:13px;color:rgba(255,255,255,.7);display:flex;justify-content:center;align-items:center;gap:6px}
.gy-anim .gy-ck .gy-app i{width:16px;height:16px;border-radius:4px;background:var(--red);display:grid;place-items:center}
.gy-anim .gy-ck .gy-app i svg{width:10px;height:10px;fill:#fff}
.gy-anim .gy-ck .gy-name{font-size:30px;font-weight:400;margin-top:6px;letter-spacing:-.01em}
.gy-anim .gy-ck .gy-sub{font-size:13px;color:rgba(255,255,255,.65);margin-top:4px}
.gy-anim .gy-ck .gy-mini{position:absolute;bottom:150px;left:0;right:0;display:flex;justify-content:space-around;padding:0 40px;font-size:11px;color:rgba(255,255,255,.85)}
.gy-anim .gy-ck .gy-mini div{display:grid;justify-items:center;gap:5px}
.gy-anim .gy-ck .gy-mini svg{width:20px;height:20px;fill:#fff}
.gy-anim .gy-ck .gy-big{position:absolute;bottom:58px;left:0;right:0;display:flex;justify-content:space-around;padding:0 30px}
.gy-anim .gy-ck .gy-big div{display:grid;justify-items:center;gap:7px;font-size:12px}
.gy-anim .gy-ck .gy-big span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center}
.gy-anim .gy-ck .gy-big svg{width:26px;height:26px;fill:#fff}
.gy-anim .gy-ck .gy-dec{background:#EB4E3D}
.gy-anim .gy-ck .gy-acc{background:var(--ios-green)}
.gy-anim .gy-ck .gy-acc.gy-pulse{animation:gy-k-accpulse 1.1s ease-in-out infinite}
.gy-anim .gy-ic .gy-pin{position:absolute;top:56px;left:22px;width:18px;height:22px;fill:#fff}
.gy-anim .gy-ic .gy-tm{position:absolute;top:52px;right:20px;text-align:right}
.gy-anim .gy-ic .gy-tm b{display:block;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.gy-anim .gy-ic .gy-tm span{font-size:15px;color:var(--ios-red);display:inline-flex;align-items:center;gap:5px}
.gy-anim .gy-ic .gy-tm span:before{content:"";width:11px;height:11px;border-radius:50%;border:2px solid var(--ios-red);box-shadow:inset 0 0 0 2px var(--ios-bg);background:var(--ios-red)}
.gy-anim .gy-ic .gy-ava{position:absolute;top:118px;left:50%;width:62px;height:62px;margin-left:-31px;border-radius:50%;background:#8E8D92}
.gy-anim .gy-ic .gy-nm{position:absolute;top:190px;width:100%;text-align:center;font-size:21px;font-weight:700}
.gy-anim .gy-ic .gy-nm small{display:block;font-size:12px;font-weight:500;color:rgba(255,255,255,.65);margin-top:2px}
.gy-anim .gy-seg{position:absolute;top:248px;left:34px;right:34px;height:26px;border-radius:13px;background:#464446;display:grid;grid-template-columns:1fr 1fr;padding:2px}
.gy-anim .gy-seg .gy-knob{position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:22px;border-radius:11px;background:#77767A;transition:transform .45s cubic-bezier(.3,.7,.3,1)}
.gy-anim .gy-seg.gy-dev .gy-knob{transform:translateX(100%)}
.gy-anim .gy-seg span{position:relative;display:grid;place-items:center;font-size:11px;font-weight:500}
.gy-anim .gy-seg svg{width:18px;height:14px;fill:none;stroke:#fff;stroke-width:1.4}
.gy-anim .gy-tap{position:absolute;top:248px;left:174px;width:34px;height:34px;margin:-4px 0 0 -4px;border-radius:50%;background:rgba(255,255,255,.55);opacity:0;transform:scale(.4);pointer-events:none;z-index:15}
.gy-anim .gy-tap.gy-go{animation:gy-k-tap .7s ease}
.gy-anim .gy-toast{position:absolute;top:296px;left:24px;right:24px;background:rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.35;text-align:center;opacity:0;transform:translateY(6px);transition:all .4s ease}
.gy-anim .gy-toast.gy-on{opacity:1;transform:none}
.gy-anim .gy-grid{position:absolute;left:18px;right:18px;bottom:40px;display:grid;grid-template-columns:repeat(3,1fr);row-gap:16px}
.gy-anim .gy-grid div{display:grid;justify-items:center;gap:7px;font-size:15px}
.gy-anim .gy-grid span{width:60px;height:60px;border-radius:50%;background:var(--ios-btn);display:grid;place-items:center}
.gy-anim .gy-grid svg{width:24px;height:24px;fill:#fff}
.gy-anim .gy-grid .gy-hang span{background:var(--ios-red)}
.gy-anim .gy-caption{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.gy-anim .gy-step{font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);color:var(--white);transition:background .3s ease,color .3s ease}
.gy-anim .gy-step.gy-on{background:var(--white);color:var(--red)}
@keyframes gy-k-buzz{20%{transform:rotate(-1.6deg)}40%{transform:rotate(1.6deg)}60%{transform:rotate(-1deg)}80%{transform:rotate(1deg)}}
@keyframes gy-k-accpulse{50%{box-shadow:0 0 0 9px rgba(48,209,88,.25)}}
@keyframes gy-k-tap{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}
@media (prefers-reduced-motion: reduce){.gy-anim .gy-sc,.gy-anim .gy-call-win,.gy-anim .gy-toast,.gy-anim .gy-seg .gy-knob{transition:none}
.gy-anim .gy-phone.gy-buzz,.gy-anim .gy-ck .gy-acc.gy-pulse,.gy-anim .gy-tap.gy-go{animation:none}}
/* Homepage: animation in the hero, account box moved just below it */
.hp-hero .wrap{grid-template-columns:1fr 1.2fr;gap:44px}
.hp-hero .gy-anim .gy-step{font-size:.8rem}
.hp-account.hp-account-wide{max-width:none;position:relative;z-index:2;margin-top:-64px}
.hp-account-wide ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.hp-stats.hp-stats-slim{margin-top:20px;box-shadow:none;border:1px solid var(--line)}
.hp-stats-slim > div{padding:20px 28px}
.hp-stats-slim b{font-size:clamp(1.6rem,3vw,2.3rem)}
@media (max-width:1060px){.hp-hero .wrap{grid-template-columns:1fr}.hp-account-wide ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hp-account.hp-account-wide{margin-top:-48px}.hp-account-wide ul{grid-template-columns:1fr}.hp-stats.hp-stats-slim{margin-top:16px}.hp-stats-slim > div{padding:16px 8px}}
/* AI and integration page: rebuilt GoYap Call Coaching screens (made-up data) */
.gc-wrap{--red:#EF4437;--red-dark:#C8281E;--panel:#fff;--paper:#F4F4F4;--line:#E6E3E2;--pink:#FDE9E7;--dark:#262626;--green:#1F9D55;--gfont:"Outfit",system-ui,sans-serif;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;margin-top:56px}
.gc-wrap *{box-sizing:border-box}
.gc-wrap .gc-box{position:relative;width:100%;overflow:hidden;border-radius:14px;box-shadow:0 18px 40px -20px rgba(0,0,0,.35)}
.gc-wrap .gc-stage{position:absolute;left:0;top:0;width:1140px;height:770px;transform-origin:0 0;background:var(--paper);font-family:var(--gfont);color:#222;padding:22px 30px}
.gc-wrap .gc-top{display:flex;align-items:center;gap:16px}
.gc-wrap .gc-logo{background:#fff;border-radius:8px;padding:6px 10px;display:flex;align-items:center;gap:5px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.gc-wrap .gc-logo i{width:20px;height:20px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.gc-wrap .gc-logo i svg{width:11px;height:11px;fill:#fff}
.gc-wrap .gc-logo b{font-size:17px;font-weight:600;letter-spacing:-.02em;color:#222}
.gc-wrap .gc-top h3{margin:0;font-size:20px;font-weight:600;padding-left:16px;border-left:1px solid #ddd}
.gc-wrap .gc-top .gc-who{margin-left:auto;display:flex;gap:12px;align-items:center;font-size:12px}
.gc-wrap .gc-top .gc-chip{border:1px solid #ddd;border-radius:999px;padding:3px 9px;color:#666;font-size:11px}
.gc-wrap .gc-top .gc-lk{color:var(--red-dark);font-weight:600}
.gc-wrap .gc-tabs{display:flex;gap:30px;margin-top:16px;border-bottom:1px solid #ddd;font-size:14px;font-weight:500;color:#333}
.gc-wrap .gc-tabs span{padding:0 4px 10px}
.gc-wrap .gc-tabs .gc-on{border-bottom:3px solid var(--red);font-weight:600}
.gc-wrap .gc-filt{background:#fff;border-radius:12px;margin-top:16px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.gc-wrap .gc-seg{display:flex;background:#f1f1f1;border-radius:999px;padding:3px;font-size:12px;font-weight:600}
.gc-wrap .gc-seg span{padding:6px 14px;border-radius:999px;color:#444}
.gc-wrap .gc-seg .gc-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.gc-wrap .gc-filt .gc-sel{border:1px solid #e3e3e3;background:#f7f7f7;border-radius:6px;padding:6px 10px;font-size:12px;color:#444}
.gc-wrap .gc-filt .gc-upd{margin-left:auto;text-align:right;font-size:11px;color:#555;line-height:1.4}
.gc-wrap .gc-filt .gc-upd b{display:block;font-size:13px;color:#222}
.gc-wrap .gc-filt .gc-upd i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:5px;font-style:normal}
.gc-wrap .gc-lab{font-size:11px;font-weight:600;letter-spacing:.1em;margin:16px 0 8px;color:#333}
.gc-wrap .gc-lab span{font-weight:400;letter-spacing:0;color:#777;margin-left:8px}
.gc-wrap .gc-goals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gc-wrap .gc-goal{background:var(--dark);color:#fff;border-radius:12px;padding:14px 16px;position:relative;transition:transform .35s ease,box-shadow .35s ease}
.gc-wrap .gc-goal.gc-hi{transform:translateY(-4px);box-shadow:0 14px 26px -12px rgba(0,0,0,.6)}
.gc-wrap .gc-goal .gc-ic{width:28px;height:28px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.gc-wrap .gc-goal .gc-ic svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2}
.gc-wrap .gc-goal .gc-v{position:absolute;right:14px;top:14px;font-size:11px;opacity:.75}
.gc-wrap .gc-goal b{display:block;font-family:var(--mono);font-size:26px;margin-top:8px;font-variant-numeric:tabular-nums}
.gc-wrap .gc-goal strong{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-top:2px}
.gc-wrap .gc-goal small{display:block;font-size:11px;opacity:.7;margin-top:4px}
.gc-wrap .gc-acts{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.gc-wrap .gc-act{background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.gc-wrap .gc-act b{display:block;font-family:var(--mono);font-size:22px;font-variant-numeric:tabular-nums}
.gc-wrap .gc-act span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:4px;line-height:1.3}
.gc-wrap .gc-act small{display:block;font-size:10px;color:#888;margin-top:2px}
.gc-wrap .gc-per{background:#fff;border-radius:12px;margin-top:14px;padding:14px 16px 6px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.gc-wrap .gc-per h4{margin:0;font-size:15px}
.gc-wrap .gc-per p{margin:2px 0 8px;font-size:11px;color:#666}
.gc-wrap .gc-th,.gc-wrap .gc-tr{display:grid;grid-template-columns:1.6fr .6fr 1fr 1fr .6fr .6fr .7fr 1.25fr 1.25fr;gap:8px;align-items:center}
.gc-wrap .gc-th{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#555;padding:6px 0;border-bottom:1px solid #eee}
.gc-wrap .gc-tr{padding:9px 0;border-bottom:1px solid #f0f0f0;font-size:12px;transition:background .4s ease}
.gc-wrap .gc-tr.gc-hi{background:#FFF4F2}
.gc-wrap .gc-tr:last-child{border-bottom:0}
.gc-wrap .gc-pp{display:flex;align-items:center;gap:9px}
.gc-wrap .gc-pp i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:600;font-style:normal;flex:none}
.gc-wrap .gc-pp b{display:block;font-size:12.5px}
.gc-wrap .gc-pp small{display:block;font-size:10px;color:#777}
.gc-wrap .gc-num{font-family:var(--mono);text-align:right;font-size:12px}
.gc-wrap .gc-sc{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.gc-wrap .gc-sc em{font-style:normal;font-family:var(--mono);background:var(--pink);color:var(--red-dark);border-radius:4px;padding:1px 5px;font-size:12px}
.gc-wrap .gc-bar{width:54px;height:4px;border-radius:2px;background:#eee;position:relative;overflow:hidden}
.gc-wrap .gc-bar u{position:absolute;left:0;top:0;bottom:0;background:var(--red-dark);width:0;transition:width 1s ease}
.gc-wrap .gc-must{justify-self:end;width:22px;height:22px;border-radius:50%;background:var(--pink);color:var(--red-dark);display:grid;place-items:center;font-size:11px;font-family:var(--mono)}
.gc-wrap .gc-callk{display:flex;gap:6px;align-items:baseline;font-size:11.5px}
.gc-wrap .gc-callk em{font-style:normal;font-family:var(--mono);background:var(--pink);color:var(--red-dark);border-radius:4px;padding:1px 5px}
.gc-wrap .gc-callk a{color:var(--red-dark);text-decoration:underline;font-weight:600}
.gc-wrap .gc-views{position:relative}
.gc-wrap .gc-view{position:absolute;left:0;right:0;top:0;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.gc-wrap .gc-view.gc-on{opacity:1;transform:none;position:relative}
.gc-wrap .gc-rep{background:#fff;border-radius:12px;margin-top:16px;padding:18px 24px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.gc-wrap .gc-rh{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px solid var(--red);padding-bottom:10px}
.gc-wrap .gc-kick{font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--red-dark)}
.gc-wrap .gc-rh h5{margin:4px 0 2px;font-size:22px}
.gc-wrap .gc-rh small{font-size:11px;color:#666}
.gc-wrap .gc-score{text-align:right}
.gc-wrap .gc-score b{font-family:var(--mono);font-size:30px;display:block}
.gc-wrap .gc-score small{font-size:11px;color:#555}
.gc-wrap .gc-rgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;margin-top:12px}
.gc-wrap .gc-rgrid.gc-two{grid-template-columns:1fr 1.15fr;border-top:1px solid #eee;padding-top:8px}
.gc-wrap .gc-rl{font-size:11px;font-weight:600;letter-spacing:.08em;margin-bottom:6px}
.gc-wrap .gc-rl.gc-ok{color:#1d7a3f}
.gc-wrap .gc-rl.gc-bad{color:var(--red-dark)}
.gc-wrap .gc-nt{width:100%;border-collapse:collapse;font-size:11.5px}
.gc-wrap .gc-nt th{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;text-align:right;color:#555;font-weight:600;padding:2px 6px;border-bottom:1px solid #ddd}
.gc-wrap .gc-nt td{padding:3px 6px;border-bottom:1px solid #f0f0f0;text-align:right;font-family:var(--mono)}
.gc-wrap .gc-nt td:first-child{text-align:left;font-family:var(--gfont)}
.gc-wrap .gc-nt td.gc-g{color:#1d7a3f;font-weight:600}
.gc-wrap .gc-nt td.gc-r{color:var(--red-dark);font-weight:600}
.gc-wrap .gc-chart{height:178px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid #ccc;padding:0 6px}
.gc-wrap .gc-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;font-size:9.5px;font-family:var(--mono);color:#444}
.gc-wrap .gc-col .gc-na{width:100%;background:#d4d4d4}
.gc-wrap .gc-col .gc-an{width:100%;background:var(--red);transition:height .9s ease}
.gc-wrap .gc-col .gc-na{transition:height .9s ease}
.gc-wrap .gc-col span{margin-bottom:2px}
.gc-wrap .gc-hrs{display:flex;gap:10px;padding:3px 6px 0}
.gc-wrap .gc-hrs span{flex:1;text-align:center;font-size:9.5px;color:#666;font-family:var(--mono)}
.gc-wrap .gc-leg{font-size:10.5px;color:#555;margin-top:6px;display:flex;align-items:center;gap:6px}
.gc-wrap .gc-leg i{width:9px;height:9px;background:var(--red);display:inline-block}
.gc-wrap .gc-leg i.gc-na{background:#d4d4d4;margin-left:8px}
.gc-wrap .gc-dw{font-size:12px;line-height:1.45;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}
.gc-wrap .gc-dw small{color:#888}
.gc-wrap .gc-cb{font-size:12px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #f0f0f0}
.gc-wrap .gc-cb small{color:#888;font-weight:400}
.gc-wrap .gc-cb p{margin:2px 0;line-height:1.4}
.gc-wrap .gc-said{color:var(--red-dark)}
.gc-wrap .gc-try{color:#1d7a3f}
@media (prefers-reduced-motion: reduce){.gc-wrap .gc-goal,.gc-wrap .gc-tr,.gc-wrap .gc-bar u,.gc-wrap .gc-view{transition:none}}
.gc-wrap .gc-frame{background:linear-gradient(150deg,#FFF6F4,#FDE9E7 60%,#F7D2CD);border-radius:28px;padding:18px;box-shadow:0 30px 60px -34px rgba(80,10,5,.5)}
.gc-wrap .gc-cap{color:var(--muted);font-size:.92rem;margin-top:14px;text-align:center}
@media (max-width:640px){.gc-wrap .gc-frame{padding:8px;border-radius:18px}}
/* Phone systems page: phones we supply, screens rotate */
.ph-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.ph-head p{color:var(--text);font-size:1.06rem;line-height:1.6}
.ph-head p b{color:var(--ink)}
.ph-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:36px}
.ph-tile{background:var(--tile);border-radius:24px;padding:28px 28px 22px;display:flex;flex-direction:column;min-width:0}
.ph-img{position:relative;aspect-ratio:var(--ar);width:100%;max-width:var(--mw);margin:0 auto}
.ph-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .9s ease}
.ph-img img.on{opacity:1}
.ph-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:auto;padding-top:18px;flex-wrap:wrap}
.ph-meta b{display:block;font-size:1.15rem;font-weight:600}
.ph-meta small{display:block;color:var(--muted);font-size:.9rem;margin-top:3px}
.ph-dots{display:flex;gap:6px;flex-wrap:wrap}
.ph-dots span{font-size:.78rem;font-weight:500;padding:5px 10px;border-radius:999px;background:#fff;color:var(--muted);transition:background .3s,color .3s}
.ph-dots span.on{background:var(--red);color:#fff}
.ph-strip{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px 28px;border-top:1px solid var(--line);padding-top:20px;color:var(--text)}
.ph-strip b{color:var(--ink)}
@media (max-width:860px){.ph-head,.ph-grid{grid-template-columns:1fr}.ph-head{gap:14px}.ph-tile{padding:20px 18px 18px}}
@media (prefers-reduced-motion: reduce){.ph-img img{transition:none}}
/* Homepage: AI on every call (rebuilt GoYap screens, sample data) */
.ha-wrap{--green:#1D7A3F;--green-bg:#E6F3EA;--amber:#9A6A00;--amber-bg:#FFF3D6;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--fg:var(--ink)}
.ha-wrap *{box-sizing:border-box}
.ha-wrap h2 span{color:var(--red)}
.ha-wrap .ha-sec{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:72px;display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.ha-wrap .ha-copy{min-width:0}
.ha-wrap .ha-label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--red)}
.ha-wrap h2{font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:-.015em;font-weight:600;margin:12px 0 16px;text-wrap:balance}
.ha-wrap h2 .ha-r{color:var(--red)}
.ha-wrap .ha-copy>p{font-size:18px;line-height:1.6;color:var(--text);margin:0 0 26px;max-width:32em}
.ha-wrap .ha-prods{display:grid;gap:12px}
.ha-wrap .ha-prod{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:var(--tile);border:1.5px solid transparent;border-radius:18px;padding:18px 20px;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.ha-wrap .ha-prod:hover{border-color:var(--red);transform:translateY(-2px)}
.ha-wrap .ha-prod .ha-ic{width:44px;height:44px;border-radius:12px;background:var(--red);display:grid;place-items:center}
.ha-wrap .ha-prod .ha-ic svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ha-wrap .ha-prod b{display:block;font-size:18px;font-weight:600}
.ha-wrap .ha-prod small{display:block;color:var(--text);font-size:15px;margin-top:3px;line-height:1.45}
.ha-wrap .ha-prod .ha-go{color:var(--red);font-size:20px}
.ha-wrap .ha-frame{background:linear-gradient(150deg,#FFF6F4,#FDE9E7 60%,#F7D2CD);border-radius:28px;padding:28px;box-shadow:0 30px 60px -34px rgba(80,10,5,.5);min-width:0}
.ha-wrap .ha-app{background:#fff;border-radius:18px;box-shadow:0 18px 40px -22px rgba(0,0,0,.35);overflow:hidden;color:#222}
.ha-wrap .ha-bar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #eee}
.ha-wrap .ha-logo{display:flex;align-items:center;gap:6px;font-weight:600;font-size:15px;letter-spacing:-.01em}
.ha-wrap .ha-logo i{width:20px;height:20px;border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px var(--red)}
.ha-wrap .ha-logo i svg{width:11px;height:11px;fill:#fff}
.ha-wrap .ha-bar .t{font-weight:600;font-size:14px;padding-left:10px;border-left:1px solid #ddd;white-space:nowrap}
.ha-wrap .ha-bar .live{margin-left:auto;font-size:12px;color:#555;display:flex;align-items:center;gap:6px}
.ha-wrap .ha-bar .live:before{content:"";width:7px;height:7px;border-radius:50%;background:#20A050;animation:ha-pulse 1.6s ease-in-out infinite}
@keyframes ha-pulse{50%{opacity:.35}}
.ha-wrap .ha-stack{position:relative;height:352px;padding:18px}
.ha-wrap .ha-card{position:absolute;inset:18px;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateX(26px);transition:opacity .55s ease,transform .55s ease}
.ha-wrap .ha-card.ha-on{opacity:1;transform:none}
.ha-wrap .ha-card.ha-out{opacity:0;transform:translateX(-26px)}
.ha-wrap .ha-call{display:flex;align-items:center;gap:12px}
.ha-wrap .ha-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:13px;flex:none}
.ha-wrap .ha-call b{display:block;font-size:15px}
.ha-wrap .ha-call small{display:block;font-size:12.5px;color:#777;margin-top:1px}
.ha-wrap .ha-score{margin-left:auto;text-align:right}
.ha-wrap .ha-score b{font-family:var(--mono);font-size:24px;display:block;line-height:1}
.ha-wrap .ha-score small{font-size:11px;color:#777}
.ha-wrap .ha-chips{display:flex;flex-wrap:wrap;gap:6px}
.ha-wrap .ha-chip{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.ha-wrap .ha-pos{background:var(--green-bg);color:var(--green)}
.ha-wrap .ha-neu{background:#EEF1F4;color:#4A5568}
.ha-wrap .ha-cau{background:var(--amber-bg);color:var(--amber)}
.ha-wrap .ha-goal{background:var(--tile);color:#444;font-weight:500}
.ha-wrap .ha-senti{display:flex;align-items:center;gap:10px;font-size:12px;color:#666}
.ha-wrap .ha-track{flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,#E05A4E,#E8C04A 50%,#3BAA5C);position:relative}
.ha-wrap .ha-track i{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;border:3px solid #333;left:var(--p);transition:left 1s ease}
.ha-wrap .ha-tip{border-top:1px solid #eee;padding-top:12px;display:grid;gap:6px;font-size:14px;line-height:1.45}
.ha-wrap .ha-tip .ha-h{font-weight:600;font-size:14.5px;color:#222}
.ha-wrap .ha-tip .ha-said{color:var(--red-dark)}
.ha-wrap .ha-tip .ha-try{color:var(--green)}
.ha-wrap .dots{display:flex;gap:6px;justify-content:center;padding:0 0 16px}
.ha-wrap .dots i{width:7px;height:7px;border-radius:50%;background:#ddd;transition:background .3s,width .3s}
.ha-wrap .dots i.ha-on{background:var(--red);width:20px;border-radius:4px}
.ha-wrap .ha-bar .ha-tabs{display:flex;gap:4px;margin-left:auto;font-size:12.5px;font-weight:500}
.ha-wrap .ha-bar .ha-tabs span{padding:5px 9px;border-radius:999px;color:#666;transition:background .3s,color .3s;white-space:nowrap}
.ha-wrap .ha-bar .ha-tabs span.ha-on{background:var(--red);color:#fff}
.ha-wrap .ha-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ha-wrap .ha-mini div{background:var(--tile);border-radius:10px;padding:8px 10px}
.ha-wrap .ha-mini b{display:block;font-family:var(--mono);font-size:17px;color:var(--green)}
.ha-wrap .ha-mini span{display:block;font-size:11.5px;font-weight:600;color:#333;margin-top:2px}
.ha-wrap .ha-mini small{display:block;font-size:10.5px;color:#888}
.ha-wrap .ha-clab{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#555;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ha-wrap .ha-leg{font-weight:500;letter-spacing:0;text-transform:none;color:#666;display:inline-flex;align-items:center;gap:5px;font-size:11px}
.ha-wrap .ha-leg i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-left:5px}
.ha-wrap .ha-hourly,.ha-wrap .ha-byday{flex:1;min-height:0;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid #ddd;padding:0 4px;position:relative}
.ha-wrap .ha-hourly .ha-c{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;position:relative}
.ha-wrap .ha-hourly .ha-c i{display:block;transition:height .9s cubic-bezier(.2,.7,.2,1)}
.ha-wrap .ha-hourly .ha-c .ha-na{background:#d6d6d6}
.ha-wrap .ha-hourly .ha-c .ha-an{background:var(--red)}
.ha-wrap .ha-hourly .ha-c em{position:absolute;bottom:-17px;left:0;right:0;text-align:center;font-style:normal;font-size:10px;color:#777;font-family:var(--mono)}
.ha-wrap .ha-byday .ha-g{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative}
.ha-wrap .ha-byday .ha-g i{width:12%;max-width:18px;border-radius:3px 3px 0 0;transition:height .9s cubic-bezier(.2,.7,.2,1)}
.ha-wrap .ha-byday .ha-g em{position:absolute;bottom:-17px;left:0;right:0;text-align:center;font-style:normal;font-size:10px;color:#777;font-family:var(--mono)}
.ha-wrap .ha-card.ha-rep{padding-bottom:18px}
.ha-wrap .ha-rhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ha-wrap .ha-rhead b{font-size:15px}
.ha-wrap .ha-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ha-wrap .ha-kpis div{background:#262626;color:#fff;border-radius:10px;padding:9px 11px}
.ha-wrap .ha-kpis b{display:block;font-family:var(--mono);font-size:17px}
.ha-wrap .ha-kpis span{display:block;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;opacity:.85;margin-top:3px;line-height:1.25}
.ha-wrap .ha-srch .ha-rows{display:flex;flex-direction:column;border:1px solid #eee;border-radius:12px;overflow:hidden}
.ha-wrap .ha-srch .ha-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid #f0f0f0;font-size:13px}
.ha-wrap .ha-srch .ha-row:first-child{border-top:0}
.ha-wrap .ha-srch .ha-row.ha-open{background:#FFF6F5}
.ha-wrap .ha-srch .ha-tm{font-family:var(--mono);color:#666;font-size:12px}
.ha-wrap .ha-srch .ha-who2{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#555}
.ha-wrap .ha-srch .ha-who2 b{color:#222;font-weight:600}
.ha-wrap .ha-srch .ha-dur{font-family:var(--mono);font-size:12px;color:#666}
.ha-wrap .ha-neg{background:#FDE3E1;color:#C0281E}
.ha-wrap .ha-srch .ha-detail{background:#FFF6F5;padding:0 12px 10px;display:grid;gap:7px;font-size:12.5px;line-height:1.45}
.ha-wrap .ha-srch .ha-play{display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:5px 10px}
.ha-wrap .ha-srch .ha-play i{font-style:normal;font-size:10px;color:var(--red)}
.ha-wrap .ha-srch .ha-play em{font-style:normal;font-family:var(--mono);font-size:11px;color:#777}
.ha-wrap .ha-srch .ha-wave{flex:1;height:14px;background:repeating-linear-gradient(90deg,#E9A39D 0 2px,transparent 2px 4px);-webkit-mask:linear-gradient(90deg,#000 35%,rgba(0,0,0,.35) 35%);mask:linear-gradient(90deg,#000 35%,rgba(0,0,0,.35) 35%)}
.ha-wrap .ha-srch .ha-sum b{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#777;margin-bottom:2px}
.ha-wrap .ha-srch .ha-tr{display:grid;gap:3px;color:#555;border-left:2px solid #E9C9C5;padding-left:8px}
.ha-wrap .ha-srch .ha-tr b{color:#333}
.ha-wrap .ha-cap{text-align:center;color:var(--muted);font-size:13px;margin-top:14px}
@media (max-width:900px){.ha-wrap .ha-sec{grid-template-columns:1fr;gap:36px;padding-block:52px}}
@media (max-width:480px){.ha-wrap .ha-frame{padding:14px;border-radius:20px}
.ha-wrap .ha-stack{height:430px}
.ha-wrap .ha-tip{font-size:13.5px}
.ha-wrap .ha-bar .ha-logo{font-size:0;gap:0}
.ha-wrap .ha-bar .ha-tabs{font-size:10.5px;gap:2px}
.ha-wrap .ha-bar .ha-tabs span{padding:4px 6px}
.ha-wrap .ha-srch .ha-dur{display:none}
.ha-wrap .ha-srch .ha-row{grid-template-columns:auto 1fr auto}
.ha-wrap .ha-mini,.ha-wrap .ha-kpis{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion: reduce){.ha-wrap .ha-card,.ha-wrap .ha-track i{transition:none}
.ha-wrap .ha-bar .live:before{animation:none}}
/* Homepage black panel: support call being answered (sample data) */
.hp-panel-wrap{padding-bottom:72px}
.sp-card{position:relative;flex:0 1 330px;margin-inline:auto;padding:18px 0 34px}
.sp-win{background:#fafafa;border-radius:12px;overflow:hidden;box-shadow:0 24px 50px -20px rgba(0,0,0,.7);color:#333;font-family:-apple-system,"Helvetica Neue",Arial,sans-serif}
.sp-tb{height:26px;background:#ececec;border-bottom:1px solid #d9d9d9;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:600;color:#444}
.sp-tb i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.sp-tb i:nth-child(2){background:#febc2e}.sp-tb i:nth-child(3){background:#28c840}
.sp-tb span{margin-left:auto;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-bar{height:24px;display:grid;place-items:center;color:#fff;font-size:11.5px;font-weight:600;background:#6A1BB5;transition:background .4s}
.sp-bar.live{background:#14A04A}
.sp-body{padding:16px 16px 18px;text-align:center}
.sp-av{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #eee;margin:0 auto;display:grid;place-items:center;position:relative}
.sp-av svg{width:24px;height:24px;fill:#6f7a86}
.sp-card.ringing .sp-av:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #6A1BB5;animation:sp-ping 1.2s ease-out infinite}
@keyframes sp-ping{from{transform:scale(1);opacity:.8}to{transform:scale(1.5);opacity:0}}
.sp-who{font-weight:700;font-size:16px;margin-top:8px;color:#222}
.sp-num{font-size:11.5px;color:#666;margin-top:2px}
.sp-time{font-size:13px;font-weight:700;color:#6A1BB5;margin-top:6px;font-variant-numeric:tabular-nums}
.sp-card.live .sp-time{color:#139A3B}
.sp-meta{display:grid;gap:2px;font-size:11.5px;color:#555;margin-top:10px;padding-top:10px;border-top:1px solid #eee}
.sp-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.sp-btns span{height:28px;border-radius:5px;display:grid;place-items:center;font-size:12px;font-weight:600;border:1px solid #6A1BB5;color:#444;background:#fff}
.sp-btns .sp-ans{background:#14A04A;border-color:#14A04A;color:#fff}
.sp-btns .sp-dec,.sp-btns .sp-leave{background:#AE1F1F;border-color:#AE1F1F;color:#fff}
.sp-chip{position:absolute;display:flex;align-items:center;gap:7px;background:#fff;color:#222;border-radius:999px;padding:8px 13px;font-size:12.5px;font-weight:500;box-shadow:0 12px 26px -10px rgba(0,0,0,.6);white-space:nowrap}
.sp-chip b{font-weight:700;color:#139A3B}
.sp-chip svg{width:16px;height:16px;fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round}
.sp-q{left:-34px;top:-14px}
.sp-fast{right:-24px;bottom:4px;background:#139A3B;color:#fff;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.sp-card.live .sp-fast{opacity:1;transform:none}
@media (max-width:640px){.sp-q{left:0}.sp-fast{right:0}.hp-panel-wrap{padding-bottom:48px}}
@media (prefers-reduced-motion: reduce){.sp-card.ringing .sp-av:after{animation:none}.sp-fast{transition:none}}
.hp-dark .hp-dark-photo{width:min(460px,100%);height:auto;aspect-ratio:3/2;object-fit:cover;object-position:60% 40%;border-radius:20px;flex:0 1 460px;margin-inline:auto;box-shadow:0 24px 50px -24px rgba(0,0,0,.8)}
/* Connectivity page hero: DrayTek router with VigorACS cloud management */
.cx-vis{position:relative;padding:8px 0 64px}
.cx-win{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(60,10,5,.6);transform:perspective(1400px) rotateY(-6deg) rotateX(2deg);transform-origin:left center}
.cx-tb{height:26px;background:#ececec;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:600;color:#444}
.cx-tb i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.cx-tb i:nth-child(2){background:#febc2e}.cx-tb i:nth-child(3){background:#28c840}
.cx-tb span{margin-inline:auto}
.cx-win img{display:block;width:100%;height:auto}
.cx-router{position:absolute;left:-6%;bottom:0;width:78%;height:auto;filter:drop-shadow(0 22px 22px rgba(0,0,0,.45))}
.cx-badge{position:absolute;right:-10px;top:-18px;display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);border-radius:14px;padding:10px 14px;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.cx-badge svg{width:30px;height:30px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cx-badge span{font-size:.8rem;color:var(--text);line-height:1.3}
.cx-badge b{display:block;font-size:.95rem;color:var(--ink)}
.cx-links{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cx-links li{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:7px 13px;font-size:.88rem;font-weight:500}
.cx-links svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cx-note{margin-top:14px;color:#fff;opacity:.92;font-size:.95rem;line-height:1.5;max-width:46ch}
@media (max-width:1060px){.cx-win{transform:none}.cx-router{left:0;width:72%}.cx-badge{right:0}}
@media (max-width:640px){.cx-vis{padding-bottom:40px}.cx-badge{top:-14px;padding:8px 11px}.cx-badge svg{width:24px;height:24px}}
.page-hero .visual:has(.cx-vis){max-width:560px}
.page-hero .visual:has(.cx-vis)::before{display:none}
.cx-badge{top:auto;bottom:86px;right:-18px}
@media (max-width:1060px){.cx-badge{right:0;bottom:70px}}
@media (max-width:640px){.cx-badge{bottom:52px}}
.cx-badge{top:46px;bottom:auto;left:-26px;right:auto}
@media (max-width:1060px){.cx-badge{left:0;right:auto;top:40px;bottom:auto}}
@media (max-width:640px){.cx-badge{top:34px}}
.cx-badge{z-index:3}.page-hero .visual .cx-router{z-index:2}
.cx-links{margin-top:28px}
.cx-vis{padding-bottom:44px}
.page-hero .wrap:has(.cx-vis){align-items:center}
/* Industry pages: photo with the services card over its corner */
.page-hero .visual.ind-vis{max-width:560px;padding-bottom:70px}
.page-hero .visual.ind-vis::before{display:none}
.ind-vis .ind-photo{display:block;width:100%;height:auto;aspect-ratio:7/5;object-fit:cover;border-radius:22px;box-shadow:0 30px 60px -30px rgba(60,10,5,.6);filter:none}
.ind-vis .netviz{position:absolute;left:-28px;bottom:0;margin:0;max-width:300px;padding:16px;gap:6px;z-index:2}
.ind-vis .netviz .net{padding:8px 11px;font-size:.88rem}
@media (max-width:1060px){.ind-vis .netviz{left:0}}
@media (max-width:640px){.page-hero .visual.ind-vis{padding-bottom:0}.ind-vis .netviz{position:relative;left:auto;margin:-40px auto 0;max-width:92%}}
@media (min-width:641px){
 .page-hero .visual.ind-vis{padding-bottom:120px}
 .ind-vis .netviz{left:-44px;bottom:0;max-width:250px;padding:13px;gap:5px;border-radius:16px}
 .ind-vis .netviz .nt{font-size:.62rem;margin-bottom:2px}
 .ind-vis .netviz .net{padding:6px 9px;font-size:.8rem;gap:9px;border-radius:10px}
 .ind-vis .netviz .net .ic{width:24px!important;height:24px!important}
 .ind-vis .netviz .net .ic svg{width:13px!important;height:13px!important}
}
@media (min-width:641px) and (max-width:1060px){.ind-vis .netviz{left:0}}
/* Multi-site page: UK map with linked sites */
.ind-map{background:#fff;padding:0;overflow:hidden}
.ind-map svg{display:block;width:100%;height:100%}
.uk-map .ie{fill:#F3F1F0}
.uk-map .land{fill:#FDE9E7;stroke:#F3C9C4;stroke-width:1}
.uk-map .lk{fill:none;stroke:#EF4437;stroke-width:1.6;stroke-dasharray:4 5;opacity:.75;animation:uk-flow 1.6s linear infinite}
@keyframes uk-flow{to{stroke-dashoffset:-18}}
.uk-map .pin .dot{fill:#EF4437;stroke:#fff;stroke-width:2}
.uk-map .pin .ring{fill:none;stroke:#EF4437;stroke-width:2;transform-origin:center;transform-box:fill-box;animation:uk-ping 3.5s ease-out infinite;animation-delay:var(--d)}
@keyframes uk-ping{0%{transform:scale(1);opacity:.8}60%,100%{transform:scale(3);opacity:0}}
.uk-map .lab{font:600 12px var(--font);fill:#1E1E1E}
.uk-map .hubc{fill:#1E1E1E}
.uk-map .ht{font:600 15px var(--font);fill:#fff}
.uk-map .hs{font:500 12px var(--font);fill:#cfc7c5}
.uk-map .st text{font:500 11.5px var(--font);fill:#fff}
.map-vis .netviz{display:none}
.page-hero .visual.map-vis{padding-bottom:0}
@media (prefers-reduced-motion: reduce){.uk-map .lk,.uk-map .pin .ring{animation:none}}
.uk-map .lab{font:600 15px var(--font)}
.uk-map .ht{font:600 18px var(--font)}
.uk-map .hs{font:500 14px var(--font)}
.uk-map .st text{font:500 14px var(--font)}
.uk-map .lk{stroke-width:1.8;opacity:.6}
/* Business mobiles page: two iPhones with GoYap screens (sample data) */
.fm-vis{background:var(--pink);border-radius:var(--r);padding:34px 18px 26px;display:flex;justify-content:center;gap:22px;flex-wrap:wrap}
.fm-phone{width:210px;max-width:46%;text-align:center}
.fm-b{margin-top:36px}
.fm-scr{position:relative;aspect-ratio:9/19.3;border-radius:34px;background:#363435;border:8px solid #0d0d0e;box-shadow:0 0 0 2px #3a3a3c,0 26px 40px -18px rgba(60,10,5,.55);overflow:hidden;color:#fff;font-family:-apple-system,"Helvetica Neue",Arial,sans-serif}
.fm-ring{background:linear-gradient(180deg,#4b4650,#2c2a30 55%,#1c1b1f)}
.fm-isl{position:absolute;top:7px;left:50%;width:64px;height:19px;margin-left:-32px;background:#000;border-radius:12px}
.fm-sb{position:absolute;top:8px;left:16px;right:14px;display:flex;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:-1px}
.fm-sb span:first-child{letter-spacing:0}
.fm-top{position:absolute;top:56px;left:0;right:0;padding:0 10px}
.fm-app{font-size:10px;color:rgba(255,255,255,.7);display:flex;justify-content:center;align-items:center;gap:5px}
.fm-app i{width:13px;height:13px;border-radius:3px;background:var(--red);display:grid;place-items:center}
.fm-app svg{width:8px;height:8px;fill:#fff}
.fm-name{font-size:21px;margin-top:6px}
.fm-sub{font-size:10.5px;color:rgba(255,255,255,.7);margin-top:4px}
.fm-big{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:space-around;font-size:10px}
.fm-big div{display:grid;justify-items:center;gap:5px}
.fm-big span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center}
.fm-big svg{width:20px;height:20px;fill:#fff}
.fm-dec{background:#EB4E3D}.fm-acc{background:#30D158;animation:fm-pulse 1.2s ease-in-out infinite}
@keyframes fm-pulse{50%{box-shadow:0 0 0 8px rgba(48,209,88,.25)}}
.fm-tm{position:absolute;top:36px;right:14px;text-align:right}
.fm-tm b{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.fm-tm span{font-size:10px;color:#E5534B}
.fm-av{position:absolute;top:84px;left:50%;width:46px;height:46px;margin-left:-23px;border-radius:50%;background:#8E8D92}
.fm-nm{position:absolute;top:138px;left:0;right:0;font-size:15px;font-weight:700}
.fm-nm small{display:block;font-size:10px;font-weight:600;color:#30D158;margin-top:3px}
.fm-seg{position:absolute;top:186px;left:22px;right:22px;display:grid;grid-template-columns:1fr 1fr;background:#464446;border-radius:10px;padding:2px;font-size:9.5px}
.fm-seg span{padding:3px;border-radius:8px}.fm-seg .on{background:#77767A}
.fm-grid{position:absolute;left:10px;right:10px;bottom:22px;display:grid;grid-template-columns:repeat(3,1fr);row-gap:10px;font-size:10px}
.fm-grid div{display:grid;justify-items:center;gap:4px}
.fm-grid span{width:38px;height:38px;border-radius:50%;background:#4F4D4F;display:grid;place-items:center}
.fm-hang span{background:#E5534B}.fm-hang svg{width:18px;height:18px;fill:#fff}
.fm-cap{margin-top:12px;font-size:.9rem;font-weight:600;color:var(--ink)}
@media (max-width:480px){.fm-vis{gap:12px;padding:24px 10px}.fm-name{font-size:17px}.fm-grid span{width:32px;height:32px}.fm-b{margin-top:24px}}
@media (prefers-reduced-motion: reduce){.fm-acc{animation:none}}
@media (max-width:480px){
 .fm-vis{flex-wrap:nowrap;gap:14px;padding:26px 12px 22px}
 .fm-phone{width:210px;max-width:none;flex:none;zoom:.74}
 .fm-name{font-size:21px}.fm-grid span{width:38px;height:38px}.fm-b{margin-top:36px}
 .fm-cap{font-size:1.15rem}
}
/* Business mobiles page: hands-free car call (animated, sample data) */
.cr-sec{margin-top:56px;align-items:center}
.cr-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cr-steps span{font-size:.85rem;font-weight:500;padding:6px 12px;border-radius:999px;background:var(--tile);color:var(--muted);transition:background .3s,color .3s}
.cr-steps span.on{background:var(--red);color:#fff}
.cr-vis{position:relative;aspect-ratio:16/11;border-radius:var(--r);overflow:hidden;background:#1b1b1d;box-shadow:0 30px 60px -30px rgba(60,10,5,.6)}
.cr-road{position:absolute;inset:0 0 auto;width:100%;height:46%}
.cr-dash{stroke-dasharray:12 12;animation:cr-move .6s linear infinite}
@keyframes cr-move{to{stroke-dashoffset:-24}}
.cr-dash-board{position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(#2a2a2d,#141416);border-radius:50% 50% 0 0/18% 18% 0 0}
.cr-wheel{position:absolute;left:-12%;bottom:-48%;width:62%;aspect-ratio:1;border-radius:50%;border:22px solid #0c0c0d;box-shadow:inset 0 0 0 3px #2e2e31}
.cr-btn{position:absolute;right:16%;top:16%;width:30px;height:30px;border-radius:50%;background:#2c2c2f;display:grid;place-items:center;transition:background .3s,box-shadow .3s}
.cr-btn svg{width:15px;height:15px;fill:#9a9a9f}
.cr-btn.glow{background:#30D158;box-shadow:0 0 0 6px rgba(48,209,88,.3)}
.cr-btn.glow svg{fill:#fff}
.cr-screen{position:absolute;right:7%;top:16%;width:54%;aspect-ratio:16/10;background:#0e0e10;border:3px solid #333;border-radius:14px;color:#fff;font-family:-apple-system,"Helvetica Neue",Arial,sans-serif;overflow:hidden}
.cr-top{display:flex;justify-content:space-between;padding:7px 11px;font-size:10px;color:#9a9a9f;border-bottom:1px solid #222}
.cr-v{position:absolute;inset:26px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;opacity:0;transition:opacity .45s}
.cr-v.on{opacity:1}
.cr-av{width:36px;height:36px;border-radius:50%;background:#EF4437;display:grid;place-items:center;font-size:12px;font-weight:600}
.cr-av2{background:#6b6b70}
.cr-big{font-size:16px;font-weight:600}
.cr-small{font-size:11px;color:#b5b5ba;font-variant-numeric:tabular-nums}
.cr-small.live{color:#30D158}
.cr-id{font-size:10px;background:#1f3a29;color:#7be3a0;border-radius:999px;padding:2px 8px;margin-top:3px}
.cr-end{width:28px;height:28px;border-radius:50%;background:#EB4E3D;display:grid;place-items:center;margin-top:5px}
.cr-end svg{width:14px;height:14px;fill:#fff;transform:rotate(135deg)}
.cr-row{display:flex;gap:8px;margin-top:6px}
.cr-row span{font-size:11px;font-weight:600;padding:5px 12px;border-radius:999px}
.cr-dec{background:#3a3a3d}.cr-acc{background:#30D158}
.cr-bubble{position:absolute;left:6%;top:9%;display:flex;align-items:center;gap:9px;background:#fff;color:var(--ink);font-weight:600;font-size:.9rem;padding:9px 14px;border-radius:16px 16px 16px 4px;box-shadow:0 12px 26px -10px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;max-width:80%}
.cr-bubble.on{opacity:1;transform:none}
.cr-wave{display:flex;gap:2px;align-items:center;height:16px}
.cr-wave i{width:3px;height:6px;border-radius:2px;background:var(--red);animation:cr-bar .8s ease-in-out infinite}
.cr-wave i:nth-child(2){animation-delay:.1s}.cr-wave i:nth-child(3){animation-delay:.2s}.cr-wave i:nth-child(4){animation-delay:.3s}.cr-wave i:nth-child(5){animation-delay:.4s}
@keyframes cr-bar{50%{height:16px}}
@media (max-width:640px){.cr-screen{width:62%;right:5%}.cr-big{font-size:14px}.cr-bubble{font-size:.8rem}.cr-wheel{border-width:16px}.cr-btn{width:24px;height:24px}}
@media (prefers-reduced-motion: reduce){.cr-dash,.cr-wave i{animation:none}}
.cr-id{text-align:center;max-width:92%}
.cr-rec{position:absolute;top:6px;right:10px;font-size:10px;font-weight:600;color:#E5534B}
.cr-priv{font-size:9.5px;color:#8a8a90}
@media (max-width:640px){
 .cr-vis{aspect-ratio:4/3.6}
 .cr-screen{width:70%;right:4%;top:14%;aspect-ratio:4/3.3}
 .cr-top span:last-child{display:none}
 .cr-av{width:30px;height:30px;font-size:11px}
 .cr-v{gap:2px}
 .cr-id{font-size:9.5px}
 .cr-wheel{left:-22%}
}
@media (max-width:640px){.cr-vis{aspect-ratio:1/1.02}.cr-screen{top:12%}.cr-road{height:40%}}
/* AI call reporting and coaching page */
.page-hero .visual.ar-vis{max-width:600px}
.page-hero .visual.ar-vis::before{display:none}
.ar-hero .ha-frame{margin:0}
.ar-hero .ha-cap{color:#fff;opacity:.85}
.ar-bens{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.ar-bens>div{display:flex;flex-direction:column;gap:12px;background:var(--tile);border-radius:18px;padding:22px}
.ar-bens p{font-weight:600;line-height:1.4}
.ar-ic{width:44px;height:44px;border-radius:12px;background:var(--red);display:grid;place-items:center;flex:none}
.ar-ic svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ar-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.ar-feat{background:#fff;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px}
.ar-feat h3{font-size:1.2rem;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ar-feat p{color:var(--text);line-height:1.55}
.ar-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.ar-steps>div{background:var(--tile);border-radius:22px;padding:30px}
.ar-steps .n{width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:600;font-size:1.15rem}
.ar-steps h3{font-size:1.3rem;margin-top:16px}
.ar-steps p{color:var(--text);margin-top:8px;line-height:1.55}
.ar-addon{margin-top:26px;color:var(--text)}
.ar-addon a{color:var(--red-dark);font-weight:600}
@media (max-width:1060px){.ar-bens{grid-template-columns:repeat(3,minmax(0,1fr))}.ar-feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ar-bens{grid-template-columns:repeat(2,minmax(0,1fr))}.ar-feats,.ar-steps{grid-template-columns:1fr}.ar-bens>div{padding:16px}}
/* Homepage: partner logos strip */
.hp-networks .wrap{flex-direction:column;align-items:stretch;gap:22px}
.hp-networks .label{max-width:none;text-align:center}
.hp-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px 34px}
.hp-logos img{height:30px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .25s,opacity .25s}
.hp-logos img.sq{height:40px}.hp-logos img.wd{height:24px;max-width:150px}
.hp-logos img:hover{filter:none;opacity:1}
@media (max-width:860px){.hp-logos{justify-content:center;gap:22px 28px}}
@media (max-width:640px){.hp-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:22px 14px}.hp-logos img{max-width:96px}}
@media (max-width:640px){.hp-logos img,.hp-logos img.wd{max-width:84px;height:22px}.hp-logos img.sq{height:32px}.hp-logos{gap:24px 18px}}
/* Homepage black panel: support photo with live call chip */
.hp-dark-media{position:relative;flex:0 1 460px;margin-inline:auto;min-width:0}
.hp-dark-media .hp-dark-photo{width:100%;display:block}
.hp-chip{position:absolute;left:-26px;bottom:26px;height:46px;min-width:250px;background:#fff;color:var(--ink);border-radius:999px;box-shadow:0 16px 30px -12px rgba(0,0,0,.6);font-weight:600;font-size:.92rem;overflow:hidden}
.hp-chip span{position:absolute;inset:0;display:flex;align-items:center;gap:10px;padding:0 18px;white-space:nowrap}
.hp-chip-a{animation:hp-a 7s infinite}
.hp-chip-b{opacity:0;animation:hp-b 7s infinite}
@keyframes hp-a{0%,38%{opacity:1;transform:none}44%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes hp-b{0%,40%{opacity:0;transform:translateY(10px)}46%,94%{opacity:1;transform:none}100%{opacity:0}}
.hp-ring{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(239,65,54,.6);animation:hp-ring 1s ease-out infinite}
@keyframes hp-ring{to{box-shadow:0 0 0 10px rgba(239,65,54,0)}}
.hp-tick{width:22px;height:22px;border-radius:50%;background:#1F9D55;color:#fff;display:grid;place-items:center;font-style:normal;font-size:.8rem}
.hp-chip2{position:absolute;right:-16px;top:22px;background:#1E1E1E;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 14px;font-size:.82rem;box-shadow:0 12px 24px -10px rgba(0,0,0,.6)}
.hp-chip2 b{color:#5DD68D}
@media (max-width:640px){.hp-chip{left:10px;bottom:12px;min-width:220px;font-size:.84rem;height:40px}.hp-chip2{right:10px;top:10px;font-size:.75rem}}
@media (prefers-reduced-motion: reduce){.hp-chip-a{display:none}.hp-chip-b{opacity:1;animation:none}.hp-ring{animation:none}}
/* Homepage hero: desk phone joins the animation */
.gy-anim .gy-desk{position:absolute;left:640px;top:420px;width:330px;height:auto;z-index:3;filter:drop-shadow(0 22px 22px rgba(60,10,5,.35));transform-origin:50% 80%}
.gy-anim .gy-desk.gy-dring{animation:gy-k-dring .5s ease-in-out 4}
@keyframes gy-k-dring{25%{transform:rotate(-1.2deg)}75%{transform:rotate(1.2deg)}}
.gy-anim .gy-tagline{text-align:center;color:#fff;font-weight:600;font-size:1.15rem;margin-top:16px}
@media (prefers-reduced-motion: reduce){.gy-anim .gy-desk.gy-dring{animation:none}}
/* Homepage hero: three device scenes */
.gy-anim .gy-scene{position:absolute;inset:0;opacity:0;transform:perspective(1400px) rotateY(16deg) translateX(70px);transform-origin:50% 50%;transition:opacity .7s ease,transform .8s cubic-bezier(.3,.7,.3,1);pointer-events:none}
.gy-anim .gy-scene.gy-show{opacity:1;transform:none}
.gy-anim .gy-scene.gy-out{transform:perspective(1400px) rotateY(-16deg) translateX(-70px)}
.gy-anim button.gy-step{font:inherit;font-size:.8rem;font-weight:500;border:0;cursor:pointer}
.gy-anim button.gy-step:focus-visible{outline:2px solid #fff;outline-offset:2px}
.gy-anim .gy-s2desk{position:absolute;left:40px;top:150px;width:520px;height:auto;filter:drop-shadow(0 22px 22px rgba(60,10,5,.35))}
.gy-anim .gy-s2cord{position:absolute;left:660px;top:120px;width:250px;height:auto;filter:drop-shadow(0 22px 22px rgba(60,10,5,.35))}
.gy-anim .gy-arc{position:absolute;inset:0;width:100%;height:100%}
.gy-anim .gy-arc path{fill:none;stroke:#EF4437;stroke-width:4;stroke-dasharray:420;stroke-dashoffset:420;stroke-linecap:round}
.gy-anim .gy-arc path.gy-draw{transition:stroke-dashoffset 1.6s ease;stroke-dashoffset:0}
.gy-anim .gy-chip{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;color:#1E1E1E;border-radius:999px;padding:12px 20px;font-size:20px;font-weight:600;box-shadow:0 16px 30px -12px rgba(60,10,5,.45);white-space:nowrap;transition:opacity .4s,transform .4s}
.gy-anim .gy-dot{width:14px;height:14px;border-radius:50%;background:#EF4437;flex:none}
.gy-anim .gy-chip.gy-ringing .gy-dot{animation:gy-k-ringdot 1s ease-out infinite}
@keyframes gy-k-ringdot{0%{box-shadow:0 0 0 0 rgba(239,65,54,.6)}100%{box-shadow:0 0 0 14px rgba(239,65,54,0)}}
.gy-anim .gy-chip.gy-liveC .gy-dot,.gy-anim .gy-dot.gy-green{background:#1F9D55}
.gy-anim .gy-chipA{left:90px;top:80px}
.gy-anim .gy-chipB{left:560px;top:40px;opacity:0;transform:translateY(10px)}
.gy-anim .gy-chipB.gy-vis{opacity:1;transform:none}
.gy-anim .gy-chipC{left:40px;top:36px}
.gy-anim .gy-lbl{position:absolute;font-size:19px;font-weight:600;color:#7A2018;background:rgba(255,255,255,.7);padding:6px 14px;border-radius:999px}
.gy-anim .gy-tab{position:absolute;left:40px;top:110px;width:600px;height:430px;background:#0d0d0e;border-radius:34px;padding:16px;box-shadow:0 0 0 2px #3a3a3c,0 30px 50px -20px rgba(0,0,0,.55)}
.gy-anim .gy-tabscr{width:100%;height:100%;border-radius:20px;background:linear-gradient(160deg,#3c3a3d,#262527);color:#fff;font-family:var(--gy-sys,-apple-system,Arial,sans-serif);display:flex;flex-direction:column;padding:22px 26px}
.gy-anim .gy-tabtop{display:flex;justify-content:space-between;font-size:18px;font-weight:600}
.gy-anim .gy-rec{color:#E5534B;font-size:16px}
.gy-anim .gy-tabmid{flex:1;display:flex;align-items:center;gap:22px;padding-left:20px}
.gy-anim .gy-tav{width:96px;height:96px;border-radius:50%;background:#EF4437;display:grid;place-items:center;font-size:32px;font-weight:600}
.gy-anim .gy-tabmid b{display:block;font-size:34px}
.gy-anim .gy-tabmid small{display:block;font-size:22px;color:#30D158;margin-top:6px;font-variant-numeric:tabular-nums}
.gy-anim .gy-tabbtns{display:flex;gap:12px;justify-content:center}
.gy-anim .gy-tabbtns span{min-width:84px;height:54px;border-radius:14px;background:#4F4D4F;display:grid;place-items:center;font-size:15px}
.gy-anim .gy-tabbtns .gy-end{min-width:70px;background:#E5534B}
.gy-anim .gy-end svg{width:24px;height:24px;fill:#fff;transform:rotate(135deg)}
.gy-anim .gy-lap3{position:absolute;left:600px;top:270px;width:370px}
.gy-anim .gy-lap3scr{height:230px;background:#1d1d1f;border-radius:16px 16px 4px 4px;padding:10px}
.gy-anim .gy-l3bar{background:#14A04A;color:#fff;font-size:15px;font-weight:600;text-align:center;padding:6px;border-radius:6px 6px 0 0}
.gy-anim .gy-l3body{background:#fafafa;height:calc(100% - 31px);border-radius:0 0 6px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#333}
.gy-anim .gy-l3body b{font-size:20px}
.gy-anim .gy-l3body small{font-size:17px;color:#139A3B;font-weight:600;font-variant-numeric:tabular-nums}
.gy-anim .gy-l3body span{font-size:14px;color:#666}
.gy-anim .gy-lap3base{height:14px;margin:0 -24px;background:linear-gradient(#e2e0df,#c9c6c4);border-radius:0 0 16px 16px}
@media (prefers-reduced-motion: reduce){.gy-anim .gy-scene{transition:none;transform:none}.gy-anim .gy-chip.gy-ringing .gy-dot{animation:none}}
/* Hero scenes: card flip between device sets */
.gy-anim .gy-stage{perspective:1800px}
.gy-anim .gy-scene{opacity:0;transform:rotateY(90deg);transform-origin:50% 50%;backface-visibility:hidden;transition:transform .5s ease-in,opacity .05s linear .45s}
.gy-anim .gy-scene.gy-show{opacity:1;transform:rotateY(0deg);transition:transform .6s cubic-bezier(.2,.8,.3,1) .5s,opacity .05s linear .5s}
.gy-anim .gy-scene.gy-out{opacity:0;transform:rotateY(-90deg);transition:transform .5s ease-in,opacity .05s linear .45s}
@media (prefers-reduced-motion: reduce){.gy-anim .gy-scene,.gy-anim .gy-scene.gy-show,.gy-anim .gy-scene.gy-out{transition:none;transform:none}}
/* Homepage hero: spinning devices (self-contained frame) */
.hd-wrap{min-width:0;width:100%}
.hd-frame{display:block;width:100%;height:520px;border:0;background:transparent;color-scheme:normal}
@media (max-width:1060px){.hd-frame{height:480px}}
/* AI call reporting page: videos */
.ci-hero{position:relative;width:100%;max-width:560px;aspect-ratio:1/1;margin-inline:auto}
.ci-hero .ci-still,.ci-hero .ci-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none}
.ci-hero .ci-vid{opacity:0;transition:opacity .4s}
.ci-hero .ci-vid.on{opacity:1}
.ci-hero .ci-vid.on~.ci-still,.ci-hero:has(.ci-vid.on) .ci-still{opacity:0}
.ci-watch{padding-top:56px}
.ci-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ci-card{background:var(--tile);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.ci-card video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#0b1a2b}
.ci-card .ci-cap{padding:16px 20px 20px;display:grid;gap:4px}
.ci-card .ci-cap b{font-size:1.1rem}
.ci-card .ci-cap span{color:var(--text)}
.ci-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px}
.ci-cta span{color:var(--muted);font-size:.9rem}
@media (max-width:860px){.ci-grid{grid-template-columns:1fr}}
/* Homepage: call intelligence videos at the top */
.hp-ci{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;width:100%}
.hp-ci-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;text-decoration:none;background:rgba(0,0,0,.14);padding:8px 16px;border-radius:999px}
.hp-ci-link svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.hp-ci-link:hover{background:rgba(0,0,0,.24)}
.hp-videos{padding-block:48px 8px}
.hp-videos~.wrap .hp-account.hp-account-wide{margin-top:24px}
.brand img{height:46px}.flogo img{height:44px}@media (max-width:1060px){.brand img{height:38px}}

/* WhatsApp pop-up (computers only) */
.wa-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(30,30,30,.55)}
html.wa-open{overflow:hidden}
.wa-modal-box{position:relative;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);width:100%;max-width:560px;padding:28px}
.wa-modal-close{position:absolute;top:10px;right:12px;border:0;background:none;font-size:1.9rem;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:8px}
.wa-modal-close:hover{color:var(--ink)}
.wa-modal-head{display:flex;align-items:center;gap:14px;padding-right:30px;margin-bottom:22px}
.wa-modal-head svg{width:44px;height:44px;fill:var(--wa);flex:none}
.wa-modal-head h3{font-size:1.3rem;margin-bottom:2px}
.wa-modal-head p{color:var(--muted);font-size:.95rem}
.wa-modal-body{display:flex;gap:24px;align-items:center}
.wa-modal-body img{width:200px;height:200px;flex:none;border:1px solid var(--line);border-radius:12px;padding:6px;background:#fff}
.wa-modal-step{color:var(--text);font-size:.95rem;margin-bottom:18px}
.wa-modal-step strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:4px}
.wa-modal-btn{display:inline-block;background:var(--wa);color:#fff;text-decoration:none;font-weight:600;padding:12px 18px;border-radius:40px}
.wa-modal-btn:hover{filter:brightness(.95)}
.wa-modal-note{color:var(--muted);font-size:.8rem;margin-top:10px}
@media (max-width:560px){.wa-modal-body{flex-direction:column;text-align:center}}
