/* SLP Studio responsive compatibility layer — v1.3.3 */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
input,select,textarea,button{max-width:100%}

/* Shared public-page navigation */
.slp-mobile-menu-toggle{display:none;width:42px;height:42px;border:1px solid #cfe2da;border-radius:10px;background:#fff;color:#08231c;font-size:21px;font-weight:800;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.slp-mobile-panel{display:none}
@media (max-width:900px){
  body:not(.slp-dashboard-page) .nav{height:auto!important;min-height:68px!important;padding:10px 0!important;position:relative!important;z-index:1000!important}
  body:not(.slp-dashboard-page) .navin{min-height:48px!important;gap:10px!important;flex-wrap:nowrap!important}
  body:not(.slp-dashboard-page) .brand,
  body:not(.slp-dashboard-page) .slp-brand-lockup{min-width:0!important;max-width:calc(100% - 54px)!important}
  body:not(.slp-dashboard-page) .brand span,
  body:not(.slp-dashboard-page) .slp-brand-copy{min-width:0!important}
  body:not(.slp-dashboard-page) .brand strong,
  body:not(.slp-dashboard-page) .slp-brand-copy strong{font-size:13px!important;white-space:normal!important;line-height:1.12!important}
  body:not(.slp-dashboard-page) .brand small,
  body:not(.slp-dashboard-page) .slp-brand-copy small{font-size:6.5px!important;white-space:normal!important;line-height:1.25!important}
  body:not(.slp-dashboard-page) .links,
  body:not(.slp-dashboard-page) .actions{display:none!important}
  .slp-mobile-menu-toggle{display:inline-flex}
  .slp-mobile-panel{position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:12px;border:1px solid #cfe2da;border-radius:15px;background:rgba(255,255,255,.98);box-shadow:0 22px 70px rgba(8,35,28,.2);z-index:2000;max-height:calc(100vh - 100px);overflow:auto}
  .slp-mobile-panel.open{display:grid;gap:8px}
  .slp-mobile-panel a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:9px;text-decoration:none;color:#17352c;font-weight:750;font-size:13px}
  .slp-mobile-panel a:hover,.slp-mobile-panel a.active{background:#eef8f4;color:#05845e}
  .slp-mobile-panel .primary{background:#05845e!important;color:#fff!important;justify-content:center}
}

/* General public content scaling */
@media (max-width:900px){
  .wrap{width:min(100% - 28px,1180px)!important}
  main{min-width:0!important}
  .hero-grid,.system-grid,.pricing-grid,.faq-grid,.contact-grid,.grid,.checkout-grid{min-width:0!important}
  h1{overflow-wrap:anywhere}
}
@media (max-width:767px){
  .wrap{width:min(100% - 22px,1180px)!important}
  .hero{padding-top:34px!important;padding-bottom:48px!important}
  .hero-grid,.system-grid,.pricing-grid,.faq-grid,.contact-grid,.grid,.checkout-grid{grid-template-columns:1fr!important;gap:22px!important}
  .hero-copy h1,.intro h1,.head h1{font-size:clamp(34px,10vw,48px)!important;line-height:1.02!important}
  .hero-copy p,.intro p,.head p{font-size:14px!important;line-height:1.65!important}
  .hero-cta,.actions-row{flex-wrap:wrap!important}
  .hero-cta .btn,.actions-row .btn{width:100%!important;justify-content:center!important}
  .app-shell,.hero-stage{max-width:100%!important;min-width:0!important}
  .float-card{display:none!important}
  .card{max-width:100%!important;padding:20px!important}
  .two,.plans{grid-template-columns:1fr!important}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Tablet dashboard: preserve full header and make controls reachable. */
@media (min-width:768px) and (max-width:1180px){
  body.slp-dashboard-page{overflow-x:auto!important}
  body.slp-dashboard-page .app{min-width:768px!important}
  body.slp-dashboard-page .topbar{
    position:sticky!important;top:0!important;display:flex!important;visibility:visible!important;opacity:1!important;
    min-height:70px!important;height:auto!important;padding:8px 10px!important;gap:10px!important;
    align-items:center!important;justify-content:space-between!important;background:#fff!important;
    border-bottom:1px solid #cfe2da!important;overflow:visible!important
  }
  body.slp-dashboard-page .slp-brand-lockup{display:inline-flex!important;flex:0 0 auto!important;max-width:210px!important}
  body.slp-dashboard-page .slp-brand-symbol{width:38px!important;height:38px!important;flex-basis:38px!important}
  body.slp-dashboard-page .slp-brand-symbol img{width:28px!important;height:28px!important}
  body.slp-dashboard-page .slp-brand-copy strong{font-size:12px!important;white-space:normal!important;line-height:1.05!important}
  body.slp-dashboard-page .slp-brand-copy small{display:none!important}
  body.slp-dashboard-page .top-actions{
    display:flex!important;visibility:visible!important;opacity:1!important;flex:1 1 auto!important;
    min-width:0!important;max-width:calc(100vw - 235px)!important;gap:6px!important;
    overflow-x:auto!important;overflow-y:visible!important;padding:3px 2px 7px!important;
    scrollbar-width:thin;-webkit-overflow-scrolling:touch
  }
  body.slp-dashboard-page .top-actions>.btn,
  body.slp-dashboard-page .top-actions>.autosave-status,
  body.slp-dashboard-page .account-menu{flex:0 0 auto!important}
  body.slp-dashboard-page .top-actions .btn{min-height:38px!important;padding:0 11px!important;font-size:10px!important}
  body.slp-dashboard-page .account-trigger{height:40px!important;max-width:145px!important}
  body.slp-dashboard-page .account-name{max-width:72px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  body.slp-dashboard-page .account-plan-mini{display:none!important}
  body.slp-dashboard-page .tabs,.tabbar,.toolbar{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;white-space:nowrap!important}
}

/* Mobile access notice. The JS inserts the overlay only on restricted pages. */
.slp-device-blocker{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:22px;background:linear-gradient(145deg,#edf8f4,#fbfdfc)}
.slp-device-blocker-card{width:min(430px,100%);padding:28px 24px;border:1px solid #c9ddd5;border-radius:22px;background:#fff;box-shadow:0 30px 100px rgba(8,35,28,.18);text-align:center;color:#08231c}
.slp-device-blocker-icon{width:62px;height:62px;margin:0 auto 17px;border-radius:18px;display:grid;place-items:center;background:#def5eb;color:#05845e;font-size:29px}
.slp-device-blocker h1{margin:0 0 10px;font-size:27px;line-height:1.1}
.slp-device-blocker p{margin:0;color:#61756d;line-height:1.65;font-size:14px}
.slp-device-blocker a{display:inline-flex;margin-top:20px;min-height:44px;padding:0 18px;align-items:center;justify-content:center;border-radius:10px;background:#05845e;color:#fff;text-decoration:none;font-weight:800}

/* ===== v1.3.3 final phone/tablet hardening ===== */
@media (max-width:900px){
  header.nav .navin{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important}
  header.nav .links,header.nav .actions{display:none!important}
  header.nav .brand,header.nav .slp-brand-lockup{flex:1 1 auto!important;max-width:calc(100% - 54px)!important;overflow:hidden!important}
  header.nav .brand img,header.nav .slp-brand-symbol{flex:0 0 42px!important;width:42px!important;height:42px!important}
  header.nav .brand>span,header.nav .slp-brand-copy{min-width:0!important;overflow:hidden!important}
  header.nav .brand strong,header.nav .slp-brand-copy strong{display:block!important;font-size:13px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  header.nav .brand small,header.nav .slp-brand-copy small{display:block!important;font-size:6.5px!important;line-height:1.25!important;white-space:normal!important}
  header.nav .slp-mobile-menu-toggle{display:inline-flex!important;position:relative!important;z-index:3!important}
}
@media (max-width:767px){
  section{padding:48px 0!important}
  .hero{padding:38px 0 46px!important}
  .hero-grid{display:block!important}
  .hero-copy,.hero-grid>div,.int-copy,.scenario-copy{width:100%!important;max-width:100%!important}
  .hero-copy h1,.intro h1,.head h1{font-size:clamp(38px,12vw,54px)!important;line-height:.98!important;letter-spacing:-.055em!important}
  .hero-copy p,.intro p,.head p{font-size:16px!important;line-height:1.55!important}
  .hero-cta{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .hero-cta .btn{width:100%!important;min-height:48px!important;white-space:normal!important;text-align:center!important}
  .microproof{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}

  /* Complex marketing diagrams become clean stacked cards on phones. */
  .hero-stage,.hero-visual,.orbit,.scenario-board{display:none!important}
  .pipeline{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:18px!important;overflow:visible!important}
  .pipeline-svg,.pipeline-core,.data-chip{display:none!important}
  .pipeline .pipe-node{position:static!important;inset:auto!important;transform:none!important;width:100%!important;min-height:0!important;padding:18px!important}
  .pipeline .pipe-node small{white-space:normal!important}

  /* How-to-use journey and live demo. */
  .journey-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .journey-nav{display:flex!important;overflow-x:auto!important;gap:8px!important;padding-bottom:6px!important;scroll-snap-type:x proximity!important}
  .journey-nav .journey-btn{flex:0 0 190px!important;scroll-snap-align:start!important}
  .journey-screen,.screen-panel,.ui-window{width:100%!important;max-width:100%!important;min-width:0!important}
  .screen-title{display:block!important}
  .screen-number{display:inline-flex!important;margin-top:10px!important}
  .ui-body{display:block!important;min-height:0!important}
  .ui-sidebar{display:none!important}
  .ui-work{width:100%!important;min-height:330px!important;padding:12px!important}
  .grid-floor{min-height:300px!important;width:100%!important}
  .live-demo-shell,.live-demo-stage{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  .live-demo-head{display:block!important;padding:20px!important}
  .live-demo-controls{margin-top:16px!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important}
  .live-demo-nav{display:flex!important;overflow-x:auto!important;gap:8px!important;padding:14px!important}
  .live-demo-nav button{flex:0 0 126px!important;min-width:126px!important}
  .demo-scene{min-height:420px!important;overflow:hidden!important;transform:none!important}
  .demo-scene>*{max-width:100%!important}

  /* Prevent any remaining fixed-size showcase from pushing the viewport. */
  .pipeline,.journey-screen,.ui-window,.live-demo-shell,.demo-shell,[class*="board"],[class*="stage"]{max-width:100%!important}
}

/* Tablet workspace header: two stable rows, no cropped project/account controls. */
@media (min-width:768px) and (max-width:1180px){
  body.slp-dashboard-page{overflow-x:hidden!important}
  body.slp-dashboard-page .app{min-width:0!important;width:100%!important}
  body.slp-dashboard-page .topbar{flex-wrap:wrap!important;align-content:center!important;padding:8px 12px!important;gap:8px!important;overflow:visible!important;z-index:10000!important}
  body.slp-dashboard-page .slp-brand-lockup{max-width:100%!important;flex:1 1 220px!important}
  body.slp-dashboard-page .top-actions{order:2!important;width:100%!important;max-width:100%!important;flex:1 0 100%!important;display:flex!important;flex-wrap:wrap!important;overflow:visible!important;padding:4px 0 2px!important;gap:6px!important}
  body.slp-dashboard-page .top-actions>.btn{flex:1 1 auto!important;min-width:76px!important;white-space:nowrap!important}
  body.slp-dashboard-page #loadIndustrySampleBtn{min-width:145px!important}
  body.slp-dashboard-page .autosave-status{margin-left:auto!important}
  body.slp-dashboard-page .account-menu{margin-left:0!important;position:relative!important}
  body.slp-dashboard-page .account-trigger{max-width:190px!important}
  body.slp-dashboard-page .account-popover{position:fixed!important;top:112px!important;right:12px!important;left:auto!important;max-width:calc(100vw - 24px)!important;z-index:2147483000!important}
  body.slp-dashboard-page .main{min-height:0!important}
}
@media (min-width:768px) and (max-width:850px){
  body.slp-dashboard-page .top-actions>.btn{font-size:9px!important;padding:0 8px!important}
  body.slp-dashboard-page .autosave-status{font-size:9px!important}
  body.slp-dashboard-page .account-trigger{max-width:150px!important}
}

/* ===== v1.3.6 definitive public mobile/tablet layout ===== */
@media (max-width:1180px){
  body:not(.slp-dashboard-page) header.nav{
    position:sticky!important;top:0!important;z-index:10000!important;
    height:auto!important;min-height:68px!important;padding:8px 0!important;
    overflow:visible!important;background:rgba(255,255,255,.97)!important;
  }
  body:not(.slp-dashboard-page) header.nav .wrap.navin{
    width:min(calc(100% - 24px),1180px)!important;min-height:52px!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:10px!important;flex-wrap:nowrap!important;overflow:visible!important;
  }
  body:not(.slp-dashboard-page) header.nav .brand,
  body:not(.slp-dashboard-page) header.nav .slp-brand-lockup{
    flex:1 1 auto!important;width:auto!important;min-width:0!important;
    max-width:calc(100% - 54px)!important;overflow:hidden!important;
  }
  body:not(.slp-dashboard-page) header.nav .brand img,
  body:not(.slp-dashboard-page) header.nav .slp-brand-symbol{
    flex:0 0 42px!important;width:42px!important;height:42px!important;
  }
  body:not(.slp-dashboard-page) header.nav .brand>span,
  body:not(.slp-dashboard-page) header.nav .slp-brand-copy{min-width:0!important;overflow:hidden!important}
  body:not(.slp-dashboard-page) header.nav .brand strong,
  body:not(.slp-dashboard-page) header.nav .slp-brand-copy strong{
    display:block!important;font-size:13px!important;line-height:1.1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body:not(.slp-dashboard-page) header.nav .brand small,
  body:not(.slp-dashboard-page) header.nav .slp-brand-copy small{
    display:block!important;font-size:6.2px!important;line-height:1.25!important;
    white-space:normal!important;overflow:hidden!important;max-height:2.5em!important;
  }
  body:not(.slp-dashboard-page) header.nav .links,
  body:not(.slp-dashboard-page) header.nav .actions{display:none!important}
  body:not(.slp-dashboard-page) .slp-mobile-menu-toggle{
    display:inline-flex!important;position:relative!important;z-index:2!important;
    width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;
  }
  body:not(.slp-dashboard-page) .slp-mobile-panel{
    left:12px!important;right:12px!important;top:calc(100% + 6px)!important;
    width:auto!important;max-width:none!important;max-height:calc(100dvh - 92px)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
  }

  /* Connected-system diagram: no overlapping cards on tablet or phone. */
  body:not(.slp-dashboard-page) .system-grid{grid-template-columns:1fr!important;gap:26px!important}
  body:not(.slp-dashboard-page) .pipeline{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;height:auto!important;min-height:0!important;padding:18px!important;
    overflow:visible!important;align-items:stretch!important;
  }
  body:not(.slp-dashboard-page) .pipeline:before{border-radius:inherit!important}
  body:not(.slp-dashboard-page) .pipeline-svg,
  body:not(.slp-dashboard-page) .pipeline-core,
  body:not(.slp-dashboard-page) .data-chip{display:none!important}
  body:not(.slp-dashboard-page) .pipeline .pipe-node{
    position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;animation:none!important;width:auto!important;min-width:0!important;
    min-height:150px!important;padding:18px!important;overflow:hidden!important;
  }
  body:not(.slp-dashboard-page) .pipeline .pipe-node b,
  body:not(.slp-dashboard-page) .pipeline .pipe-node small{overflow-wrap:anywhere!important;word-break:normal!important}

  /* Intelligence orbit becomes a complete, readable card grid. */
  body:not(.slp-dashboard-page) .int-grid{grid-template-columns:1fr!important;gap:26px!important}
  body:not(.slp-dashboard-page) .orbit{
    min-height:0!important;height:auto!important;display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;
    padding:18px!important;overflow:visible!important;
  }
  body:not(.slp-dashboard-page) .orbit .ring{display:none!important}
  body:not(.slp-dashboard-page) .orbit-core{
    position:relative!important;left:auto!important;top:auto!important;transform:none!important;
    width:100%!important;height:auto!important;min-height:130px!important;border-radius:24px!important;
    grid-column:1/-1!important;order:-1!important;
  }
  body:not(.slp-dashboard-page) .orbit .sat{
    position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;animation:none!important;width:auto!important;min-width:0!important;
    min-height:112px!important;padding:16px!important;overflow:hidden!important;
  }
  body:not(.slp-dashboard-page) .orbit .sat b,
  body:not(.slp-dashboard-page) .orbit .sat small{overflow-wrap:anywhere!important}
}

@media (max-width:600px){
  body:not(.slp-dashboard-page) header.nav .wrap.navin{width:calc(100% - 16px)!important}
  body:not(.slp-dashboard-page) header.nav .brand img,
  body:not(.slp-dashboard-page) header.nav .slp-brand-symbol{width:38px!important;height:38px!important;flex-basis:38px!important}
  body:not(.slp-dashboard-page) header.nav .brand strong,
  body:not(.slp-dashboard-page) header.nav .slp-brand-copy strong{font-size:11.5px!important}
  body:not(.slp-dashboard-page) header.nav .brand small,
  body:not(.slp-dashboard-page) header.nav .slp-brand-copy small{font-size:5.7px!important}
  body:not(.slp-dashboard-page) .pipeline,
  body:not(.slp-dashboard-page) .orbit{grid-template-columns:1fr!important;padding:14px!important;gap:12px!important}
  body:not(.slp-dashboard-page) .pipeline .pipe-node{min-height:0!important;padding:16px!important}
  body:not(.slp-dashboard-page) .orbit-core{grid-column:auto!important;min-height:120px!important}
  body:not(.slp-dashboard-page) .orbit .sat{min-height:0!important}
  body:not(.slp-dashboard-page) .hero-copy h1,
  body:not(.slp-dashboard-page) .intro h1,
  body:not(.slp-dashboard-page) .head h1{font-size:clamp(34px,11vw,46px)!important}
}

/* ===== v1.7.0 definitive responsive navigation =====
   Uses a fixed dropdown so page/header overflow can never clip the menu. */
@media (max-width:1180px){
  body:not(.slp-dashboard-page) header.nav{overflow:visible!important}
  body:not(.slp-dashboard-page) header.nav .navin{position:relative!important;overflow:visible!important}
  body:not(.slp-dashboard-page) .slp-mobile-menu-toggle{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    position:relative!important;z-index:2147483001!important;
  }
  body:not(.slp-dashboard-page) .slp-mobile-panel{
    display:none!important;
    position:fixed!important;
    left:max(12px,env(safe-area-inset-left))!important;
    right:max(12px,env(safe-area-inset-right))!important;
    width:auto!important;
    padding:12px!important;
    border:1px solid #cfe2da!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 24px 80px rgba(8,35,28,.24)!important;
    z-index:2147483000!important;
    max-height:calc(100dvh - 96px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
  }
  body:not(.slp-dashboard-page) .slp-mobile-panel.open{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  body:not(.slp-dashboard-page) .slp-mobile-panel a{
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    min-height:46px!important;padding:10px 13px!important;border-radius:10px!important;
    text-decoration:none!important;color:#17352c!important;font-weight:750!important;font-size:13px!important;
    white-space:normal!important;
  }
  body:not(.slp-dashboard-page) .slp-mobile-panel a:hover,
  body:not(.slp-dashboard-page) .slp-mobile-panel a.active{background:#eef8f4!important;color:#05845e!important}
  body:not(.slp-dashboard-page) .slp-mobile-panel a.primary{background:#05845e!important;color:#fff!important;justify-content:center!important}
}
