/* =========================================================
   ESPRIQ HOME RESPONSIVE V1
   Desktop >=1100px remains governed by home_reference.css.
   This layer only restructures tablet/mobile.
   ========================================================= */

@media (max-width:1099px){
  html,body{
    width:100% !important;
    min-height:100% !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:#031522 !important;
  }

  #espriq-viewport{
    position:relative !important;
    width:100% !important;
    height:auto !important;
    min-height:100vh !important;
    overflow:visible !important;
    background:#031522 !important;
  }

  #espriq-canvas{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:100vh !important;
    transform:none !important;
    transform-origin:center top !important;
    overflow:hidden !important;
  }

  /* background artwork becomes a real responsive background */
  #espriq-canvas .bg-map{
    left:0 !important;
    top:74px !important;
    width:100% !important;
    height:760px !important;
    background-size:cover !important;
    background-position:center top !important;
    opacity:.78 !important;
  }
  #espriqWorldNetworkV45{
    width:100% !important;
    height:760px !important;
    opacity:.36 !important;
  }
  #espriq-canvas .target-bg-network{display:none !important}
  #espriq-canvas .network{display:none !important}

  /* header */
  #espriq-canvas .topbar{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:74px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 20px !important;
    background:rgba(2,18,29,.94) !important;
    border-bottom:1px solid rgba(42,196,211,.20) !important;
    backdrop-filter:blur(14px) !important;
    z-index:100 !important;
  }
  #espriq-canvas .mini-brand{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    height:auto !important;
    display:flex !important;
    gap:9px !important;
    flex:0 0 auto !important;
  }
  #espriq-canvas .mini-brand img{
    width:43px !important;
    height:43px !important;
  }
  #espriq-canvas .mini-brand span{
    font-size:25px !important;
    letter-spacing:.3px !important;
  }
  #espriq-canvas .nav{display:none !important}
  #espriq-canvas .actions{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-inline-start:auto !important;
  }
  #espriq-canvas .actions > .action-icon{display:none !important}
  #espriq-canvas .login{
    min-width:124px !important;
    width:auto !important;
    height:42px !important;
    padding:0 14px !important;
    font-size:13px !important;
  }
  #espriq-canvas .lang{
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 10px !important;
    border:1px solid rgba(39,195,214,.25) !important;
    border-radius:8px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }

  #espriq-home-mobile-toggle{
    position:relative;
    width:42px;
    height:42px;
    flex:0 0 42px;
    padding:0;
    border:1px solid rgba(39,195,214,.34);
    border-radius:9px;
    background:rgba(3,35,48,.82);
    color:#fff;
    cursor:pointer;
  }
  #espriq-home-mobile-toggle span,
  #espriq-home-mobile-toggle::before,
  #espriq-home-mobile-toggle::after{
    content:"";
    position:absolute;
    left:11px;
    width:19px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .18s ease, opacity .18s ease;
  }
  #espriq-home-mobile-toggle::before{top:14px}
  #espriq-home-mobile-toggle span{top:20px}
  #espriq-home-mobile-toggle::after{top:26px}
  #espriq-home-mobile-toggle[aria-expanded="true"] span{opacity:0}
  #espriq-home-mobile-toggle[aria-expanded="true"]::before{transform:translateY(6px) rotate(45deg)}
  #espriq-home-mobile-toggle[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg)}

  #espriq-home-mobile-menu{
    position:absolute;
    top:64px;
    inset-inline-end:12px;
    width:min(360px,calc(100vw - 24px));
    padding:12px;
    border:1px solid rgba(42,200,220,.30);
    border-radius:14px;
    background:rgba(2,22,32,.985);
    box-shadow:0 24px 65px rgba(0,0,0,.46);
    backdrop-filter:blur(16px);
    z-index:9999;
  }
  #espriq-home-mobile-menu[hidden]{display:none !important}
  #espriq-home-mobile-menu nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  #espriq-home-mobile-menu a{
    min-height:44px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    text-decoration:none;
    color:#eef5f7;
    border:1px solid rgba(42,200,220,.16);
    border-radius:9px;
    background:rgba(4,39,52,.62);
    font-size:13px;
    font-weight:750;
  }
  #espriq-home-mobile-menu a.active{
    color:#f1c044;
    border-color:rgba(241,192,68,.34);
    background:rgba(95,74,18,.16);
  }

  /* hero becomes natural flow */
  #espriq-canvas .hero{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:26px !important;
    padding:46px 6% 40px !important;
    z-index:5 !important;
    overflow:visible !important;
  }
  #espriq-canvas .copy{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:760px !important;
    height:auto !important;
    margin-inline:auto !important;
    text-align:inherit !important;
    z-index:10 !important;
  }
  html[dir="rtl"] #espriq-canvas .copy{text-align:right !important;direction:rtl !important}
  html[dir="ltr"] #espriq-canvas .copy{text-align:left !important;direction:ltr !important}

  #espriq-canvas .brand-lockup{
    height:auto !important;
    min-height:86px !important;
    gap:12px !important;
  }
  #espriq-canvas .brand-lockup img{
    width:84px !important;
    height:84px !important;
  }
  #espriq-canvas .word{
    font-size:clamp(46px,8vw,68px) !important;
    line-height:1 !important;
  }
  #espriq-canvas .brandline{
    margin-top:10px !important;
    font-size:10px !important;
    line-height:1.45 !important;
    white-space:normal !important;
  }
  #espriq-canvas h1{
    width:100% !important;
    margin:22px 0 0 !important;
    white-space:normal !important;
    font-size:clamp(32px,5.8vw,46px) !important;
    line-height:1.35 !important;
    overflow-wrap:anywhere !important;
  }
  #espriq-canvas .tagline{
    margin-top:8px !important;
    font-size:15px !important;
    line-height:1.4 !important;
    white-space:normal !important;
  }
  #espriq-canvas .copy p{
    width:100% !important;
    max-width:720px !important;
    margin-top:22px !important;
    font-size:16px !important;
    line-height:1.9 !important;
  }
  #espriq-canvas .copy p br{display:none !important}
  #espriq-canvas .ctas{
    width:100% !important;
    margin-top:22px !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    direction:inherit !important;
  }
  #espriq-canvas .ctas button{
    width:100% !important;
    min-width:0 !important;
    height:52px !important;
    padding:0 12px !important;
    font-size:14px !important;
  }

  /* responsive globe composition */
  #espriq-canvas .visual{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:760px !important;
    height:430px !important;
    margin-inline:auto !important;
    overflow:visible !important;
    z-index:8 !important;
  }
  #espriq-canvas .glow{
    left:50% !important;
    top:36px !important;
    width:360px !important;
    height:360px !important;
    transform:translateX(-50%) !important;
  }
  #espriq-canvas .earth-axis-v12.earth-geo-v31{
    left:50% !important;
    top:22px !important;
    width:360px !important;
    height:360px !important;
    transform:translateX(-50%) !important;
  }
  #espriq-canvas .globe-net{
    left:50% !important;
    top:22px !important;
    width:360px !important;
    height:360px !important;
    transform:translateX(-50%) !important;
  }
  #espriq-canvas .o1{
    left:50% !important;
    top:54px !important;
    width:410px !important;
    height:275px !important;
    transform:translateX(-50%) rotate(-14deg) !important;
  }
  #espriq-canvas .o2{
    left:50% !important;
    top:8px !important;
    width:280px !important;
    height:390px !important;
    transform:translateX(-50%) rotate(57deg) !important;
  }
  #espriq-canvas .card{
    width:152px !important;
    height:68px !important;
    padding:10px 11px !important;
    transform:none !important;
    border-radius:9px !important;
  }
  #espriq-canvas .card b{font-size:13px !important;margin-bottom:3px !important}
  #espriq-canvas .card small{font-size:9.5px !important;line-height:1.25 !important}
  #espriq-canvas .ci{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
  #espriq-canvas .ci svg{width:18px !important;height:18px !important}
  #espriq-canvas .knowledge{left:3% !important;top:48px !important}
  #espriq-canvas .projects{left:auto !important;right:3% !important;top:58px !important}
  #espriq-canvas .academy{left:3% !important;top:312px !important}
  #espriq-canvas .analytics{left:auto !important;right:3% !important;top:320px !important}
  #espriq-canvas .side-note{display:none !important}
  #espriq-canvas .tab{display:none !important}

  /* stats become content instead of a fixed strip */
  #espriq-canvas .stats{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1px !important;
    padding:1px !important;
    border-top:1px solid rgba(53,195,211,.30) !important;
    background:rgba(2,18,29,.74) !important;
  }
  #espriq-canvas .stat{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:auto !important;
    height:116px !important;
    min-height:116px !important;
    border:0 !important;
    background:rgba(3,27,40,.72) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    padding:16px !important;
  }
  #espriq-canvas .stat strong{
    font-size:23px !important;
    margin-bottom:6px !important;
  }
  #espriq-canvas .stat span{
    font-size:12px !important;
    white-space:normal !important;
    line-height:1.45 !important;
  }
  #espriq-canvas .stat .si svg,
  #espriq-canvas .stat svg{
    width:27px !important;
    height:27px !important;
  }
  #espriq-canvas .quote{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    width:auto !important;
    height:auto !important;
    min-height:116px !important;
    grid-column:1 / -1 !important;
    border-right:0 !important;
    border-top:1px solid rgba(53,195,211,.20) !important;
    padding:22px 6% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:14px !important;
    line-height:1.7 !important;
  }
  #espriq-canvas .quote b{font-size:16px !important}
}

