/* Larrly — Wix-style marketing site (no AI aesthetic) */

:root {
    --ink: #0a0a0a;
    --ink-2: #1a1a1a;
    --muted: #5c5c5c;
    --muted-2: #8a8a8a;
    --line: #e5e5e5;
    --soft: #f5f5f5;
    --card: #ffffff;
    --brand: #25b8ad;
    --brand-dark: #1a9e94;
    --brand-soft: #e8fbf8;
    --navy: #121827;
    --radius: 12px;
    --radius-lg: 20px;
    --container: 1200px;
    --nav-h: 64px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--card);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    line-height: 1.5;
}
body.home-page {
    background:
        radial-gradient(ellipse 70% 55% at 8% 18%, rgba(37,184,173,.14) 0%, transparent 52%),
        radial-gradient(ellipse 50% 45% at 92% 12%, rgba(125,211,252,.1) 0%, transparent 48%),
        #f8fafc;
}
a { color: inherit; text-decoration: none; }
button, input { font-family: inherit; }
img { display: block; max-width: 100%; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* ── Nav — altijd clean wit, geen glow ── */
.wix-nav {
    position: sticky; top: 0; z-index: 1000;
    height: var(--nav-h);
    background: #fff;
    border-bottom: 1px solid var(--line);
    overflow: visible;
}
.wix-menu-item { position: relative; z-index: 1; }
.wix-menu-item.open { z-index: 1001; }
.wix-nav .container {
    height: 100%;
    display: flex; align-items: center; gap: 8px;
    overflow: visible;
}
.wix-nav .larrly-brand { margin-right: 16px; flex-shrink: 0; }
.brand-mark {
    width: 22px; height: 26px; position: relative; flex-shrink: 0;
}
.brand-mark::before, .brand-mark::after {
    content: ""; position: absolute; left: 5px;
    width: 14px; height: 16px; border-radius: 4px;
    background: var(--brand); transform: rotate(38deg);
}
.brand-mark::before { top: 0; }
.brand-mark::after { bottom: 0; opacity: .55; }

.wix-menu { display: flex; align-items: center; gap: 4px; flex: 1; overflow: visible; }
.wix-menu-item { position: relative; }
.wix-menu-btn {
    display: flex; align-items: center; gap: 4px;
    padding: 8px 14px; border: none; background: none;
    font-size: 14px; font-weight: 500; color: var(--ink);
    cursor: pointer; border-radius: 6px;
}
.wix-menu-btn:hover { background: var(--soft); }
.wix-menu-btn svg { width: 12px; height: 12px; opacity: .5; }

.wix-dropdown {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 1002;
    min-width: 520px; background: #fff;
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    box-shadow: 0 16px 48px rgba(0,0,0,.12);
    padding: 24px; display: none; grid-template-columns: 1fr 1fr; gap: 24px;
}
.wix-menu-item.open .wix-dropdown { display: grid; }
.wix-dd-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: var(--muted-2); margin-bottom: 12px;
}
.wix-dd-link {
    display: block; padding: 8px 0;
    font-size: 14px; font-weight: 500; color: var(--ink);
}
.wix-dd-link:hover { color: var(--brand-dark); }
.wix-dd-link small { display: block; font-size: 12px; color: var(--muted); font-weight: 400; margin-top: 2px; }

.wix-nav-right {
    display: flex; align-items: center; gap: 12px; margin-left: auto;
}
.wix-nav-right a { font-size: 14px; font-weight: 500; padding: 8px 12px; }
.wix-nav-right a:hover { color: var(--brand-dark); }
.wix-nav-right .lang-switcher { margin-right: 4px; }

.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 44px; padding: 0 24px;
    border-radius: 999px; border: none;
    font-size: 14px; font-weight: 700; cursor: pointer;
    transition: background .15s, transform .15s;
}
.btn-black { background: var(--ink); color: #fff; }
.btn-black:hover { background: #333; }
.btn-outline { background: #fff; border: 1.5px solid var(--line); color: var(--ink); }
.btn-outline:hover { border-color: #ccc; }
.btn-link { background: none; border: none; color: var(--ink); font-weight: 600; padding: 0; min-height: auto; }
.btn-link:hover { text-decoration: underline; }

/* ── Hero — glow alleen hier, niet in nav ── */
.wix-hero {
    position: relative;
    padding: 72px 0 0;
    text-align: center;
    background: #fff;
    overflow: hidden;
}
.wix-hero-glow {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    /* Fade bovenaan zodat glow niet onder/achter de header lijkt te zitten */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);
}
.wix-glow-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: .55;
    will-change: transform;
}
.wix-glow-orb--cyan {
    width: min(520px, 55vw);
    height: min(520px, 55vw);
    left: -8%;
    top: 28%;
    background: radial-gradient(circle, rgba(125, 211, 252, .9) 0%, rgba(125, 211, 252, 0) 70%);
    animation: glowDriftCyan 14s ease-in-out infinite;
}
.wix-glow-orb--peach {
    width: min(480px, 50vw);
    height: min(480px, 50vw);
    right: -6%;
    top: 22%;
    background: radial-gradient(circle, rgba(253, 186, 140, .85) 0%, rgba(253, 186, 140, 0) 70%);
    animation: glowDriftPeach 16s ease-in-out infinite;
}
.wix-glow-orb--mint {
    width: min(360px, 40vw);
    height: min(360px, 40vw);
    left: 38%;
    top: 52%;
    background: radial-gradient(circle, rgba(167, 243, 208, .75) 0%, rgba(167, 243, 208, 0) 70%);
    animation: glowDriftMint 18s ease-in-out infinite;
}
@keyframes glowDriftCyan {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(24px, -16px) scale(1.06); }
}
@keyframes glowDriftPeach {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-20px, 12px) scale(1.05); }
}
@keyframes glowDriftMint {
    0%, 100% { transform: translate(-50%, 0) scale(1); }
    50% { transform: translate(calc(-50% + 12px), -20px) scale(1.08); }
}
.wix-hero-content,
.wix-hero-visual {
    position: relative;
    z-index: 1;
}
.wix-hero h1 {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.08;
    max-width: 720px;
    margin: 0 auto 20px;
}
.wix-hero p {
    font-size: 18px; color: var(--muted);
    max-width: 560px; margin: 0 auto 32px;
}
.wix-hero-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 12px; }
.wix-hero-note { font-size: 13px; color: var(--muted-2); margin-bottom: 56px; }

.wix-hero-visual {
    max-width: 1100px; margin: 0 auto;
    padding: 0 24px 80px;
    position: relative;
}
.wix-hero-screen {
    border: 1px solid var(--line);
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,.10);
    background: #fff;
}
.wix-hero-screen img { width: 100%; height: auto; display: block; }

/* ── Section base ── */
.wix-section { padding: 96px 0; }
.wix-section.soft { background: var(--soft); }
.wix-section.dark { background: var(--navy); color: #fff; }
.wix-section-head {
    text-align: center; max-width: 640px;
    margin: 0 auto 56px;
}
.wix-section-head h2 {
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 800; letter-spacing: -.03em;
    line-height: 1.12; margin-bottom: 16px;
}
.wix-hero h1 { font-weight: 800; letter-spacing: -.03em; }
.wix-brand { font-weight: 800; letter-spacing: -.03em; }
.wix-section-head p { font-size: 17px; color: var(--muted); }
.wix-section.dark .wix-section-head p { color: rgba(255,255,255,.65); }
.wix-section-cta { text-align: center; margin-top: 40px; }

/* ── Template carousel ── */
.tpl-track-wrap { overflow: hidden; margin: 0 -24px; }
.tpl-track {
    display: flex; gap: 20px;
    padding: 0 24px 8px;
    overflow-x: auto; scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.tpl-track::-webkit-scrollbar { display: none; }
.tpl-card {
    flex: 0 0 300px; scroll-snap-align: start;
    border-radius: var(--radius-lg); overflow: hidden;
    border: 1px solid var(--line); background: #fff;
    transition: transform .2s, box-shadow .2s;
}
.tpl-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.08); }
.tpl-card-preview {
    height: 380px; overflow: hidden; background: #0f172a;
    border-bottom: 1px solid var(--line); position: relative;
}
.tpl-card-preview img {
    width: 100%; height: 100%; object-fit: cover; object-position: top center;
    display: block; transition: transform .4s ease;
}
.tpl-card:hover .tpl-card-preview img { transform: scale(1.03); }
.tpl-card-overlay {
    position: absolute; inset: auto 0 0 0; padding: 48px 18px 16px;
    background: linear-gradient(transparent, rgba(0,0,0,.72));
    color: #fff; pointer-events: none;
}
.tpl-card-overlay strong { display: block; font-size: 15px; font-weight: 700; margin-bottom: 2px; }
.tpl-card-overlay span { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; opacity: .85; }
.tpl-card-foot {
    padding: 16px; display: flex;
    align-items: center; justify-content: space-between;
}
.tpl-card-foot span { font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; }
.tpl-card-foot a { font-size: 13px; font-weight: 600; color: var(--brand-dark); }

