/* =========================================================
   Flashmail — design system (shared CMS styles; flashmail.css holds the Flashmail look)
   ========================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  /* surfaces */
  --bg:              #FFFFFF;
  --bg-soft:         #FAFAFA;
  --bg-tint:         #F7F8FA;
  --bg-dark:         #0B0D12;
  --bg-dark-2:       #101217;

  /* text */
  --ink:             #101114;
  --ink-2:           #60646C;
  --ink-3:           #8A8F98;
  --ink-invert:      #F5F6F8;
  --ink-invert-2:    #9BA1AD;

  /* lines */
  --line:            #E7E9EE;
  --line-strong:     #D8DCE4;
  --line-dark:       #1E222B;
  --line-dark-2:     #2A2F3A;

  /* brand */
  --brand:           #2050E8;
  --brand-rgb:       32,80,232;
  --brand-on:        #FFFFFF;
  --brand-ink:       #2050E8;
  --brand-bright:    #2F6BFF;
  --brand-bright-rgb:47,107,255;
  --brand-deep:      #143BB0;
  --brand-wash:      #EEF3FF;
  --brand-wash-2:    #DCE6FF;

  /* editable secondary accent */
  --accent:          #FFB020;
  --accent-rgb:      255,176,32;
  --accent-deep:     #9A6200;
  --accent-wash:     #FFF4E0;

  /* accents (used sparingly) */
  --honey:           #FFB020;
  --honey-wash:      #FFF4E0;
  --green:           #12A150;
  --green-wash:      #E6F6ED;
  --violet:          #7C5CFF;

  /* channel colors */
  --c-whatsapp:      #25D366;
  --c-instagram:     #E1306C;
  --c-messenger:     #0084FF;
  --c-telegram:      #229ED9;
  --c-line:          #06C755;
  --c-email:         #EA4335;
  --c-sms:           #6B7280;
  --c-chat:          #2050E8;
  --c-viber:         #7360F2;
  --c-rcs:           #1A73E8;
  --c-zalo:          #0068FF;

  /* type */
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* radii */
  --r-sm: 6px;
  --r:    10px;
  --r-lg: 14px;
  --r-xl: 20px;

  /* shadows */
  --sh-sm: 0 1px 2px rgba(16,17,20,.05);
  --sh:    0 2px 8px rgba(16,17,20,.06), 0 1px 2px rgba(16,17,20,.04);
  --sh-lg: 0 24px 60px -20px rgba(16,17,20,.20), 0 8px 20px -12px rgba(16,17,20,.12);
  --sh-dark: 0 30px 80px -24px rgba(0,0,0,.65);

  /* layout */
  --nav-h: 68px;
  --maxw: 1200px;
  --gutter: 24px;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:"cv02","cv03","cv04","ss01";
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,p,figure,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px;border-radius:4px}
.section--dark :focus-visible,.cta :focus-visible,.foot :focus-visible{outline-color:var(--brand-bright)}
::selection{background:var(--brand-wash-2);color:var(--brand-ink)}

