/*
Theme Name: Zoi Portfolio
Theme URI: https://apifeldigi.com
Author: Apifel DIGI & Jahid Hasan
Author URI: https://apifeldigi.com
Description: Premium dark portfolio theme. Mouse-follow blue glow, floating pill navbar, projects, blog, gallery, team, SEO, menu manager, studies repeater.
Version: 2.0.0
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zoi-portfolio
Tags: portfolio, dark, minimal, custom-logo, featured-images, post-thumbnails
*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* Prevent any element from exceeding viewport width */
img,video,iframe,table,pre,code{max-width:100%}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-overflow-scrolling:touch;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
body{background:#050505;color:#fafafa;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:clip}
/* Global container clip — prevents any content from causing h-scroll */
.zoi-hero,.zoi-projects-wrap,.zoi-blog-snippet,.zoi-about,.zoi-work-page,.zoi-blog-page,.zoi-single-blog,.zoi-single-proj,.zoi-gallery,.zoi-team-page,.zoi-tm-page,.zoi-reviews,.zoi-404-wrap,#zoi-page-wrap{max-width:100%;overflow-x:clip}
::selection{background:#27272a;color:#fafafa}
a{color:inherit;text-decoration:none;transition:color .2s}
img,video{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer;border:none;background:transparent;padding:0}
#zoi-glow{position:fixed;top:0;left:0;pointer-events:none;z-index:0;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.28) 0%,rgba(59,130,246,.13) 30%,rgba(59,130,246,.04) 58%,transparent 74%);transform:translate(-50%,-50%);transition:left .06s linear,top .06s linear,opacity .3s ease;will-change:left,top}
body::before{content:'';position:fixed;top:0;right:0;width:min(800px,100vw);height:min(800px,100vh);background:rgba(29,78,216,.10);border-radius:50%;filter:blur(160px);pointer-events:none;transform:translate(33%,-33%);z-index:0;overflow:hidden}
#zoi-header{position:fixed;top:36px;left:0;right:0;z-index:99999;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;pointer-events:none}
.zoi-tz{font-size:.875rem;font-weight:500;color:#a1a1aa;pointer-events:auto;display:none}
.zoi-clock{font-size:.875rem;font-weight:500;font-family:'SFMono-Regular',Consolas,monospace;color:#a1a1aa;pointer-events:auto;display:none}
@media(min-width:640px){.zoi-tz,.zoi-clock{display:block}}
#zoi-nav{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;background:rgba(9,9,11,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #27272a;border-radius:9999px;pointer-events:auto;overflow-x:auto;scrollbar-width:none;max-width:calc(100vw - 3rem);margin:0 auto}
#zoi-nav::-webkit-scrollbar{display:none}
#zoi-nav a{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;color:var(--nav-icon-color,#71717a);white-space:nowrap;transition:background .15s,color .15s}
#zoi-nav a:hover{background:var(--nav-hover-bg,rgba(39,39,42,.5));color:var(--nav-accent,#3b82f6)}
#zoi-nav a.zoi-active{background:var(--nav-active-bg,rgba(59,130,246,.15));color:var(--nav-accent,#3b82f6)}
#zoi-nav a svg,#zoi-nav a img{width:14px;height:14px;flex-shrink:0}
/* ═══════════════════════════════════════════════════════
   MOBILE (≤639px) — pill nav at bottom, no h-scroll, no zoom
   ═══════════════════════════════════════════════════════ */
@media(max-width:639px){

  /* ── Prevent horizontal scroll & accidental zoom ── */
  html,body{
    overflow-x:clip !important;
    width:100% !important;
    max-width:100vw !important;
  }

  /* ── Kill decorative glows that cause overflow ── */
  body::before{display:none !important}

  /* ── Hide tz/clock ── */
  .zoi-tz,.zoi-clock{display:none !important}

  /* ── PILL HEADER fixed at bottom of viewport ──
     RULES that must be followed for position:fixed to work on iOS:
     1. No transform/will-change/filter on any ancestor
     2. header must be direct child of body (it is — outside #zoi-page-wrap)
     3. No overflow:hidden on html or body (use overflow:clip instead)
  */
  #zoi-header{
    position:fixed !important;
    bottom:0 !important;
    top:auto !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:99999 !important;
    margin:0 !important;
    padding:0 1rem calc(12px + env(safe-area-inset-bottom,0px)) 1rem !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    pointer-events:none !important;
    /* CRITICAL: NO transform, NO will-change, NO filter here */
    transform:none !important;
    will-change:auto !important;
    filter:none !important;
  }

  /* ── The pill ── */
  #zoi-nav{
    pointer-events:auto !important;
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    gap:.2rem !important;
    padding:.375rem .375rem !important;
    border-radius:9999px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    background:rgba(9,9,11,.94) !important;
    backdrop-filter:blur(20px) !important;
    -webkit-backdrop-filter:blur(20px) !important;
    box-shadow:0 4px 28px rgba(0,0,0,.65) !important;
    overflow:visible !important;
    max-width:calc(100vw - 1.5rem) !important;
    width:auto !important;
    margin:0 auto !important;
    flex-shrink:0 !important;
    scrollbar-width:none !important;
    transform:none !important;
    will-change:auto !important;
  }
  #zoi-nav::-webkit-scrollbar{display:none !important}

  /* ── Nav items: icon only ── */
  #zoi-nav a{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:.5rem .6rem !important;
    border-radius:9999px !important;
    min-width:2.5rem !important;
    min-height:2.5rem !important;
    color:var(--nav-icon-color,#71717a) !important;
    transition:background .15s,color .15s !important;
  }
  #zoi-nav a span{display:none !important}
  #zoi-nav a svg,#zoi-nav a img{
    width:20px !important;
    height:20px !important;
    display:block !important;
    flex-shrink:0 !important;
  }
  #zoi-nav a:hover,#zoi-nav a:active{
    background:rgba(255,255,255,.08) !important;
    color:var(--nav-accent,#3b82f6) !important;
  }
  #zoi-nav a.zoi-active,
  #zoi-nav a[data-path].zoi-nav-active{
    background:var(--nav-active-bg,rgba(59,130,246,.15)) !important;
    color:var(--nav-accent,#3b82f6) !important;
  }

  /* ── Bottom space so content isn't hidden behind pill ── */
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px)) !important}
  #zoi-page-wrap{padding-bottom:0 !important;overflow-x:clip !important}
  #zoi-footer{margin-bottom:calc(8px + env(safe-area-inset-bottom,0px)) !important}

  /* ── Page content padding (no top nav) ── */
  .zoi-hero{padding-top:4rem !important;padding-left:1rem !important;padding-right:1rem !important}
  .zoi-hero h1{
    white-space:normal !important;
    font-size:clamp(1.75rem,7.5vw,2.8rem) !important;
    word-break:break-word !important;
    overflow-wrap:break-word !important;
  }
  .zoi-hero>p{font-size:.9375rem !important}
  .zoi-about,.zoi-work-page,.zoi-blog-page,.zoi-single-blog,
  .zoi-single-proj,.zoi-gallery,.zoi-team-page,.zoi-tm-page,
  

  /* ── Prevent any content wider than viewport ── */
  .zoi-about,.zoi-work-page,.zoi-blog-page,.zoi-single-blog,
  .zoi-single-proj,.zoi-gallery,.zoi-team-page,.zoi-tm-page,
  .zoi-reviews,.zoi-hero,.zoi-projects-wrap,.zoi-blog-snippet,
  #zoi-footer,.zoi-team-sub,.zoi-main{
    max-width:100% !important;
    width:100% !important;
    overflow-x:clip !important;
  }

  /* ── Gallery ── */
  .zoi-gal-grid{grid-template-columns:repeat(2,1fr) !important;gap:.5rem !important}

  /* ── Reviews ── */
  .zoi-reviews-grid{grid-template-columns:1fr !important}

  /* ── Project list ── */
  .zoi-projects-list,.zoi-blog-list,.zoi-team-grid{gap:2.5rem !important}
  .zoi-proj-links{flex-wrap:wrap !important;gap:.625rem !important}

  /* ── Footer ── */
  #zoi-footer{flex-direction:column !important;align-items:flex-start !important;gap:.75rem !important;padding:1.5rem 1rem !important}

  /* ── About sidebar ── */
  .zoi-avatar{width:8rem !important;height:8rem !important}
  .zoi-about-name{font-size:clamp(1.75rem,6vw,2.5rem) !important}

}