@media (max-width:640px){
  #espriq-canvas .topbar{
    height:64px !important;
    padding:0 14px !important;
  }
  #espriq-canvas .mini-brand img{width:38px !important;height:38px !important}
  #espriq-canvas .mini-brand span{font-size:22px !important}
  #espriq-canvas .login{display:none !important}
  #espriq-canvas .lang{font-size:12px !important;padding:0 8px !important;max-width:84px !important;overflow:hidden !important}
  #espriq-home-mobile-toggle{width:38px;height:38px;flex-basis:38px}
  #espriq-home-mobile-toggle::before,
  #espriq-home-mobile-toggle span,
  #espriq-home-mobile-toggle::after{left:9px}

  #espriq-canvas .bg-map{top:64px !important;height:760px !important;opacity:.66 !important}
  #espriq-canvas .hero{
    gap:22px !important;
    padding:36px 20px 30px !important;
  }
  #espriq-canvas .brand-lockup{min-height:66px !important;gap:10px !important}
  #espriq-canvas .brand-lockup img{width:66px !important;height:66px !important}
  #espriq-canvas .word{font-size:42px !important}
  #espriq-canvas .brandline{font-size:8px !important;letter-spacing:.65px !important}
  #espriq-canvas h1{font-size:30px !important;line-height:1.42 !important;margin-top:18px !important}
  #espriq-canvas .tagline{font-size:13px !important}
  #espriq-canvas .copy p{font-size:14px !important;line-height:1.85 !important;margin-top:18px !important}
  #espriq-canvas .ctas{grid-template-columns:1fr 1fr !important;gap:8px !important;margin-top:18px !important}
  #espriq-canvas .ctas button{height:48px !important;font-size:12px !important;padding:0 8px !important}

  #espriq-canvas .visual{height:390px !important}
  #espriq-canvas .glow{top:44px !important;width:280px !important;height:280px !important}
  #espriq-canvas .earth-axis-v12.earth-geo-v31,
  #espriq-canvas .globe-net{top:35px !important;width:285px !important;height:285px !important}
  #espriq-canvas .o1{top:64px !important;width:320px !important;height:215px !important}
  #espriq-canvas .o2{top:22px !important;width:220px !important;height:305px !important}
  #espriq-canvas .card{width:118px !important;height:60px !important;padding:8px 9px !important}
  #espriq-canvas .card b{font-size:11px !important}
  #espriq-canvas .card small{font-size:8px !important}
  #espriq-canvas .ci{width:28px !important;height:28px !important;flex-basis:28px !important}
  #espriq-canvas .ci svg{width:15px !important;height:15px !important}
  #espriq-canvas .knowledge{left:0 !important;top:30px !important}
  #espriq-canvas .projects{right:0 !important;top:40px !important}
  #espriq-canvas .academy{left:0 !important;top:286px !important}
  #espriq-canvas .analytics{right:0 !important;top:296px !important}

  #espriq-canvas .stats{grid-template-columns:1fr 1fr !important}
  #espriq-canvas .stat{height:104px !important;min-height:104px !important;padding:12px 8px !important;gap:8px !important}
  #espriq-canvas .stat strong{font-size:20px !important}
  #espriq-canvas .stat span{font-size:10.5px !important}
  #espriq-canvas .quote{min-height:100px !important;padding:20px !important}
}

