:root {
  --zip-bg: #031027;
  --zip-panel: #071b3c;
  --zip-panel-2: #09244b;
  --zip-border: rgba(113, 167, 255, .19);
  --zip-text: #f4f8ff;
  --zip-muted: #a8bbdf;
  --zip-cyan: #00d9ff;
  --zip-blue: #087cff;
  --zip-green: #00e0b0;
}
.zip-home, .zip-home * { box-sizing: border-box; }
.zip-home {
  position: relative; isolation: isolate; overflow: hidden;
  width: 100%; padding: clamp(24px, 4vw, 6px) clamp(16px, 4vw, 64px) 72px;
  color: var(--zip-text); background:
    radial-gradient(ellipse at 8% 4%, rgba(0, 199, 255, .13), transparent 32%),
    radial-gradient(ellipse at 94% 22%, rgba(0, 109, 255, .16), transparent 30%),
    linear-gradient(145deg, #020b1d 0%, #041633 52%, #031027 100%);
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
}
.zip-home::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.18; pointer-events:none; background-image:radial-gradient(rgba(86,167,255,.6) .7px, transparent .7px); background-size:22px 22px; mask-image:linear-gradient(to bottom, black, transparent 76%); }
.zip-home a { text-decoration: none; }
.zip-hero { max-width: 1320px; margin: 0 auto 34px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.75fr); align-items:center; gap:clamp(28px,5vw,76px); min-height:400px; }
.zip-eyebrow, .zip-section-kicker { display:inline-flex; align-items:center; gap:9px; color:var(--zip-cyan); font-size:.76rem; letter-spacing:.15em; font-weight:850; }
.zip-live-dot,.zip-pulse { width:8px; height:8px; border-radius:50%; background:var(--zip-green); box-shadow:0 0 16px rgba(0,224,176,.9); }
.zip-eyebrow-sep { color:#59749e; margin:0 2px; }
.zip-hero h1 { margin:20px 0 12px; font-size:clamp(2.6rem,5.6vw,5.4rem); line-height:.99; letter-spacing:-.055em; font-weight:900; color:#f7faff; }
.zip-hero-subtitle { margin:0 0 18px; font-size:clamp(1.25rem,2.5vw,2rem); font-weight:750; letter-spacing:-.025em; }
.zip-hero-subtitle span { background:linear-gradient(90deg,#08d8ff,#00e4b2); -webkit-background-clip:text; background-clip:text; color:transparent; }
.zip-lead { max-width:690px; margin:0; color:#b4c7e8; font-size:1.04rem; line-height:1.85; }
.zip-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.zip-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:52px; padding:13px 22px; border-radius:14px; font:800 .98rem/1.2 inherit; font-family:inherit; border:1px solid transparent; transition:transform .18s,box-shadow .18s,border-color .18s; cursor:pointer; }
.zip-btn:hover { transform:translateY(-2px); }
.zip-btn-primary { color:#00152d!important; background:linear-gradient(110deg,#05d8ff,#00e0b1); box-shadow:0 10px 32px rgba(0,204,255,.2); }
.zip-btn-primary:hover { box-shadow:0 14px 38px rgba(0,204,255,.32); }
.zip-btn-secondary { color:#e5f1ff!important; border-color:rgba(125,177,255,.25); background:rgba(7,27,60,.72); }
.zip-btn-secondary:hover { border-color:rgba(0,217,255,.7); }
.zip-trust-row { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:24px; color:#b6c8e7; font-size:.88rem; }
.zip-trust-row i { color:var(--zip-green); margin-right:5px; }
.zip-visual { position:relative; padding:23px; border:1px solid rgba(91,161,255,.26); border-radius:28px; background:linear-gradient(145deg,rgba(9,39,82,.96),rgba(4,20,48,.95)); box-shadow:0 28px 85px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.04); overflow:hidden; }
.zip-visual-glow { position:absolute; width:230px;height:230px;right:-80px;top:-100px;border-radius:50%;background:#007dff;filter:blur(90px);opacity:.25; }
.zip-visual-top { position:relative; display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; color:#9cb8e3; font-size:.72rem; font-weight:850; letter-spacing:.1em; }
.zip-visual-top i { color:var(--zip-cyan); margin-right:6px; }
.zip-mini-badge { border:1px solid rgba(0,217,255,.22); background:rgba(0,217,255,.08); padding:6px 10px; border-radius:999px; color:var(--zip-cyan); }
.zip-demo-grid { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; max-width:390px; margin:0 auto; }
.zcell { aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:11px; border:1px solid rgba(110,160,235,.18); background:rgba(5,22,51,.88); color:#fff; font-weight:800; }
.zcell.zpath { background:linear-gradient(140deg,rgba(0,217,255,.22),rgba(0,224,176,.15)); border-color:rgba(0,217,255,.58); box-shadow:inset 0 0 16px rgba(0,217,255,.06); }
.zcell.znum { color:#041a34; background:linear-gradient(140deg,#08dcff,#00e0b1); border-color:transparent; box-shadow:0 0 20px rgba(0,217,255,.15); }
.zip-visual-caption { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; margin-top:20px; color:#b8c9e6; font-size:.83rem; text-align:center; }
.zip-dashboard { max-width:1320px; margin:0 auto 56px; display:grid; grid-template-columns:1fr auto; gap:14px; align-items:stretch; }
.zip-progress-card { min-width:0; padding:22px 24px; border:1px solid var(--zip-border); border-radius:20px; background:linear-gradient(120deg,rgba(8,30,66,.95),rgba(6,24,54,.9)); }
.zip-progress-heading { display:flex; justify-content:space-between; align-items:end; gap:12px; }
.zip-progress-heading h2 { margin:5px 0 0; font-size:1.35rem; font-weight:850; }
.zip-progress-percent { color:var(--zip-cyan); font-size:1.8rem; line-height:1; font-weight:900; }
.zip-progress-meta { display:flex; flex-wrap:wrap; gap:7px; align-items:baseline; margin:15px 0 12px; color:var(--zip-muted); font-size:.9rem; }
.zip-progress-meta strong { color:#f6f9ff; font-size:1.03rem; }
.zip-progress-motivation { margin-left:auto; font-size:.82rem; }
.zip-bar { height:10px; overflow:hidden; border-radius:99px; background:rgba(151,178,220,.13); }
.zip-bar span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#087cff,#00d9ff,#00e0b1); box-shadow:0 0 16px rgba(0,217,255,.3); transition:width .55s ease; }
.zip-reset-btn { align-self:stretch; padding:0 19px; border:1px solid var(--zip-border); border-radius:17px; background:rgba(7,27,60,.65); color:#b7c9e8; font:700 .88rem inherit; font-family:inherit; cursor:pointer; }
.zip-reset-btn:hover { color:#fff; border-color:rgba(0,217,255,.5); }
.zip-level-section,.zip-content-grid,.zip-faq,.zip-bottom-cta { max-width:1320px; margin-left:auto; margin-right:auto; }
.zip-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
.zip-section-heading h2,.zip-faq-heading h2 { margin:8px 0 8px; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:900; letter-spacing:-.04em; }
.zip-section-heading p,.zip-faq-heading p { margin:0; color:var(--zip-muted); line-height:1.7; }
.zip-level-count { flex-shrink:0; display:flex; gap:9px; align-items:center; padding:10px 14px; border:1px solid var(--zip-border); border-radius:12px; color:#b9cce9; font-size:.87rem; font-weight:750; }
.zip-level-count i { color:#ffcf5b; }
.zip-stages { display:grid; gap:26px; }
.zip-stage { padding:19px; border:1px solid var(--zip-border); border-radius:20px; background:rgba(6,24,54,.7); }
.zip-stage-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 2px 14px; }
.zip-stage-head h3 { margin:0; font-size:1.04rem; font-weight:850; color:#f4f8ff; }
.zip-stage-head span { color:#91a9ce; font-size:.8rem; font-weight:700; text-align:right; }
.zip-grid { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:10px; }
.lvl { position:relative; min-width:0; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; border-radius:13px; border:1px solid rgba(114,160,228,.2); background:#091b3a; color:#e6f2ff; font:800 1.05rem/1 inherit; font-family:inherit; cursor:pointer; transition:transform .16s,border-color .16s,box-shadow .16s,background .16s; }
.lvl.unlocked { background:linear-gradient(145deg,rgba(0,124,255,.17),rgba(0,217,255,.07)); border-color:rgba(0,160,255,.62); color:#80eaff; }
.lvl.completed { background:linear-gradient(145deg,#00a9a5,#00c69d); border-color:#00e0b1; color:#021c31; }
.lvl.completed::after { content:"✓"; position:absolute; top:4px; right:7px; font-size:.72rem; font-weight:900; }
.lvl.progress { border-color:#ffbd59; background:rgba(255,174,57,.12); color:#ffd58c; box-shadow:0 0 0 2px rgba(255,174,57,.12); }
.lvl.progress::after { content:""; position:absolute; bottom:7px; width:5px; height:5px; border-radius:50%; background:#ffbd59; }
.lvl.locked { border-style:dashed; background:rgba(154,177,211,.045); color:#536a8d; cursor:not-allowed; }
.lvl.locked .lock { position:absolute; top:5px; right:6px; font-size:.62rem; opacity:.75; }
.lvl.current { box-shadow:0 0 0 2px #00d9ff,0 0 22px rgba(0,217,255,.15); }
.lvl .best { position:absolute; bottom:5px; font-size:.57rem; font-weight:800; opacity:.9; }
.lvl.unlocked:hover,.lvl.completed:hover,.lvl.progress:hover { transform:translateY(-3px); border-color:var(--zip-cyan); box-shadow:0 8px 22px rgba(0,0,0,.2),0 0 15px rgba(0,217,255,.1); }
.lvl:focus-visible,.zip-btn:focus-visible,.zip-reset-btn:focus-visible,.zip-faq summary:focus-visible { outline:3px solid #00d9ff; outline-offset:3px; }
.zip-legend { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; padding:0; margin:20px 0 0; list-style:none; color:#9eb2d3; font-size:.83rem; font-weight:700; }
.zip-legend li { display:flex; align-items:center; }
.lg { width:13px; height:13px; display:inline-block; margin-right:7px; border-radius:4px; border:1px solid var(--zip-border); }
.lg-done { background:#00b99b; border-color:#00d9b0; }.lg-open { background:rgba(0,124,255,.2); border-color:#008fff; }.lg-prog { background:rgba(255,174,57,.2); border-color:#ffbd59; }.lg-lock { background:rgba(154,177,211,.06); border-style:dashed; }
.zip-content-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:68px; }
.zip-content-card { padding:clamp(22px,3vw,34px); border:1px solid var(--zip-border); border-radius:22px; background:linear-gradient(145deg,rgba(8,30,66,.96),rgba(4,19,44,.94)); }
.zip-content-icon { display:flex; align-items:center; justify-content:center; width:46px; height:46px; margin-bottom:20px; border:1px solid rgba(0,217,255,.22); border-radius:14px; color:var(--zip-cyan); background:rgba(0,217,255,.08); font-size:1.2rem; }
.zip-content-card h2 { margin:9px 0 14px; font-size:clamp(1.35rem,2.2vw,1.85rem); font-weight:850; letter-spacing:-.035em; }
.zip-content-card p { color:#afc2e2; font-size:.94rem; line-height:1.85; }
.zip-steps { display:grid; gap:18px; list-style:none; padding:0; margin:24px 0 0; }
.zip-steps li { display:flex; align-items:flex-start; gap:13px; }
.zip-steps li>span { flex:0 0 36px; display:grid; place-items:center; height:36px; border-radius:11px; color:var(--zip-cyan); background:rgba(0,217,255,.09); border:1px solid rgba(0,217,255,.18); font-size:.75rem; font-weight:900; }
.zip-steps strong { display:block; margin:2px 0 4px; color:#f3f7ff; font-size:.94rem; }
.zip-steps p { margin:0; font-size:.88rem; }
.zip-feature-pills { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 24px; }
.zip-feature-pills span { padding:7px 10px; border:1px solid rgba(0,217,255,.17); border-radius:99px; background:rgba(0,217,255,.06); color:#b8d7f3; font-size:.76rem; font-weight:750; }
.zip-text-link { display:inline-flex; align-items:center; gap:9px; color:var(--zip-cyan)!important; font-weight:850; }
.zip-text-link:hover { color:#fff!important; }
.zip-faq { margin-top:68px; }
.zip-faq-heading { text-align:center; margin-bottom:25px; }
.zip-faq-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.zip-faq details { align-self:start; border:1px solid var(--zip-border); border-radius:15px; background:rgba(7,27,60,.76); }
.zip-faq summary { position:relative; padding:18px 48px 18px 19px; list-style:none; color:#eff6ff; font-size:.94rem; font-weight:800; cursor:pointer; }
.zip-faq summary::-webkit-details-marker { display:none; }
.zip-faq summary::after { content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%); color:var(--zip-cyan); font-size:1.4rem; font-weight:500; }
.zip-faq details[open] summary::after { content:"−"; }
.zip-faq details p { padding:0 19px 18px; margin:0; color:#aebfdd; font-size:.89rem; line-height:1.8; }
.zip-bottom-cta { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:68px; padding:clamp(24px,4vw,42px); border:1px solid rgba(0,217,255,.24); border-radius:24px; background:linear-gradient(105deg,#082752,#062044 62%,#063451); }
.zip-bottom-orb { position:absolute; z-index:-1; right:14%; top:-100px; width:250px; height:250px; border-radius:50%; background:#00bfff; filter:blur(100px); opacity:.18; }
.zip-bottom-cta h2 { margin:8px 0; font-size:clamp(1.5rem,3vw,2.2rem); font-weight:900; letter-spacing:-.04em; }
.zip-bottom-cta p { margin:0; color:#afc4e5; line-height:1.7; }
.zip-bottom-cta .zip-btn { flex-shrink:0; }
@media (max-width:1000px) {
  .zip-hero { grid-template-columns:1fr  minmax(280px,.75fr); gap:28px; }
  .zip-grid { gap:7px; }
  .lvl { border-radius:10px; font-size:.93rem; }
  .zip-stage { padding:14px; }
}
@media (max-width:760px) {
  .zip-home { padding:28px 15px 48px; }
  .zip-hero { grid-template-columns:1fr; min-height:0; gap:28px; margin-bottom:25px; }
  .zip-hero h1 { font-size:clamp(2.5rem,12vw,4rem); }
  .zip-visual { max-width:520px; width:100%; margin:0 auto; }
  .zip-dashboard { grid-template-columns:1fr; margin-bottom:42px; }
  .zip-reset-btn { min-height:45px; }
  .zip-progress-motivation { width:100%; margin-left:0; }
  .zip-section-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .zip-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
  .lvl { font-size:1rem; border-radius:12px; }
  .zip-content-grid,.zip-faq-list { grid-template-columns:1fr; }
  .zip-content-grid,.zip-faq { margin-top:48px; }
  .zip-bottom-cta { align-items:flex-start; flex-direction:column; margin-top:48px; }
}
@media (max-width:380px) {
  .zip-hero-actions { flex-direction:column; }
  .zip-hero-actions .zip-btn { width:100%; }
  .zip-visual { padding:15px; }
  .zip-demo-grid { gap:5px; }
  .zcell { border-radius:8px; }
  .zip-stage { padding:11px; }
  .zip-stage-head span { font-size:.69rem; }
  .lvl { border-radius:9px; font-size:.92rem; }
  .lvl .best { font-size:.48rem; }
}
@media (prefers-reduced-motion:reduce) {
  .zip-home *, .zip-home *::before, .zip-home *::after { transition:none!important; scroll-behavior:auto!important; }
}



.zip-visual-image {
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: transparent;
}

.zip-visual-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 16px;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .zip-visual-image {
        width: 100%;
        max-width: 420px;
    }
}