/* ── Feature tabs ── */
.feat-tabs { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 48px; }
.feat-tab {
    padding: 10px 20px; border-radius: 999px;
    border: 1.5px solid var(--line); background: #fff;
    font-size: 14px; font-weight: 500; cursor: pointer;
    transition: all .15s;
}
.feat-tab.active, .feat-tab:hover { border-color: var(--ink); background: var(--ink); color: #fff; }
.feat-panel { display: none; opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .35s ease; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.feat-panel.active { display: grid; opacity: 1; transform: none; }
.feat-panel.is-leaving { opacity: 0; transform: translateY(-6px); }
.feat-panel h3 { font-size: 28px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 16px; }
.feat-panel p { font-size: 16px; color: var(--muted); line-height: 1.65; margin-bottom: 24px; }
.feat-panel img { border-radius: var(--radius-lg); border: 1px solid var(--line); box-shadow: 0 16px 48px rgba(0,0,0,.08); }
.feat-mock { border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 16px 48px rgba(0,0,0,.08); }
.feat-mock img { width: 100%; height: auto; display: block; }
.feat-mock .lvg-bld-mock { border-radius: var(--radius-lg); }

/* ── Business grid ── */
.biz-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.biz-item {
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    padding: 28px; background: #fff; cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}
.biz-item:hover, .biz-item.open { border-color: var(--brand); box-shadow: 0 8px 32px rgba(0,0,0,.06); }
.biz-item h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; }
.biz-item h3 svg { width: 16px; height: 16px; opacity: .4; transition: transform .2s; }
.biz-item.open h3 svg { transform: rotate(180deg); }
.biz-item > p { font-size: 14px; color: var(--muted); line-height: 1.6; }
.biz-detail { display: none; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.biz-item.open .biz-detail { display: block; }
.biz-detail img { border-radius: var(--radius); margin-bottom: 16px; width: 100%; height: 160px; object-fit: cover; }
.biz-detail a { font-size: 14px; font-weight: 600; color: var(--brand-dark); }

/* ── Domain search ── */
.domain-box {
    max-width: 560px; margin: 0 auto;
    display: flex; gap: 8px; padding: 6px;
    border: 1.5px solid var(--line); border-radius: 999px;
    background: #fff;
}
.domain-box input {
    flex: 1; border: none; outline: none;
    padding: 12px 20px; font-size: 16px; min-width: 0;
}
.domain-note { text-align: center; font-size: 13px; color: var(--muted); margin-top: 16px; }

/* ── Marketing cards ── */
.mkt-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; }
.mkt-col { display: flex; flex-direction: column; gap: 20px; }
.mkt-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; }
.mkt-card {
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    overflow: hidden; background: #fff;
}
.mkt-card-head {
    padding: 22px 24px; cursor: pointer;
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    min-height: 76px;
}
.mkt-card.open .mkt-card-head { padding-bottom: 16px; align-items: flex-start; }
.mkt-card-head h3 { font-size: 18px; font-weight: 700; line-height: 1.35; }
.mkt-card-head svg { flex-shrink: 0; opacity: .4; transition: transform .2s; }
.mkt-card.open .mkt-card-head svg { transform: rotate(180deg); }
.mkt-card-body { display: none; padding: 16px 24px 24px; }
.mkt-card.open .mkt-card-body { display: block; }
.mkt-card-body img { border-radius: var(--radius); width: 100%; height: 200px; object-fit: cover; }
.mkt-mock { border-radius: var(--radius); overflow: hidden; }
.mkt-mock .lvg-preview-mock { max-width: none; animation: none; box-shadow: none; border: 1px solid var(--line); }
.mkt-mock .lvg-preview-inner { min-height: 220px; }
.mkt-mock .lvg-preview-side { width: 120px; padding: 10px 8px; }
.mkt-mock .lvg-preview-side nav a { font-size: 9px; padding: 5px 6px; }

/* ── Dashboard preview (homepage) ── */
.dash-showcase { max-width: 1000px; margin: 0 auto; }
.dash-frame {
    border: 1px solid var(--line); border-radius: 12px;
    overflow: hidden; background: #fff;
    box-shadow: 0 24px 64px rgba(0,0,0,.10);
    display: grid; grid-template-columns: 190px 1fr;
}
.dash-frame-side {
    background: var(--soft); border-right: 1px solid var(--line);
    padding: 20px 12px;
}
.dash-frame-logo {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 800; margin-bottom: 20px;
    text-transform: uppercase; letter-spacing: .04em;
}
.dash-frame-nav { display: flex; flex-direction: column; gap: 2px; }
.dash-frame-nav a {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 10px; border-radius: 8px;
    font-size: 12px; font-weight: 600; color: var(--muted);
}
.dash-frame-nav a.active { background: var(--brand-soft); color: var(--brand-dark); }
.dash-frame-nav .nav-label {
    font-size: 9px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: var(--muted-2);
    padding: 14px 10px 6px;
}
.dash-frame-main { padding: 22px 20px; min-width: 0; }
.dash-frame-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
.dash-frame-top h3 { font-size: 17px; font-weight: 800; }
.dash-frame-top p { font-size: 12px; color: var(--muted); margin-top: 4px; }
.dash-frame-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 14px; }
.dash-frame-stat {
    border: 1px solid var(--line); border-radius: 8px; padding: 14px;
    background: #fff;
}
.dash-frame-stat span { display: block; font-size: 10px; color: var(--muted); font-weight: 600; margin-bottom: 4px; }
.dash-frame-stat strong { font-size: 20px; font-weight: 800; }
.dash-frame-stat small { display: block; font-size: 10px; font-weight: 700; color: var(--brand-dark); margin-top: 4px; }
.dash-frame-grid { display: grid; grid-template-columns: 1fr 180px; gap: 12px; }
.dash-frame-panel { border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
.dash-frame-panel h4 { font-size: 12px; font-weight: 700; margin-bottom: 10px; }
.dash-mini-chart { height: 100px; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); position: relative; }
.dash-mini-chart svg { width: 100%; height: 100%; }
.dash-page-row { display: flex; justify-content: space-between; font-size: 11px; padding: 6px 0; border-bottom: 1px solid var(--line); color: var(--muted); }
.dash-page-row:last-child { border-bottom: none; }
.dash-page-row b { color: var(--ink); font-weight: 700; }
.dash-frame-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.dash-quick-card {
    border: 1px solid var(--line); border-radius: 8px; padding: 16px;
    display: flex; gap: 12px; align-items: flex-start;
}
.dash-quick-icon {
    width: 36px; height: 36px; border-radius: 8px;
    background: var(--brand-soft); color: var(--brand-dark);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dash-quick-card h5 { font-size: 12px; font-weight: 700; margin-bottom: 4px; }
.dash-quick-card p { font-size: 11px; color: var(--muted); line-height: 1.5; }
.dash-quick-card a { font-size: 11px; font-weight: 700; color: var(--brand-dark); margin-top: 8px; display: inline-block; }

/* ── Pillars ── */
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.pillar-item h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.pillar-item p { font-size: 14px; color: var(--muted); line-height: 1.6; }

/* ── Steps ── */
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.step-item span.num {
    display: block; font-size: 13px; font-weight: 700;
    color: var(--brand-dark); margin-bottom: 12px;
}
.step-item h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.step-item p { font-size: 14px; color: var(--muted); line-height: 1.65; }

/* ── Testimonials ── */
.testi-track-wrap { overflow: hidden; }
.testi-track {
    display: flex; gap: 20px; overflow-x: auto;
    scroll-snap-type: x mandatory; padding-bottom: 8px;
    scrollbar-width: none;
}
.testi-track::-webkit-scrollbar { display: none; }
.testi-card {
    flex: 0 0 300px; scroll-snap-align: start;
    border-radius: var(--radius-lg); overflow: hidden;
    border: 1px solid var(--line); background: #fff;
}
.testi-card img { width: 100%; height: 200px; object-fit: cover; }
.testi-card-foot { padding: 16px; font-size: 14px; font-weight: 600; }

/* ── Blog cards ── */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.blog-card {
    border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line);
    background: #fff; text-decoration: none; color: inherit;
    display: flex; flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
}
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.08); }
.blog-card-cover {
    height: 200px; background-size: cover; background-position: center;
    position: relative;
}
.blog-card-cat {
    position: absolute; top: 12px; left: 12px;
    font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 999px;
    background: rgba(255,255,255,.92); color: #0a1628;
}
.blog-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.blog-card-body time { font-size: 12px; color: #94a3b8; }
.blog-card-body h3 { font-size: 17px; font-weight: 700; line-height: 1.35; color: #0a1628; }
.blog-card-body p { font-size: 14px; line-height: 1.55; color: #64748b; flex: 1; }
.blog-card-link { font-size: 14px; font-weight: 600; color: #1a9e94; margin-top: 4px; }

/* ── Sites gallery ── */
.sites-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.site-thumb {
    border-radius: var(--radius); overflow: hidden;
    border: 1px solid var(--line); position: relative;
    aspect-ratio: 4/3;
}
.site-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.site-thumb:hover img { transform: scale(1.04); }
.site-thumb span {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 12px; background: linear-gradient(transparent, rgba(0,0,0,.7));
    color: #fff; font-size: 12px; font-weight: 600;
    opacity: 0; transition: opacity .2s;
}
.site-thumb:hover span { opacity: 1; }

/* ── Support ── */
.support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; text-align: center; }
.support-item h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.support-item p { font-size: 14px; color: var(--muted); margin-bottom: 16px; line-height: 1.6; }

/* ── FAQ ── */
.faq-list { max-width: 760px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-q {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: 20px 0; border: none; background: none;
    font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; color: var(--ink);
}
.faq-q svg { flex-shrink: 0; transition: transform .2s; opacity: .4; }
.faq-item.open .faq-q svg { transform: rotate(180deg); }
.faq-a { display: none; padding-bottom: 20px; font-size: 15px; color: var(--muted); line-height: 1.65; }
.faq-item.open .faq-a { display: block; }

/* ── Footer ── */
.wix-footer { background: var(--ink); color: rgba(255,255,255,.6); padding: 64px 0 32px; font-size: 14px; }
.footer-top { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; margin-bottom: 48px; }
.footer-brand { color: #fff; font-size: 20px; font-weight: 800; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.footer-brand p { font-size: 14px; color: rgba(255,255,255,.45); line-height: 1.6; max-width: 260px; }
.footer-col h4 { color: #fff; font-size: 13px; font-weight: 700; margin-bottom: 16px; }
.footer-col a { display: block; padding: 4px 0; color: rgba(255,255,255,.55); }
.footer-col a:hover { color: #fff; }
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 24px; display: flex; justify-content: space-between;
    flex-wrap: wrap; gap: 12px; font-size: 13px;
}
.wix-footer .brand-mark::before, .wix-footer .brand-mark::after { background: var(--brand-light, #4fd1c5); }

/* ── Dash tabs (Run business section) ── */
.dash-tabs { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.dash-tab {
    padding: 12px 24px; border-radius: 999px;
    border: 1.5px solid var(--line); background: #fff;
    font-size: 14px; font-weight: 500; cursor: pointer;
}
.dash-tab.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.dash-tab-panel { display: none; text-align: center; opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .35s ease; }
.dash-tab-panel.active { display: block; opacity: 1; transform: none; }
.dash-tab-panel.is-leaving { opacity: 0; transform: translateY(-6px); }
.dash-tab-panel .lvg-preview-mock {
    max-width: 920px; margin: 0 auto; text-align: left;
    animation: none;
}
.dash-tab-panel .lvg-bld-mock {
    max-width: 920px; margin: 0 auto; text-align: left;
    border-radius: var(--radius-lg);
    box-shadow: 0 24px 64px rgba(0,0,0,.1);
}

/* Business photo cards */
.biz-grid-photos { grid-template-columns: repeat(3, 1fr); }
.biz-photo-card {
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    overflow: hidden; background: #fff;
    transition: transform .25s ease, box-shadow .25s ease;
}
.biz-photo-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.08); }
.biz-photo-card img { width: 100%; height: 200px; object-fit: cover; display: block; }
.biz-photo-preview {
    height: 220px; overflow: hidden; background: #e2e8f0;
    border-bottom: 1px solid var(--line); position: relative;
}
.biz-photo-preview img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.biz-photo-body { padding: 20px 22px 24px; }
.biz-photo-body h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.biz-photo-body p { font-size: 14px; color: var(--muted); line-height: 1.6; margin-bottom: 12px; }
.biz-photo-body a { font-size: 14px; font-weight: 600; color: var(--brand-dark); }

/* Dashboard preview mock — light mode 1:1 */
.lvg-preview-mock {
    max-width: 920px; margin: 0 auto;
    border-radius: var(--radius-lg); border: 1px solid var(--line);
    box-shadow: 0 24px 64px rgba(0,0,0,.1);
    overflow: hidden; background: #f8fafc;
    animation: floatMock 6s ease-in-out infinite;
}
@keyframes floatMock { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.lvg-preview-inner { display: flex; min-height: 380px; }
.lvg-preview-side {
    width: 160px; background: #fff; border-right: 1px solid #edf0f6; padding: 16px 12px; flex-shrink: 0;
}
.lvg-preview-logo { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 13px; margin-bottom: 16px; }
.lvg-preview-side nav { display: flex; flex-direction: column; gap: 4px; }
.lvg-preview-side nav a {
    font-size: 11px; padding: 7px 8px; border-radius: 8px; color: #64748b; text-decoration: none;
}
.lvg-preview-side nav a.active { background: #e8fbf8; color: #1a9e94; font-weight: 600; }
.lvg-preview-main { flex: 1; padding: 16px; min-width: 0; }
.lvg-preview-top { margin-bottom: 14px; }
.lvg-preview-top strong { display: block; font-size: 14px; color: #121827; }
.lvg-preview-top span { font-size: 11px; color: #64748b; }
.lvg-preview-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 14px; }
.lvg-preview-stats div { background: #fff; border: 1px solid #eef0f2; border-radius: 10px; padding: 10px; }
.lvg-preview-stats span { display: block; font-size: 9px; color: #94a3b8; margin-bottom: 4px; }
.lvg-preview-stats strong { font-size: 16px; color: #121827; }
.lvg-preview-mid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
.lvg-preview-chart, .lvg-preview-pages { background: #fff; border: 1px solid #eef0f2; border-radius: 10px; padding: 12px; }
.lvg-preview-chart-head { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: 11px; font-weight: 700; }
.lvg-preview-chart-head em { font-style: normal; color: #94a3b8; font-weight: 500; }
.lvg-preview-chart svg { width: 100%; height: 80px; }
.lvg-preview-pages strong { display: block; font-size: 11px; margin-bottom: 8px; }
.lvg-preview-pages div { display: flex; justify-content: space-between; font-size: 10px; padding: 4px 0; color: #64748b; }
.lvg-preview-pages em { font-style: normal; font-weight: 600; color: #121827; }

/* Scroll reveal animations */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.revealed, .wix-hero { opacity: 1; transform: none; }
.wix-hero h1 { animation: fadeUp .7s ease both; }
.wix-hero p { animation: fadeUp .7s .1s ease both; }
.wix-hero-cta { animation: fadeUp .7s .2s ease both; }
@keyframes fadeUp { from { opacity:0; transform:translateY(20px) } to { opacity:1; transform:none } }
.tpl-card { transition: transform .25s ease; }
.tpl-card:hover { transform: scale(1.02); }

/* Language dropdown */
.lang-dropdown { position: relative; display: inline-flex; }
.lang-dropdown-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line);
    background: #fff; font-size: 12px; font-weight: 600; cursor: pointer; color: var(--ink);
}
.lang-dropdown-menu {
    display: none; position: absolute; top: calc(100% + 6px); right: 0; min-width: 140px;
    background: #fff; border: 1px solid var(--line); border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0,0,0,.1); list-style: none; padding: 6px; z-index: 200; margin: 0;
}
.lang-dropdown.open .lang-dropdown-menu { display: block; animation: fadeUp .2s ease; }
.lang-dropdown-menu a {
    display: block; padding: 8px 12px; border-radius: 8px; font-size: 13px;
    color: var(--ink); text-decoration: none;
}
.lang-dropdown-menu a:hover, .lang-dropdown-menu a.active { background: #e8fbf8; color: var(--brand-dark); }

/* Hero photo — laptop met echt dashboard */
.wix-hero-screen--photo {
    padding: 0; background: transparent; border: none; box-shadow: none;
    max-width: 980px; margin: 0 auto;
}
.wix-hero-screen--photo img {
    width: 100%; height: auto; display: block;
    border-radius: 16px;
    box-shadow: 0 32px 80px rgba(0,0,0,.12);
}

/* Hero laptop mock (fallback) */
.wix-hero-screen--laptop {
    padding: 0; background: transparent; border: none; box-shadow: none;
    max-width: 980px; margin: 0 auto;
}
.lvg-laptop { perspective: 1200px; max-width: 920px; margin: 0 auto; }
.lvg-laptop-lid {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    border-radius: 16px 16px 4px 4px; padding: 10px 10px 6px;
    box-shadow: 0 40px 100px rgba(0,0,0,.18);
    transform: rotateX(2deg);
}
.lvg-laptop-bezel { background: #0a0a0a; border-radius: 8px; padding: 8px 8px 6px; position: relative; }
.lvg-laptop-camera {
    width: 6px; height: 6px; border-radius: 50%; background: #334155;
    margin: 0 auto 6px;
}
.lvg-laptop-screen {
    border-radius: 4px; overflow: hidden; background: #f8fafc;
    max-height: 420px; overflow-y: hidden;
}
.lvg-laptop-base {
    height: 14px; margin: 0 8%;
    background: linear-gradient(180deg, #cbd5e1, #94a3b8);
    border-radius: 0 0 12px 12px;
    position: relative;
}
.lvg-laptop-trackpad {
    width: 80px; height: 4px; background: #64748b; border-radius: 99px;
    position: absolute; top: 4px; left: 50%; transform: translateX(-50%);
}

/* Full dashboard inside laptop */
.lvg-dash-full { display: flex; font-family: Inter, system-ui, sans-serif; font-size: 10px; min-height: 380px; }
.lvg-dash-full-side {
    width: 130px; background: #fff; border-right: 1px solid #edf0f6; padding: 10px 8px; flex-shrink: 0;
}
.lvg-dash-full-logo { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; }
.lvg-dash-full-logo .brand-mark { width: 16px; height: 18px; flex-shrink: 0; }
.lvg-dash-full-logo strong { display: block; font-size: 11px; font-weight: 800; color: #0a1628; line-height: 1.1; }
.lvg-dash-full-logo em { font-style: normal; font-size: 8px; color: #94a3b8; }
.lvg-dash-full-side nav { display: flex; flex-direction: column; gap: 2px; }
.lvg-dash-full-side nav a {
    font-size: 9px; padding: 5px 6px; border-radius: 6px; color: #64748b; text-decoration: none;
}
.lvg-dash-full-side nav a.active { background: #e8fbf8; color: #1a9e94; font-weight: 600; }
.lvg-dash-full-label {
    font-size: 7px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #94a3b8; padding: 8px 6px 2px; margin-top: 4px;
}
.lvg-dash-full-main { flex: 1; padding: 12px; min-width: 0; background: #f8fafc; }
.lvg-dash-full-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.lvg-dash-full-top h2 { font-size: 14px; font-weight: 800; color: #0a1628; margin-bottom: 2px; }
.lvg-dash-full-top p { font-size: 9px; color: #64748b; }
.lvg-dash-full-top-right { display: flex; gap: 6px; align-items: center; }
.lvg-dash-full-search { width: 22px; height: 22px; border-radius: 6px; background: #fff; border: 1px solid #eef0f2; }
.lvg-dash-full-avatar {
    width: 22px; height: 22px; border-radius: 50%; background: #25b8ad; color: #fff;
    font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.lvg-dash-full-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-bottom: 10px; }
.lvg-dash-full-stats div { background: #fff; border: 1px solid #eef0f2; border-radius: 8px; padding: 8px; }
.lvg-dash-full-stats span { display: block; font-size: 8px; color: #94a3b8; margin-bottom: 2px; }
.lvg-dash-full-stats strong { font-size: 14px; color: #0a1628; display: block; }
.lvg-dash-full-stats small { font-size: 7px; color: #64748b; }
.lvg-dash-full-stats small.up { color: #16a34a; }
.lvg-dash-full-stats small.link { color: #1a9e94; }
.lvg-dash-full-mid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 6px; margin-bottom: 8px; }
.lvg-dash-full-chart, .lvg-dash-full-pages { background: #fff; border: 1px solid #eef0f2; border-radius: 8px; padding: 8px; }
.lvg-dash-full-chart-head { display: flex; justify-content: space-between; font-size: 9px; font-weight: 700; margin-bottom: 4px; }
.lvg-dash-full-chart-head em { font-style: normal; color: #94a3b8; font-weight: 500; }
.lvg-dash-full-chart svg { width: 100%; height: 60px; }
.lvg-dash-full-pages strong { display: block; font-size: 9px; margin-bottom: 4px; }
.lvg-dash-full-pages div { display: flex; justify-content: space-between; font-size: 8px; padding: 2px 0; color: #64748b; }
.lvg-dash-full-pages em { font-style: normal; font-weight: 600; color: #0a1628; }
.lvg-dash-full-quick { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.lvg-dash-full-quick > div {
    background: #fff; border: 1px solid #eef0f2; border-radius: 8px; padding: 8px;
    display: flex; gap: 6px; align-items: flex-start;
}
.lvg-dash-full-quick i { font-style: normal; font-size: 12px; }
.lvg-dash-full-quick b { display: block; font-size: 8px; font-weight: 700; color: #0a1628; }
.lvg-dash-full-quick span { font-size: 7px; color: #1a9e94; }

/* Hero builder mock */
.wix-hero-screen--mock {
    padding: 0; background: transparent; border: none; box-shadow: none;
    max-width: 960px; margin: 0 auto;
}
.wix-hero-screen--mock .lvg-bld-mock {
    border-radius: 16px; box-shadow: 0 32px 80px rgba(0,0,0,.14);
}

/* Builder preview mock */
.lvg-bld-mock {
    background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
    overflow: hidden; font-family: Inter, system-ui, sans-serif;
}
.lvg-bld-top {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; border-bottom: 1px solid #edf0f6; background: #fff;
}
.lvg-bld-top-left { display: flex; align-items: center; gap: 10px; }
.lvg-bld-back { width: 18px; height: 18px; border-radius: 4px; background: #f1f5f9; }
.lvg-bld-crumb { font-size: 11px; color: #64748b; font-weight: 600; }
.lvg-bld-crumb em { font-style: normal; color: #cbd5e1; margin: 0 4px; }
.lvg-bld-vp { display: flex; gap: 4px; }
.lvg-bld-vp span { width: 22px; height: 16px; border-radius: 3px; border: 1px solid #e5e7eb; background: #f8fafc; }
.lvg-bld-vp span.on { border-color: #25b8ad; background: #e8fbf8; }
.lvg-bld-top-right { display: flex; gap: 6px; align-items: center; }
.lvg-bld-ghost { font-size: 10px; padding: 5px 10px; border-radius: 6px; border: 1px solid #e5e7eb; color: #64748b; }
.lvg-bld-save { font-size: 10px; padding: 5px 10px; border-radius: 6px; background: #f1f5f9; color: #334155; font-weight: 600; }
.lvg-bld-pub { font-size: 10px; padding: 5px 12px; border-radius: 6px; background: #25b8ad; color: #fff; font-weight: 700; }
.lvg-bld-body { display: flex; min-height: 280px; }
.lvg-bld-side { width: 140px; border-right: 1px solid #edf0f6; padding: 10px; background: #fafbfc; flex-shrink: 0; }
.lvg-bld-tabs { display: flex; gap: 4px; margin-bottom: 10px; flex-wrap: wrap; }
.lvg-bld-tabs span { font-size: 8px; padding: 4px 6px; border-radius: 4px; color: #94a3b8; font-weight: 600; }
.lvg-bld-tabs span.on { background: #e8fbf8; color: #1a9e94; }
.lvg-bld-blocks { display: grid; grid-template-columns: repeat(2,1fr); gap: 6px; }
.lvg-bld-blocks div { aspect-ratio: 1; border-radius: 6px; background: linear-gradient(135deg,#e8fbf8,#f1f5f9); border: 1px solid #e5e7eb; }
.lvg-bld-comp-list { display: flex; flex-direction: column; gap: 4px; }
.lvg-bld-comp-list div { font-size: 9px; padding: 6px 8px; border-radius: 6px; background: #fff; border: 1px solid #eef0f2; color: #475569; display: flex; align-items: center; gap: 6px; }
.lvg-bld-comp-list i { width: 8px; height: 8px; border-radius: 2px; background: #25b8ad; flex-shrink: 0; }
.lvg-bld-brand-colors { display: flex; gap: 6px; margin-bottom: 10px; }
.lvg-bld-brand-colors span { width: 28px; height: 28px; border-radius: 8px; border: 1px solid #e5e7eb; }
.lvg-bld-brand-font { margin-bottom: 8px; }
.lvg-bld-brand-font label { display: block; font-size: 8px; color: #94a3b8; margin-bottom: 2px; }
.lvg-bld-brand-font em { font-style: normal; font-size: 10px; font-weight: 600; color: #121827; }
.lvg-bld-canvas-wrap { flex: 1; padding: 16px; background: #f4f6f8; min-width: 0; }
.lvg-bld-page { background: #fff; border-radius: 8px; border: 1px solid #e5e7eb; overflow: hidden; }
.lvg-bld-hero { padding: 20px; position: relative; }
.lvg-bld-hero h2 { font-size: 16px; font-weight: 800; color: #0a1628; margin-bottom: 6px; }
.lvg-bld-hero p { font-size: 10px; color: #64748b; margin-bottom: 12px; line-height: 1.5; }
.lvg-bld-cta { display: inline-block; font-size: 9px; padding: 6px 14px; border-radius: 6px; background: #0a1628; color: #fff; font-weight: 700; }
.lvg-bld-hero--drag { border: 2px dashed #25b8ad; border-radius: 6px; margin: 4px; }
.lvg-bld-handle { position: absolute; top: 6px; right: 6px; width: 14px; height: 14px; border-radius: 3px; background: #25b8ad; opacity: .6; }
.lvg-bld-toolbar { display: inline-flex; gap: 4px; padding: 4px 6px; background: #0a1628; border-radius: 6px; margin-bottom: 8px; }
.lvg-bld-toolbar span { font-size: 8px; color: #fff; font-weight: 700; padding: 2px 4px; }
.lvg-bld-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding: 0 16px 16px; }
.lvg-bld-grid div { height: 48px; border-radius: 6px; background: #f1f5f9; border: 1px solid #eef0f2; }
.lvg-bld-props { width: 120px; border-left: 1px solid #edf0f6; padding: 10px; background: #fff; flex-shrink: 0; }
.lvg-bld-props strong { display: block; font-size: 9px; margin-bottom: 10px; color: #121827; }
.lvg-bld-prop { margin-bottom: 8px; }
.lvg-bld-prop label { display: block; font-size: 8px; color: #94a3b8; margin-bottom: 3px; }
.lvg-bld-prop span { display: inline-block; width: 20px; height: 20px; border-radius: 4px; border: 1px solid #e5e7eb; }
.lvg-bld-prop em { font-style: normal; font-size: 9px; font-weight: 600; color: #334155; }

/* Mini site previews */
.mini-site {
    background: #fff; border-radius: 10px; border: 1px solid #e2e8f0;
    overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,.06);
    max-width: 320px; margin: 0 auto;
}
.mini-site--compact { max-width: 280px; }
.mini-site-chrome {
    display: flex; align-items: center; gap: 5px; padding: 6px 10px;
    background: #f8fafc; border-bottom: 1px solid #eef0f2;
}
.mini-site-chrome span { width: 7px; height: 7px; border-radius: 50%; background: #e2e8f0; }
.mini-site-chrome span:first-child { background: #fca5a5; }
.mini-site-chrome span:nth-child(2) { background: #fcd34d; }
.mini-site-chrome span:nth-child(3) { background: #86efac; }
.mini-site-chrome em { font-style: normal; font-size: 8px; color: #94a3b8; margin-left: auto; }
.mini-site-page { font-size: 9px; line-height: 1.35; color: #334155; }
.ms-nav { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #fff; border-bottom: 1px solid #f1f5f9; }
.ms-nav strong { font-size: 10px; font-weight: 800; color: #0a1628; }
.ms-nav nav { font-size: 7px; color: #94a3b8; flex: 1; }
.ms-nav--light strong { color: #475569; }
.ms-nav--pink { background: #fdf2f8; }
.ms-nav--pink strong { color: #be185d; }
.ms-nav--blue { background: #eff6ff; }
.ms-nav--blue strong { color: #1d4ed8; }
.ms-nav--warm { background: #fff7ed; }
.ms-nav--warm strong { color: #c2410c; }
.ms-nav--dark { background: #1e293b; }
.ms-nav--dark strong, .ms-nav--dark nav { color: #fff; }
.ms-cart { font-size: 7px; padding: 3px 6px; border-radius: 4px; background: #0a1628; color: #fff; }
.ms-btn { display: inline-block; font-size: 7px; padding: 4px 8px; border-radius: 4px; background: #0a1628; color: #fff; font-weight: 700; }
.ms-btn--sm { font-size: 6px; padding: 3px 6px; }
.ms-hero { padding: 16px 12px; }
.ms-hero h1 { font-size: 14px; font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 4px; }
.ms-hero p { font-size: 7px; color: rgba(255,255,255,.85); margin-bottom: 8px; }
.ms-hero--shop { background: linear-gradient(135deg,#0f766e,#134e4a); }
.ms-hero--port { background: linear-gradient(135deg,#475569,#1e293b); }
.ms-hero--port h1, .ms-hero--port p { color: #fff; }
.ms-hero--salon { background: linear-gradient(135deg,#db2777,#9d174d); }
.ms-hero--estate { background: linear-gradient(135deg,#2563eb,#1e40af); }
.ms-hero--blog { background: linear-gradient(135deg,#ea580c,#c2410c); }
.ms-hero--food { background: linear-gradient(135deg,#292524,#44403c); }
.ms-search { background: rgba(255,255,255,.2); border-radius: 6px; padding: 8px 10px; margin-top: 8px; }
.ms-search span { font-size: 7px; color: rgba(255,255,255,.7); }
.ms-tag { font-size: 6px; padding: 2px 6px; border-radius: 99px; background: rgba(255,255,255,.25); color: #fff; margin-bottom: 6px; display: inline-block; }
.ms-products { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; padding: 10px 12px; }
.ms-prod { text-align: center; }
.ms-prod .ms-img { height: 36px; border-radius: 6px; background: linear-gradient(135deg,#e2e8f0,#cbd5e1); margin-bottom: 4px; }
.ms-prod .ms-img--a { background: linear-gradient(135deg,#94a3b8,#475569); }
.ms-prod .ms-img--b { background: linear-gradient(135deg,#fcd34d,#ea580c); }
.ms-prod .ms-img--c { background: linear-gradient(135deg,#a7f3d0,#059669); }
.ms-trust { display: flex; justify-content: center; gap: 8px; padding: 8px 12px; flex-wrap: wrap; }
.ms-trust span { font-size: 6px; padding: 3px 6px; border-radius: 99px; background: #f1f5f9; color: #64748b; font-weight: 600; }
.ms-trust--pink span { background: #fdf2f8; color: #be185d; }
.ms-trust--dark span { background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); }
.ms-quote { padding: 10px 12px; text-align: center; background: #f8fafc; border-top: 1px solid #f1f5f9; }
.ms-quote p { font-size: 8px; font-style: italic; color: #475569; margin: 0 0 2px; }
.ms-quote em { font-size: 6px; color: #94a3b8; font-style: normal; }
.ms-gal--a { background: linear-gradient(135deg,#cbd5e1,#64748b); }
.ms-gal--b { background: linear-gradient(135deg,#fde68a,#d97706); }
.ms-gal--c { background: linear-gradient(135deg,#bfdbfe,#2563eb); }
.ms-gal--d { background: linear-gradient(135deg,#fbcfe8,#db2777); }
.ms-list-img--a { background: linear-gradient(135deg,#93c5fd,#3b82f6); }
.ms-list-img--b { background: linear-gradient(135deg,#6ee7b7,#059669); }
.ms-post-thumb--a { background: linear-gradient(135deg,#fdba74,#ea580c); }
.ms-post-thumb--b { background: linear-gradient(135deg,#86efac,#16a34a); }
.ms-post-thumb--c { background: linear-gradient(135deg,#fde047,#ca8a04); }
.ms-prod b { display: block; font-size: 7px; }
.ms-prod em { font-size: 7px; color: #25b8ad; font-weight: 700; font-style: normal; }
.ms-foot { text-align: center; font-size: 6px; color: #94a3b8; padding: 8px; border-top: 1px solid #f1f5f9; }
.ms-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 8px; }
.ms-gal { height: 40px; border-radius: 4px; background: linear-gradient(135deg,#cbd5e1,#94a3b8); }
.ms-gal--tall { grid-row: span 2; height: auto; }
.ms-gal--wide { grid-column: span 2; }
.ms-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; padding: 10px 12px; }
.ms-cards div { background: #fff; border-radius: 6px; padding: 8px; text-align: center; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.ms-cards b { display: block; font-size: 7px; margin-bottom: 2px; }
.ms-cards p { font-size: 6px; color: #64748b; margin: 0; }
.ms-listings { padding: 8px 12px; display: flex; flex-direction: column; gap: 6px; }
.ms-listings article { display: flex; gap: 8px; background: #f8fafc; border-radius: 6px; padding: 6px; }
.ms-list-img { width: 40px; height: 32px; border-radius: 4px; background: linear-gradient(135deg,#93c5fd,#3b82f6); flex-shrink: 0; }
.ms-listings b { display: block; font-size: 7px; }
.ms-listings em { font-size: 7px; color: #2563eb; font-weight: 700; font-style: normal; }
.ms-listings p { font-size: 6px; color: #64748b; margin: 0; }
.ms-posts { padding: 8px 12px; display: flex; flex-direction: column; gap: 6px; }
.ms-posts article { display: flex; gap: 8px; align-items: center; }
.ms-post-thumb { width: 36px; height: 28px; border-radius: 4px; background: linear-gradient(135deg,#fdba74,#ea580c); flex-shrink: 0; }
.ms-posts b { font-size: 7px; display: block; }
.ms-posts em { font-size: 6px; color: #94a3b8; font-style: normal; }
.ms-menu { padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; }
.ms-menu div { display: flex; justify-content: space-between; padding: 4px 0; border-bottom: 1px solid #f1f5f9; font-size: 7px; }
.ms-menu em { font-style: normal; font-weight: 700; color: #0a1628; }

/* Mobile dashboard mock */
.lvg-mobile-mock { display: flex; justify-content: center; background: transparent; border: none; box-shadow: none; animation: none; }
.lvg-mobile-frame {
    width: 260px; background: #1e293b; border-radius: 28px; padding: 10px;
    box-shadow: 0 24px 64px rgba(0,0,0,.15);
}
.lvg-mobile-notch { width: 80px; height: 6px; background: #334155; border-radius: 99px; margin: 0 auto 8px; }
.lvg-mobile-screen { background: #f8fafc; border-radius: 20px; overflow: hidden; padding: 12px; min-height: 380px; display: flex; flex-direction: column; }
.lvg-mobile-head { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; }
.lvg-mobile-head .brand-mark { width: 14px; height: 14px; }
.lvg-mobile-head strong { font-size: 12px; font-weight: 800; }
.lvg-mobile-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.lvg-mobile-stats div { background: #fff; border: 1px solid #eef0f2; border-radius: 10px; padding: 10px; }
.lvg-mobile-stats span { display: block; font-size: 8px; color: #94a3b8; }
.lvg-mobile-stats strong { font-size: 16px; color: #121827; }
.lvg-mobile-chart { background: #fff; border: 1px solid #eef0f2; border-radius: 10px; padding: 10px; margin-bottom: 12px; flex: 1; }
.lvg-mobile-chart span { display: block; font-size: 9px; font-weight: 700; margin-bottom: 6px; }
.lvg-mobile-chart svg { width: 100%; height: 60px; }
.lvg-mobile-list div { display: flex; justify-content: space-between; font-size: 9px; padding: 6px 0; border-bottom: 1px solid #eef0f2; color: #64748b; }
.lvg-mobile-list em { font-style: normal; font-weight: 700; color: #121827; }
.lvg-mobile-nav { display: flex; justify-content: space-around; margin-top: auto; padding-top: 10px; border-top: 1px solid #eef0f2; }
.lvg-mobile-nav span { font-size: 8px; color: #94a3b8; }
.lvg-mobile-nav span.on { color: #1a9e94; font-weight: 700; }

/* SEO / email / integrations mocks */
.lvg-seo-score { display: flex; align-items: baseline; gap: 4px; margin-bottom: 14px; }
.lvg-seo-score span { font-size: 10px; color: #64748b; margin-right: 8px; }
.lvg-seo-score strong { font-size: 28px; color: #25b8ad; font-weight: 800; }
.lvg-seo-score em { font-size: 12px; color: #94a3b8; font-style: normal; }
.lvg-seo-fields { display: flex; flex-direction: column; gap: 8px; }
.lvg-seo-fields div { background: #fff; border: 1px solid #eef0f2; border-radius: 8px; padding: 10px; }
.lvg-seo-fields label { display: block; font-size: 8px; color: #94a3b8; margin-bottom: 4px; }
.lvg-seo-fields span { font-size: 10px; color: #334155; }
.lvg-seo-fields span.ok { color: #25b8ad; font-weight: 600; }
.lvg-email-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 12px; }
.lvg-email-stats div { background: #fff; border: 1px solid #eef0f2; border-radius: 8px; padding: 10px; }
.lvg-email-stats span { display: block; font-size: 8px; color: #94a3b8; }
.lvg-email-stats strong { font-size: 14px; color: #121827; }
.lvg-email-list div { background: #fff; border: 1px solid #eef0f2; border-radius: 8px; padding: 10px; margin-bottom: 6px; }
.lvg-email-list b { display: block; font-size: 10px; margin-bottom: 2px; }
.lvg-email-list em { font-size: 9px; color: #64748b; font-style: normal; }
.lvg-int-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.lvg-int-card { background: #fff; border: 1px solid #eef0f2; border-radius: 10px; padding: 12px; display: flex; align-items: center; gap: 10px; }
.lvg-int-card .int-logo { width: 36px; height: 36px; flex-shrink: 0; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.lvg-int-card .int-logo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.lvg-int-card > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lvg-int-card span { font-size: 10px; font-weight: 700; }
.lvg-int-card em { font-size: 9px; color: #94a3b8; font-style: normal; }
.lvg-int-card.on em { color: #25b8ad; font-weight: 600; }

.lvg-ads-grid { display: flex; flex-direction: column; gap: 8px; }
.lvg-ads-card { background: #fff; border: 1px solid #eef0f2; border-radius: 10px; padding: 12px; display: flex; align-items: center; gap: 12px; }
.lvg-ads-card.on { border-color: #b8ebe7; background: #f0fdfa; }
.lvg-ads-card b { display: block; font-size: 11px; font-weight: 700; }
.lvg-ads-card em { font-size: 9px; color: #94a3b8; font-style: normal; }
.lvg-ads-card.on em { color: #25b8ad; font-weight: 600; }
.lvg-ads-logo { width: 28px !important; height: 28px !important; max-width: 28px; max-height: 28px; border-radius: 6px; flex-shrink: 0; object-fit: contain; display: block; }
.lvg-ads-icon { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; }
.lvg-ads-icon.ga { background: linear-gradient(135deg,#4285F4,#34A853); }
.lvg-ads-icon.fb { background: #1877F2; }
.lvg-ads-icon.ig { background: linear-gradient(135deg,#833AB4,#FD1D1D,#FCAF45); }

/* Blog pages */
.blog-page { padding: 48px 0 80px; }
.blog-page-head { max-width: 640px; margin-bottom: 40px; }
.blog-page-head h1 { font-size: clamp(2rem,4vw,2.75rem); font-weight: 800; margin: 12px 0 8px; }
.blog-page-head p { color: var(--muted); font-size: 16px; }
.blog-back { font-size: 14px; font-weight: 600; color: var(--brand-dark); text-decoration: none; }
.blog-back:hover { text-decoration: underline; }
.blog-article { padding: 40px 0 80px; }
.blog-article-inner { max-width: 720px; }
.blog-article-cat { position: static; display: inline-block; margin: 16px 0 12px; }
.blog-article h1 { font-size: clamp(1.75rem,4vw,2.5rem); font-weight: 800; line-height: 1.15; margin-bottom: 12px; }
.blog-article-meta { color: var(--muted); font-size: 14px; margin-bottom: 28px; }
.blog-article-cover { height: 320px; border-radius: var(--radius-lg); background: center/cover no-repeat; margin-bottom: 32px; }
.blog-article-body { font-size: 17px; line-height: 1.75; color: #334155; }
.blog-article-body p { margin-bottom: 1.25em; }
.blog-article-lead { font-size: 1.15rem; color: var(--ink); font-weight: 500; }
.blog-article-cta { margin-top: 48px; padding: 32px; background: var(--soft); border-radius: var(--radius-lg); text-align: center; }
.blog-article-cta h2 { font-size: 1.35rem; margin-bottom: 8px; }
.blog-article-cta p { color: var(--muted); margin-bottom: 20px; }

/* ── Responsive ── */
@media (max-width: 1024px) {
    .feat-panel.active, .biz-grid, .mkt-grid, .pillar-grid, .steps-grid, .blog-grid, .sites-grid, .support-grid { grid-template-columns: 1fr 1fr; }
    .feat-panel.active { grid-template-columns: 1fr; }
    .dash-frame { grid-template-columns: 1fr; }
    .dash-frame-side { display: none; }
    .dash-frame-stats, .dash-frame-grid, .dash-frame-bottom { grid-template-columns: 1fr; }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .wix-dropdown { min-width: 320px; grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .biz-grid-photos, .mkt-grid { grid-template-columns: 1fr; }
    .lvg-preview-stats { grid-template-columns: repeat(2,1fr); }
    .lvg-preview-mid { grid-template-columns: 1fr; }
    .lvg-preview-side { display: none; }
    .wix-menu { display: none; }
    .biz-grid, .mkt-grid, .pillar-grid, .steps-grid, .blog-grid, .sites-grid, .support-grid, .footer-top { grid-template-columns: 1fr; }
    .home-hero-grid, .home-dash-grid { grid-template-columns: 1fr; }
    .home-feat-grid { grid-template-columns: 1fr; }
    .home-cta-inner { flex-direction: column; text-align: center; }
}

/* ═══════════════════════════════════════════════
   Homepage v2 — mockup layout + page glow
   ═══════════════════════════════════════════════ */
.home-page { position: relative; }
.page-glow {
    position: fixed; inset: 0; pointer-events: none; z-index: 0;
    overflow: hidden;
    opacity: .5;
}
.home-hero-copy,
.home-hero-visual {
    opacity: 1;
    transform: none;
}
.page-glow .wix-glow-orb--cyan { left: -5%; top: 8%; }
.page-glow .wix-glow-orb--peach { right: -4%; top: 35%; }
.page-glow .wix-glow-orb--mint { left: 30%; top: 62%; }

.larrly-brand {
    display: inline-flex; align-items: center; gap: 9px;
    font-size: 20px; font-weight: 800; letter-spacing: -.03em;
    color: var(--ink); text-decoration: none;
}
.larrly-brand-text { line-height: 1; }
.footer-brand.larrly-brand { margin-bottom: 12px; color: #fff; }
.wix-footer .footer-brand .brand-mark::before,
.wix-footer .footer-brand .brand-mark::after { background: #4fd1c5; }

.btn-teal { background: var(--brand); color: #fff; }
.btn-teal:hover { background: var(--brand-dark); transform: translateY(-1px); }
.btn-white { background: #fff; color: var(--ink); border: 1.5px solid rgba(255,255,255,.4); }
.btn-white:hover { background: #f8fafc; }

.home-hero {
    position: relative; z-index: 1;
    padding: 56px 0 120px;
    min-height: 88vh;
    background: transparent;
    overflow: hidden;
}
.home-hero > .home-layer-inner {
    position: relative;
    z-index: 1;
}
.home-hero-copy h1 { position: relative; }
.home-hero-grid {
    display: grid; grid-template-columns: 1fr 1.05fr;
    gap: 48px; align-items: center;
    position: relative;
    z-index: 2;
    isolation: isolate;
}
.home-hero-copy { text-align: left; position: relative; z-index: 1; }
.home-hero-copy h1 {
    font-size: clamp(38px, 4.8vw, 58px);
    font-weight: 800; letter-spacing: -.04em;
    line-height: 1.05; margin-bottom: 20px;
}
.home-hero-copy > p {
    font-size: 17px; color: var(--muted); line-height: 1.65;
    max-width: 480px; margin-bottom: 28px;
}
.home-hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.home-hero-checks {
    list-style: none; display: flex; flex-direction: column; gap: 10px;
}
.home-hero-checks li {
    display: flex; align-items: center; gap: 10px;
    font-size: 14px; font-weight: 500; color: var(--muted);
}
.home-hero-checks li::before {
    content: ''; width: 18px; height: 18px; border-radius: 50%;
    background: var(--brand-soft);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a9e94' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: center; background-size: 11px;
    flex-shrink: 0;
}
.home-hero-visual { position: relative; z-index: 1; }
.home-hero-glow-local {
    position: absolute; inset: -12% -8%;
    background: radial-gradient(ellipse at 50% 50%, rgba(37,184,173,.22) 0%, transparent 68%);
    filter: blur(40px); pointer-events: none;
    opacity: 1;
    animation: glowPulse 10s ease-in-out infinite;
}
.home-hero-glow-local--dash {
    background: radial-gradient(ellipse at 40% 50%, rgba(37,184,173,.2) 0%, transparent 70%);
    opacity: 1;
}
@keyframes glowPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .88; transform: scale(1.03); }
}
.home-hero-shot--static { animation: none; }
.home-parallax-wrap { position: relative; will-change: transform; }
.home-hero-shot {
    position: relative; border-radius: 16px; overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 28px 80px rgba(15,23,42,.12);
    animation: floatShot 7s ease-in-out infinite;
}
.home-hero-shot .home-theme-img {
    width: 100%; height: auto; display: block;
}
.home-hero-shot .home-theme-img--dark { display: none; }
[data-theme="dark"] .home-hero-shot .home-theme-img--light { display: none; }
[data-theme="dark"] .home-hero-shot .home-theme-img--dark { display: block; }
@keyframes floatShot {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.home-section-label {
    font-size: 11px; font-weight: 800; letter-spacing: .1em;
    text-transform: uppercase; color: var(--brand-dark);
    margin-bottom: 12px;
}
.home-features { padding-top: 40px; padding-bottom: 72px; }

/* Wix-style colored pillar cards */
.home-pillar-scroll-wrap {
    overflow: hidden;
    margin: 0 -8px;
    padding: 0 8px;
}
.home-pillar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.home-features:not(.is-settled) .home-pillar:hover {
    transform: none;
    box-shadow: none;
}
.home-pillar {
    border-radius: 24px;
    min-height: 300px;
    padding: 28px 24px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease-out, opacity 0.2s ease-out, box-shadow 0.3s ease;
    will-change: transform, opacity;
}
.home-features.is-settled .home-pillar { will-change: auto; }
.home-pillar:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12);
}
.home-pillar h3 {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 12px;
}
.home-pillar p {
    font-size: 14px;
    line-height: 1.6;
    opacity: 0.92;
}
.home-pillar-link {
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    margin-top: 20px;
    display: inline-block;
    transition: opacity 0.15s;
}
.home-pillar-link:hover { opacity: 0.8; }
.home-pillar--teal {
    background: linear-gradient(165deg, #1a9e94 0%, #0d6b63 100%);
    color: #fff;
}
.home-pillar--teal .home-pillar-link { color: #fff; }
.home-pillar--mint {
    background: linear-gradient(165deg, #e8fbf8 0%, #c5f0ea 100%);
    color: #0f172a;
}
.home-pillar--mint .home-pillar-link { color: #1a9e94; }
.home-pillar--navy {
    background: linear-gradient(165deg, #121827 0%, #1e293b 100%);
    color: #f1f5f9;
}
.home-pillar--navy .home-pillar-link { color: #4fd1c5; }
.home-pillar--coral {
    background: linear-gradient(165deg, #fde8e0 0%, #f5d0c4 100%);
    color: #1c1917;
}
.home-pillar--coral .home-pillar-link { color: #c2410c; }

/* Legacy feat cards — kept for other pages */
.home-feat-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.home-feat-card {
    background: #fff; border: 1px solid var(--line);
    border-radius: var(--radius-lg); padding: 28px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s;
}
.home-feat-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(15,23,42,.08);
    border-color: rgba(37,184,173,.35);
}
.home-feat-icon {
    width: 44px; height: 44px; border-radius: 12px;
    background: var(--brand-soft); color: var(--brand-dark);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 18px;
}
.home-feat-card h3 { font-size: 18px; font-weight: 800; margin-bottom: 10px; letter-spacing: -.02em; }
.home-feat-card p { font-size: 14px; color: var(--muted); line-height: 1.65; margin-bottom: 16px; }
.home-feat-card a { font-size: 14px; font-weight: 700; color: var(--brand-dark); }
.home-feat-card a span { transition: transform .15s; display: inline-block; }
.home-feat-card:hover a span { transform: translateX(4px); }

.tpl-filters {
    display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
    margin-bottom: 32px;
}
.tpl-filter {
    padding: 9px 18px; border-radius: 999px;
    border: 1.5px solid var(--line); background: #fff;
    font-size: 13px; font-weight: 600; cursor: pointer;
    transition: all .15s;
}
.tpl-filter.active, .tpl-filter:hover {
    background: var(--brand); border-color: var(--brand); color: #fff;
}
.tpl-grid-wrap { position: relative; padding: 0 4px; }
.tpl-grid-track {
    overflow: hidden;
    margin: 0 -4px;
}
.tpl-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 8px 4px 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.tpl-grid::-webkit-scrollbar { display: none; }
.tpl-grid-card {
    flex: 0 0 calc(20% - 13px);
    min-width: 200px;
    scroll-snap-align: start;
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    overflow: hidden; background: #fff;
    transition: transform .25s, box-shadow .25s;
}
.tpl-grid-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.08); }
.tpl-grid-card.is-hidden { display: none; }
.tpl-grid-preview { aspect-ratio: 3/4; overflow: hidden; background: #f1f5f9; }
.tpl-grid-preview img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.tpl-grid-foot {
    padding: 14px 16px; display: flex; align-items: center; justify-content: space-between;
}
.tpl-grid-foot strong { font-size: 14px; font-weight: 700; }
.tpl-grid-foot a { font-size: 12px; font-weight: 700; color: var(--brand-dark); }
.tpl-scroll-btn {
    position: absolute;
    top: 42%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.15s, opacity 0.15s;
    z-index: 5;
}
.tpl-scroll-btn--prev { left: -6px; }
.tpl-scroll-btn--next { right: -6px; }
.tpl-scroll-btn:hover { transform: scale(1.08); }
.tpl-scroll-btn:disabled { opacity: 0.35; cursor: default; transform: none; }

/* Hero enter animations */
.home-hero-enter-item {
    opacity: 0;
    animation: heroTextIn 0.52s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: var(--d, 0ms);
}
.home-hero-visual-enter .home-hero-shot-interactive {
    opacity: 0;
    animation: heroVisualIn 0.58s 0.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes heroTextIn {
    from { opacity: 0; transform: translateY(-16px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes heroVisualIn {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}
.home-hero-shot-interactive {
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    border-radius: 16px;
    overflow: hidden;
}
.home-hero-visual-enter:hover .home-hero-shot-interactive {
    transform: translateY(-5px) scale(1.012);
    box-shadow: 0 28px 56px rgba(37, 184, 173, 0.18);
}
@media (prefers-reduced-motion: reduce) {
    .home-hero-enter-item,
    .home-hero-visual-enter .home-hero-shot-interactive {
        animation: none;
        opacity: 1;
        transform: none;
    }
    .home-hero-visual-enter:hover .home-hero-shot-interactive {
        transform: none;
    }
}

.home-dash-section { position: relative; z-index: 1; padding-bottom: 56px; }
.home-templates-section { padding-top: 56px; }
.home-section-slide .home-dash-copy,
.home-section-slide .home-dash-visual {
    transition: opacity 0.15s ease-out, transform 0.15s ease-out;
    will-change: opacity, transform;
}
.home-templates-section .container {
    transition: opacity 0.15s ease-out, transform 0.15s ease-out;
    will-change: opacity, transform;
}
.home-dash-visual .home-hero-glow-local { opacity: 1; }
.home-dash-grid {
    display: grid; grid-template-columns: .9fr 1.1fr;
    gap: 56px; align-items: center;
}
.home-dash-copy h2 {
    font-size: clamp(28px, 3.2vw, 40px);
    font-weight: 800; letter-spacing: -.03em;
    line-height: 1.12; margin-bottom: 16px;
}
.home-dash-copy p { font-size: 16px; color: var(--muted); line-height: 1.65; margin-bottom: 24px; max-width: 440px; }

.home-cta-band {
    position: relative; z-index: 1;
    margin: 88px 24px 80px; max-width: calc(var(--container) + 48px);
    margin-left: auto; margin-right: auto;
    background: linear-gradient(135deg, #e8fbf8 0%, #d4f5f1 100%);
    border-radius: 24px; padding: 36px 40px;
    border: 1px solid rgba(37,184,173,.2);
}
.home-cta-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px; flex-wrap: wrap;
}
.home-cta-brand {
    display: flex; align-items: center; gap: 14px;
    font-size: 22px; font-weight: 800; letter-spacing: -.02em;
}
.home-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.footer-social {
    display: flex; gap: 12px; margin-top: 16px;
}
.footer-social a {
    width: 36px; height: 36px; border-radius: 10px;
    border: 1px solid rgba(255,255,255,.15);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.75); transition: all .15s;
}
.footer-social a:hover { background: rgba(255,255,255,.1); color: #fff; }

.reveal {
    opacity: 0; transform: translateY(24px);
    transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
}
.reveal.revealed { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }

/* ── Scroll stack — secties lappen over elkaar (alleen binnen stack) ── */
.home-scroll-stack {
    position: relative;
}
.home-scroll-stack-spacer {
    height: 12vh;
    pointer-events: none;
}
.home-scroll-layer--stack {
    position: sticky;
    top: var(--nav-h, 64px);
    margin-top: -48px;
    padding-top: 48px;
    border-radius: 28px 28px 0 0;
    box-shadow: 0 -16px 48px rgba(15, 23, 42, 0.06);
}
.home-scroll-layer[data-layer="2"] { z-index: 2; background: #fff; }
.home-pillar-grid.is-slotting {
    will-change: transform;
    transition: transform 0.08s ease-out;
}
.home-pillar-grid.is-slotting .home-pillar:hover {
    transform: none;
    box-shadow: none;
}
.home-layer-inner {
    transition: opacity 0.12s ease-out, transform 0.12s ease-out;
    will-change: opacity, transform;
}

/* Homepage mobiel menu */
.wix-nav-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    margin-right: 8px;
}
.wix-nav-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    background: var(--ink);
    border-radius: 2px;
    transition: transform 0.2s, opacity 0.2s;
}
.wix-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.wix-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.wix-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.wix-mobile-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: 1100;
    opacity: 0;
    transition: opacity 0.25s;
}
.wix-mobile-backdrop.is-open { opacity: 1; }
.wix-mobile-sheet {
    position: fixed;
    top: 0;
    right: 0;
    width: min(320px, 88vw);
    height: 100%;
    background: #fff;
    z-index: 1101;
    transform: translateX(100%);
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: -8px 0 40px rgba(15, 23, 42, 0.12);
    display: flex;
    flex-direction: column;
}
.wix-mobile-sheet.is-open { transform: translateX(0); }
.wix-mobile-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
    font-weight: 800;
    font-size: 16px;
}
.wix-mobile-close {
    width: 36px;
    height: 36px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--muted);
}
.wix-mobile-body {
    padding: 16px 20px 28px;
    overflow-y: auto;
    flex: 1;
}
.wix-mobile-group { margin-bottom: 20px; }
.wix-mobile-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--brand-dark);
    margin-bottom: 8px;
}
.wix-mobile-group a {
    display: block;
    padding: 11px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    border-bottom: 1px solid var(--line);
}
.wix-mobile-group a:last-child { border-bottom: none; }
.wix-mobile-cta { width: 100%; margin-top: 12px; text-align: center; }
body.wix-mobile-open { overflow: hidden; }

@media (max-width: 768px) {
    .wix-nav-toggle { display: flex; margin-left: auto; margin-right: 4px; }
    .wix-mobile-backdrop { display: block; }
    .wix-nav .container { flex-wrap: nowrap; }
    .wix-nav-right { margin-left: 0; gap: 6px; }
    .wix-nav-right a:not(.btn) { display: none; }
}
[data-theme="dark"] .wix-nav-toggle { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .wix-nav-toggle span { background: #f1f5f9; }
[data-theme="dark"] .wix-mobile-sheet { background: #151b24; }
[data-theme="dark"] .wix-mobile-sheet-head { border-color: #1e293b; color: #f1f5f9; }
[data-theme="dark"] .wix-mobile-close { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .wix-mobile-group a { color: #e2e8f0; border-color: #1e293b; }

/* Pillar icon badges */
.home-pillar-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(6px);
}
.home-pillar--mint .home-pillar-icon {
    background: rgba(26, 158, 148, 0.15);
    color: #1a9e94;
}
.home-pillar--coral .home-pillar-icon {
    background: rgba(194, 65, 12, 0.12);
    color: #c2410c;
}

/* Horizontale swipe — templates altijd, pillars op mobiel */
.tpl-grid {
    display: flex !important;
    grid-template-columns: unset !important;
}
.home-pillar-scroll-wrap,
.tpl-grid-wrap {
    position: relative;
}
.home-pillar-scroll-wrap {
    margin: 0 -4px;
    overflow: hidden;
}
.home-pillar-reel {
    display: contents;
}
.home-pillar-grid.is-slotting {
    will-change: transform;
}

@media (max-width: 1024px) {
    .home-pillar-scroll-wrap,
    .tpl-grid-wrap {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .home-pillar-grid {
        display: flex !important;
        grid-template-columns: unset !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        padding: 4px 0 12px;
        gap: 14px;
    }
    .home-pillar-grid::-webkit-scrollbar { display: none; }
    .home-pillar-grid .home-pillar {
        flex: 0 0 calc(50% - 7px);
        min-width: 280px;
        scroll-snap-align: start;
    }
    .tpl-grid-card { flex: 0 0 calc(45% - 8px) !important; min-width: 240px; }
}

@media (max-width: 720px) {
    .home-scroll-layer--stack {
        position: relative;
        margin-top: 0;
        padding-top: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .home-scroll-stack-spacer { height: 0; display: none; }
    .home-hero { min-height: 82vh; padding-bottom: 80px; }

    .home-pillar-grid .home-pillar {
        flex: 0 0 84%;
        min-width: 260px;
        min-height: 280px;
        transform: none !important;
    }
    .home-pillar-grid.is-slotting .home-pillar {
        transition: none;
    }
    .tpl-grid-wrap {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .tpl-grid {
        padding-left: 0;
        padding-right: 0;
    }
    .tpl-grid-card {
        flex: 0 0 82% !important;
        min-width: 0;
        scroll-snap-align: center;
    }
    .tpl-scroll-btn {
        width: 38px;
        height: 38px;
        top: 40%;
    }
    .tpl-scroll-btn--prev { left: 4px; }
    .tpl-scroll-btn--next { right: 4px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-scroll-layer--stack {
        position: relative;
        top: auto;
        margin-top: 0;
        padding-top: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .home-scroll-stack-spacer { display: none; }
    .home-layer-inner {
        opacity: 1 !important;
        transform: none !important;
    }
}

main { position: relative; z-index: 1; overflow-x: clip; }
.home-page { overflow-x: clip; }
.home-scroll-stack { overflow-x: clip; }
.wix-nav, .wix-footer { position: relative; z-index: 1000; }

/* Dark mode (homepage) */
[data-theme="dark"] .home-scroll-layer[data-layer="2"] { background: #0b0f14; }
[data-theme="dark"] .home-pillar--mint .home-pillar-icon {
    background: rgba(79, 209, 197, 0.15);
    color: #4fd1c5;
}
[data-theme="dark"] body.home-page {
    background: #0b0f14; color: #e2e8f0;
    --ink: #f1f5f9; --muted: #94a3b8; --line: #1e293b;
    --soft: #151b24; --card: #151b24;
}
[data-theme="dark"] .wix-nav {
    background: rgba(15,20,28,.96); border-bottom-color: #1e293b;
    backdrop-filter: blur(12px);
}
[data-theme="dark"] .wix-dropdown,
[data-theme="dark"] .home-pillar--mint { background: linear-gradient(165deg, #1e293b 0%, #0f172a 100%); color: #f1f5f9; }
[data-theme="dark"] .home-pillar--coral { background: linear-gradient(165deg, #3f2a22 0%, #292018 100%); color: #fde8e0; }
[data-theme="dark"] .tpl-grid-card,
[data-theme="dark"] .home-feat-card,
[data-theme="dark"] .faq-item,
[data-theme="dark"] .wix-section.soft {
    background: #151b24; border-color: #1e293b;
}
[data-theme="dark"] .home-feat-icon {
    background: #1e293b; border-color: #334155; color: #4fd1c5;
}
[data-theme="dark"] .home-feat-card h3 { color: #f1f5f9; }
[data-theme="dark"] .home-feat-card p { color: #94a3b8; }
[data-theme="dark"] .home-hero-shot {
    border-color: #1e293b;
    box-shadow: 0 28px 80px rgba(0,0,0,.45);
}
[data-theme="dark"] .home-cta-band {
    background: linear-gradient(135deg, #151b24 0%, #1a2e2c 100%);
    border-color: rgba(37,184,173,.25);
}
[data-theme="dark"] .btn-black,
[data-theme="dark"] .wix-nav-right .btn-black {
    background: #f1f5f9; color: #0f172a;
}
[data-theme="dark"] .btn-white {
    background: #1e293b; color: #e2e8f0; border-color: #334155;
}
[data-theme="dark"] .btn-outline {
    border-color: #334155; color: #e2e8f0; background: transparent;
}
[data-theme="dark"] .wix-menu-btn:hover { background: #1e293b; }
[data-theme="dark"] .page-glow { opacity: .35; }
[data-theme="dark"] .tpl-filters button {
    background: #1e293b; border-color: #334155; color: #94a3b8;
}
[data-theme="dark"] .tpl-filters button.active {
    background: rgba(37,184,173,.15); color: #4fd1c5; border-color: rgba(37,184,173,.35);
}
[data-theme="dark"] .wix-footer {
    background: #080b10; border-top-color: #1e293b;
}
.home-theme-toggle {
    width: 40px; height: 40px; border-radius: 10px;
    border: 1px solid var(--line); background: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; color: var(--ink); padding: 0;
}
.home-theme-toggle .icon-moon { display: none; }
[data-theme="dark"] .home-theme-toggle { background: #1e293b; border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .home-theme-toggle .icon-sun { display: none; }
[data-theme="dark"] .home-theme-toggle .icon-moon { display: block; }