/* ---------- 3. Layout primitives ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-wide{max-width:1320px}
.section{padding-block:clamp(72px,9vw,128px);position:relative}
.section--tight{padding-block:clamp(56px,6vw,84px)}
.section--soft{background:var(--bg-tint)}
.section--line{border-top:1px solid var(--line)}

.section--dark{background:var(--bg-dark);color:var(--ink-invert)}
.section--dark h2,.section--dark h3{color:#fff}
.section--dark p{color:var(--ink-invert-2)}

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:#fff;padding:12px 18px;border-radius:0 0 var(--r) 0}
.skip-link:focus{left:0}

/* ---------- 4. Type ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:var(--brand-ink);margin-bottom:20px;
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.section--dark .eyebrow{color:var(--brand-bright)}

h1,.h1{font-size:clamp(40px,6.2vw,68px);line-height:1.04;letter-spacing:-.035em;font-weight:700}
h2,.h2{font-size:clamp(30px,4.2vw,48px);line-height:1.10;letter-spacing:-.030em;font-weight:700;text-wrap:balance}
h3,.h3{font-size:clamp(19px,2vw,22px);line-height:1.3;letter-spacing:-.015em;font-weight:600}
.lede{font-size:clamp(16px,1.6vw,19px);line-height:1.65;color:var(--ink-2);max-width:60ch}
.section--dark .lede{color:var(--ink-invert-2)}
.muted{color:var(--ink-2)}

.head{max-width:760px;margin-bottom:clamp(40px,5vw,64px)}
.head--center{margin-inline:auto;text-align:center}
.head h2 + .lede{margin-top:20px}

/* ---------- 5. Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:46px;padding:0 22px;border-radius:var(--r);
  font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--brand);color:var(--brand-on);box-shadow:0 1px 2px rgba(var(--brand-rgb),.28),0 6px 18px -8px rgba(var(--brand-rgb),.55)}
.btn--primary:hover{background:var(--brand-deep);box-shadow:0 1px 2px rgba(var(--brand-rgb),.3),0 10px 26px -10px rgba(var(--brand-rgb),.65)}
.btn--ghost{background:#fff;color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--sh-sm)}
.btn--ghost:hover{border-color:#BFC5D0;background:var(--bg-soft)}
.btn--quiet{color:var(--ink);padding-inline:14px}
.btn--quiet:hover{background:var(--bg-tint)}
.btn--onDark{background:#fff;color:var(--ink)}
.btn--onDark:hover{background:#E9ECF2}
.btn--onDarkGhost{color:#fff;border:1px solid rgba(255,255,255,.24)}
.btn--onDarkGhost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.btn--lg{height:52px;padding:0 26px;font-size:16px}
.btn--sm{height:38px;padding:0 16px;font-size:14px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;color:var(--brand-ink)}
.link-arrow svg{transition:transform .2s ease}
.link-arrow:hover svg{transform:translateX(3px)}
.section--dark .link-arrow{color:var(--brand-bright)}

/* ---------- 6. Navbar ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;border-bottom:1px solid transparent}
.nav.is-stuck{background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom-color:var(--line)}
.nav__inner{height:100%;display:flex;align-items:center;gap:28px}
.nav__menu{display:flex;align-items:center;gap:2px;flex:1}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 12px;border-radius:8px;font-size:15px;font-weight:500;color:var(--ink);transition:background .16s ease,color .16s ease}
.nav__link:hover{background:var(--bg-tint)}
.nav__link svg{opacity:.5;transition:transform .2s ease}
.nav__item:hover .nav__link svg,.nav__item:focus-within .nav__link svg{transform:rotate(180deg)}
.nav__actions{display:flex;align-items:center;gap:10px}
/* Language switcher (EN | ID), left of Sign in */
.lang{display:inline-flex;align-items:center;gap:1px;height:34px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.6)}
.lang svg{width:15px;height:15px;margin:0 3px 0 6px;color:var(--ink-3);flex:none}
.lang__o{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:650;letter-spacing:.04em;color:var(--ink-3);transition:color .15s,background .15s}
.lang__o:hover{color:var(--ink)}
.lang__o.is-on{background:var(--ink);color:#fff}
.lang__o:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.nav__link{white-space:nowrap}
/* Narrow laptops: room for the longer Indonesian menu plus the switcher */
@media (max-width:1280px) and (min-width:1025px){
  .nav__inner{gap:16px}
  .nav__link{padding:0 8px;font-size:14.5px}
  .nav__actions{gap:8px}
  .lang svg{display:none}
}
@media (max-width:1180px) and (min-width:1025px){
  .nav__link{padding:0 6px;font-size:14px}
  .nav__inner{gap:12px}
  .lang__o{padding:0 7px}
  .nav__actions .btn--sm{padding-inline:12px}
}
/* Phones: logo, switcher and menu button; the demo button lives in the menu */
@media (max-width:480px){
  .nav__actions .btn--primary{display:none}
}

/* dropdown */
.nav__pop{
  position:absolute;top:calc(100% + 10px);left:-14px;min-width:280px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.nav__pop--wide{min-width:560px;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.nav__item:hover .nav__pop,.nav__item:focus-within .nav__pop{opacity:1;visibility:visible;transform:translateY(0)}
.pop__link{display:flex;gap:12px;padding:10px 12px;border-radius:9px;transition:background .15s ease}
.pop__link:hover{background:var(--bg-tint)}
.pop__ico{flex:none;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand-ink)}
.pop__ico svg{width:17px;height:17px}
.pop__t{font-size:14px;font-weight:600;line-height:1.35}
.pop__d{font-size:12.5px;color:var(--ink-2);line-height:1.45;margin-top:2px}

/* logo */
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.03em;flex:none}
.logo__mark{width:30px;height:30px;flex:none}
.logo--light{color:#fff}

/* mobile */
.nav__burger{display:none;width:40px;height:40px;border-radius:9px;align-items:center;justify-content:center;border:1px solid var(--line)}
.nav__burger span{display:block;width:17px;height:1.6px;background:var(--ink);border-radius:2px;position:relative;transition:transform .22s ease,opacity .22s}
.nav__burger span::before,.nav__burger span::after{content:"";position:absolute;left:0;width:17px;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .22s ease}
.nav__burger span::before{top:-6px}
.nav__burger span::after{top:6px}
body.menu-open .nav__burger span{background:transparent}
body.menu-open .nav__burger span::before{transform:translateY(6px) rotate(45deg)}
body.menu-open .nav__burger span::after{transform:translateY(-6px) rotate(-45deg)}
.mobile{
  position:fixed;inset:var(--nav-h) 0 0 0;z-index:99;background:#fff;
  padding:12px var(--gutter) 40px;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;
}
body.menu-open .mobile{opacity:1;visibility:visible;transform:none}
body.menu-open{overflow:hidden}
.mobile__group{border-bottom:1px solid var(--line)}
.mobile__sum{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;font-size:16px;font-weight:600;cursor:pointer;list-style:none}
.mobile__sum::-webkit-details-marker{display:none}
.mobile__sum svg{opacity:.45;transition:transform .2s}
details[open] .mobile__sum svg{transform:rotate(180deg)}
.mobile__links{padding:0 2px 14px;display:grid;gap:2px}
.mobile__links a{padding:9px 0;font-size:15px;color:var(--ink-2)}
.mobile__cta{display:grid;gap:10px;margin-top:22px}
.mobile__cta .btn{width:100%}

/* =========================================================
   7. PRODUCT UI — one design system for every mockup
   ========================================================= */
.app{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--sh-lg);overflow:hidden;
  font-size:13px;line-height:1.5;color:var(--ink);
}
.section--dark .app{border-color:var(--line-dark-2);box-shadow:var(--sh-dark)}

/* window chrome */
.app__bar{
  display:flex;align-items:center;gap:10px;height:38px;padding:0 14px;
  border-bottom:1px solid var(--line);background:var(--bg-soft);
}
.app__dots{display:flex;gap:6px;flex:none}
.app__dots i{width:9px;height:9px;border-radius:50%;background:#DDE1E8}
.app__url{
  font-size:11.5px;color:var(--ink-3);background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:3px 12px;margin-inline:auto;max-width:60%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.app__body{display:grid}

/* generic app panes */
.pane{min-width:0}
.pane + .pane{border-left:1px solid var(--line)}
.pane__head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:12px 14px;border-bottom:1px solid var(--line);min-height:46px;
}
.pane__title{font-size:13px;font-weight:650;letter-spacing:-.01em}
.pane__sub{font-size:11.5px;color:var(--ink-3);font-weight:500}

/* channel rail */
.rail{padding:10px;display:grid;gap:2px;align-content:start;background:var(--bg-soft)}
.rail__label{font-size:10.5px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:10px 8px 6px}
.rail__item{
  display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;
  font-size:12.5px;font-weight:500;color:var(--ink-2);transition:background .15s ease;
  white-space:nowrap;min-width:0;
}
.rail__item:hover{background:#EEF0F4}
.rail__item.is-active{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--sh-sm)}
.rail__count{margin-left:auto;font-size:11px;font-weight:600;color:var(--ink-3);background:#E9ECF1;border-radius:20px;padding:1px 7px}
.rail__item.is-active .rail__count{background:var(--brand-wash);color:var(--brand-ink)}

/* channel glyph */
.ch{width:20px;height:20px;border-radius:5px;flex:none;display:grid;place-items:center;color:#fff}
.ch svg{width:12px;height:12px;fill:currentColor}
.ch--lg{width:28px;height:28px;border-radius:7px}
.ch--lg svg{width:16px;height:16px}
.ch--whatsapp{background:var(--c-whatsapp)}
.ch--instagram{background:linear-gradient(135deg,#F9CE34,#EE2A7B 55%,#6228D7)}
.ch--messenger{background:var(--c-messenger)}
.ch--telegram{background:var(--c-telegram)}
.ch--line{background:var(--c-line)}
.ch--email{background:var(--c-email)}
.ch--sms{background:var(--c-sms)}
.ch--chat{background:var(--c-chat)}
.ch--viber{background:var(--c-viber)}
.ch--rcs{background:var(--c-rcs)}
.ch--zalo{background:var(--c-zalo)}

/* conversation list */
.convs{display:grid;grid-template-columns:minmax(0,1fr);align-content:start}
.conv{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);position:relative;transition:background .15s ease}
.conv:hover{background:var(--bg-soft)}
.conv.is-active{background:var(--brand-wash)}
.conv.is-active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--brand)}
.conv__av{position:relative;flex:none}
.avatar{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-size:11.5px;font-weight:650;color:#fff;letter-spacing:.01em;flex:none;
}
.avatar--a{background:#5B6BF5}.avatar--b{background:#E0763A}.avatar--c{background:#0FA36B}
.avatar--d{background:#B3529E}.avatar--e{background:#3E82C4}.avatar--f{background:#6E7480}
.avatar--photo{background:#FCE7D6;overflow:hidden;padding:0}
.avatar--photo img{display:block;width:100%;height:100%;object-fit:cover}
.avatar--head{width:38px;height:38px;position:relative;overflow:visible}
.avatar--head img{border-radius:50%}
.avatar__ch.ch{position:absolute;right:-3px;bottom:-3px;width:17px;height:17px;border-radius:50%;box-shadow:0 0 0 2px #fff}
.avatar__ch.ch svg{width:10px;height:10px}
.conv__av .ch{position:absolute;right:-4px;bottom:-3px;width:15px;height:15px;border-radius:4px;border:1.5px solid #fff}
.conv__av .ch svg{width:8px;height:8px}
.conv__main{min-width:0;flex:1}
.conv__top{display:flex;align-items:baseline;gap:8px}
.conv__name{font-size:12.5px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv__time{margin-left:auto;font-size:10.5px;color:var(--ink-3);flex:none;font-variant-numeric:tabular-nums}
.conv__snip{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.conv__meta{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}

/* pills / badges */
.pill{
  display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:20px;
  font-size:10.5px;font-weight:600;letter-spacing:.005em;background:#F0F2F5;color:var(--ink-2);white-space:nowrap;
}
.pill i{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.pill--ai{background:var(--brand-wash);color:var(--brand-ink)}
.pill--open{background:var(--honey-wash);color:#9A6200}
.pill--resolved{background:var(--green-wash);color:#0A7A3C}
.pill--assigned{background:#EEF0F4;color:var(--ink-2)}
.pill--live{background:rgba(var(--brand-bright-rgb),.12);color:var(--brand-bright)}
.pill--dark{background:rgba(255,255,255,.07);color:var(--ink-invert-2)}

/* thread */
.thread{padding:16px 18px;display:grid;gap:12px;align-content:end;background:linear-gradient(180deg,#FCFCFD,#fff)}
.msg{display:flex;gap:9px;max-width:86%}
.msg__b{padding:9px 12px;border-radius:12px;font-size:12.5px;line-height:1.55;box-shadow:var(--sh-sm)}
.msg--in .msg__b{background:#fff;border:1px solid var(--line);border-top-left-radius:4px}
.msg--out{margin-left:auto;flex-direction:row-reverse}
.msg--out .msg__b{background:var(--brand);color:var(--brand-on);border-top-right-radius:4px;box-shadow:0 2px 8px -2px rgba(var(--brand-rgb),.4)}
.msg--ai{margin-left:auto}
.msg--ai .msg__b{background:#fff;border:1px solid var(--brand-wash-2);border-top-right-radius:4px}
.msg__who{font-size:10.5px;font-weight:650;color:var(--ink-3);margin-bottom:4px;display:flex;align-items:center;gap:5px}
.msg__time{font-size:10px;color:var(--ink-3);margin-top:5px;display:block}
.msg--out .msg__time{color:var(--brand-on);opacity:.72;text-align:right}
.msg__b .b{font-weight:650}

/* typing */
.typing{display:inline-flex;gap:3px;align-items:center;padding:3px 0}
.typing i{width:5px;height:5px;border-radius:50%;background:var(--ink-3);animation:blink 1.3s infinite}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
@keyframes blink{0%,60%,100%{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}

/* composer */
.composer{border-top:1px solid var(--line);padding:10px 14px;background:#fff}
.composer__box{border:1px solid var(--line-strong);border-radius:10px;padding:9px 11px;font-size:12.5px;color:var(--ink-3);background:#fff;display:flex;align-items:center;gap:8px}
.composer__box .send{margin-left:auto;width:24px;height:24px;border-radius:6px;background:var(--brand);display:grid;place-items:center;flex:none}
.composer__box .send svg{width:12px;height:12px;fill:var(--brand-on)}
.composer__ai{display:flex;gap:6px;margin-bottom:9px;flex-wrap:wrap}
.sugg{
  font-size:11.5px;font-weight:550;color:var(--brand-ink);background:var(--brand-wash);
  border:1px solid var(--brand-wash-2);border-radius:20px;padding:4px 11px;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
}
.sugg svg{width:11px;height:11px}

/* profile pane */
.prof{padding:16px 14px;display:grid;gap:16px;align-content:start;background:var(--bg-soft)}
.prof__id{display:grid;justify-items:center;gap:8px;text-align:center;padding-bottom:4px}
.prof__id .avatar{width:48px;height:48px;font-size:16px}
.prof__name{font-size:14px;font-weight:650;letter-spacing:-.015em}
.prof__grp{display:grid;gap:7px}
.prof__lab{font-size:10px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.prof__row{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.prof__row span{color:var(--ink-3)}
.prof__row b{font-weight:600;text-align:right;letter-spacing:-.01em}
.prof__tags{display:flex;flex-wrap:wrap;gap:5px}
.hist{display:grid;gap:9px}
.hist__i{display:flex;gap:8px;font-size:11.5px;color:var(--ink-2);position:relative;padding-left:14px}
.hist__i::before{content:"";position:absolute;left:3px;top:6px;width:5px;height:5px;border-radius:50%;background:var(--line-strong)}
.hist__i::after{content:"";position:absolute;left:5.2px;top:13px;bottom:-9px;width:1px;background:var(--line)}
.hist__i:last-child::after{display:none}
.hist__i b{font-weight:600;color:var(--ink)}
.hist__i time{margin-left:auto;color:var(--ink-3);font-size:10.5px;flex:none}

/* =========================================================
   8. HERO
   ========================================================= */
.hero{padding-top:calc(var(--nav-h) + clamp(44px,6vw,84px));padding-bottom:clamp(64px,7vw,104px);position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0 0 auto 0;height:620px;z-index:-1;
  background:
    radial-gradient(760px 340px at 50% -80px, rgba(var(--brand-rgb),.09), transparent 70%),
    linear-gradient(180deg,#F7F9FD,rgba(255,255,255,0));
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(620px 360px at 50% 40px,rgba(0,0,0,.9),transparent 70%);
  mask-image:radial-gradient(620px 360px at 50% 40px,rgba(0,0,0,.9),transparent 70%);
  opacity:.4;
}
.hero__copy{max-width:820px;margin-inline:auto;text-align:center}
.hero h1{margin-bottom:22px;text-wrap:balance}
.hero h1 .nowrap{white-space:nowrap}
.hero .lede{margin-inline:auto;font-size:clamp(16px,1.75vw,20px);max-width:58ch}
.hero .btn-row{justify-content:center;margin-top:34px}
.hero__note{margin-top:18px;font-size:13px;color:var(--ink-3)}
.hero__stage{margin-top:clamp(44px,5.5vw,72px);position:relative}
.hero__stage .app{max-width:1160px;margin-inline:auto}
.hero__glow{
  position:absolute;left:50%;top:8%;transform:translateX(-50%);
  width:min(880px,88%);height:60%;z-index:-1;filter:blur(64px);opacity:.5;
  background:radial-gradient(closest-side,rgba(var(--brand-rgb),.30),transparent);
}

/* hero app grid */
.app--inbox .app__body{grid-template-columns:186px 268px minmax(0,1fr) 226px}
.app--inbox .thread{min-height:400px}

/* trust strip */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-soft)}
.trust__inner{padding-block:26px;display:flex;align-items:center;gap:clamp(20px,4vw,52px);flex-wrap:wrap;justify-content:center}
.trust__lab{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.trust__logo{
  height:26px;padding:0 4px;display:grid;place-items:center;
  font-size:15px;font-weight:700;letter-spacing:-.02em;color:#A8AEB9;
  border-radius:4px;transition:color .2s ease;
}
.trust__logo:hover{color:var(--ink-2)}

/* =========================================================
   9. CHANNELS
   ========================================================= */
.channels-intro{
  display:grid;grid-template-columns:minmax(0,680px) minmax(300px,390px);
  align-items:center;justify-content:space-between;gap:clamp(40px,6vw,84px);
  margin-bottom:clamp(40px,4.5vw,56px);
}
.channels-intro .head{margin-bottom:0}
.channels-people{
  position:relative;isolation:isolate;justify-self:end;width:100%;max-width:410px;
  aspect-ratio:16/11;margin:0;overflow:visible;
}
.channels-people::before{
  content:"";position:absolute;z-index:-1;inset:9% 2% 2% 5%;
  border-radius:50%;filter:blur(32px);opacity:.82;
  background:radial-gradient(closest-side,rgba(var(--brand-rgb),.19),rgba(var(--brand-rgb),.055) 58%,transparent 100%);
}
.channels-people img{
  position:absolute;z-index:1;left:8%;bottom:-1%;display:block;width:84%;height:auto;
  max-width:none;filter:saturate(.86) contrast(.98) drop-shadow(0 22px 22px rgba(24,39,63,.12));
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 89%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 89%,transparent 100%);
  transform:translateZ(0);
}
.people-chip{
  position:absolute;z-index:3;display:flex;align-items:center;gap:9px;
  min-width:150px;padding:9px 11px;border:1px solid rgba(255,255,255,.92);border-radius:12px;
  background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(25,39,61,.11);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  color:var(--ink);pointer-events:none;
}
.people-chip .ch{width:25px;height:25px;border-radius:7px}
.people-chip .ch svg{width:14px;height:14px}
.people-chip__copy{display:grid;gap:1px;line-height:1.2;white-space:nowrap}
.people-chip__copy b{font-size:11px;font-weight:700;letter-spacing:-.01em}
.people-chip__copy small{font-size:9.5px;color:var(--ink-3)}
.people-chip__status{width:6px;height:6px;margin-left:auto;border-radius:50%;background:#20B66A;box-shadow:0 0 0 3px rgba(32,182,106,.12)}
.people-chip--message{left:-4%;top:20%}
.people-chip--reply{right:-3%;bottom:17%;transform:scale(.92)}
.chgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.chcard{background:#fff;padding:22px 18px;display:grid;gap:12px;transition:background .18s ease}
.chcard:hover{background:var(--bg-soft)}
.chcard__n{font-size:14px;font-weight:650;letter-spacing:-.015em}
.chcard__s{font-size:12px;color:var(--ink-3);margin-top:-8px}
.chcard--soon .chcard__n{color:var(--ink-2)}

/* =========================================================
   10. FEATURE LISTS / CARDS
   ========================================================= */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px 32px}
.feat{display:flex;gap:11px;padding:13px 0;border-top:1px solid var(--line)}
.feat__ico{flex:none;width:20px;height:20px;color:var(--brand-ink);margin-top:1px}
.feat__ico svg{width:20px;height:20px}
.feat__t{font-size:14.5px;font-weight:600;letter-spacing:-.012em}
.feat__d{font-size:13px;color:var(--ink-2);line-height:1.5;margin-top:2px}
.section--dark .feat{border-top-color:var(--line-dark-2)}
.section--dark .feat__ico{color:var(--brand-bright)}
.section--dark .feat__d{color:var(--ink-invert-2)}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,5vw,72px);align-items:center}
.split--rev > :first-child{order:2}
.split__copy{max-width:520px}
.split__copy .lede{margin-top:18px}
.split__copy .feat-grid{margin-top:28px}

/* =========================================================
   11. AUTOMATION / WORKFLOW BUILDER
   ========================================================= */
.flow{
  position:relative;padding:22px;border-radius:var(--r-lg);border:1px solid var(--line);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23DFE3EA'/%3E%3C/svg%3E");
  box-shadow:var(--sh-lg);
}
.flow__head{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.flow__head .pill{background:#fff;border:1px solid var(--line)}
.flow__col{display:grid;justify-items:center;gap:0}
.node{
  background:#fff;border:1px solid var(--line-strong);border-radius:11px;padding:11px 14px;
  box-shadow:var(--sh);min-width:224px;max-width:268px;position:relative;z-index:2;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.node__top{display:flex;align-items:center;gap:8px}
.node__ico{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;flex:none;background:var(--bg-tint);color:var(--ink-2)}
.node__ico svg{width:13px;height:13px}
.node__t{font-size:12.5px;font-weight:650;letter-spacing:-.012em}
.node__d{font-size:11.5px;color:var(--ink-3);margin-top:4px;padding-left:30px}
.node--trigger .node__ico{background:var(--brand-wash);color:var(--brand-ink)}
.node--ai .node__ico{background:#F1EDFF;color:var(--violet)}
.node--cond .node__ico{background:var(--honey-wash);color:#B57200}
.node--api .node__ico{background:var(--green-wash);color:var(--green)}
.node.is-live{border-color:var(--brand-ink);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.11),var(--sh)}
.node__dot{position:absolute;right:11px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--line-strong);transition:background .25s}
.node.is-live .node__dot{background:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.18)}
.connector{width:1.5px;height:26px;background:var(--line-strong);position:relative;flex:none}
.connector::after{content:"";position:absolute;inset:auto 0 0 0;height:0;background:var(--brand);transition:height .4s ease}
.connector.is-live::after{height:100%}
.connector--sm{height:18px}
.branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;position:relative;align-items:start}
.branches::before{                       /* horizontal bus joining the three branches */
  content:"";position:absolute;top:0;left:16.66%;right:16.66%;height:1.5px;background:var(--line-strong);
}
.branch{display:grid;justify-items:center;gap:0;position:relative;padding-top:22px}
.branch::before{                          /* drop from the bus into each branch */
  content:"";position:absolute;top:0;left:50%;width:1.5px;height:22px;background:var(--line-strong);
}
.branch__lab{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.branch .node{min-width:0;width:100%;min-height:44px;display:flex;align-items:center}
.branch .node__top{width:100%}

/* =========================================================
   12. AI SECTION (dark)
   ========================================================= */
.section--ai{background:var(--bg-dark);position:relative;overflow:hidden}
.section--ai::before{
  content:"";position:absolute;left:50%;top:-180px;transform:translateX(-50%);
  width:900px;height:520px;border-radius:50%;filter:blur(120px);opacity:.30;
  background:radial-gradient(closest-side,var(--brand-bright),transparent);pointer-events:none;
}
.ai-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:clamp(36px,4vw,56px)}
.ai-card{
  background:linear-gradient(180deg,#13161D,#0E1116);
  border:1px solid var(--line-dark-2);border-radius:var(--r-xl);padding:28px;
  display:flex;flex-direction:column;gap:20px;
}
.ai-card .cap-list{margin-top:auto}   /* pin capabilities to the card foot so both cards align */
.ai-card__tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--brand-bright)}
.ai-card h3{font-size:22px;letter-spacing:-.02em}
.ai-card p{font-size:14.5px;color:var(--ink-invert-2);line-height:1.6}
.cap-list{display:flex;flex-wrap:wrap;gap:7px}
.cap{
  font-size:12px;font-weight:550;color:#C7CDD9;background:rgba(255,255,255,.045);
  border:1px solid var(--line-dark-2);border-radius:7px;padding:5px 10px;
}
.cap svg{width:11px;height:11px;margin-right:5px;vertical-align:-1px;color:var(--brand-bright)}

/* dark mini-app */
.app--dark{background:#0F1218;border:1px solid var(--line-dark-2);border-radius:var(--r-lg);overflow:hidden;color:var(--ink-invert)}
.app--dark .pane + .pane,.app--dark .pane__head,.app--dark .composer{border-color:var(--line-dark)}
.app--dark .thread{background:#0F1218}
.app--dark .msg--in .msg__b{background:#171B23;border-color:var(--line-dark-2);color:#E4E8EF}
.app--dark .msg--ai .msg__b{background:rgba(var(--brand-bright-rgb),.10);border:1px solid rgba(var(--brand-bright-rgb),.30);color:var(--brand-wash-2)}
.app--dark .composer{background:#0F1218}
.app--dark .composer__box{background:#141821;border-color:var(--line-dark-2);color:var(--ink-invert-2)}
.app--dark .sugg{background:rgba(var(--brand-bright-rgb),.13);border-color:rgba(var(--brand-bright-rgb),.28);color:var(--brand-bright)}
.app--dark .msg__who{color:var(--ink-3)}
.app--dark .pane__title{color:#fff}

/* AI agent action chain */
.chain{display:grid;gap:0;justify-items:stretch}
.chain__step{
  display:flex;gap:12px;align-items:flex-start;
  background:rgba(255,255,255,.035);border:1px solid var(--line-dark-2);
  border-radius:12px;padding:13px 15px;position:relative;
}
.chain__ico{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex:none;background:rgba(var(--brand-bright-rgb),.14);color:var(--brand-bright)}
.chain__ico svg{width:14px;height:14px}
.chain__lab{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.chain__txt{font-size:13.5px;color:#E4E8EF;margin-top:3px;line-height:1.5}
.chain__arrow{height:20px;display:grid;place-items:center;color:#39404E}
.chain__arrow svg{width:13px;height:13px}
.chain__api{
  font-family:var(--mono);font-size:11.5px;color:var(--brand-bright);background:rgba(var(--brand-bright-rgb),.08);
  border:1px solid rgba(var(--brand-bright-rgb),.22);border-radius:8px;padding:9px 11px;margin-top:9px;line-height:1.7;
}
.chain__api b{color:var(--brand-wash-2);font-weight:600}
.chain__step--ok .chain__ico{background:rgba(18,161,80,.16);color:#43D48A}

/* =========================================================
   13. TEAMS / USE CASES (tabs)
   ========================================================= */
.teams-intro{
  display:grid;grid-template-columns:minmax(0,640px) minmax(390px,510px);
  align-items:center;justify-content:space-between;gap:clamp(36px,4vw,64px);
  margin-bottom:clamp(40px,4.5vw,56px);
}
.teams-intro .head{margin-bottom:0;padding-bottom:0}
.teams-people{
  position:relative;isolation:isolate;justify-self:end;width:100%;max-width:510px;
  aspect-ratio:16/11;min-height:0;margin:0;overflow:visible;
}
.teams-people::before{
  content:"";position:absolute;z-index:-1;inset:1% -4% -3% -3%;
  border-radius:50%;filter:blur(38px);opacity:.84;
  background:radial-gradient(closest-side,rgba(var(--brand-rgb),.20),rgba(var(--brand-rgb),.055) 58%,transparent 100%);
}
.teams-people img{
  position:absolute;z-index:1;left:-4%;bottom:-5%;display:block;width:108%;height:auto;
  max-width:none;filter:saturate(.86) contrast(.98) drop-shadow(0 22px 24px rgba(24,39,63,.12));
  -webkit-mask-image:
    linear-gradient(to right,transparent 0,#000 8%,#000 91%,transparent 100%),
    linear-gradient(to bottom,#000 0,#000 79%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0,#000 8%,#000 91%,transparent 100%),
    linear-gradient(to bottom,#000 0,#000 79%,transparent 100%);
  mask-composite:intersect;
  transform:translateZ(0);
}
.people-chip--workspace{right:-2%;top:5%;padding:10px 12px}
.people-avatars{display:flex;align-items:center;padding-left:5px}
.people-avatars i{
  width:24px;height:24px;margin-left:-5px;display:grid;place-items:center;
  border:2px solid rgba(255,255,255,.94);border-radius:50%;background:#E9F1FF;
  color:#315DAB;font-size:8px;font-style:normal;font-weight:750;
}
.people-avatars i:nth-child(2){background:#EAF8F3;color:#178264}
.people-avatars i:nth-child(3){background:#F2EDFF;color:#7853BE;font-size:7px}
.scene-card{
  position:absolute;z-index:3;display:flex;align-items:center;gap:9px;
  padding:10px 12px;border:1px solid rgba(255,255,255,.94);border-radius:13px;
  background:rgba(255,255,255,.82);box-shadow:0 14px 34px rgba(25,39,61,.12);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
  color:var(--ink);pointer-events:none;
}
.scene-card__icon{width:29px;height:29px;display:grid;place-items:center;flex:none;border-radius:8px;background:var(--brand);color:#fff}
.scene-card__icon svg{width:14px;height:14px}
.scene-card__copy{display:grid;gap:2px;line-height:1.15;white-space:nowrap}
.scene-card__copy b{font-size:10.5px;font-weight:700}
.scene-card__copy small{font-size:9px;color:var(--ink-3)}
.scene-card__pulse{width:6px;height:6px;margin-left:4px;border-radius:50%;background:#20B66A;box-shadow:0 0 0 3px rgba(32,182,106,.13)}
.scene-card--campaign{z-index:3;left:-4%;top:58%;padding-right:14px;transform:rotate(-2deg)}
.scene-card--performance{right:-4%;bottom:10%;min-width:176px;transform:rotate(1.5deg)}
.scene-card__metric{font-size:17px;font-weight:750;letter-spacing:-.04em;color:#178264}
.scene-card__bars{height:27px;margin-left:auto;display:flex;align-items:flex-end;gap:2px}
.scene-card__bars i{display:block;width:3px;border-radius:3px;background:rgba(var(--brand-rgb),.34)}
.scene-card__bars i:nth-child(1){height:35%}
.scene-card__bars i:nth-child(2){height:55%}
.scene-card__bars i:nth-child(3){height:72%}
.scene-card__bars i:nth-child(4){height:100%;background:var(--brand)}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:36px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{
  position:relative;padding:12px 4px;margin-right:26px;font-size:15px;font-weight:600;color:var(--ink-3);
  white-space:nowrap;transition:color .18s ease;
}
.tab:hover{color:var(--ink-2)}
.tab[aria-selected="true"]{color:var(--ink)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand);border-radius:2px}
.tabpanel[hidden]{display:none}
.tabpanel{animation:fadeUp .35s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* campaign / analytics mockups */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.stat{background:#fff;padding:13px 15px}
.stat__l{font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.stat__v{font-size:21px;font-weight:700;letter-spacing:-.03em;margin-top:4px;font-variant-numeric:tabular-nums}
.stat__d{font-size:11px;color:var(--green);font-weight:600;margin-top:2px}
.bars{display:flex;align-items:flex-end;gap:7px;height:104px;padding:16px 15px 0}
.bars i{flex:1;background:var(--brand-wash-2);border-radius:3px 3px 0 0;position:relative;transition:background .2s}
.bars i.hi{background:var(--brand)}
.bars-x{display:flex;gap:7px;padding:8px 15px 15px;font-size:10px;color:var(--ink-3)}
.bars-x span{flex:1;text-align:center}
.table{width:100%;border-collapse:collapse;font-size:12.5px}
.table th{text-align:left;font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:10px 15px;border-bottom:1px solid var(--line);background:var(--bg-soft)}
.table td{padding:11px 15px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.table td b{color:var(--ink);font-weight:600}
.table tr:last-child td{border-bottom:0}
.bar-inline{display:block;height:5px;border-radius:3px;background:var(--bg-tint);overflow:hidden;min-width:70px}
.bar-inline i{display:block;height:100%;background:var(--brand);border-radius:3px}

/* =========================================================
   14. DEVELOPERS (dark)
   ========================================================= */
.code{
  background:#0E1116;border:1px solid var(--line-dark-2);border-radius:var(--r-lg);overflow:hidden;
  font-family:var(--mono);font-size:13px;line-height:1.75;
}
.code__bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line-dark);background:#121620}
.code__tab{font-size:11.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.07);border-radius:6px;padding:3px 10px;font-family:var(--font)}
.code__tab--off{background:none;color:var(--ink-3)}
.code__copy{margin-left:auto;font-size:11px;color:var(--ink-3);font-family:var(--font);display:flex;align-items:center;gap:5px}
.code pre{margin:0;padding:16px 18px;overflow-x:auto;color:#C9D1E1;-webkit-overflow-scrolling:touch}
.code .k{color:var(--brand-bright)}.code .s{color:#7FD9A6}.code .p{color:#5C6675}
.code .m{color:#FFC46B;font-weight:600}.code .c{color:#5C6675;font-style:italic}
.code .u{color:#E4E8EF}
.api-flow{display:grid;gap:0;justify-items:stretch}
.api-node{
  display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:11px;
  background:rgba(255,255,255,.035);border:1px solid var(--line-dark-2);
}
.api-node__ico{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.07);color:#C7CDD9}
.api-node__ico svg{width:14px;height:14px}
.api-node__t{font-size:13px;font-weight:600;color:#E4E8EF;letter-spacing:-.01em}
.api-node__s{font-size:11.5px;color:var(--ink-3)}
.api-node--brand .api-node__ico{background:rgba(var(--brand-bright-rgb),.16);color:var(--brand-bright)}
.api-node--brand{border-color:rgba(var(--brand-bright-rgb),.3)}
.api-node--wa .api-node__ico{background:rgba(37,211,102,.14);color:var(--c-whatsapp)}
.api-node__st{margin-left:auto;font-size:11px;font-weight:600;color:#43D48A;font-family:var(--mono)}
.dev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-dark-2);border:1px solid var(--line-dark-2);border-radius:var(--r-lg);overflow:hidden;margin-top:36px}
.dev-card{background:#0D1015;padding:20px 18px}
.dev-card__t{font-size:14px;font-weight:650;color:#fff;letter-spacing:-.015em}
.dev-card__d{font-size:12.5px;color:var(--ink-invert-2);margin-top:5px;line-height:1.5}
.dev-card__m{font-family:var(--mono);font-size:11px;color:var(--brand-bright);margin-top:9px}

/* =========================================================
   15. INTEGRATIONS — connected hub
   ========================================================= */
.hub{
  position:relative;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2.4vw,28px);
  max-width:840px;margin-inline:auto;
}
.hub__wires{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hub__i,.hub__core{position:relative;z-index:1}
.hub__i{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:18px 14px;display:grid;justify-items:center;gap:10px;text-align:center;
  box-shadow:var(--sh-sm);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.hub__i:hover{border-color:var(--line-strong);box-shadow:var(--sh);transform:translateY(-2px)}
.hub__logo{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);background:var(--bg-soft)}
.hub__logo svg{width:19px;height:19px}
.hub__n{font-size:13px;font-weight:600;letter-spacing:-.012em;color:var(--ink)}

.hub__core{
  background:var(--bg-dark);color:#fff;border-radius:var(--r-lg);
  padding:18px 14px;display:grid;justify-items:center;gap:8px;text-align:center;
  box-shadow:0 18px 44px -18px rgba(var(--brand-rgb),.55);
}
/* The mark may be a square glyph or a wide wordmark, so the box adapts to the
   logo instead of pinning it to 38px and letting a wide one escape the card. */
.hub__coreMark{display:grid;place-items:center;max-width:100%;min-height:38px}
.hub__coreMark svg{width:38px;height:38px}
.hub__coreMark img{max-width:100%;height:auto;max-height:40px}
.hub__coreName{font-size:14.5px;font-weight:700;letter-spacing:-.02em}
.hub__coreSub{font-size:11.5px;color:var(--ink-invert-2)}

.hub__foot{
  max-width:840px;margin:28px auto 0;border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--bg-soft);padding:18px 22px;
  display:flex;align-items:center;justify-content:center;gap:8px 18px;flex-wrap:wrap;text-align:center;
}
.hub__foot b{font-size:15px;font-weight:650;letter-spacing:-.015em}
.hub__foot span{font-size:13.5px;color:var(--ink-2)}

/* =========================================================
   16. ENTERPRISE
   ========================================================= */
.ent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ent{background:#fff;padding:24px 22px;display:grid;gap:9px;align-content:start}
.ent__ico{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand-ink);margin-bottom:3px}
.ent__ico svg{width:17px;height:17px}
.ent__t{font-size:15px;font-weight:650;letter-spacing:-.015em}
.ent__d{font-size:13.5px;color:var(--ink-2);line-height:1.55}

/* Inbox capability matrix: eight items stay balanced at every breakpoint. */
.inbox-capabilities-section{position:relative;overflow:hidden}
.inbox-capabilities-section::before{
  content:"";position:absolute;left:50%;top:46%;width:min(980px,90vw);height:420px;
  transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(closest-side,rgba(var(--brand-rgb),.075),transparent 72%);
  filter:blur(24px);
}
.inbox-capabilities-section .wrap{position:relative;z-index:1}
.inbox-capabilities__head{margin-bottom:48px}
.inbox-capabilities__head .eyebrow{margin-bottom:15px}
.inbox-capabilities__head h2 + .lede{max-width:52ch}
.ent-grid.inbox-capabilities{
  grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;
  background:none;border:0;border-radius:0;overflow:visible;counter-reset:inbox-capability;
}
.inbox-capabilities .ent{
  position:relative;min-height:196px;padding:26px 22px 24px;gap:10px;
  grid-template-rows:auto auto 1fr;counter-increment:inbox-capability;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:linear-gradient(145deg,#fff 72%,var(--brand-wash));
  box-shadow:var(--sh-sm);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.inbox-capabilities .ent::before{
  content:"";position:absolute;left:22px;right:22px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(var(--brand-rgb),.55),transparent);
}
.inbox-capabilities .ent::after{
  content:counter(inbox-capability,decimal-leading-zero);position:absolute;right:18px;top:17px;
  font:600 10px/1 var(--mono);letter-spacing:.08em;color:var(--ink-3);
}
.inbox-capabilities .ent:hover{
  transform:translateY(-3px);border-color:var(--brand-wash-2);
  box-shadow:0 16px 34px -22px rgba(16,17,20,.35),0 0 0 1px var(--brand-wash);
}
.inbox-capabilities .ent__ico{
  width:40px;height:40px;border-radius:11px;margin-bottom:8px;
  box-shadow:inset 0 0 0 1px rgba(var(--brand-rgb),.08);
}
.inbox-capabilities .ent__ico svg{width:19px;height:19px}
.inbox-capabilities .ent__t{font-size:15.5px;line-height:1.3}
.inbox-capabilities .ent__d{font-size:13.5px;line-height:1.6;max-width:28ch}

@media (max-width:1024px){
  .ent-grid.inbox-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .inbox-capabilities__head{margin-bottom:32px}
  .ent-grid.inbox-capabilities{grid-template-columns:1fr;gap:12px}
  .inbox-capabilities .ent{min-height:0;padding:22px 20px}
}

/* =========================================================
   17. SOCIAL PROOF
   ========================================================= */
.proof-partner{display:flex;justify-content:center;margin-top:clamp(28px,3vw,36px)}
.proof-partner__badge{display:block;width:min(210px,58vw);height:auto}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}
.metric{background:#fff;padding:30px 22px;text-align:center}
.metric__v{font-size:clamp(28px,3.6vw,40px);font-weight:700;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.metric__l{font-size:13px;color:var(--ink-2);margin-top:9px}
.placeholder{
  display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:650;letter-spacing:.07em;
  text-transform:uppercase;color:#9A6200;background:var(--honey-wash);border-radius:5px;padding:2px 7px;vertical-align:middle;
}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:44px}
.quote{border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;background:#fff;display:grid;gap:18px;align-content:start}
.quote p{font-size:15px;line-height:1.6;color:var(--ink);letter-spacing:-.01em}
.quote__by{display:flex;align-items:center;gap:11px}
.quote__n{font-size:13px;font-weight:650}
.quote__r{font-size:12px;color:var(--ink-3)}

/* =========================================================
   18. FINAL CTA + FOOTER
   ========================================================= */
.cta{background:var(--bg-dark);color:#fff;position:relative;overflow:hidden;text-align:center}
.cta::before{
  content:"";position:absolute;left:50%;top:-40%;transform:translateX(-50%);
  width:1000px;height:600px;border-radius:50%;filter:blur(130px);opacity:.42;
  background:radial-gradient(closest-side,var(--brand-bright),transparent);pointer-events:none;
}
.cta__in{position:relative;max-width:900px;margin-inline:auto}
.cta h2{font-size:clamp(32px,5vw,56px);letter-spacing:-.035em;line-height:1.05;text-wrap:normal}
.cta .lede{margin:22px auto 0}
.cta .btn-row{justify-content:center;margin-top:34px}
.cta__note{margin-top:20px;font-size:13px;color:var(--ink-3)}

.foot{background:var(--bg-dark-2);color:var(--ink-invert-2);border-top:1px solid var(--line-dark);padding-block:clamp(52px,6vw,76px) 0}
.foot__top{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(auto-fit,minmax(120px,1fr));gap:40px 28px;padding-bottom:48px}
.foot__brand{max-width:280px}
.foot__brand p{font-size:13.5px;color:var(--ink-invert-2);margin-top:16px;line-height:1.6}
.foot__badge{margin-top:20px}
.foot__badge a{display:inline-block;border-radius:6px}
.foot__badge img{display:block;height:44px;width:auto;max-width:220px}
.foot__col h4{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.foot__col a{display:block;padding:5px 0;font-size:13.5px;color:var(--ink-invert-2);transition:color .16s ease}
.foot__col a:hover{color:#fff}
.foot__bot{border-top:1px solid var(--line-dark);padding-block:22px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;font-size:12.5px}
.foot__legal{display:flex;gap:20px;flex-wrap:wrap}
.foot__legal a:hover{color:#fff}
.social{display:flex;gap:8px}
.social a{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--line-dark-2);transition:background .16s,border-color .16s}
.social a:hover{background:rgba(255,255,255,.06);border-color:#3A414F}
.social svg{width:15px;height:15px;fill:currentColor}

/* =========================================================
   19. MOTION
   ========================================================= */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal-delay="1"]{transition-delay:.07s}
[data-reveal-delay="2"]{transition-delay:.14s}
[data-reveal-delay="3"]{transition-delay:.21s}
.msg--enter{animation:msgIn .45s cubic-bezier(.16,1,.3,1) both}
@keyframes msgIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-reveal]{opacity:1;transform:none}
}

/* =========================================================
   20. RESPONSIVE
   ========================================================= */

/* --- laptop --- */
@media (max-width:1180px){
  .app--inbox .app__body{grid-template-columns:170px 250px minmax(0,1fr)}
  .app--inbox .prof{display:none}
}

/* --- tablet --- */
@media (max-width:1024px){
  :root{--gutter:20px}
  .nav__menu{display:none}
  .nav__burger{display:flex}
  .nav__actions .btn--quiet{display:none}
  .lang svg{display:none}
  .nav__inner{justify-content:space-between}
  .split{grid-template-columns:minmax(0,1fr);gap:36px}
  .split--rev > :first-child{order:0}
  .split__copy{max-width:none}
  .channels-intro{grid-template-columns:minmax(0,1fr) 310px;gap:36px}
  .channels-people{max-width:325px}
  .teams-intro{grid-template-columns:minmax(0,1fr) 360px;gap:32px}
  .teams-people{max-width:360px}
  .scene-card--campaign{left:-2%;top:55%;transform:scale(.9) rotate(-2deg);transform-origin:left center}
  .scene-card--performance{right:-2%;transform:scale(.88) rotate(1.5deg);transform-origin:right center}
  .ai-cards{grid-template-columns:1fr}
  .chgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* --- mobile --- */
@media (max-width:760px){
  :root{--gutter:18px;--nav-h:60px}
  .section{padding-block:64px}
  .head{margin-bottom:32px}

  /* stack the inbox mockup: rail becomes a horizontal channel strip */
  .app--inbox .app__body{grid-template-columns:1fr}
  .app--inbox .pane + .pane{border-left:0;border-top:1px solid var(--line)}
  .app--inbox .rail{
    display:flex;gap:6px;overflow-x:auto;padding:10px;scrollbar-width:none;
    border-bottom:1px solid var(--line);
  }
  .app--inbox .rail::-webkit-scrollbar{display:none}
  .app--inbox .rail__label{display:none}
  .app--inbox .rail__item{flex:none}
  .app--inbox .convs .conv:nth-child(n+3){display:none}
  .app--inbox .thread{min-height:280px}
  .app__url{display:none}
  .app__bar{justify-content:flex-start}

  /* generic multi-pane apps collapse to one column */
  .app__body{grid-template-columns:1fr!important}
  .pane + .pane{border-left:0;border-top:1px solid var(--line)}
  .app--dark .pane + .pane{border-top-color:var(--line-dark)}

  .btn-row .btn{flex:1 1 auto;min-width:0}
  .hero .btn-row{flex-direction:column;align-items:stretch}
  .hero::after{display:none}

  /* workflow → vertical flow */
  .branches{grid-template-columns:1fr;gap:0}
  .branches::before{display:none}
  .branch{margin-top:14px}
  .branch__lab{margin-bottom:6px}
  .node{min-width:0;width:100%;max-width:none}
  .flow{padding:16px}

  .chgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub__wires{display:none}
  .hub__core{grid-column:span 2;order:-1;padding:20px}
  .hub__foot{flex-direction:column;gap:12px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat-grid{grid-template-columns:1fr;gap:0}
  .ent-grid{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .ai-card{padding:22px}
  .foot__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .foot__brand{grid-column:span 2;max-width:none}
  .foot__bot{flex-direction:column;align-items:flex-start}
  .trust__inner{gap:18px 26px}
  .channels-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
  .channels-people{justify-self:center;width:min(100%,430px);max-width:none;aspect-ratio:16/11}
  .channels-people::before{inset:7% 2% 0 4%;filter:blur(26px)}
  .channels-people img{left:9%;bottom:-1%;width:82%}
  .people-chip--message{left:1%;top:18%}
  .people-chip--reply{right:0;bottom:14%}
  .teams-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}
  .teams-intro .head{padding-bottom:0}
  .teams-people{justify-self:center;width:min(100%,470px);max-width:none;aspect-ratio:16/11}
  .teams-people::before{inset:3% 0 0 2%;filter:blur(28px)}
  .teams-people img{left:-3%;bottom:-5%;width:106%}
  .people-chip--workspace{right:0;top:4%;transform:scale(.9);transform-origin:right top}
  .scene-card--campaign{left:0;top:55%;transform:scale(.82) rotate(-2deg);transform-origin:left center}
  .scene-card--performance{right:0;bottom:7%;transform:scale(.82) rotate(1.5deg);transform-origin:right center}
  .tabs{margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
  .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table th:nth-child(3),.table td:nth-child(3){display:none}
}

@media (max-width:420px){
  .chgrid{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr}
  .proof-partner__badge{width:min(180px,52vw)}
  .hero h1{font-size:38px}
  .people-chip{min-width:0;padding:8px 9px}
  .people-chip--reply{display:none}
  .people-chip--message{left:0;transform:scale(.9);transform-origin:left center}
  .people-chip--workspace{right:0;transform:scale(.86);transform-origin:right top}
  .scene-card--campaign{left:-2%;top:54%;transform:scale(.74) rotate(-2deg);transform-origin:left center}
  .scene-card--performance{right:-2%;bottom:4%;transform:scale(.72) rotate(1.5deg);transform-origin:right center}
}

/* ---------- 21. Inline-span block corrections ---------- */
.feat__t,.feat__d,.pop__t,.pop__d,.chcard__n,.chcard__s,.api-node__t,.api-node__s,.quote__n,.quote__r{display:block}
.feat > span:last-child{min-width:0}
.pop__link > span:last-child{min-width:0}
.metric__l .placeholder{margin-left:4px}
.trust__lab .placeholder{margin-left:6px}
.quote blockquote{margin:0}
.chain__api{white-space:pre-wrap;word-break:break-word}
.hero__note{text-wrap:balance}
.quote > .placeholder{justify-self:start}

/* =========================================================
   22. FORM PAGES (demo / sales / start / contact)
   ========================================================= */
.formpage{padding-top:calc(var(--nav-h) + 72px)}
.formpage__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(32px,5vw,72px);align-items:start}
.formpage__copy{max-width:480px}
.formpage__copy h1{font-size:clamp(32px,4.4vw,46px);margin-bottom:18px}
.formpage__points{margin-top:32px;display:grid;gap:12px}
.formpage__points li{display:flex;gap:11px;font-size:14.5px;color:var(--ink-2);line-height:1.5}
.formpage__points svg{width:18px;height:18px;flex:none;color:var(--brand-ink);margin-top:2px}

.formcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:clamp(22px,3vw,32px)}
.formcard__err{background:#FDECEC;color:#C62828;border-radius:var(--r);padding:10px 13px;font-size:13.5px;font-weight:500;margin-bottom:18px}
.formcard__note{font-size:12.5px;color:var(--ink-3);text-align:center;margin-top:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.f{display:grid;gap:6px}
.f + .f,.f-row + .f,.f + .f-row{margin-top:16px}
.f > label{font-size:13px;font-weight:600;color:var(--ink)}
.f > label span{color:var(--brand-ink)}
.f input,.f select,.f textarea{
  width:100%;font:inherit;font-size:14.5px;color:var(--ink);background:#fff;
  border:1px solid var(--line-strong);border-radius:var(--r);padding:11px 13px;
  transition:border-color .15s,box-shadow .15s;
}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--brand-wash-2)}
.f textarea{resize:vertical;line-height:1.6}
.f select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238A8F98' stroke-width='2'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
.f__err{font-size:12.5px;color:#C62828;font-weight:500}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.thanks__tick{
  width:64px;height:64px;border-radius:50%;display:inline-grid;place-items:center;
  background:var(--green-wash);color:var(--green);
}
.thanks__tick svg{width:30px;height:30px}

/* =========================================================
   23. BLOG
   ========================================================= */
.postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.postcard{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:border-color .18s,box-shadow .18s,transform .18s}
.postcard:hover{border-color:var(--line-strong);box-shadow:var(--sh);transform:translateY(-2px)}
.postcard__img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--bg-tint)}
.postcard__img--none{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--brand-wash),#fff 70%);border-bottom:1px solid var(--line)}
.postcard__body{padding:20px;display:grid;gap:9px;align-content:start}
.postcard__t{font-size:17px;font-weight:650;letter-spacing:-.02em;line-height:1.32}
.postcard__d{font-size:14px;color:var(--ink-2);line-height:1.55}
.postcard__m{font-size:12.5px;color:var(--ink-3)}

.section-h{font-size:20px;font-weight:650;letter-spacing:-.02em;margin-bottom:24px}
.blank{border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:56px 24px;text-align:center;background:var(--bg-soft)}
.blank h2{font-size:17px;font-weight:650}
.blank p{font-size:14px;color:var(--ink-3);margin-top:6px}

.article{padding-top:calc(var(--nav-h) + 64px)}
.article .wrap{max-width:760px}
.article__head{margin-bottom:32px}
.article__head h1{font-size:clamp(30px,4.4vw,46px);line-height:1.1;margin-bottom:16px}
.article__meta{font-size:13.5px;color:var(--ink-3)}
.article__cover{width:100%;border-radius:var(--r-lg);border:1px solid var(--line);margin-bottom:36px}

.prose{font-size:17px;line-height:1.75;color:#25272D}
.prose > * + *{margin-top:22px}
.prose h2{font-size:24px;line-height:1.28;letter-spacing:-.02em;color:var(--ink);margin-top:40px}
.prose p{margin:0}

/* pagination (Laravel default markup) */
.pagination{display:flex;gap:6px;flex-wrap:wrap;list-style:none;padding:0;justify-content:center}
.pagination li > *{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:14px}
.pagination .active > *{background:var(--brand);border-color:var(--brand-ink);color:var(--brand-on);font-weight:600}
.pagination .disabled > *{opacity:.45}

@media (max-width:900px){
  .formpage__grid{grid-template-columns:1fr}
  .formpage__copy{max-width:none}
}
@media (max-width:760px){
  .f-row{grid-template-columns:1fr}
  .postgrid{grid-template-columns:1fr}
  .prose{font-size:16px}
}

/* =========================================================
   24. ERROR PAGE
   ========================================================= */
.errpage{padding-top:calc(var(--nav-h) + clamp(64px,9vw,120px));text-align:center}
.errpage .wrap{max-width:620px}
.errpage__code{
  font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand-ink);margin-bottom:14px;
}
.errpage h1{font-size:clamp(32px,4.6vw,48px);margin-bottom:18px}
.errpage .lede{margin-inline:auto}
.errpage .btn-row{justify-content:center;margin-top:32px}
.errpage__links{
  margin-top:48px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:center;
  font-size:14px;
}
.errpage__links span{color:var(--ink-3)}
.errpage__links a{color:var(--brand-ink);font-weight:600}
.errpage__links a:hover{text-decoration:underline}

/* =========================================================
   25. LEGAL PAGES
   ========================================================= */
.legalpage{padding-top:calc(var(--nav-h) + 64px)}
.legalpage .wrap{max-width:720px}
.legalpage__head{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.legalpage__head h1{font-size:clamp(30px,4.2vw,42px);line-height:1.12;margin-bottom:14px}
.legalpage__meta{font-size:13.5px;color:var(--ink-3)}
.legalpage .prose{font-size:16px;line-height:1.75}
.legalpage .prose h2{font-size:21px;margin-top:38px}
.prose__list{margin:0;padding-left:22px;list-style:disc}
.prose__list li{margin-top:8px;line-height:1.7}
.legalpage__foot{
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
  font-size:14.5px;color:var(--ink-2);
}
.legalpage__foot a{color:var(--brand-ink);font-weight:600}
.legalpage__foot a:hover{text-decoration:underline}

/* =========================================================
   26. SECONDARY PAGES — blocks shared by channel/product pages
   ========================================================= */

/* channel hero */
.chero{padding-top:calc(var(--nav-h) + clamp(44px,6vw,80px));position:relative;overflow:hidden}
.chero::before{
  content:"";position:absolute;inset:0 0 auto 0;height:520px;z-index:-1;
  background:linear-gradient(180deg,#F7F9FD,rgba(255,255,255,0));
}
.chero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,64px);align-items:center}
.chero__copy{max-width:520px}
.chero__copy h1{font-size:clamp(34px,4.8vw,52px);margin-bottom:20px}

/* WhatsApp hero: retain the existing inbox mockup and layer the human phone
   cutout over it using the same glass-card language as the people visuals. */
.wa-hero-media{position:relative;isolation:isolate;min-height:570px}
.wa-hero-media::before{
  content:"";position:absolute;z-index:-1;inset:5% -7% 4% 3%;border-radius:46%;filter:blur(36px);
  background:
    radial-gradient(circle at 78% 30%,rgba(37,211,102,.18),transparent 32%),
    radial-gradient(circle at 30% 72%,rgba(var(--brand-rgb),.15),transparent 38%);
}
.wa-hero-media__app{position:absolute;z-index:1;left:-5%;top:7%;width:91%;transform:rotate(-1.25deg);transform-origin:center;filter:saturate(.93)}
.wa-hero-media__app .app{box-shadow:0 28px 70px rgba(25,39,61,.16)}
.wa-hero-phone{position:absolute;z-index:2;right:-18%;bottom:-18%;width:72%;aspect-ratio:2/3;margin:0;pointer-events:none}
.wa-hero-phone__glow{
  position:absolute;z-index:-1;inset:22% 3% 5% 12%;border-radius:50%;filter:blur(30px);
  background:radial-gradient(closest-side,rgba(37,211,102,.22),rgba(var(--brand-rgb),.10) 55%,transparent);
}
.wa-hero-phone > img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 25px rgba(26,39,58,.20))}
.wa-hero-card{
  position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:9px 11px;
  border:1px solid rgba(255,255,255,.94);border-radius:13px;background:rgba(255,255,255,.88);
  box-shadow:0 14px 34px rgba(25,39,61,.15);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
  color:var(--ink);animation:support-float 5.2s ease-in-out infinite;
}
.wa-hero-card > span:last-of-type{display:grid;gap:2px;line-height:1.12;white-space:nowrap}
.wa-hero-card small{font-size:8.5px;color:var(--ink-3)}
.wa-hero-card b{font-size:10px;font-weight:700}
.wa-hero-card__icon,.wa-hero-card__avatar{width:29px;height:29px;display:grid;place-items:center;flex:none;border-radius:9px;color:#fff}
.wa-hero-card__icon svg{width:14px;height:14px}
.wa-hero-card__icon--ai{background:#7559C9}
.wa-hero-card__icon--stock{background:#178264}
.wa-hero-card__avatar{border-radius:50%;background:var(--brand);font-size:11px;font-weight:750}
.wa-hero-card--ai{left:-12%;top:26%;--r:-2deg}
.wa-hero-card--assigned{right:0;top:47%;--r:1.5deg;animation-delay:-1.8s}
.wa-hero-card--assigned i{width:6px;height:6px;margin-left:1px;border-radius:50%;background:#20B66A;box-shadow:0 0 0 3px rgba(32,182,106,.13)}
.wa-hero-card--stock{left:-2%;bottom:13%;--r:1deg;animation-delay:-3.1s}

/* Customer-service hero photo: the same human + floating UI treatment used
   by the homepage people scenes, with the status cards kept as real HTML. */
.support-photo{position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;margin:0;overflow:visible}
.support-photo::before{
  content:"";position:absolute;z-index:-1;inset:4% -5% -5%;
  border-radius:48%;filter:blur(34px);opacity:.9;
  background:
    radial-gradient(circle at 70% 20%,rgba(255,205,79,.18),transparent 30%),
    radial-gradient(circle at 26% 68%,rgba(114,224,191,.20),transparent 34%),
    radial-gradient(closest-side,rgba(var(--brand-rgb),.18),rgba(var(--brand-rgb),.05) 62%,transparent 100%);
}
.support-photo__person{position:absolute;z-index:1;inset:-4% -4% -3%;display:grid;place-items:end center}
.support-photo img{
  display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;
  filter:saturate(.92) contrast(.99) drop-shadow(0 25px 22px rgba(24,39,63,.14));
}
.support-photo__card{
  position:absolute;z-index:2;display:flex;align-items:center;gap:9px;
  padding:10px 12px;border:1px solid rgba(255,255,255,.94);border-radius:13px;
  background:rgba(255,255,255,.84);box-shadow:0 14px 34px rgba(25,39,61,.14);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
  color:var(--ink);pointer-events:none;animation:support-float 5s ease-in-out infinite;
}
.support-photo__icon{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--brand);color:#fff}
.support-photo__icon svg{width:15px;height:15px}
.support-photo__icon--green{background:#178264}
.support-photo__icon--lilac{background:#7559C9}
.support-photo__copy{display:grid;gap:2px;line-height:1.15;white-space:nowrap}
.support-photo__copy b{font-size:10.5px;font-weight:700}
.support-photo__copy small{font-size:9px;color:var(--ink-3)}
.support-photo__live{width:6px;height:6px;margin-left:3px;border-radius:50%;background:#20B66A;box-shadow:0 0 0 3px rgba(32,182,106,.13)}
.support-photo__metric{font-size:18px;font-weight:750;letter-spacing:-.04em;color:#178264}
.support-photo__card--conversation{left:-6%;top:10%;--r:-2deg}
.support-photo__card--sla{right:-5%;top:24%;--r:2deg;animation-delay:-1.2s}
.support-photo__card--resolved{right:2%;bottom:5%;--r:-1deg;animation-delay:-2.4s}
.support-photo__card--reply{left:-4%;top:48%;--r:1.5deg;animation-delay:-3.1s}
.support-photo__card--ai{left:18%;bottom:-6%;--r:-2deg;animation-delay:-.7s}
.support-photo__card--csat{right:12%;top:-5%;--r:1.5deg;animation-delay:-1.8s;background:rgba(255,252,238,.9)}
.support-photo__spark{color:#F5A623;font-size:17px;line-height:1}
.support-photo__face{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#FFF1B8;color:#B77900;font-size:19px;font-weight:700}
.support-photo__stars{color:#F5A623;font-size:9px;letter-spacing:1px}
.support-photo__channels{
  position:absolute;z-index:3;right:-3%;top:58%;display:flex;align-items:center;
  padding:9px 11px;border:1px solid rgba(255,255,255,.94);border-radius:999px;
  background:rgba(255,255,255,.86);box-shadow:0 14px 34px rgba(25,39,61,.13);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
  animation:support-float 5.8s ease-in-out -2s infinite;
}
.support-photo__channels .ch{width:27px;height:27px;margin-left:-5px;border:2px solid rgba(255,255,255,.95);border-radius:9px}
.support-photo__channels .ch:first-child{margin-left:0}
.support-photo__channels .ch svg{width:14px;height:14px}
.support-photo__channels small{margin-left:7px;font-size:9.5px;font-weight:700;color:var(--ink-2);white-space:nowrap}
@keyframes support-float{
  0%,100%{transform:translateY(0) rotate(var(--r,0deg))}
  50%{transform:translateY(-6px) rotate(var(--r,0deg))}
}
@media (prefers-reduced-motion:reduce){.support-photo__card,.support-photo__channels,.wa-hero-card{animation:none}}
.eyebrow--chan{gap:9px}
.eyebrow--chan::before{display:none}
.eyebrow--chan .ch{width:22px;height:22px;border-radius:6px}
.eyebrow--chan .ch svg{width:13px;height:13px}

/* stat strip */
.statstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.statstrip__i{background:#fff;padding:22px 24px}
.statstrip__t{font-size:16px;font-weight:650;letter-spacing:-.018em}
.statstrip__d{font-size:13.5px;color:var(--ink-2);margin-top:6px;line-height:1.55}

/* numbered steps */
.steps{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;counter-reset:step}
.step{background:#fff;display:flex;gap:16px;padding:20px 22px;align-items:flex-start}
.step__n{
  flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent-wash);color:var(--accent-deep);font-size:13px;font-weight:700;
  font-variant-numeric:tabular-nums;
}
.step__t{font-size:15.5px;font-weight:650;letter-spacing:-.015em}
.step__d{font-size:14px;color:var(--ink-2);margin-top:5px;line-height:1.6}

/* FAQ */
.faq{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.faq__i + .faq__i{border-top:1px solid var(--line)}
.faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 22px;font-size:15.5px;font-weight:600;letter-spacing:-.012em;
  cursor:pointer;list-style:none;
}
.faq__q::-webkit-details-marker{display:none}
.faq__q:hover{background:var(--bg-soft)}
.faq__q svg{flex:none;opacity:.45;transition:transform .2s ease}
.faq__i[open] .faq__q svg{transform:rotate(180deg)}
.faq__a{padding:0 22px 20px;font-size:14.5px;line-height:1.65;color:var(--ink-2);max-width:66ch}

/* channel cards become links on sibling grids */
a.chcard{transition:background .18s ease}
a.chcard:hover{background:var(--bg-soft)}
a.chcard .chcard__n{color:var(--ink)}

@media (max-width:1024px){
  .chero__grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .chero__copy{max-width:none}
  .wa-hero-media{width:min(100%,760px);min-height:620px;margin-inline:auto}
  .wa-hero-media__app{left:0;width:88%}
  .wa-hero-phone{right:-8%;bottom:-16%;width:64%}
  .support-photo{width:min(100%,680px);margin-inline:auto}
  .support-photo__card--conversation{left:0}
  .support-photo__card--sla{right:0}
  .support-photo__card--reply{left:1%}
  .support-photo__channels{right:0}
}
@media (max-width:760px){
  .statstrip{grid-template-columns:1fr}
  .step{padding:16px 18px;gap:13px}
  .faq__q{padding:15px 17px;font-size:14.5px}
  .faq__a{padding:0 17px 17px}
  .support-photo{margin-block:8px 24px}
  .support-photo__person{inset:-2% -7% -1%}
  .support-photo__card{animation:none;scale:.78}
  .support-photo__card--conversation{left:-7%;top:7%;transform-origin:left center}
  .support-photo__card--sla{right:-7%;top:25%;transform-origin:right center}
  .support-photo__card--resolved{right:-5%;bottom:3%;transform-origin:right center}
  .support-photo__card--reply{left:-6%;top:49%;transform-origin:left center}
  .support-photo__card--ai{left:13%;bottom:-9%;transform-origin:left center}
  .support-photo__card--csat{right:5%;top:-9%;transform-origin:right center}
  .support-photo__channels{right:-5%;top:59%;transform:scale(.78);transform-origin:right center;animation:none}
  .wa-hero-media{min-height:clamp(440px,118vw,590px);margin-top:4px}
  .wa-hero-media__app{left:-4%;top:3%;width:94%}
  .wa-hero-phone{right:-13%;bottom:-11%;width:70%}
  .wa-hero-card{scale:.8;animation:none}
  .wa-hero-card--ai{left:-16%;top:24%;transform-origin:left center}
  .wa-hero-card--assigned{right:-8%;top:47%;transform-origin:right center}
  .wa-hero-card--stock{left:-7%;bottom:12%;transform-origin:left center}
}
@media (max-width:440px){
  .support-photo__card--reply,.support-photo__card--csat{display:none}
  .support-photo__card{scale:.72}
  .support-photo__channels{transform:scale(.7)}
  .wa-hero-media{min-height:440px}
  .wa-hero-phone{right:-18%;bottom:-7%;width:76%}
  .wa-hero-card{scale:.7}
  .wa-hero-card--assigned{right:-12%}
  .wa-hero-card--stock{left:-10%;bottom:9%}
}
.chero__copy--wide{max-width:760px;margin-inline:auto;text-align:center}
.chero__copy--wide .lede{margin-inline:auto}
.chero__copy--wide .btn-row{justify-content:center}

/* =========================================================
   27. FORM BUILDER — public rendering
   ========================================================= */
.bform{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:clamp(22px,3vw,32px)}
.bform__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.bform__f--full{grid-column:1 / -1}
.bform__f{display:grid;gap:6px;min-width:0}
.bform__f > label{font-size:13px;font-weight:600;color:var(--ink)}
.bform__f > label span{color:var(--brand-ink)}
.bform__f input:not([type=checkbox]):not([type=radio]),
.bform__f select,.bform__f textarea{
  width:100%;font:inherit;font-size:14.5px;color:var(--ink);background:#fff;
  border:1px solid var(--line-strong);border-radius:var(--r);padding:11px 13px;
  transition:border-color .15s,box-shadow .15s;
}
.bform__f input:focus,.bform__f select:focus,.bform__f textarea:focus{
  outline:none;border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--brand-wash-2);
}
.bform__f textarea{resize:vertical;line-height:1.6}
.bform__f select{-webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238A8F98' stroke-width='2'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
.bform__f input[type=file]{padding:9px 11px;background:var(--bg-soft);font-size:13.5px}

.bform__opts{display:grid;gap:9px;margin-top:2px}
.bform__opt{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;cursor:pointer;line-height:1.5}
.bform__opt input{width:17px;height:17px;accent-color:var(--brand);margin:1px 0 0;flex:none}
.bform__opt--consent{font-size:13.5px;color:var(--ink-2)}

.bform__h{font-size:17px;font-weight:650;letter-spacing:-.015em;margin-top:8px}
.bform__p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.bform__help{font-size:12.5px;color:var(--ink-3)}
.bform__filehint{font-size:12.5px;color:var(--ink-3);white-space:pre-line;margin:0}
.bform__filehint.is-ok{color:var(--green)}
.bform__filehint.is-bad{color:#C62828;font-weight:500}
.bform__ferr{font-size:12.5px;color:#C62828;font-weight:500}
.bform__err{background:#FDECEC;color:#C62828;border-radius:var(--r);padding:11px 14px;font-size:13.5px;font-weight:500;margin-bottom:18px}
.bform__submit{width:100%;margin-top:22px}
.bform__note{font-size:12.5px;color:var(--ink-3);text-align:center;margin-top:14px}

.bform__done{display:grid;justify-items:center;gap:16px;text-align:center;padding:32px 8px}
.bform__tick{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--green-wash);color:var(--green)}
.bform__tick svg{width:26px;height:26px}
.bform__done p{font-size:16px;color:var(--ink);line-height:1.6;max-width:42ch}

@media (max-width:640px){
  .bform__grid{grid-template-columns:1fr}
  .bform__f--half{grid-column:1 / -1}
}

/* =========================================================
   28. CONTACT DETAILS + MAP
   ========================================================= */
.contactbox{display:grid;gap:18px;margin-top:32px}
.contactbox__i{display:flex;gap:13px;align-items:flex-start}
.contactbox__ico{
  flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  background:var(--brand-wash);color:var(--brand-ink);
}
.contactbox__ico svg{width:16px;height:16px}
.contactbox__l{font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.contactbox__v{font-size:14.5px;line-height:1.55;margin-top:3px;color:var(--ink)}
.contactbox__v a{color:var(--brand-ink);font-weight:600}
.contactbox__v a:hover{text-decoration:underline}

.gmap{
  margin:28px 0 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  background:var(--bg-soft);aspect-ratio:16/10;display:grid;
}
.gmap__ph{
  display:grid;justify-items:center;align-content:center;gap:11px;padding:28px 22px;text-align:center;
  background-image:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:38px 38px;
}
.gmap__pin{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--brand);color:var(--brand-on);box-shadow:0 8px 20px -8px rgba(var(--brand-rgb),.6);
}
.gmap__pin svg{width:20px;height:20px}
.gmap__addr{font-size:14px;font-weight:600;line-height:1.5;color:var(--ink);max-width:36ch}
.gmap__note{font-size:11.5px;color:var(--ink-3);max-width:40ch;line-height:1.5}
.gmap__ext{font-size:13px;font-weight:600;color:var(--brand-ink)}
.gmap__ext:hover{text-decoration:underline}
.gmap.is-live{aspect-ratio:16/10;background:#fff}
.gmap iframe{width:100%;height:100%;border:0;display:block}

@media (max-width:640px){
  .gmap{aspect-ratio:4/3}
}

/* =========================================================
   29. PRICING PLANS
   ========================================================= */
.plans{
  display:grid;gap:20px;align-items:stretch;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  max-width:min(100%, calc(var(--plan-count) * 340px));
  margin-inline:auto;
}
.plan{
  position:relative;display:flex;flex-direction:column;gap:18px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:28px 24px;box-shadow:var(--sh-sm);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.plan:hover{border-color:var(--line-strong);box-shadow:var(--sh);transform:translateY(-2px)}
.plan--hl{
  border-color:var(--brand-ink);box-shadow:0 0 0 1px var(--brand-ink),0 24px 54px -22px rgba(var(--brand-rgb),.45);
}
.plan--hl:hover{border-color:var(--brand-ink);transform:translateY(-3px)}
.plan__ribbon{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--brand);color:var(--brand-on);border-radius:20px;padding:4px 14px;
  font-size:11.5px;font-weight:700;letter-spacing:.04em;white-space:nowrap;
  box-shadow:0 6px 16px -6px rgba(var(--brand-rgb),.6);
}
.plan__name{font-size:19px;font-weight:700;letter-spacing:-.02em}
.plan__tag{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin-top:6px}
.plan__price{border-block:1px solid var(--line);padding-block:18px}
.plan__was{font-size:13.5px;color:var(--ink-3);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.plan__off{
  background:var(--green-wash);color:#0A7A3C;border-radius:20px;
  padding:2px 9px;font-size:11.5px;font-weight:650;
}
.plan__now{font-size:30px;font-weight:700;letter-spacing:-.035em;line-height:1.15;margin-top:4px}
.plan__per{font-size:14px;font-weight:500;color:var(--ink-3);letter-spacing:-.01em}
.plan__custom{font-size:26px;font-weight:700;letter-spacing:-.03em}
.plan__note{font-size:12.5px;color:var(--ink-3);margin-top:8px;line-height:1.5}
.plan__cta{width:100%}
.plan__feats{display:grid;gap:10px}
.plan__feats li{display:flex;gap:10px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.plan__feats svg{width:16px;height:16px;flex:none;color:var(--green);margin-top:2px}
.section--plans{padding-top:8px}
.plans__note{text-align:center;font-size:13.5px;color:var(--ink-3);margin-top:28px}

@media (max-width:760px){
  .plans{grid-template-columns:1fr;max-width:420px}
  .plan__ribbon{top:-10px}
}

/* =========================================================
   30. CAMPAIGNS — composer, segment builder, campaign replies
   ========================================================= */
.cmp__body{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.cmp__steps{list-style:none;margin:0;padding:12px 10px;display:grid;gap:2px;align-content:start;background:var(--bg-soft);border-right:1px solid var(--line)}
.cmp__step{display:flex;gap:10px;align-items:flex-start;padding:9px 8px;border-radius:8px;color:var(--ink-2)}
.cmp__step b{display:block;font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.cmp__step small{display:block;font-size:11px;color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp__step > span:last-child{min-width:0}
.cmp__step.is-active{background:#fff;box-shadow:var(--sh-sm)}
.cmp__n{
  flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  font-size:10.5px;font-weight:700;background:#E9ECF1;color:var(--ink-3);margin-top:1px;
}
.cmp__n svg{width:11px;height:11px;stroke:currentColor;fill:none}
.cmp__step.is-done .cmp__n{background:var(--green-wash);color:var(--green)}
.cmp__step.is-active .cmp__n{background:var(--brand);color:#fff}

.cmp__preview{padding:18px 16px;background:#EFEAE2;display:grid;align-content:center}
.wa{background:#fff;border-radius:10px;border-top-left-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.08);max-width:290px;overflow:hidden}
.wa__img{
  height:86px;margin:4px 4px 0;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,var(--brand-wash-2),var(--accent-wash));color:var(--brand-deep);
  font-size:12px;font-weight:650;letter-spacing:-.01em;
}
.wa__img > svg:not(.wa__art){width:18px;height:18px;stroke:currentColor;fill:none}
.wa__img--art{position:relative;overflow:hidden;align-items:flex-start;justify-content:flex-start;padding:0;height:112px}
.wa__art{position:absolute;inset:0;width:100%;height:100%;display:block}
.wa__badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;margin:12px;padding:6px 11px;border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 2px 8px -3px rgba(16,17,20,.18);font-size:12px;font-weight:700;color:#B26A00}
.wa__badge svg{width:14px;height:14px;stroke:currentColor;fill:none}
.wa__txt{padding:9px 11px 0;font-size:12.5px;line-height:1.5}
.wa__foot{display:flex;justify-content:space-between;gap:8px;padding:5px 11px 9px;font-size:10.5px;color:var(--ink-3)}
.wa__btns{display:grid;border-top:1px solid var(--line)}
.wa__btns span{
  display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;
  font-size:12px;font-weight:600;color:#0B84C6;
}
.wa__btns span + span{border-top:1px solid var(--line)}
.wa__btns svg{width:11px;height:11px;stroke:currentColor;fill:none}
.cmp__var{background:var(--accent-wash);color:var(--accent-deep);border-radius:4px;padding:0 2px;font-weight:600}

.cmp__foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line)}
.cmp__chan{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600}
.cmp__go{
  margin-left:auto;background:var(--brand);color:#fff;border-radius:8px;padding:6px 14px;
  font-size:12px;font-weight:600;box-shadow:0 2px 8px -2px rgba(var(--brand-rgb),.45);
}

/* segment builder */
.seg{padding:16px 14px;display:grid;gap:8px;justify-items:start}
.seg__rule{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff}
.seg__f,.seg__op,.seg__v{font-size:12px;border-radius:6px;padding:4px 9px;white-space:nowrap}
.seg__f{background:var(--bg-soft);border:1px solid var(--line);font-weight:600}
.seg__op{color:var(--ink-3)}
.seg__v{background:var(--brand-wash);color:var(--brand-ink);font-weight:600}
.seg__and{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding-left:10px}
.seg__add{font-size:12px;font-weight:600;color:var(--brand-ink);padding:4px 2px}
.seg__match{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line);background:var(--bg-soft)}
.seg__count{font-size:13px;color:var(--ink-2)}
.seg__count b{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-right:3px}
.seg__upd{font-size:11px;color:var(--ink-3)}

/* a campaign quoted at the top of a thread */
.cmp__ref{
  justify-self:center;max-width:88%;padding:10px 12px;border-radius:10px;
  background:var(--bg-soft);border:1px dashed var(--line-strong);font-size:12px;line-height:1.5;color:var(--ink-2);
}
.cmp__refl{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:650;color:var(--ink-3);margin-bottom:4px}
.cmp__refl svg{width:11px;height:11px;stroke:currentColor;fill:none}
.cmp__tap{
  display:inline-flex;font-size:10.5px;font-weight:650;color:#0B84C6;background:#E8F4FB;
  border-radius:20px;padding:1px 8px;margin-bottom:5px;
}
.cmp__tap + br{display:none}
.msg--in .cmp__tap{display:flex;width:max-content}

@media (max-width:560px){
  .cmp__body{grid-template-columns:minmax(0,1fr)}
  .cmp__steps{grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--line)}
  .wa{max-width:none}
}
/* buttons under a secondary-page hero lede had no breathing room */
.chero__copy .btn-row{margin-top:30px}

/* =========================================================
   31. CONTACTS — profile, duplicates, import, consent
   ========================================================= */
.ctc__body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.ctc__body .prof{border-right:1px solid var(--line)}
.ctc__chans{display:grid;gap:7px}
.ctc__chans > span{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-2);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctc__chans .ch{width:18px;height:18px}
.ctc__chans .ch svg{width:10px;height:10px}
.ctc__tl{min-width:0}
.ctc__ev{list-style:none;margin:0;padding:6px 0}
.ctc__ev li{display:flex;gap:10px;align-items:flex-start;padding:10px 14px}
.ctc__ev li + li{border-top:1px solid var(--line)}
.ctc__ev li > span:nth-child(2){min-width:0;flex:1}
.ctc__ev b{display:block;font-size:12.5px;font-weight:600;letter-spacing:-.01em}
.ctc__ev small{display:block;font-size:11px;color:var(--ink-3);margin-top:1px}
.ctc__ev time{font-size:10.5px;color:var(--ink-3);flex:none;margin-top:2px}
.ctc__ev .ch{margin-top:1px}
.ctc__ico{width:20px;height:20px;border-radius:5px;flex:none;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand-ink);margin-top:1px}
.ctc__ico svg{width:11px;height:11px;stroke:currentColor;fill:none}
.ctc__note{background:var(--accent-wash)}
.ctc__note .ctc__ico{background:#fff;color:var(--accent-deep)}

/* duplicate review */
.mrg{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;padding:16px 14px}
.mrg__card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;min-width:0}
.mrg__src{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:650;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.mrg__src .ch{width:16px;height:16px;border-radius:4px}
.mrg__src .ch svg{width:9px;height:9px}
.mrg__name{font-size:14px;font-weight:650;letter-spacing:-.015em;margin:8px 0 8px}
.mrg__card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;margin:0;font-size:11.5px}
.mrg__card dt{color:var(--ink-3)}
.mrg__card dd{margin:0;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrg__card dd.is-match{background:var(--honey-wash);color:#9A6200;border-radius:4px;padding:0 4px;justify-self:start;max-width:100%}
.mrg__link{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand-ink)}
.mrg__link svg{width:14px;height:14px;stroke:currentColor;fill:none}
.mrg__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid var(--line);background:var(--bg-soft)}
.mrg__keep{font-size:11.5px;color:var(--ink-2)}
.mrg__keep b{color:var(--ink);font-weight:650}
.mrg__btns{display:flex;gap:8px;align-items:center;margin-left:auto}
.mrg__btns .cmp__go{margin-left:0}
.mrg__no{font-size:12px;font-weight:600;color:var(--ink-2);border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:5px 12px}

/* import mapping */
.imp td{padding:9px 15px;vertical-align:middle}
.imp th:first-child{width:38%}
.imp__col{font-family:var(--mono);font-size:11.5px;background:var(--bg-soft);border:1px solid var(--line);border-radius:5px;padding:2px 7px;color:var(--ink)}
.imp__arr{width:24px;padding-inline:0 !important;color:var(--ink-3)}
.imp__arr svg{width:13px;height:13px;stroke:currentColor;fill:none;display:block}
.imp__f{font-weight:600;color:var(--ink);margin-right:6px}

/* consent */
.cns{display:grid;padding:6px 0}
.cns__row{display:flex;align-items:center;gap:10px;padding:10px 14px}
.cns__row + .cns__row{border-top:1px solid var(--line)}
.cns__n{flex:1;min-width:0;font-size:12.5px;font-weight:600}
.cns__n small{display:block;font-size:11px;font-weight:500;color:var(--ink-3);margin-top:1px}

@media (max-width:560px){
  .ctc__body{grid-template-columns:minmax(0,1fr)}
  .ctc__body .prof{border-right:0;border-bottom:1px solid var(--line)}
  .mrg{grid-template-columns:1fr;justify-items:stretch}
  .mrg__link{justify-self:center}
}

/* =========================================================
   32. AUTOMATION — block library, routing rules, API step
   ========================================================= */
.blk3{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 16px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23DFE3EA'/%3E%3C/svg%3E");
}
.blk3__col{display:grid;gap:8px;align-content:start;min-width:0}
.blk3__h{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
.blk3__n{min-width:0;max-width:none;width:100%;padding:8px 10px;box-shadow:var(--sh-sm)}
.blk3__n .node__t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rules{list-style:none;margin:0;padding:6px 0}
.rule{display:flex;align-items:center;gap:12px;padding:11px 14px}
.rule + .rule{border-top:1px solid var(--line)}
.rule__n{
  flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  font-size:10.5px;font-weight:700;background:var(--bg-tint);color:var(--ink-3);
}
.rule__body{flex:1;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rule__when{font-size:12.5px;font-weight:600}
.rule__when small{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
.rule__arr{width:12px;height:12px;stroke:var(--ink-3);fill:none;flex:none}
.rule__then{font-size:12px;font-weight:600;background:var(--brand-wash);color:var(--brand-ink);border-radius:6px;padding:3px 9px}
.rule.is-off .rule__when,.rule.is-off .rule__then{opacity:.45}
.tgl{flex:none;width:30px;height:17px;border-radius:20px;background:var(--line-strong);position:relative;transition:background .2s}
.tgl i{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .2s}
.tgl.is-on{background:var(--green)}
.tgl.is-on i{transform:translateX(13px)}

.api{padding:14px;border-bottom:1px solid var(--line)}
.api__req{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:var(--bg-soft);min-width:0}
.api__m{flex:none;font:700 10.5px/1 var(--mono);color:var(--green);background:var(--green-wash);border-radius:4px;padding:4px 6px}
.api__u{font:500 11.5px/1.4 var(--mono);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.api__u b{color:var(--accent-deep);font-weight:600}
.api__map{display:grid;grid-template-columns:auto 14px auto 1fr;gap:8px 8px;align-items:center;margin-top:8px}
.api__map svg{width:12px;height:12px;stroke:var(--ink-3);fill:none}
.api__var{font:600 11.5px/1 var(--mono);color:var(--brand-ink)}
.api__val{font-size:12px;font-weight:600;text-align:right;white-space:nowrap}

@media (max-width:560px){
  .blk3{grid-template-columns:1fr 1fr}
  .blk3__col:last-child{grid-column:1 / -1;grid-template-columns:1fr 1fr}
  .blk3__col:last-child .blk3__h{grid-column:1 / -1}
  .api__map{grid-template-columns:auto 12px 1fr}
  .api__val{display:none}
}

/* =========================================================
   33. TICKETING — ticket view, SLA timers, queue, timeline
   ========================================================= */
.tkt__title{font-size:13px;font-weight:650;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkt__subj{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tkt__id{font:600 11px/1 var(--mono);color:var(--ink-3);background:var(--bg-tint);border-radius:5px;padding:4px 6px;flex:none}
.pill.tkt__prio--high{background:#FDECEC;color:#C62828}
.tkt__body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.tkt__body .prof{border-right:1px solid var(--line)}
.tkt__who{display:inline-flex;align-items:center;gap:6px}
.tkt__who .ch{width:16px;height:16px;border-radius:4px;color:#fff}
.tkt__who .ch svg{width:10px;height:10px}
.sla{display:grid;gap:6px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.sla__top{display:flex;justify-content:space-between;gap:8px;font-size:11.5px}
.sla__top span{color:var(--ink-3)}
.sla__top b{font-weight:650;display:inline-flex;align-items:center;gap:4px}
.sla__top svg{width:11px;height:11px;stroke:currentColor;fill:none}
.sla__bar{height:4px;border-radius:4px;background:var(--bg-tint);overflow:hidden}
.sla__bar i{display:block;height:100%;border-radius:4px}
.sla.is-met b{color:#0A7A3C}.sla.is-met .sla__bar i{background:var(--green)}
.sla.is-warn b{color:#9A6200}.sla.is-warn .sla__bar i{background:var(--honey)}
.tkt__act{display:grid;gap:11px;align-content:start;padding:14px}
.tkt__act .msg{max-width:100%}
.tkt__ev{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3)}
.tkt__ev b{color:var(--ink-2);font-weight:600}
.tkt__ev svg{width:12px;height:12px;stroke:currentColor;fill:none;flex:none}
.tkt__note{background:var(--accent-wash);border:1px solid #F7E2B5;border-radius:10px;padding:9px 11px;font-size:12px;line-height:1.5;color:var(--ink)}
.tkt__note .b{font-weight:650;color:var(--accent-deep)}
.tkt__notel{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:650;color:var(--accent-deep);margin-bottom:3px}
.tkt__notel svg{width:11px;height:11px;stroke:currentColor;fill:none}

/* create-ticket panel */
.tkt__mk{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--brand-ink);background:var(--brand-wash);border:1px solid var(--brand-wash-2);border-radius:8px;padding:5px 10px}
.tkt__mk svg{width:12px;height:12px;stroke:currentColor;fill:none}
.tkt__form{margin:4px 14px 14px;border:1px solid var(--brand-wash-2);border-radius:12px;padding:12px;background:#fff;box-shadow:0 14px 30px -18px rgba(var(--brand-rgb),.45)}
.tkt__formh{font-size:12.5px;font-weight:650;margin-bottom:9px}
.tkt__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tkt__f{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid var(--line-strong);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:600;min-width:0}
.tkt__f small{flex-basis:100%;font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.tkt__formfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:11px}
.tkt__formfoot .cmp__go{margin-left:auto}
.tkt__dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;flex:none;background:var(--ink-3)}
.tkt__dot--urgent{background:#C62828}
.tkt__dot--high{background:#E0763A}
.tkt__dot--normal{background:var(--brand)}
.tkt__dot--low{background:var(--line-strong)}

/* queue */
.tq td{vertical-align:middle;white-space:nowrap}
.tq__id{display:block;font:600 10.5px/1.3 var(--mono);color:var(--ink-3)}
.tq__s{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.tq__av{width:24px;height:24px;font-size:9.5px}
.due{display:inline-flex;font-size:11px;font-weight:650;border-radius:20px;padding:2px 9px}
.due--bad{background:#FDECEC;color:#C62828}
.due--warn{background:var(--honey-wash);color:#9A6200}
.due--ok{background:var(--green-wash);color:#0A7A3C}

/* timeline */
.tl{list-style:none;margin:0;padding:14px 16px 6px;display:grid;gap:0}
.tl li{position:relative;display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;padding:0 0 14px 0}
.tl li::before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:1.5px;background:var(--line-strong)}
.tl li:last-child::before{display:none}
.tl__d{grid-row:span 2;width:12px;height:12px;border-radius:50%;border:2px solid var(--green);background:#fff;margin-top:2px;position:relative;z-index:1}
.tl b{font-size:12.5px;font-weight:650}
.tl small{grid-column:2;font-size:11px;color:var(--ink-3)}
.tl time{grid-row:1;grid-column:3;font-size:10.5px;color:var(--ink-3)}
.tl__note small{color:var(--accent-deep)}

@media (max-width:560px){
  .tkt__body{grid-template-columns:minmax(0,1fr)}
  .tkt__body .prof{border-right:0;border-bottom:1px solid var(--line)}
  .tkt__fields{grid-template-columns:1fr 1fr}
  .tq th:nth-child(2),.tq td:nth-child(2){display:none}
  .tq__s{max-width:150px}
}

/* =========================================================
   34. ANALYTICS — overview chart, team table, heatmap, schedule
   ========================================================= */
.ana__range{font-size:11px;font-weight:600;color:var(--ink-2);border:1px solid var(--line-strong);border-radius:7px;padding:3px 9px;background:#fff}
.s-wa{background:var(--c-whatsapp)}
.s-ig{background:#E1306C}
.s-em{background:#F59E0B}
.s-ch{background:var(--brand)}
.ana__chart{display:flex;gap:10px;align-items:flex-end;height:150px;padding:16px 16px 0}
.ana__col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;min-width:0}
.ana__col > span{font-size:10px;color:var(--ink-3)}
.ana__stack{flex:1;width:100%;max-width:34px;display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:1.5px}
.ana__stack i{display:block;width:100%;border-radius:2px}
.ana__stack i:last-child{border-radius:4px 4px 2px 2px}
.ana__legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 16px 14px;font-size:11px;color:var(--ink-2)}
.ana__legend span{display:inline-flex;align-items:center;gap:6px}
.ana__legend i{width:8px;height:8px;border-radius:2px;display:inline-block}

.ana__t td{vertical-align:middle;white-space:nowrap}
.ana__agent{display:inline-flex;align-items:center;gap:9px}
.ana__agent .avatar{width:26px;height:26px;font-size:10px;position:relative}
.ana__agent b{color:var(--ink);font-weight:600}
.ana__st{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;border:1.5px solid #fff}
.ana__st--online{background:var(--green)}
.ana__st--away{background:var(--honey)}
.ana__st--offline{background:var(--line-strong)}
.ana__sla{display:flex;align-items:center;gap:8px}
.ana__sla .bar-inline{flex:1;min-width:50px}
.ana__sla b{font-size:11.5px;font-weight:650;color:var(--ink);min-width:30px;text-align:right}
.ana__sla b.is-low{color:#C62828}

.ana__share{padding:16px 16px 4px}
.ana__sharebar{display:flex;height:12px;border-radius:6px;overflow:hidden;gap:2px}
.ana__sharebar i{display:block;height:100%}
.ana__share .ana__legend{padding-left:0;padding-right:0}
.heat{padding:10px 16px 16px;border-top:1px solid var(--line)}
.heat .prof__lab{display:block;margin-bottom:9px}
.heat__grid{display:grid;grid-template-columns:30px repeat(8,minmax(0,1fr));gap:4px;align-items:center}
.heat__h{font-size:9.5px;color:var(--ink-3);text-align:center}
.heat__d{font-size:10px;color:var(--ink-3)}
.heat__c{display:block;height:16px;border-radius:3px;background:var(--brand-wash)}
.heat__c--1{background:#EEF3FF}
.heat__c--2{background:#C7D6FF}
.heat__c--3{background:#7F9EF5}
.heat__c--4{background:var(--brand)}

.sched{display:grid;padding:6px 0}
.sched__row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:center;padding:10px 16px;font-size:12.5px}
.sched__row + .sched__row{border-top:1px solid var(--line)}
.sched__row > span:first-child{font-size:11px;font-weight:600;color:var(--ink-3)}
.sched__row b{font-weight:600}
.sched__chips{display:flex;flex-wrap:wrap;gap:6px}
.sched__to{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;border:1px solid var(--line);border-radius:20px;padding:2px 9px 2px 2px}
.sched__to .avatar{width:20px;height:20px;font-size:8.5px}
.sched__att{display:inline-flex;align-items:center;gap:6px}
.sched__att svg{width:13px;height:13px;stroke:var(--green);fill:none}

@media (max-width:560px){
  .ana__chart{gap:6px;height:130px}
  .ana__t th:nth-child(3),.ana__t td:nth-child(3){display:none}
  .sched__row{grid-template-columns:56px minmax(0,1fr);padding:10px 14px}
}

/* =========================================================
   35. MARKETING — click-to-chat ad, lead sources
   ========================================================= */
.mad{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.mad__ad{position:relative;display:grid;align-content:center;padding:18px 22px 18px 16px;background:var(--bg-soft);border-right:1px solid var(--line)}
.mad__post{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--sh-sm)}
.mad__who{display:flex;align-items:center;gap:8px;padding:9px 10px}
.mad__who b{display:block;font-size:12px;font-weight:650}
.mad__who small{display:block;font-size:10px;color:var(--ink-3)}
.mad__logo{width:24px;height:24px;flex:none;display:block}
.mad__logo svg{display:block;width:100%;height:100%}
.mad__post{container-type:inline-size}
.mad__img{position:relative;height:118px;overflow:hidden;color:var(--ink);background:linear-gradient(135deg,#FFF1DC,#FFE0E6 55%,#E4E8FF)}
.mad__art{position:absolute;right:0;top:0;height:100%;width:auto;aspect-ratio:140/130;display:block}
.mad__promo{position:relative;z-index:1;height:100%;max-width:62%;display:grid;align-content:center;gap:1px;padding:0 0 0 14px;text-align:left}
.mad__promo span{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#B2456A;white-space:nowrap}
.mad__promo em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-2);margin-top:4px}
.mad__promo b{font-size:30px;line-height:1;font-weight:800;letter-spacing:-.04em;color:#2E2A4F}
/* Narrow ad card (hero column on laptops): text on top, smaller art bottom-right */
@container (max-width:260px){
  .mad__img{height:150px}
  .mad__promo{max-width:none;height:auto;align-content:start;padding:12px 0 0 12px}
  .mad__promo b{font-size:25px}
  .mad__art{top:auto;bottom:0;height:54%}
}
.mad__cap{font-size:11.5px;line-height:1.5;color:var(--ink-2);padding:9px 10px 0}
.mad__btn{margin:9px 10px 10px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;background:var(--bg-tint);font-size:12px;font-weight:650;padding:7px}
.mad__btn .ch{width:16px;height:16px;border-radius:4px}
.mad__btn .ch svg{width:9px;height:9px}
.mad__arrow{position:absolute;right:-13px;top:50%;transform:translateY(-50%);z-index:2;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;box-shadow:0 4px 12px -4px rgba(var(--brand-rgb),.6)}
.mad__arrow svg{width:12px;height:12px;stroke:currentColor;fill:none}
.mad__chat{display:grid;grid-template-rows:1fr auto;min-width:0}
.mad__chat .msg{max-width:94%}
.mad__quick{display:flex;gap:6px;justify-content:flex-end}
.mad__quick span{font-size:11.5px;font-weight:650;color:#0B84C6;border:1px solid #CFE6F4;background:#fff;border-radius:20px;padding:3px 11px}
.mad__tags{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;border-top:1px solid var(--line);background:var(--bg-soft)}

.src{display:grid;padding:4px 0}
.src__row{display:grid;grid-template-columns:auto minmax(0,1.2fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px}
.src__row + .src__row{border-top:1px solid var(--line)}
.src__n{min-width:0}
.src__n b{display:block;font-size:12.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.src__n small,.src__bar small,.src__q small{display:block;font-size:10.5px;color:var(--ink-3);margin-top:2px}
.src__bar .bar-inline{min-width:0}
.src__q{text-align:right}
.src__q b{font-size:13px;font-weight:700;color:var(--ink)}

@media (max-width:560px){
  .mad{grid-template-columns:minmax(0,1fr)}
  .mad__ad{border-right:0;border-bottom:1px solid var(--line);padding:16px}
  .mad__arrow{right:auto;left:50%;top:auto;bottom:-13px;transform:translateX(-50%) rotate(90deg)}
  .src__row{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .src__bar{display:none}
}

/* =========================================================
   36. SHARED TEMPLATE — notice block
   ========================================================= */
.notice{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border:1px solid var(--brand-wash-2);border-radius:var(--r-lg);background:var(--brand-wash)}
.notice__ico{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--brand-ink)}
.notice__ico svg{width:18px;height:18px;stroke:currentColor;fill:none}
.notice__t{font-size:16px;font-weight:650;letter-spacing:-.015em}
.notice__d{font-size:14.5px;line-height:1.65;color:var(--ink-2);margin-top:6px}

/* =========================================================
   37. SHARED TEMPLATE MOCKUPS — channels, sales, AI, developers, partners
   ========================================================= */
/* email in a thread */
.mail{border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 13px;box-shadow:var(--sh-sm)}
.mail__h{display:flex;justify-content:space-between;gap:8px;font-size:12px}
.mail__h time{font-size:10.5px;color:var(--ink-3)}
.mail__s{font-size:12.5px;font-weight:650;margin-top:3px}
.mail__b{font-size:12px;line-height:1.55;color:var(--ink-2);margin-top:5px}

/* website + chat widget */
.wdg{position:relative;min-height:400px;background:#fff}
.wdg__site{padding:14px 16px;opacity:.9}
.wdg__nav{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.wdg__nav b{font-size:13px;margin-right:auto}
.wdg__nav span{width:38px;height:6px;border-radius:3px;background:var(--bg-tint)}
.wdg__prod{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:16px}
.wdg__img{height:190px;border-radius:10px;background:linear-gradient(135deg,#F3EDE4,#E6DCCB)}
.wdg__info{display:grid;gap:9px;align-content:start}
.wdg__l{display:block;height:7px;border-radius:4px;background:var(--bg-tint)}
.w40{width:40%}.w60{width:60%}.w70{width:70%}.w80{width:80%}
.wdg__price{font-size:16px;font-weight:700;letter-spacing:-.02em}
.wdg__buy{justify-self:start;font-size:11.5px;font-weight:650;background:var(--ink);color:#fff;border-radius:8px;padding:6px 12px;margin-top:4px}
.wdg__box{position:absolute;right:14px;bottom:62px;width:min(260px,78%);border-radius:14px;background:#fff;box-shadow:0 22px 48px -18px rgba(16,17,20,.35),0 0 0 1px var(--line);overflow:hidden}
.wdg__head{display:flex;align-items:center;gap:9px;padding:11px 12px;background:var(--brand);color:var(--brand-on)}
.wdg__head b{display:block;font-size:12.5px}
.wdg__head small{display:flex;align-items:center;gap:5px;font-size:10.5px;opacity:.85}
.wdg__head small i{width:6px;height:6px;border-radius:50%;background:#5CE39A}
.wdg__body{display:grid;gap:9px;padding:12px;background:#FBFBFC}
.wdg__body .msg{max-width:92%}
.wdg__body .msg__b{font-size:12px}
.wdg__cont{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-3)}
.wdg__opt{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:2px 8px 2px 3px;background:#fff}
.wdg__opt .ch{width:15px;height:15px;border-radius:50%}
.wdg__opt .ch svg{width:8px;height:8px}
.wdg__input{display:flex;align-items:center;gap:8px;padding:9px 11px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-3)}
.wdg__input .send{margin-left:auto;width:22px;height:22px;border-radius:6px;background:var(--brand);display:grid;place-items:center}
.wdg__input .send svg{width:11px;height:11px;fill:var(--brand-on)}
.wdg__fab{position:absolute;right:14px;bottom:12px;width:40px;height:40px;border-radius:50%;background:var(--brand);color:var(--brand-on);display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(var(--brand-rgb),.6)}
.wdg__fab svg{width:18px;height:18px;fill:currentColor}

/* sales pipeline */
.kb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;background:var(--bg-soft)}
.kb__col{display:grid;gap:8px;align-content:start;min-width:0}
.kb__h{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:0 2px}
.kb__h span{font-weight:600;color:var(--ink-3)}
.kb__card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;box-shadow:var(--sh-sm);min-width:0}
.kb__col.is-won .kb__card{border-color:#BFE8D0;background:linear-gradient(180deg,#fff,var(--green-wash))}
.kb__top{display:flex;align-items:center;gap:6px;min-width:0}
.kb__top .ch{width:15px;height:15px;border-radius:4px}
.kb__top .ch svg{width:8px;height:8px}
.kb__top b{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb__card small{display:block;font-size:10.5px;color:var(--ink-3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb__foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px}
.kb__v{font-size:11.5px;font-weight:700}
.kb__foot .avatar{width:20px;height:20px;font-size:8.5px}

/* AI assistant */
.aias{padding:0 14px 12px}
.aias__sum,.aias__draft{border-radius:10px;padding:9px 11px;font-size:12px;line-height:1.55}
.aias__sum{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-2)}
.aias__draft{margin-top:8px;background:var(--brand-wash);border:1px dashed var(--brand-wash-2);color:var(--ink)}
.aias__l{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:650;color:var(--brand-ink);margin-bottom:3px}
.aias__l svg{width:11px;height:11px}

/* AI agent config */
.agc{display:grid;gap:0}
.agc__grp{padding:12px 16px}
.agc__grp + .agc__grp{border-top:1px solid var(--line)}
.agc__grp .prof__lab{display:block;margin-bottom:8px}
.agc__chips{display:flex;flex-wrap:wrap;gap:6px}
.agc__chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;border:1px solid var(--line);border-radius:8px;padding:4px 9px;background:#fff}
.agc__chip svg{width:12px;height:12px;stroke:var(--brand-ink);fill:none}
.agc__chip.is-act svg{stroke:var(--green)}
.agc__rule{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);padding:3px 0}
.agc__rule svg{width:13px;height:13px;stroke:#C62828;fill:none;flex:none}
.agc__rule.is-hand svg{stroke:var(--brand-ink)}

/* knowledge test */
.kbt{padding:12px 16px 16px;border-top:1px solid var(--line);background:var(--bg-soft)}
.kbt .prof__lab{display:block;margin-bottom:8px}
.kbt__q{justify-self:end;margin-left:auto;width:max-content;max-width:85%;background:var(--brand);color:var(--brand-on);font-size:12px;border-radius:12px;border-top-right-radius:4px;padding:7px 11px}
.kbt__a{margin-top:8px;max-width:92%;background:#fff;border:1px solid var(--brand-wash-2);border-radius:12px;border-top-left-radius:4px;padding:9px 11px;font-size:12px;line-height:1.55}
.kbt__src{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:10.5px;font-weight:600;color:var(--brand-ink);background:var(--brand-wash);border-radius:6px;padding:2px 7px}
.kbt__src svg{width:11px;height:11px;stroke:currentColor;fill:none}

/* webhook / delivery log */
.whl{display:grid;padding:4px 0}
.whl__row{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:12px}
.whl__row + .whl__row{border-top:1px solid var(--line)}
.whl__ev{font:600 11.5px/1.3 var(--mono);color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whl__row time{font:500 10.5px/1 var(--mono);color:var(--ink-3);flex:none}
.whl__retry{font-size:10.5px;color:#0A7A3C;font-weight:600}
.whl__m{flex:1;min-width:0}
.whl__m b{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.whl__m small{display:block;font-size:10.5px;color:var(--ink-3)}
.whl__row.is-fb{background:var(--bg-soft)}
.whl__json{margin:0;padding:12px 16px;border-top:1px solid var(--line);background:#0F1117;color:#C9CFDA;font:500 11.5px/1.65 var(--mono);white-space:pre-wrap;word-break:break-word}
.whl__json .k{color:#9CC2FF}.whl__json .s{color:#A8E6B8}

/* integrations */
.ig{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;background:var(--bg-soft)}
.ig__card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;min-width:0}
.ig__logo{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--bg-tint);font-size:13px;font-weight:700;color:var(--ink-2)}
.ig__n{flex:1;min-width:0}
.ig__n b{display:block;font-size:12.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig__n small{display:block;font-size:10.5px;color:var(--ink-3)}
.ig__btn{flex:none;font-size:11px;font-weight:650;color:var(--brand-ink);border:1px solid var(--brand-wash-2);border-radius:7px;padding:3px 9px}

/* partners */
.prt__ch{display:flex;gap:3px}
.prt__ch .ch{width:16px;height:16px;border-radius:4px}
.prt__ch .ch svg{width:9px;height:9px}

@media (max-width:560px){
  .wdg{min-height:430px}
  .wdg__prod{grid-template-columns:1fr}
  .wdg__img{height:110px}
  .kb{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ig{grid-template-columns:minmax(0,1fr)}
  .whl__row{padding:9px 12px}
  .prt__ch{display:none}
}
/* homepage mockups reused on template pages: one more column out on phones */
@media (max-width:560px){
  .tpl-mock .table th:nth-child(2),.tpl-mock .table td:nth-child(2){display:none}
}
.plan--quote{text-align:center;align-items:center;padding:36px 28px}
.plan--quote .plan__cta{width:auto}

/* =========================================================
   38. CAREERS — open positions
   ========================================================= */
.jobs{display:grid;gap:12px}
.job{display:flex;align-items:center;gap:20px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-sm);transition:border-color .18s ease,box-shadow .18s ease}
.job:hover{border-color:var(--line-strong);box-shadow:var(--sh)}
.job.is-hidden{border-style:dashed;opacity:.75}
.job__main{flex:1;min-width:0}
.job__t{font-size:17px;font-weight:650;letter-spacing:-.015em;margin-top:2px}
.job__meta{font-size:13px;color:var(--ink-3);margin-top:4px}
.job__d{font-size:14px;line-height:1.6;color:var(--ink-2);margin-top:8px;max-width:62ch}
.job__cta{flex:none}
.jobs__empty{text-align:center;padding:32px 24px;border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--bg-soft)}
.jobs__et{font-size:17px;font-weight:650;letter-spacing:-.015em}
.jobs__ed{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:8px auto 18px;max-width:52ch}
@media (max-width:560px){
  .job{flex-direction:column;align-items:flex-start;gap:14px}
}

/* rich text written in the admin editor (posts, "Teks bebas" block) */
.prose h3{font-size:19px;line-height:1.35;letter-spacing:-.015em;color:var(--ink);margin-top:32px;font-weight:650}
.prose ul{margin:0;padding-left:22px;list-style:disc}
.prose ol{margin:0;padding-left:22px;list-style:decimal}
.prose li + li{margin-top:8px}
.prose li{line-height:1.7}
.prose blockquote{margin:0;border-left:3px solid var(--brand);padding:4px 0 4px 18px;color:var(--ink-2);font-style:italic}
.prose a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}
.prose strong{font-weight:650;color:var(--ink)}
.prose img{max-width:100%;height:auto;border-radius:var(--r-lg);display:block;margin-inline:auto}
.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}
/* a page that opens with a text block (no hero) clears the fixed navbar */
.section--first{padding-top:calc(var(--nav-h) + clamp(44px,6vw,80px))}

/* =========================================================
   39. BLOCK BACKGROUNDS — brand colours or an image with overlay
   ========================================================= */
.blkbg{position:relative;isolation:isolate;overflow:hidden}
.blkbg > .section{background:transparent}
.blkbg > .chero::before,.blkbg > .cta::before{display:none}
.blkbg__img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.blkbg__img--center{object-position:center}
.blkbg__img--top{object-position:center top}
.blkbg__img--bottom{object-position:center bottom}
.blkbg__img--left{object-position:left center}
.blkbg__img--right{object-position:right center}
.blkbg__ov{position:absolute;inset:0;z-index:-1;pointer-events:none}

/* motion */
.blkbg--parallax .blkbg__img{height:130%;top:-15%;will-change:transform}
.blkbg--kenburns .blkbg__img{animation:blkbg-kb 22s ease-in-out infinite alternate}
.blkbg--kenburns .blkbg__img--top{transform-origin:center top}
.blkbg--kenburns .blkbg__img--bottom{transform-origin:center bottom}
.blkbg--kenburns .blkbg__img--left{transform-origin:left center}
.blkbg--kenburns .blkbg__img--right{transform-origin:right center}
@keyframes blkbg-kb{from{transform:scale(1)}to{transform:scale(1.1) translate(-1.2%,-.8%)}}
@media (max-width:768px){.blkbg--parallax .blkbg__img{height:100%;top:0;transform:none!important}}
@media (prefers-reduced-motion:reduce){
  .blkbg--kenburns .blkbg__img{animation:none}
  .blkbg--parallax .blkbg__img{height:100%;top:0;transform:none!important}
}

/* text that sits directly on a dark background (cards keep their own colours) */
.blkbg--ondark :is(.head,.chero__copy,.split__copy,.cta__in) :is(h1,h2,h3){color:#fff}
.blkbg--ondark :is(.head,.chero__copy,.split__copy,.cta__in) .lede,
.blkbg--ondark .hero__note,.blkbg--ondark .muted,.blkbg--ondark .cta__note,.blkbg--ondark .plans__note{color:rgba(255,255,255,.78)}
.blkbg--ondark .eyebrow{color:rgba(255,255,255,.92)}
.blkbg--ondark .feat{border-top-color:rgba(255,255,255,.16)}
.blkbg--ondark .feat__ico{color:#fff}
.blkbg--ondark .feat__t{color:#fff}
.blkbg--ondark .feat__d{color:rgba(255,255,255,.72)}
.blkbg--ondark .prose,.blkbg--ondark .prose :is(h2,h3,strong){color:#fff}
.blkbg--ondark .prose a{color:#fff}
.blkbg--ondark .prose blockquote{color:rgba(255,255,255,.8);border-left-color:currentColor}
.blkbg--ondark .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);box-shadow:none}
.blkbg--ondark .btn--ghost:hover{background:rgba(255,255,255,.1)}

/* on a brand/accent colour the primary button would vanish: invert it */
.blkbg--vivid.blkbg--ondark .btn--primary{background:#fff;color:var(--ink);box-shadow:none}
.blkbg--vivid.blkbg--onlight .btn--primary{background:var(--ink);color:#fff;box-shadow:none}
.blkbg--vivid .eyebrow::before{background:currentColor}

/* the closing CTA is dark by design; on a light background, flip its text */
.blkbg--onlight .cta{color:var(--ink)}
.blkbg--onlight .cta h2{color:var(--ink)}
.blkbg--onlight .cta .lede{color:var(--ink-2)}
.blkbg--onlight .cta__note{color:var(--ink-3)}
.blkbg--onlight .btn--onDark{background:var(--ink);color:#fff}
.blkbg--onlight .btn--onDarkGhost{color:var(--ink);border-color:var(--line-strong)}
/* a page that opens on a coloured or image block: keep the navbar solid so it stays readable */
body:has(.blkbg--first) .nav{background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom-color:var(--line)}
/* homepage hero inside a background wrapper */
.blkbg > .hero::before,.blkbg > .hero::after{display:none}
.blkbg--ondark .hero__copy :is(h1,h2){color:#fff}
.blkbg--ondark .hero__copy .lede{color:rgba(255,255,255,.8)}

/* spacing set in the visual builder (heroes keep their navbar offset) */
:is(.bk-pt-s) > section:not(.chero):not(.hero){padding-top:clamp(28px,4vw,48px)}
:is(.bk-pt-l) > section:not(.chero):not(.hero){padding-top:clamp(104px,12vw,168px)}
:is(.bk-pt-0) > section:not(.chero):not(.hero){padding-top:0}
:is(.bk-pb-s) > section{padding-bottom:clamp(28px,4vw,48px)}
:is(.bk-pb-l) > section{padding-bottom:clamp(104px,12vw,168px)}
:is(.bk-pb-0) > section{padding-bottom:0}
.bk-mark{display:contents}

/* =========================================================
   40. RCS — a business message in the phone's messaging app
   ========================================================= */
.rcs{margin:0;display:flex;justify-content:center}
.rcs__phone{width:100%;max-width:360px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:0 30px 60px -28px rgba(16,17,20,.28),0 2px 6px rgba(16,17,20,.06);overflow:hidden;display:flex;flex-direction:column;font-size:13px}
.rcs__top{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.rcs__back{font-size:22px;line-height:1;color:var(--ink-3)}
.rcs__logo{width:36px;height:36px;flex:none;display:block}
.rcs__logo svg{display:block;width:100%;height:100%}
.rcs__who{min-width:0}
.rcs__who b{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:650}
.rcs__who small{display:block;font-size:11px;color:var(--ink-3)}
.rcs__tick{width:14px;height:14px;padding:2px;border-radius:50%;background:var(--c-rcs);color:#fff;flex:none}
.rcs__body{padding:14px 14px 10px;background:#F6F8FC;display:grid;gap:10px;align-content:start;min-height:330px}
.rcs__day{margin:0;text-align:center;font-size:10.5px;color:var(--ink-3)}
.rcs__bubble{margin:0;max-width:85%;padding:9px 12px;border-radius:16px 16px 16px 4px;background:#fff;border:1px solid var(--line);line-height:1.45}
.rcs__card{max-width:88%;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid}
.rcs__img{height:120px;overflow:hidden;background:#E6EEF5}
.rcs__img > svg{display:block;width:100%;height:100%}
.rcs__cardb{padding:10px 12px 8px;display:grid;gap:3px}
.rcs__cardb b{font-size:13.5px;font-weight:650}
.rcs__cardb span{font-size:12px;color:var(--ink-2);line-height:1.45}
.rcs__act{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border-top:1px solid var(--line);color:var(--c-rcs);font-weight:600;font-size:12.5px}
.rcs__act svg{width:14px;height:14px}
.rcs__carousel{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:0;margin-right:-14px;padding-right:14px;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y}
.rcs__carousel::-webkit-scrollbar{display:none}
.rcs__carousel.is-dragging{cursor:grabbing;scroll-snap-type:none}
.rcs__carousel img,.rcs__carousel svg{-webkit-user-drag:none;pointer-events:none}
.rcs__card--sm{flex:0 0 46%;max-width:none;scroll-snap-align:start}
.rcs__card--sm .rcs__img{height:92px}
.rcs__read{margin:-4px 0 0;font-size:10.5px;color:var(--ink-3)}
.rcs__chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.rcs__chips span{padding:7px 12px;border-radius:18px;border:1px solid #C6D4F6;background:#fff;color:var(--c-rcs);font-weight:600;font-size:12px}
.rcs__input{display:flex;align-items:center;gap:8px;padding:10px 12px 14px;background:#F6F8FC}
.rcs__input svg{fill:currentColor;display:block}
.rcs__plus{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;background:#D3E3FD;color:#0B57D0}
.rcs__plus svg{width:20px;height:20px}
.rcs__field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px 0 14px;border-radius:20px;background:#E9EEF6;color:#5F6368;font-size:12.5px}
.rcs__field span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rcs__field svg{width:19px;height:19px;flex:none}
.rcs__send{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;background:#0B57D0;color:#fff}
.rcs__send svg{width:18px;height:18px;margin-left:2px}