#zoi-footer{border-top:1px solid #18181b;padding:2rem 1.5rem;max-width:72rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:#71717a;position:relative;z-index:1}
.zoi-footer-socials{display:flex;align-items:center;gap:1rem}
.zoi-footer-socials a{color:#71717a;transition:color .2s;display:flex;align-items:center}
.zoi-footer-socials a:hover{color:#d4d4d8}
.zoi-footer-socials a svg,.zoi-footer-socials a img{width:16px;height:16px}
.zoi-footer-copy{color:#71717a}
.zoi-footer-copy a{color:#fafafa;font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(250,250,250,.3);transition:color .2s,text-decoration-color .2s}
.zoi-footer-copy a:hover{color:#fff;text-decoration-color:rgba(250,250,250,.8)}
.zoi-footer-copy strong,.zoi-footer-copy b{color:#fafafa;font-weight:700}
.zoi-hero{padding:10rem 1.5rem 5rem;max-width:56rem;margin:0 auto;position:relative;z-index:1}
.zoi-hero h1{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:1.5rem;white-space:nowrap}
@media(max-width:560px){.zoi-hero h1{white-space:normal;font-size:clamp(2rem,9vw,2.8rem)}}
.zoi-hero>p{font-size:clamp(1rem,2.5vw,1.25rem);color:#a1a1aa;max-width:42rem;margin-bottom:2rem;line-height:1.75}
.zoi-hero-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#18181b;border:1px solid #27272a;border-radius:9999px;font-size:.875rem;font-weight:500;color:#fafafa;transition:background .2s}
.zoi-hero-btn:hover{background:#27272a}
.zoi-hero-btn img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.zoi-projects-wrap{padding:0 1.5rem 6rem;max-width:72rem;margin:0 auto;position:relative;z-index:1}
.zoi-projects-list{display:flex;flex-direction:column;gap:6rem}
.zoi-proj-thumb{display:block;border-radius:1.5rem;overflow:hidden;background:#18181b;aspect-ratio:16/9;margin-bottom:2rem}
.zoi-proj-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.zoi-proj-item:hover .zoi-proj-thumb img{transform:scale(1.05)}
.zoi-proj-meta{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.zoi-proj-meta{grid-template-columns:5fr 7fr}}
.zoi-proj-meta h2{font-size:1.5rem;font-weight:700;line-height:1.3}
.zoi-proj-body{display:flex;gap:1rem}
.zoi-proj-body>img{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover}
.zoi-proj-body p{font-size:.875rem;color:#a1a1aa;line-height:1.7;margin-bottom:1.5rem}
.zoi-proj-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.zoi-proj-links a{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:#fafafa;transition:color .2s}
.zoi-proj-links a:hover{color:#d4d4d8}
.zoi-proj-links svg{width:14px;height:14px}
.zoi-blog-snippet{border-top:1px solid #18181b;padding:6rem 1.5rem;max-width:72rem;margin:0 auto;position:relative;z-index:1}
.zoi-bs-inner{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.zoi-bs-inner{grid-template-columns:4fr 8fr}}
.zoi-blog-snippet h2{font-size:1.875rem;font-weight:700;line-height:1.3}
.zoi-bs-list{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:640px){.zoi-bs-list{grid-template-columns:1fr 1fr}}
.zoi-blog-mini{display:block}
.zoi-blog-mini h3{font-size:1.125rem;font-weight:700;margin-bottom:1rem;line-height:1.4;transition:color .2s}
.zoi-blog-mini:hover h3{color:#d4d4d8}
.zoi-bm-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:#71717a}
.zoi-bm-meta .dot{width:.25rem;height:.25rem;border-radius:50%;background:#3f3f46}
.zoi-bm-meta .cat{padding:.25rem .5rem;background:#18181b;border-radius:.375rem}
.zoi-about{padding:8rem 1.5rem 6rem;max-width:72rem;margin:0 auto;position:relative;z-index:1}
.zoi-about-layout{display:flex;flex-direction:column;gap:3rem}
@media(min-width:1024px){.zoi-about-layout{flex-direction:row;gap:6rem}}
.zoi-sidebar{width:100%;flex-shrink:0}
@media(min-width:1024px){.zoi-sidebar{width:16rem}}
.zoi-sticky{display:flex;flex-direction:column;align-items:center}
@media(min-width:1024px){.zoi-sticky{position:sticky;top:8rem;align-items:flex-start}}
.zoi-av-wrap{display:flex;flex-direction:column;align-items:flex-start;align-self:center}
@media(min-width:1024px){.zoi-av-wrap{align-self:flex-end}}
.zoi-avatar{width:12rem;height:12rem;border-radius:50%;overflow:hidden;border:1px solid #27272a;margin-bottom:1.5rem}
.zoi-avatar img{width:100%;height:100%;object-fit:cover}
.zoi-location{display:flex;align-items:center;gap:.5rem;color:#a1a1aa;font-size:.875rem;font-weight:500;margin-bottom:1.5rem}
.zoi-location svg{color:#f97316;width:16px;height:16px}
.zoi-langs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:3rem}
.zoi-langs span{padding:.25rem .75rem;background:#18181b;border:1px solid #27272a;border-radius:9999px;font-size:.75rem;font-weight:500;color:#d4d4d8}
.zoi-sidenav{display:none}
@media(min-width:1024px){.zoi-sidenav{display:block;margin-left:clamp(-350px,-20vw,-200px)}}
.zoi-sidenav ul{display:flex;flex-direction:column;gap:1.5rem}
.zoi-sidenav a{display:flex;align-items:center;gap:1rem;color:#71717a;font-size:.875rem;font-weight:500;letter-spacing:.05em;transition:color .2s}
.zoi-sidenav a:hover{color:#fafafa}.zoi-sidenav a.zoi-active{color:var(--zoi-accent,#3b82f6)}
.zoi-snline{display:block;height:1px;width:1rem;background:#3f3f46;transition:width .3s,background .3s}
.zoi-sidenav a:hover .zoi-snline{width:1.5rem;background:#71717a}
.zoi-sidenav a.zoi-active .zoi-snline{width:2rem;background:var(--zoi-accent,#3b82f6)}
.zoi-main{flex:1;max-width:42rem}
.zoi-intro{margin-bottom:6rem;scroll-margin-top:8rem}
.zoi-msg-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#18181b;border:1px solid #27272a;border-radius:9999px;font-size:.875rem;font-weight:500;color:#d4d4d8;margin-bottom:1.5rem;transition:background .2s}
.zoi-msg-btn:hover{background:rgba(var(--zoi-accent,35,82,246),.08);color:#fafafa}
.zoi-about-name{font-size:clamp(2rem,7vw,3.75rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fafafa;margin-bottom:1rem}
.zoi-about-role{font-size:1.5rem;color:#a1a1aa;font-weight:300;margin-bottom:2rem}
.zoi-social-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:2rem}
.zoi-pill{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#18181b;border:1px solid #27272a;border-radius:.375rem;font-size:.75rem;font-weight:500;color:#d4d4d8;transition:background .2s}
.zoi-pill:hover{background:#27272a;color:#fafafa}
.zoi-pill svg,.zoi-pill img{width:14px;height:14px}
.zoi-bio{color:#d4d4d8;line-height:1.8;font-size:1.0625rem;white-space:pre-line}
.zoi-we{margin-bottom:6rem;scroll-margin-top:8rem}
.zoi-we>h2{font-size:1.875rem;font-weight:700;margin-bottom:2.5rem;color:#fafafa}
.zoi-exp-list{display:flex;flex-direction:column;gap:4rem}
.zoi-exp-hdr{display:flex;flex-direction:column;margin-bottom:.5rem}
@media(min-width:640px){.zoi-exp-hdr{flex-direction:row;align-items:baseline;justify-content:space-between}}
.zoi-exp-co{font-size:1.25rem;font-weight:700;color:#f4f4f5}
.zoi-exp-period{font-size:.875rem;color:#71717a;font-family:'SFMono-Regular',Consolas,monospace}
.zoi-exp-role{color:var(--zoi-accent,#3b82f6);font-size:.875rem;font-weight:500;margin-bottom:1rem}
.zoi-exp-resps{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}
.zoi-exp-resp{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;color:#d4d4d8;line-height:1.7}
.zoi-dot{flex-shrink:0;margin-top:.55rem;width:.375rem;height:.375rem;border-radius:50%;background:var(--zoi-accent,#3b82f6)}
.zoi-exp-img{border-radius:.75rem;overflow:hidden;border:1px solid #27272a}
.zoi-exp-img img{width:100%;height:auto}
.zoi-studies{margin-bottom:6rem;scroll-margin-top:8rem}
.zoi-studies>h2{font-size:1.875rem;font-weight:700;margin-bottom:2rem;color:#fafafa}
.zoi-study-entry{background:rgba(24,24,27,.5);border:1px solid rgba(39,39,42,.5);border-radius:1rem;padding:1.5rem;margin-bottom:1rem}
.zoi-study-entry h3{font-size:1.25rem;font-weight:700;color:#f4f4f5;margin-bottom:.5rem}
.zoi-study-deg{font-size:.875rem;color:#a1a1aa;font-weight:500;margin-bottom:.5rem}
.zoi-study-year{font-size:.875rem;color:#71717a;margin-bottom:.25rem}
.zoi-study-year strong{color:#a1a1aa;font-weight:500}
.zoi-skills{margin-bottom:6rem;scroll-margin-top:8rem}
.zoi-skills>h2{font-size:1.875rem;font-weight:700;margin-bottom:2.5rem;color:#fafafa}
.zoi-skills-list{display:flex;flex-direction:column;gap:1.5rem}
.zoi-skill-item{display:flex;gap:1.25rem;align-items:flex-start}
.zoi-skill-icon{width:3rem;height:3rem;border-radius:.75rem;background:#18181b;border:1px solid #27272a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#fafafa;flex-shrink:0}
.zoi-skill-icon img,.zoi-skill-icon svg{width:24px;height:24px}
.zoi-skill-name{font-size:1.125rem;font-weight:700;color:#f4f4f5;margin-bottom:.25rem}
.zoi-skill-desc{font-size:.875rem;color:#a1a1aa;line-height:1.6}
.zoi-team-sub{scroll-margin-top:8rem}
.zoi-team-sub>h2{font-size:1.875rem;font-weight:700;margin-bottom:2.5rem;color:#fafafa}
.zoi-team-rows{display:flex;flex-direction:column;gap:1.5rem}
.zoi-team-row{display:flex;align-items:center;gap:1rem;background:rgba(24,24,27,.3);border:1px solid rgba(39,39,42,.5);border-radius:1rem;padding:1rem;transition:background .2s}
.zoi-team-row:hover{background:rgba(24,24,27,.6)}
.zoi-team-row img{width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover;flex-shrink:0}
.zoi-team-row h3{font-size:1rem;font-weight:700;color:#f4f4f5}
.zoi-team-row .role{color:#3b82f6;font-size:.75rem;font-weight:500;margin-bottom:.25rem}
.zoi-team-row .desc{font-size:.75rem;color:#71717a}
.zoi-view-team{margin-top:2rem;display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#18181b;border:1px solid #27272a;border-radius:9999px;font-size:.875rem;font-weight:500;color:#d4d4d8;transition:background .2s}
.zoi-view-team:hover{background:#27272a;color:#fafafa}
.zoi-view-team svg{width:14px;height:14px}
.zoi-single-proj{padding:8rem 1.5rem 6rem;max-width:56rem;margin:0 auto;position:relative;z-index:1}
.zoi-back{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:#a1a1aa;margin-bottom:3rem;transition:color .2s}
.zoi-back:hover{color:#fafafa}
.zoi-back svg{width:16px;height:16px}
.zoi-single-proj>h1{font-size:clamp(1.75rem,5vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;color:#fafafa;margin-bottom:3rem}
.zoi-proj-hero-img{border-radius:1rem;overflow:hidden;margin-bottom:3rem}
.zoi-proj-hero-img img{width:100%;height:auto}
.zoi-proj-date{display:flex;align-items:center;gap:.75rem;margin-bottom:3rem;font-size:.875rem;color:#71717a}
.zoi-proj-date img{width:32px;height:32px;border-radius:50%}
.zoi-video-wrap{aspect-ratio:16/9;background:#18181b;border-radius:1rem;border:1px solid #27272a;overflow:hidden;margin-bottom:4rem;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}
.zoi-video-wrap>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:opacity .2s}
.zoi-video-wrap:hover>img{opacity:.7}
.zoi-play{position:relative;z-index:1;width:64px;height:48px;background:#dc2626;border-radius:.75rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.zoi-video-wrap:hover .zoi-play{background:#b91c1c}
.zoi-play svg{color:#fff;width:24px;height:24px;margin-left:4px}
.zoi-rte{color:#d4d4d8;line-height:1.8;font-size:1rem}
.zoi-rte p{margin-bottom:.75rem}
.zoi-rte strong,.zoi-rte b{color:#fafafa;font-weight:700}
.zoi-rte em,.zoi-rte i{font-style:italic}
.zoi-rte a{color:var(--zoi-accent,#60a5fa);text-decoration:underline;text-underline-offset:3px;transition:color .2s}
.zoi-rte a:hover{color:#93c5fd}
.zoi-rte h2{font-size:1.5rem;font-weight:700;color:#f4f4f5;margin:1.5rem 0 1rem}
.zoi-rte h3{font-size:1.25rem;font-weight:700;color:#f4f4f5;margin:1rem 0 .75rem}
.zoi-rte ul{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}
.zoi-rte li{display:flex;align-items:flex-start;gap:.75rem}
.zoi-rte li::before{content:'';flex-shrink:0;margin-top:.65rem;width:.375rem;height:.375rem;border-radius:50%;background:#3b82f6}
.zoi-post-content{display:flex;flex-direction:column;gap:2.5rem}
.zoi-post-content h2{font-size:1.5rem;font-weight:700;color:#f4f4f5;margin-bottom:1.5rem}
.zoi-post-content ul{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}
.zoi-post-content li{display:flex;align-items:flex-start;gap:.75rem;color:#d4d4d8}
.zoi-post-content li::before{content:'';flex-shrink:0;margin-top:.65rem;width:.375rem;height:.375rem;border-radius:50%;background:#3b82f6}
.zoi-post-content a{color:#60a5fa;text-decoration:underline;text-underline-offset:3px}
.zoi-post-content a:hover{color:#93c5fd}
.zoi-blog-page{padding:10rem 1.5rem 6rem;max-width:48rem;margin:0 auto;position:relative;z-index:1}
.zoi-blog-page>h1{font-size:clamp(1.75rem,5vw,3rem);font-weight:700;text-align:center;margin-bottom:4rem;letter-spacing:-.03em}
.zoi-blog-list{display:flex;flex-direction:column;gap:4rem}
.zoi-blog-card{display:block}
.zoi-blog-card.has-img{display:flex;flex-direction:column;gap:2rem;align-items:center}
@media(min-width:640px){.zoi-blog-card.has-img{flex-direction:row}}
.zoi-blog-card-img{width:100%;border-radius:1rem;overflow:hidden;flex-shrink:0}
@media(min-width:640px){.zoi-blog-card.has-img .zoi-blog-card-img{width:50%}}
.zoi-blog-card-img img{width:100%;height:auto;object-fit:cover;transition:transform .7s}
.zoi-blog-card:hover .zoi-blog-card-img img{transform:scale(1.05)}
.zoi-blog-card h3{font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:.5rem;transition:color .2s}
.zoi-blog-card:hover h3{color:#d4d4d8}
.zoi-blog-date{font-size:.875rem;color:#71717a;margin-bottom:.75rem}
.zoi-blog-cat{display:inline-block;padding:.25rem .75rem;background:#18181b;border:1px solid #27272a;border-radius:9999px;font-size:.75rem;color:#a1a1aa}
.zoi-single-blog{padding:8rem 1.5rem 6rem;max-width:48rem;margin:0 auto;position:relative;z-index:1}
.zoi-single-blog>h1{font-size:clamp(1.75rem,5vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;margin-bottom:2rem;color:#fafafa}
.zoi-post-date{font-size:.875rem;color:#71717a;margin-bottom:3rem}
.zoi-gallery{padding:8rem 1.5rem 6rem;max-width:min(1400px,100%);width:100%;margin:0 auto;position:relative;z-index:1}
.zoi-gal-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.zoi-gal-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.zoi-gal-grid{grid-template-columns:repeat(4,1fr)}}
.zoi-gal-item{aspect-ratio:1/1;border-radius:1rem;overflow:hidden;background:#18181b}
.zoi-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;cursor:pointer}
.zoi-gal-item:hover img{transform:scale(1.05)}
.zoi-team-page{padding:10rem 1.5rem 6rem;max-width:72rem;margin:0 auto;position:relative;z-index:1}
.zoi-team-hdr{text-align:center;margin-bottom:6rem}
.zoi-team-hdr h1{font-size:clamp(2rem,6vw,3rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.03em}
.zoi-team-hdr p{color:#a1a1aa;font-size:1.125rem}
.zoi-team-grid{display:grid;grid-template-columns:1fr;column-gap:1.5rem;row-gap:6rem;margin-top:3rem}
@media(min-width:640px){.zoi-team-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.zoi-team-grid{grid-template-columns:repeat(4,1fr)}}
.zoi-tc{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.zoi-tc-av{position:absolute;top:-4rem;z-index:1;width:8rem;height:8rem;border-radius:50%;overflow:hidden;border:4px solid #050505;background:#27272a;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);transition:transform .5s}
.zoi-tc:hover .zoi-tc-av{transform:scale(1.05) translateY(-.5rem)}
.zoi-tc-av img{width:100%;height:100%;object-fit:cover}
.zoi-tc-body{background:rgba(24,24,27,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(39,39,42,.6);border-radius:1.5rem;padding:5rem 1rem 2rem;width:100%;text-align:center;transition:background .5s,border-color .5s}
.zoi-tc:hover .zoi-tc-body{background:rgba(24,24,27,.8);border-color:rgba(63,63,70,.5)}
.zoi-tc-body h3{display:inline-block;font-size:1rem;font-weight:700;margin-bottom:.375rem;transition:color .2s}
.zoi-tc:hover .zoi-tc-body h3{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#71717a}
.zoi-tc-role{font-size:.65rem;font-weight:600;color:#71717a;letter-spacing:.1em;text-transform:uppercase}
.zoi-tm-page{padding:8rem 1.5rem 6rem;max-width:72rem;margin:0 auto;min-height:80vh;display:flex;align-items:center;position:relative;z-index:1}
.zoi-tm-layout{display:flex;flex-direction:column;align-items:center;gap:4rem;width:100%}
@media(min-width:768px){.zoi-tm-layout{flex-direction:row;align-items:flex-start;gap:6rem}}
.zoi-tm-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative}
.zoi-tm-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:rgba(26,54,93,.4);border-radius:50%;filter:blur(100px);pointer-events:none}
.zoi-tm-av{width:16rem;height:16rem;border-radius:50%;overflow:hidden;margin-bottom:2rem;position:relative;z-index:1;box-shadow:0 25px 50px -12px rgba(0,0,0,.6)}
@media(min-width:768px){.zoi-tm-av{width:20rem;height:20rem}}
.zoi-tm-av img{width:100%;height:100%;object-fit:cover}
.zoi-tm-socials{display:flex;gap:1rem;position:relative;z-index:1}
.zoi-tm-socials a{width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(63,63,70,.5);background:rgba(9,9,11,.5);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.zoi-tm-socials a:hover{background:#27272a;border-color:#52525b}
.zoi-tm-socials svg,.zoi-tm-socials img{width:20px;height:20px;color:#d4d4d8}
.zoi-tm-right{flex:1}
.zoi-tm-role-lbl{font-size:.875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--zoi-accent,#3b82f6);margin-bottom:1rem}
.zoi-tm-name{font-size:clamp(2.5rem,7vw,4.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-bottom:2rem;color:#fafafa}
.zoi-tm-role-sub{font-size:clamp(1.5rem,4vw,2.25rem);color:#71717a;font-weight:300;margin-bottom:2rem}
/* ── 404 PAGE ── */
.zoi-404-wrap{
  min-height:100svh;
  display:flex;align-items:center;justify-content:center;
  padding:2rem 1.5rem;
  position:relative;z-index:1;
  overflow:hidden;
}
/* ═══════════════════════════════════════════════════════
   COMING SOON PAGE
   ═══════════════════════════════════════════════════════ */

/* Coming Soon standalone body */
.zoi-cs-body{margin:0;padding:0;background:#050505;min-height:100svh}
.zoi-cs-body #zoi-header,.zoi-cs-body #zoi-footer,.zoi-cs-body #zoi-glow{display:none !important}
.zoi-cs-wrap{
  min-height:100svh;
  display:flex;align-items:center;justify-content:center;
  padding:3rem 1.5rem;
  position:relative;overflow:hidden;
  background:#050505;
}
/* Ambient glows */
.zoi-cs-glow1{
  position:absolute;top:-20%;left:-10%;
  width:min(700px,130vw);height:min(700px,130vw);
  background:radial-gradient(circle,var(--zoi-accent,#3b82f6)18 0%,transparent 65%);
  border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.35;
}
.zoi-cs-glow2{
  position:absolute;bottom:-20%;right:-10%;
  width:min(600px,120vw);height:min(600px,120vw);
  background:radial-gradient(circle,#6366f122 0%,transparent 65%);
  border-radius:50%;pointer-events:none;filter:blur(100px);opacity:.3;
}
.zoi-cs-inner{
  position:relative;z-index:1;
  max-width:38rem;width:100%;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:0;
}
/* Avatar */
.zoi-cs-avatar{
  width:5rem;height:5rem;border-radius:50%;overflow:hidden;
  border:2px solid rgba(255,255,255,.12);
  box-shadow:0 0 0 6px rgba(255,255,255,.04),0 8px 32px rgba(0,0,0,.4);
  margin-bottom:1.75rem;flex-shrink:0;
}
.zoi-cs-avatar img{width:100%;height:100%;object-fit:cover}
/* Badge */
.zoi-cs-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.3rem .875rem;margin-bottom:1.75rem;
  background:var(--zoi-accent,#3b82f6)15;
  border:1px solid var(--zoi-accent,#3b82f6)35;
  border-radius:9999px;
  font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--zoi-accent,#3b82f6);
}
.zoi-cs-dot{
  width:.4rem;height:.4rem;border-radius:50%;
  background:var(--zoi-accent,#3b82f6);
  animation:zoi-cs-pulse 1.8s ease-in-out infinite;
}
@keyframes zoi-cs-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.4;transform:scale(.7)}
}
/* Heading */
.zoi-cs-title{
  font-size:clamp(2rem,6vw,3.5rem);font-weight:800;
  letter-spacing:-.04em;line-height:1.1;
  color:#fafafa;margin-bottom:.875rem;
}
.zoi-cs-subtitle{font-size:1.0625rem;color:#a1a1aa;margin-bottom:.75rem;line-height:1.65}
.zoi-cs-role{
  font-size:1rem;color:#71717a;margin-bottom:1.25rem;font-weight:400;
}
.zoi-cs-desc{
  font-size:1rem;color:#52525b;line-height:1.75;
  margin-bottom:2.5rem;max-width:28rem;
}
/* Countdown */
.zoi-cs-timer{
  display:flex;align-items:center;justify-content:center;
  gap:.5rem;margin-bottom:2.5rem;
  flex-wrap:wrap;
}
.zoi-cs-unit{
  display:flex;flex-direction:column;align-items:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:.875rem;
  padding:.875rem 1.125rem .625rem;
  min-width:4.5rem;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.zoi-cs-num{
  font-size:clamp(1.5rem,5vw,2.25rem);
  font-weight:800;letter-spacing:-.04em;
  font-family:'SFMono-Regular',Consolas,monospace;
  color:#fafafa;line-height:1;margin-bottom:.375rem;
}
.zoi-cs-lbl{
  font-size:.625rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:#52525b;
}
.zoi-cs-sep{
  font-size:1.5rem;font-weight:700;color:#27272a;
  padding-bottom:.5rem;flex-shrink:0;
}
/* CTA button */
.zoi-cs-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:var(--zoi-accent,#3b82f6);color:#fff;font-size:.9375rem;font-weight:600;border-radius:9999px;margin-bottom:2rem;transition:opacity .2s,transform .15s}
.zoi-cs-cta:hover{opacity:.88;transform:translateY(-1px);color:#fff}
/* Social links */
.zoi-cs-socials{
  display:flex;align-items:center;justify-content:center;gap:.875rem;
}
.zoi-cs-socials a{
  width:2.5rem;height:2.5rem;border-radius:50%;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:#71717a;transition:background .2s,color .2s,border-color .2s;
}
.zoi-cs-socials a:hover{
  background:var(--zoi-accent,#3b82f6)20;
  border-color:var(--zoi-accent,#3b82f6)60;
  color:var(--zoi-accent,#3b82f6);
}
.zoi-cs-socials svg{width:18px;height:18px}
/* Mobile */
@media(max-width:639px){
  .zoi-cs-timer{gap:.375rem}
  .zoi-cs-unit{min-width:3.75rem;padding:.75rem .875rem .5rem}
  .zoi-cs-sep{font-size:1.25rem}
  .zoi-cs-title{font-size:clamp(1.75rem,7vw,2.5rem)}
}

/* Giant ghost number behind content */
.zoi-404-bg{
  position:absolute;
  font-size:clamp(20rem,55vw,42rem);
  font-weight:900;
  letter-spacing:-.05em;
  color:rgba(255,255,255,.018);
  line-height:1;
  pointer-events:none;
  user-select:none;
  z-index:0;
  white-space:nowrap;
}
.zoi-404-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;max-width:36rem;
}
/* Animated ring icon */
.zoi-404-icon{
  width:5rem;height:5rem;
  color:var(--zoi-accent,#3b82f6);
  margin-bottom:2rem;
  opacity:.85;
}
.zoi-404-icon svg{width:100%;height:100%}
.zoi-404-ring{
  animation:zoi404spin 18s linear infinite;
  transform-origin:center;
}
@keyframes zoi404spin{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-200}
}
/* Code badge */
.zoi-404-code{
  font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--zoi-accent,#3b82f6);
  background:var(--zoi-accent,#3b82f6)18;
  border:1px solid var(--zoi-accent,#3b82f6)44;
  padding:.3rem .875rem;border-radius:9999px;
  margin-bottom:1.5rem;
}
/* Title */
.zoi-404-title{
  font-size:clamp(1.75rem,5vw,2.75rem);
  font-weight:700;letter-spacing:-.03em;
  color:#fafafa;margin-bottom:1rem;line-height:1.2;
}
/* Message */
.zoi-404-msg{
  font-size:1rem;color:#71717a;
  line-height:1.7;margin-bottom:2.5rem;max-width:26rem;
}
/* Buttons row */
.zoi-404-btns{
  display:flex;align-items:center;gap:.875rem;flex-wrap:wrap;
  justify-content:center;margin-bottom:2.5rem;
}
.zoi-404-btn-primary{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.625rem 1.375rem;
  background:var(--zoi-accent,#3b82f6);
  color:#fff;font-size:.875rem;font-weight:600;
  border-radius:9999px;
  transition:opacity .2s,transform .2s;
}
.zoi-404-btn-primary:hover{opacity:.88;transform:translateY(-1px)}
.zoi-404-btn-primary svg{width:16px;height:16px}
.zoi-404-btn-ghost{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.625rem 1.375rem;
  background:transparent;
  border:1px solid #27272a;
  color:#a1a1aa;font-size:.875rem;font-weight:500;
  border-radius:9999px;
  transition:background .2s,color .2s,border-color .2s;
}
.zoi-404-btn-ghost:hover{background:#18181b;color:#fafafa;border-color:#3f3f46}
.zoi-404-btn-ghost svg{width:16px;height:16px}
/* Quick links */
.zoi-404-links{
  display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;
  justify-content:center;
  font-size:.8125rem;
}
.zoi-404-links span{color:#3f3f46;font-size:.8125rem}
.zoi-404-links a{
  color:#71717a;
  padding:.2rem .5rem;
  border-radius:.375rem;
  transition:color .15s,background .15s;
}
.zoi-404-links a:hover{color:#fafafa;background:#18181b}
/* Mobile */
@media(max-width:639px){
  .zoi-404-wrap{min-height:100svh;padding:2rem 1rem}
  .zoi-404-bg{font-size:55vw}
  .zoi-404-title{font-size:1.75rem}
  .zoi-404-btns{gap:.625rem}
  .zoi-404-btn-primary,.zoi-404-btn-ghost{padding:.5rem 1rem;font-size:.8125rem}
}
.zoi-pill-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#18181b;border:1px solid #27272a;border-radius:9999px;font-size:.875rem;font-weight:500;color:#d4d4d8;transition:background .2s}
.zoi-pill-btn:hover{background:#27272a;color:#fafafa}
.zoi-pill-btn svg{width:14px;height:14px}
.zoi-work-page{padding:8rem 1.5rem 6rem;max-width:72rem;margin:0 auto;position:relative;z-index:1}
/* === ADMIN === */
body.zoi-adm{background:#09090b !important}
body.zoi-adm::before,body.zoi-adm #zoi-glow{display:none !important}
body.zoi-adm #wpwrap,body.zoi-adm #wpcontent,body.zoi-adm #wpbody,body.zoi-adm #wpbody-content{background:#09090b !important}
body.zoi-adm #wpcontent{padding-left:0 !important}
body.zoi-adm #wpbody-content{padding-bottom:0 !important}
.adm{min-height:100vh;background:#09090b;color:#f4f4f5;display:flex;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:14px}
.adm-sb{width:220px;background:#18181b;border-right:1px solid #27272a;padding:1.25rem;display:flex;flex-direction:column;flex-shrink:0;min-height:100vh}
.adm-sb-title{font-size:1.125rem;font-weight:700;color:#fafafa;margin-bottom:.75rem;padding-bottom:.875rem;border-bottom:1px solid #27272a}
.adm-grp{font-size:.6875rem;font-weight:600;color:#52525b;text-transform:uppercase;letter-spacing:.08em;padding:.5rem .75rem .2rem;margin-top:.5rem}
.adm-nav{display:flex;flex-direction:column;gap:.1rem;flex:1;overflow-y:auto}
.adm-tab{display:block;width:100%;text-align:left;padding:.4rem .75rem;border-radius:.375rem;font-size:.8125rem;background:transparent;border:none;color:#a1a1aa;cursor:pointer;transition:background .15s,color .15s;line-height:1.4}
.adm-tab:hover{background:rgba(39,39,42,.5);color:#d4d4d8}
.adm-tab.on{background:#27272a;color:#fff}
.adm-sb-foot{padding-top:.875rem;border-top:1px solid #27272a;margin-top:auto;display:flex;flex-direction:column;gap:.1rem}
.adm-act{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:.375rem;font-size:.8125rem;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;transition:background .15s,color .15s}
.adm-act.blue{color:#60a5fa}.adm-act.blue:hover{background:rgba(29,78,216,.2);color:#93c5fd}
.adm-act.gray{color:#a1a1aa}.adm-act.gray:hover{background:rgba(39,39,42,.5);color:#d4d4d8}
.adm-act svg{width:16px;height:16px;flex-shrink:0}
.adm-main{flex:1;padding:1.75rem;overflow-y:auto;min-height:100vh}
.adm-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.adm-hdr h2{font-size:1.25rem;font-weight:700;color:#fafafa}
.adm-add-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;background:#f4f4f5;color:#09090b;font-weight:500;border-radius:.5rem;border:none;cursor:pointer;transition:background .2s;font-size:.875rem}
.adm-add-btn:hover{background:#fff}
.adm-add-btn svg{width:16px;height:16px}
.adm-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:768px){.adm-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1200px){.adm-grid{grid-template-columns:1fr 1fr 1fr}}
.adm-card{background:#18181b;border:1px solid #27272a;border-radius:.625rem;padding:1.25rem;position:relative}
.adm-card h3{font-weight:600;font-size:.9375rem;margin-bottom:.375rem;padding-right:4.5rem;color:#f4f4f5;line-height:1.4}
.adm-card p{font-size:.8125rem;color:#71717a;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.adm-card-img{width:3.5rem;height:2.5rem;border-radius:.375rem;overflow:hidden;margin-top:.625rem;background:#27272a}
.adm-card-img img{width:100%;height:100%;object-fit:cover}
.adm-card-acts{position:absolute;top:.875rem;right:.875rem;display:flex;gap:.375rem;opacity:0;transition:opacity .2s}
.adm-card:hover .adm-card-acts{opacity:1}
.adm-edit-btn{padding:.375rem;background:#27272a;color:#d4d4d8;border-radius:.375rem;border:none;cursor:pointer;transition:background .15s;display:flex;align-items:center}
.adm-edit-btn:hover{background:#3f3f46}
.adm-del-btn{padding:.375rem;background:rgba(127,29,29,.3);color:#f87171;border-radius:.375rem;border:none;cursor:pointer;transition:background .15s;display:flex;align-items:center}
.adm-del-btn:hover{background:rgba(127,29,29,.5)}
.adm-empty{grid-column:1/-1;text-align:center;padding:2.5rem;color:#52525b;border:1px dashed #27272a;border-radius:.625rem;font-size:.875rem}
.adm-form{max-width:38rem}
.adm-form-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.adm-form-hdr h2{font-size:1.125rem;font-weight:700;color:#fafafa}
.adm-cancel{background:none;border:none;color:#a1a1aa;font-size:.875rem;cursor:pointer;transition:color .2s}
.adm-cancel:hover{color:#f4f4f5}
.adm-f{margin-bottom:.875rem}
.adm-f>label{display:block;font-size:.8125rem;font-weight:500;color:#a1a1aa;margin-bottom:.2rem}
.adm-inp,.adm-ta{width:100%;background:#18181b;border:1px solid #27272a;border-radius:.375rem;padding:.625rem .75rem;color:#f4f4f5;font-size:.875rem;outline:none;transition:border-color .2s}
.adm-inp:focus,.adm-ta:focus{border-color:#52525b}
.adm-ta{height:6.5rem;resize:vertical}
.adm-ta.tall{height:8.5rem}
.adm-save{margin-top:.875rem;padding:.625rem 1.25rem;background:#f4f4f5;color:#09090b;font-weight:500;border-radius:.375rem;border:none;cursor:pointer;transition:background .2s;font-size:.875rem}
.adm-save:hover{background:#fff}
.adm-img-wrap{display:flex;flex-direction:column;gap:.375rem}
.adm-img-row{display:flex;gap:.375rem}
.adm-img-row .adm-inp{flex:1}
.adm-up-lbl{display:flex;align-items:center;justify-content:center;padding:0 .875rem;background:#27272a;border:1px solid #3f3f46;border-radius:.375rem;cursor:pointer;white-space:nowrap;font-size:.8125rem;color:#d4d4d8;transition:background .2s;min-height:40px;user-select:none}
.adm-up-lbl:hover{background:#3f3f46}
.adm-img-prev{width:6rem;height:4.5rem;border-radius:.375rem;overflow:hidden;border:1px solid #27272a;background:#18181b;display:none;margin-top:.25rem}
.adm-img-prev img,.adm-img-prev video{width:100%;height:100%;object-fit:cover}
.adm-icon-row{display:flex;gap:.375rem;align-items:center}
.adm-icon-row .adm-inp{flex:1}
.adm-icon-prev{width:2.25rem;height:2.25rem;border:1px solid #27272a;border-radius:.375rem;background:#27272a;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.adm-icon-prev img,.adm-icon-prev svg{width:18px;height:18px}
.adm-icon-mode{display:flex;gap:.25rem;margin-top:.25rem}
.adm-icon-mode button{padding:.2rem .5rem;background:#27272a;border:none;border-radius:.25rem;font-size:.75rem;color:#a1a1aa;cursor:pointer}
.adm-icon-mode button.on{background:#3f3f46;color:#f4f4f5}
.adm-sec-title{font-size:.9375rem;font-weight:600;margin-top:1.25rem;margin-bottom:.75rem;color:#f4f4f5}
.adm-subcard{margin-bottom:.625rem;padding:.875rem;border:1px solid #27272a;border-radius:.375rem;background:rgba(24,24,27,.5)}
.adm-subcard-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.adm-subcard-hdr span{font-size:.875rem;font-weight:500;color:#d4d4d8}
.adm-rm{font-size:.75rem;color:#f87171;background:none;border:none;cursor:pointer}
.adm-rm:hover{color:#fca5a5}
.adm-g2{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:.375rem}
.adm-sl{display:block;font-size:.75rem;color:#71717a;margin-bottom:.15rem}
.adm-subinp{width:100%;background:#09090b;border:1px solid #27272a;border-radius:.25rem;padding:.375rem .5rem;color:#f4f4f5;font-size:.8125rem;outline:none}
.adm-subinp:focus{border-color:#52525b}
.adm-svg-ta{width:100%;background:#09090b;border:1px solid #27272a;border-radius:.25rem;padding:.375rem .5rem;color:#f4f4f5;font-size:.6875rem;font-family:monospace;height:4.5rem;outline:none;resize:vertical}
.adm-add-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;color:#60a5fa;background:none;border:none;cursor:pointer;transition:color .2s;padding:0;margin-top:.375rem}
.adm-add-link:hover{color:#93c5fd}
.adm-rte-wrap{border:1px solid #27272a;border-radius:.375rem;overflow:hidden;background:#18181b}
.adm-rte-tb{display:flex;flex-wrap:wrap;gap:.2rem;padding:.375rem .5rem;background:#27272a;border-bottom:1px solid #3f3f46}
.adm-rte-btn{padding:.2rem .4rem;background:transparent;border:1px solid transparent;border-radius:.2rem;color:#d4d4d8;font-size:.75rem;cursor:pointer;transition:background .15s;display:flex;align-items:center;line-height:1}
.adm-rte-btn:hover{background:#3f3f46}
.adm-rte-btn.on{background:#52525b;border-color:#71717a}
.adm-rte-btn svg{width:13px;height:13px}
.adm-rte-ed{min-height:6.5rem;padding:.625rem .75rem;outline:none;color:#f4f4f5;font-size:.875rem;line-height:1.7}
.adm-rte-ed:empty::before{content:attr(data-ph);color:#52525b}
.adm-rte-ed a{color:#60a5fa;text-decoration:underline}
.adm-rte-ed strong,.adm-rte-ed b{color:#fafafa;font-weight:700}
.adm-link-ov{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:99998;display:flex;align-items:center;justify-content:center}
.adm-link-box{background:#18181b;border:1px solid #27272a;border-radius:.625rem;padding:1.25rem;width:min(400px,90vw)}
.adm-link-box h4{font-weight:600;color:#fafafa;margin-bottom:.875rem;font-size:.9375rem}
.adm-lr{margin-bottom:.625rem}
.adm-lr label{display:block;font-size:.75rem;color:#a1a1aa;margin-bottom:.2rem}
.adm-lr input{width:100%;background:#09090b;border:1px solid #27272a;border-radius:.375rem;padding:.5rem .625rem;color:#f4f4f5;font-size:.875rem;outline:none}
.adm-lr input:focus{border-color:#52525b}
.adm-link-acts{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.875rem}
.adm-link-ok{padding:.4375rem .875rem;background:#f4f4f5;color:#09090b;font-weight:500;border-radius:.375rem;border:none;cursor:pointer;font-size:.875rem}
.adm-link-ok:hover{background:#fff}
.adm-link-cancel{padding:.4375rem .875rem;background:transparent;border:1px solid #27272a;color:#a1a1aa;border-radius:.375rem;cursor:pointer;font-size:.875rem}
.adm-link-cancel:hover{background:#27272a}
.adm-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}
.adm-gi{background:#18181b;border:1px solid #27272a;border-radius:.375rem;overflow:hidden;position:relative;cursor:grab;user-select:none}
.adm-gi.drag-over{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.3)}
.adm-gi.dragging{opacity:.4}
.adm-gi-img{aspect-ratio:1/1;overflow:hidden}
.adm-gi-img img{width:100%;height:100%;object-fit:cover}
.adm-gi-del{position:absolute;top:.2rem;right:.2rem;padding:.25rem;background:rgba(127,29,29,.85);color:#f87171;border:none;border-radius:.2rem;cursor:pointer;display:none;line-height:0;font-size:0}
.adm-gi:hover .adm-gi-del{display:flex;align-items:center}
.adm-gi-handle{position:absolute;top:.2rem;left:.2rem;color:#a1a1aa;background:rgba(9,9,11,.65);border-radius:.2rem;padding:.15rem;line-height:0;display:flex}
.adm-media-grid{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}
@media(min-width:768px){.adm-media-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.adm-media-grid{grid-template-columns:repeat(4,1fr)}}
.adm-m-card{background:#18181b;border:1px solid #27272a;border-radius:.625rem;padding:.75rem}
.adm-m-thumb{aspect-ratio:1/1;border-radius:.375rem;overflow:hidden;background:#27272a;margin-bottom:.625rem}
.adm-m-thumb img,.adm-m-thumb video{width:100%;height:100%;object-fit:cover}
.adm-m-name{font-size:.75rem;color:#a1a1aa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.375rem}
.adm-m-acts{display:flex;gap:.375rem}
.adm-copy-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.2rem;padding:.3rem 0;background:#27272a;color:#d4d4d8;border-radius:.25rem;border:none;cursor:pointer;font-size:.75rem;transition:background .15s}
.adm-copy-btn:hover{background:#3f3f46}
.adm-menu-list{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.875rem}
.adm-mi{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:#18181b;border:1px solid #27272a;border-radius:.375rem;cursor:grab;flex-wrap:nowrap}
.adm-mi.drag-over{border-color:#3b82f6}
.adm-mi.dragging{opacity:.4}
.adm-mi-drag{color:#52525b;flex-shrink:0;display:flex;align-items:center}
.adm-mi-lbl{flex:1;min-width:0}
.adm-mi-lbl input{background:#09090b;border:1px solid #27272a;border-radius:.25rem;padding:.3rem .5rem;color:#f4f4f5;font-size:.8125rem;outline:none;width:100%}
.adm-mi-url{flex:1.5;min-width:0}
.adm-mi-url input,.adm-mi-urlinp{
  width:100%;
  background:#09090b;border:1px solid #27272a;border-radius:.25rem;
  padding:.375rem .5rem;color:#f4f4f5;font-size:.8125rem;outline:none;
  font-family:'SFMono-Regular',Consolas,monospace;
  transition:border-color .2s;
}
.adm-mi-url input:focus,.adm-mi-urlinp:focus{border-color:#3b82f6}
.adm-mi-linp{
  width:100%;
  background:#09090b;border:1px solid #27272a;border-radius:.25rem;
  padding:.375rem .5rem;color:#f4f4f5;font-size:.8125rem;outline:none;
  transition:border-color .2s;
}
.adm-mi-linp:focus{border-color:#52525b}
/* Label column a bit narrower than URL */
.adm-mi-lbl{flex:1;min-width:0}
.adm-mi-icon{display:flex;align-items:center;gap:.25rem;flex-shrink:0}
.adm-mi-icon-prev{width:20px;height:20px;background:#27272a;border-radius:.2rem;display:flex;align-items:center;justify-content:center;overflow:hidden}
.adm-mi-icon-prev svg,.adm-mi-icon-prev img{width:13px;height:13px}
.adm-mi-icon input{background:#09090b;border:1px solid #27272a;border-radius:.25rem;padding:.3rem .4rem;color:#f4f4f5;font-size:.75rem;outline:none;width:65px}
.adm-mi-tog{width:30px;height:17px;border-radius:9999px;border:none;cursor:pointer;transition:background .2s;flex-shrink:0}
.adm-mi-tog.on{background:#3b82f6}
.adm-mi-tog.off{background:#3f3f46}
.adm-mi-del{padding:.3rem;background:rgba(127,29,29,.3);color:#f87171;border:none;border-radius:.25rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center}
.adm-mi-del:hover{background:rgba(127,29,29,.5)}
.adm-menu-add{display:flex;gap:.375rem;align-items:center;flex-wrap:wrap}
.adm-menu-add .adm-inp{flex:1;min-width:80px}
.adm-seo-box{background:#18181b;border:1px solid #27272a;border-radius:.625rem;padding:1.25rem;margin-bottom:1rem}
.adm-seo-box h3{font-size:.9375rem;font-weight:600;color:#f4f4f5;margin-bottom:.875rem}
.adm-seo-prev{background:#09090b;border:1px solid #27272a;border-radius:.375rem;padding:.875rem;margin-top:.625rem}
.adm-seo-prev .st{color:#4285f4;font-size:.875rem;font-weight:400;margin-bottom:.2rem}
.adm-seo-prev .su{color:#0f9d58;font-size:.75rem;margin-bottom:.2rem}
.adm-seo-prev .sd{color:#545454;font-size:.75rem;line-height:1.4}
.adm-cc{font-size:.75rem;color:#52525b;text-align:right;margin-top:.15rem}
.adm-cc.w{color:#f97316}.adm-cc.o{color:#f87171}
.adm-err{background:rgba(127,29,29,.2);border:1px solid rgba(127,29,29,.5);color:#f87171;padding:.875rem;border-radius:.375rem;margin-bottom:1.5rem;font-size:.875rem}
.adm-err strong{display:block;font-weight:600;margin-bottom:.2rem}
.adm-study-entry{background:#18181b;border:1px solid #27272a;border-radius:.375rem;padding:.875rem;margin-bottom:.625rem}
.adm-study-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:.625rem}
.adm-study-hdr span{font-size:.875rem;font-weight:500;color:#d4d4d8}
.adm-field-row{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.375rem}
.adm-field-row .adm-inp{flex:1}
.adm-seo-item-box{background:rgba(24,24,27,.5);border:1px solid #27272a;border-radius:.5rem;padding:1rem;margin-top:1rem}
.adm-seo-item-box h4{font-size:.875rem;font-weight:600;color:#f4f4f5;margin-bottom:.75rem}

/* ===== REVIEW PAGE — PREMIUM ===== */
.zoi-reviews{padding:8rem 1.5rem 6rem;max-width:min(80rem,100%);width:100%;margin:0 auto;position:relative;z-index:1}
.zoi-reviews-hdr{text-align:center;margin-bottom:5rem}
.zoi-reviews-hdr h1{font-size:clamp(2rem,6vw,3rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.03em}
.zoi-reviews-hdr p{color:#a1a1aa;font-size:1.125rem}
/* Masonry-like grid: 3 col on desktop, staggered heights look premium */
.zoi-reviews-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.zoi-reviews-grid{grid-template-columns:1fr 1fr;gap:1.25rem}}
@media(min-width:1024px){.zoi-reviews-grid{grid-template-columns:1fr 1fr 1fr;gap:1.5rem}}

/* Card */
.zoi-rv-card{
  position:relative;
  background:rgba(15,15,18,0.7);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.06);
  border-radius:1.5rem;
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  box-shadow:0 2px 20px rgba(0,0,0,.3);
}
.zoi-rv-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
}
/* Top accent line with accent color */
.zoi-rv-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--nav-hover-bg,linear-gradient(90deg,#3b82f6,#6366f1));
  opacity:0;transition:opacity .35s;
}
.zoi-rv-card:hover::before{opacity:1}

/* Half-size image vs gallery (gallery=4col≈25vw, review=3col≈33vw but image is 45% height) */
.zoi-rv-img{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;background:#18181b;flex-shrink:0;
}
.zoi-rv-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.zoi-rv-card:hover .zoi-rv-img img{transform:scale(1.06)}

/* Body */
.zoi-rv-body{padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;flex:1}

/* Top row: avatar + name + stars */
.zoi-rv-top{display:flex;align-items:center;gap:.875rem}
.zoi-rv-avatar{
  width:3rem;height:3rem;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  border:2px solid rgba(255,255,255,.1);
  background:#27272a;
}
.zoi-rv-avatar img{width:100%;height:100%;object-fit:cover}
.zoi-rv-info{flex:1;min-width:0}
.zoi-rv-name{font-size:.9375rem;font-weight:700;color:#f4f4f5;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zoi-rv-role{font-size:.6875rem;color:#71717a;margin-top:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Stars */
.zoi-rv-stars{display:flex;align-items:center;gap:.1rem;flex-shrink:0;margin-left:auto}
.zoi-rv-star{font-size:.875rem;line-height:1;color:#f59e0b;text-shadow:0 0 8px rgba(245,158,11,.4)}
.zoi-rv-star.empty{color:#3f3f46;text-shadow:none}

/* Quote mark */
.zoi-rv-quote{
  font-size:3rem;line-height:.8;color:rgba(59,130,246,.25);
  font-family:Georgia,serif;margin-bottom:-.5rem;margin-top:-.25rem;
  font-weight:700;user-select:none;
}

/* Review text */
.zoi-rv-text{font-size:.875rem;color:#a1a1aa;line-height:1.75;flex:1;position:relative}

/* Footer: date + verified badge */
.zoi-rv-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05)}
.zoi-rv-date{font-size:.6875rem;color:#52525b;font-family:'SFMono-Regular',Consolas,monospace}
.zoi-rv-badge{
  display:inline-flex;align-items:center;gap:.25rem;
  padding:.2rem .5rem;border-radius:9999px;
  background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);
  font-size:.625rem;font-weight:600;color:#4ade80;letter-spacing:.04em;
  text-transform:uppercase;
}
.zoi-rv-badge svg{width:10px;height:10px}

/* Mobile */
@media(max-width:639px){
  .zoi-rv-body{padding:1.125rem}
  .zoi-rv-img{aspect-ratio:16/9}
  .zoi-rv-quote{font-size:2.5rem}
}

/* ====================================================
   MOBILE RESPONSIVE — comprehensive fixes
   ==================================================== */

/* Reduce top padding on small screens since header is smaller */
@media(max-width:639px){
  .zoi-hero{padding-top:5rem;padding-left:1rem;padding-right:1rem}
  .zoi-hero h1{font-size:clamp(1.9rem,8vw,2.8rem);white-space:normal}
  .zoi-hero>p{font-size:1rem}
  .zoi-projects-wrap{padding-left:1rem;padding-right:1rem;padding-bottom:4rem}
  .zoi-projects-list{gap:4rem}
  .zoi-proj-thumb{border-radius:1rem;margin-bottom:1.25rem}
  .zoi-proj-meta h2{font-size:1.25rem}
  .zoi-blog-snippet{padding:3rem 1rem}
  .zoi-about{padding:3.5rem 1rem 4rem}
  .zoi-work-page{padding:3.5rem 1rem 4rem}
  .zoi-blog-page{padding:3.5rem 1rem 4rem}
  .zoi-single-blog{padding:3.5rem 1rem 4rem}
  .zoi-single-proj{padding:3.5rem 1rem 4rem}
  .zoi-gallery{padding:3.5rem 1rem 4rem}
  .zoi-team-page{padding:3.5rem 1rem 4rem}
  .zoi-tm-page{padding:3.5rem 1rem 4rem}
  .zoi-reviews{padding:4rem 1rem 4rem}

  /* Footer stacks vertically */
  #zoi-footer{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.5rem 1rem}
  .zoi-footer-socials{gap:.875rem}
  /* About sidebar */
  .zoi-avatar{width:8rem;height:8rem}
  .zoi-about-name{font-size:clamp(1.75rem,7vw,2.5rem)}
  .zoi-about-role{font-size:1.125rem}
  /* Single project */
  .zoi-single-proj>h1{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:1.5rem}
  .zoi-video-wrap{margin-bottom:2rem}
  /* Team cards */
  .zoi-team-grid{row-gap:5rem}
  .zoi-tc-av{width:6rem;height:6rem;top:-3rem}
  .zoi-tc-body{padding:4rem .875rem 1.5rem}
  /* Team member page */
  .zoi-tm-av{width:12rem;height:12rem}
  .zoi-tm-name{font-size:clamp(2rem,7vw,3rem)}
  .zoi-tm-role-sub{font-size:clamp(1.125rem,3vw,1.5rem)}
  /* Reviews */
  .zoi-reviews-grid{grid-template-columns:1fr}
  /* Blog */
  .zoi-blog-card h3{font-size:1.25rem}
  .zoi-blog-page>h1{margin-bottom:2rem}
  /* Gallery */
  .zoi-gal-grid{grid-template-columns:repeat(2,1fr);gap:.625rem}
  .zoi-gal-item{border-radius:.625rem}
  /* Work exp on About */
  .zoi-exp-hdr{flex-direction:column;gap:.25rem}
  .zoi-exp-resps{gap:.625rem}
  /* Blog snippet */
  .zoi-bs-inner{gap:1.5rem}
  .zoi-blog-snippet h2{font-size:1.5rem}
}

/* Slightly smaller screens (tablets) */
@media(min-width:640px) and (max-width:1023px){
  .zoi-hero{padding-top:8rem}
  .zoi-about{padding-top:7rem}
  .zoi-work-page,.zoi-blog-page,.zoi-gallery,.zoi-team-page,.zoi-single-proj,.zoi-single-blog{padding-top:7rem}
  .zoi-reviews{padding-top:7rem}
}

/* ====================================================
   PAGE TRANSITIONS  (managed by main.js inline styles)
   ==================================================== */
#zoi-page-wrap{position:relative;z-index:1}

/* ═══════════════════════════════════════════════════════
   LOADING SCREEN
   ═══════════════════════════════════════════════════════ */
#zoi-loading{
  position:fixed;inset:0;
  z-index:999999;
  background:#050505;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  opacity:1;
  pointer-events:all;
  /* No transition on initial state — instant cover */
}
.zoi-ls-inner{
  display:flex;flex-direction:column;align-items:center;gap:1.25rem;
}
/* Spinner */
.zoi-ls-spinner{
  width:3rem;height:3rem;
  color:var(--zoi-accent,#3b82f6);
  animation:zoi-ls-spin 1s linear infinite;
}
.zoi-ls-spinner svg{width:100%;height:100%}
.zoi-ls-arc{
  transform-origin:center;
}
@keyframes zoi-ls-spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
/* Dots */
.zoi-ls-dots{
  display:flex;gap:.5rem;align-items:center;
}
.zoi-ls-dots span{
  width:.6rem;height:.6rem;border-radius:50%;
  background:var(--zoi-accent,#3b82f6);
  animation:zoi-ls-dot 1.2s ease-in-out infinite;
}
.zoi-ls-dots span:nth-child(2){animation-delay:.2s}
.zoi-ls-dots span:nth-child(3){animation-delay:.4s}
@keyframes zoi-ls-dot{
  0%,80%,100%{transform:scale(.6);opacity:.4}
  40%{transform:scale(1);opacity:1}
}
/* Bar */
.zoi-ls-bar{
  width:10rem;height:2px;
  background:rgba(255,255,255,.1);
  border-radius:9999px;overflow:hidden;
}
.zoi-ls-bar-fill{
  height:100%;width:0;
  background:var(--zoi-accent,#3b82f6);
  border-radius:9999px;
  animation:zoi-ls-bar 1.8s ease-in-out infinite;
}
@keyframes zoi-ls-bar{
  0%{width:0;margin-left:0}
  50%{width:60%;margin-left:20%}
  100%{width:0;margin-left:100%}
}
/* Logo */
.zoi-ls-logo{
  width:4rem;height:4rem;border-radius:50%;object-fit:cover;
  animation:zoi-ls-pulse 1.8s ease-in-out infinite;
}
@keyframes zoi-ls-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.6;transform:scale(.92)}
}
/* Text */
.zoi-ls-text{
  font-size:.9375rem;font-weight:600;color:#fafafa;
  letter-spacing:.02em;margin:0;
}
.zoi-ls-sub{
  font-size:.75rem;color:#52525b;margin:-.5rem 0 0;
}
/* Admin body — hide loading screen */
body.zoi-adm #zoi-loading{display:none !important}