@media (max-width:370px){
  #espriq-canvas .mini-brand span{font-size:20px !important}
  #espriq-canvas .lang{max-width:76px !important}
  #espriq-canvas .hero{padding-inline:16px !important}
  #espriq-canvas .word{font-size:38px !important}
  #espriq-canvas h1{font-size:28px !important}
  #espriq-canvas .visual{height:375px !important}
  #espriq-canvas .card{width:108px !important}
}

/* HOME RESPONSIVE V1.1 — viewport box sizing fix */
@media (max-width:1099px){
  #espriq-canvas .topbar,
  #espriq-canvas .hero,
  #espriq-canvas .stats{
    box-sizing:border-box !important;
  }
}

/* HOME MOBILE HEADER ALIGNMENT V1.2 */
@media (max-width:640px){

  #espriq-canvas .topbar{
    direction:ltr !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding-left:14px !important;
    padding-right:14px !important;
    gap:0 !important;
  }

  /* Arabic: controls left / logo right */
  html[dir="rtl"] #espriq-canvas .actions{
    order:1 !important;
    margin:0 !important;
    flex:0 0 auto !important;
  }

  html[dir="rtl"] #espriq-canvas .mini-brand{
    order:2 !important;
    margin-left:auto !important;
    margin-right:0 !important;
    flex:0 0 auto !important;
  }

  /* English + German: logo left / controls right */
  html[dir="ltr"] #espriq-canvas .mini-brand{
    order:1 !important;
    margin:0 !important;
    flex:0 0 auto !important;
  }

  html[dir="ltr"] #espriq-canvas .actions{
    order:2 !important;
    margin-left:auto !important;
    margin-right:0 !important;
    flex:0 0 auto !important;
  }
}

/* HOME MOBILE HEADER ALIGNMENT V1.3 — remove desktop brand width */
@media (max-width:640px){

  #espriq-canvas .mini-brand{
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
  }

  html[dir="rtl"] #espriq-canvas .mini-brand{
    margin-left:auto !important;
    margin-right:0 !important;
  }

  html[dir="rtl"] #espriq-canvas .actions{
    margin-left:0 !important;
    margin-right:0 !important;
  }
}
