/* v20260528_0240 Protein-style public SaaS polish: white background, sky-blue accent only */
:root{
    --zp-sky:#0ea5e9;
    --zp-sky-2:#2563eb;
    --zp-ink:rgb(34,53,72);
    --zp-soft-ink:#4f6378;
    --zp-line:#d9e9f7;
    --zp-subtle:#f7fbff;
    --zp-radius-clean:18px;
}
body.zp-public-page{
    font-family:"72 Brand Variable",Arial,Helvetica,sans-serif!important;
    font-weight:400;
    color:var(--zp-ink)!important;
    background:#fff!important;
    font-size:16px;
    line-height:24px;
}
body.zp-public-page:before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(14,165,233,.055) 1px,transparent 1px),
        linear-gradient(180deg,rgba(14,165,233,.05) 1px,transparent 1px);
    background-size:96px 96px;
    mask-image:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.08) 38%,transparent 78%);
}
.zp-page-shell,.zp-narrow-shell{width:min(1260px,calc(100vw - 48px));padding:18px 0 38px}.zp-detail-shell{max-width:1180px}.zp-topbar{position:sticky;top:12px;z-index:40;height:68px;border:1px solid rgba(217,233,247,.96)!important;background:rgba(255,255,255,.94)!important;box-shadow:0 12px 34px rgba(34,53,72,.07)!important;backdrop-filter:blur(16px);border-radius:16px!important}.zp-simple-topbar{position:relative;top:auto;border:1px solid rgba(217,233,247,.96)!important;background:#fff!important}.zp-brand{color:var(--zp-ink)!important}.zp-brand-mark{background:#fff!important;color:var(--zp-sky)!important;border:1px solid rgba(14,165,233,.35);box-shadow:none!important}.zp-brand strong{font-weight:500!important;letter-spacing:-.035em;color:var(--zp-ink)}.zp-brand small{font-weight:400!important;color:#6b7c8c}.zp-brand b{color:var(--zp-sky)!important;font-weight:500}.zp-nav{gap:30px}.zp-nav a{font-weight:500!important;color:var(--zp-ink)!important}.zp-nav a.active,.zp-nav a:hover{color:var(--zp-sky)!important}.zp-nav a.active:after{bottom:-21px;background:var(--zp-sky);height:2px}.zp-top-actions .zp-link{font-weight:500;color:var(--zp-ink)}.zp-btn{border-radius:9px!important;box-shadow:none!important;font-weight:500!important;border:1px solid var(--zp-line)!important}.zp-btn-primary{background:var(--zp-sky)!important;border-color:var(--zp-sky)!important;color:#fff!important;box-shadow:0 12px 26px rgba(14,165,233,.18)!important}.zp-btn-primary:hover{background:#0284c7!important}.zp-btn-ghost,.zp-btn-login{background:#fff!important;color:var(--zp-ink)!important}.zp-pill{background:#fff!important;border:1px solid rgba(14,165,233,.28)!important;color:#0284c7!important;border-radius:999px;font-weight:500!important}.zp-hero-grid{padding:70px 24px 28px;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:50px}.zp-hero-copy h1,.zp-modules-layout h1,.zp-form-card h1,.zp-login-copy h1,.zp-module-hero-copy h1{font-weight:500!important;color:var(--zp-ink)!important;letter-spacing:-.055em}.zp-hero-copy h1 span,.zp-register-visual h1 span,.zp-login-copy h1 span,.zp-module-hero-copy h1 span{color:var(--zp-sky)!important}.zp-hero-copy p,.zp-page-subtitle,.zp-register-visual p,.zp-login-copy p,.zp-module-hero-copy p,.zp-zigzag-copy p,.zp-section-heading p{color:var(--zp-soft-ink)!important;font-weight:400!important;line-height:24px}.zp-hero-photo-card,.zp-register-photo-card,.zp-dashboard-preview,.zp-module-hero-image,.zp-zigzag-image{border-radius:18px!important;background:#fff!important;border:1px solid var(--zp-line)!important;box-shadow:0 18px 44px rgba(34,53,72,.08)!important}.zp-float-card,.zp-photo-stat{border-radius:12px!important;border:1px solid var(--zp-line)!important;box-shadow:0 14px 30px rgba(34,53,72,.08)!important}.zp-module-strip,.zp-stat-row article,.zp-feature-cards article,.zp-module-card,.zp-selection-card,.zp-form-card,.zp-login-card,.zp-register-visual,.zp-detail-cta,.zp-pricing-card{background:#fff!important;border:1px solid var(--zp-line)!important;border-radius:18px!important;box-shadow:0 14px 36px rgba(34,53,72,.07)!important}.zp-module-card.is-selected,.zp-submodule-option:has(input:checked){border-color:rgba(14,165,233,.55)!important;box-shadow:0 16px 40px rgba(14,165,233,.11)!important}.zp-module-icon,.zp-stat-row span,.zp-feature-cards span{background:#eef8ff!important;color:var(--zp-sky)!important}.zp-check{border-radius:5px!important}.zp-module-parent:checked+.zp-check,.zp-submodule-option input:checked{accent-color:var(--zp-sky)!important}.zp-submodule-option{border-radius:10px;background:#fbfdff!important;border-color:var(--zp-line)!important}.zp-info-banner,.zp-note,.zp-secure-note{background:#f5fbff!important;border-color:rgba(14,165,233,.22)!important;color:#36647e!important}.zp-modules-layout,.zp-register-layout,.zp-login-layout{padding-top:46px}.zp-stepper{margin:34px auto 26px}.zp-stepper .is-active b,.zp-stepper .is-done b{background:var(--zp-sky)!important;border-color:var(--zp-sky)!important}.zp-form-card input,.zp-form-card select,.zp-login-card input,.zp-login-card select,.zp-form-card textarea{border-radius:9px!important;border-color:var(--zp-line)!important;background:#fff;color:var(--zp-ink);font-family:inherit}.zp-form-card label,.zp-login-card label{font-weight:500!important;color:var(--zp-ink)}.zp-consent a,.zp-form-line a,.zp-module-action,.zp-readmore-action{color:var(--zp-sky)!important}.zp-login-layout{grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:36px}.zp-login-card{padding:38px}.zp-security-list article{background:#fff!important;border:1px solid var(--zp-line)!important;border-radius:14px!important}.zp-module-detail-page,.zp-module-pricing-page{background:#fff!important}.zp-module-hero{padding:70px 0 42px}.zp-module-hero-copy h1{font-size:clamp(44px,6vw,72px)!important}.zp-zigzag-row,.zp-zigzag-row.is-reverse{gap:42px}.zp-zigzag-copy span,.zp-section-heading span,.zp-detail-cta span{color:var(--zp-sky)!important;font-weight:500!important}.zp-zigzag-copy h2,.zp-detail-cta h2,.zp-section-heading h2{font-weight:500!important;color:var(--zp-ink)!important}.zp-btn-whatsapp{background:#fff!important;color:#128c7e!important;border:1px solid rgba(18,140,126,.2)!important}.zp-live-chat-bubble{border-radius:18px!important;border:1px solid var(--zp-line)!important;background:#fff!important;box-shadow:0 14px 34px rgba(34,53,72,.10)!important}.zp-public-footer.protein-like-footer{margin:24px auto 0;padding:34px 0 24px;border-top:1px solid var(--zp-line);display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.2fr);gap:28px;color:var(--zp-ink)}.zp-footer-brand{display:flex;align-items:center;gap:12px;color:var(--zp-ink);text-decoration:none}.zp-footer-brand span{width:42px;height:42px;border-radius:12px;border:1px solid rgba(14,165,233,.35);display:grid;place-items:center;color:var(--zp-sky);font-weight:500}.zp-footer-brand strong{display:grid;font-weight:500}.zp-footer-brand small{font-weight:400;color:#6b7c8c}.zp-footer-brand-block p{max-width:410px;color:#607386;line-height:24px}.zp-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.zp-footer-columns nav{display:grid;gap:8px}.zp-footer-columns strong{font-weight:500;margin-bottom:5px}.zp-footer-columns a{color:#53677a;text-decoration:none}.zp-footer-columns a:hover{color:var(--zp-sky)}.zp-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid var(--zp-line);font-size:13px;color:#6b7c8c}.zp-modules-page .zp-public-footer,.zp-register-page .zp-public-footer,.zp-login-page .zp-public-footer{display:none!important}.zp-client-polish-note{margin-top:18px;border-left:3px solid var(--zp-sky);padding:10px 14px;background:#f7fbff;color:#446175;line-height:24px}
@media(max-width:1180px){.zp-page-shell,.zp-narrow-shell{width:min(100% - 28px,940px)}.zp-hero-grid,.zp-modules-layout,.zp-register-layout,.zp-login-layout,.zp-module-hero,.zp-zigzag-row,.zp-zigzag-row.is-reverse{grid-template-columns:1fr!important}.zp-zigzag-row.is-reverse .zp-zigzag-image{order:0}.zp-footer-columns{grid-template-columns:1fr 1fr}.zp-public-footer.protein-like-footer{grid-template-columns:1fr}.zp-nav{display:none}}
@media(max-width:680px){.zp-page-shell,.zp-narrow-shell{width:min(100% - 20px,560px)}.zp-topbar{height:auto;min-height:64px;padding:12px;align-items:flex-start;flex-direction:column}.zp-hero-copy h1,.zp-login-copy h1,.zp-module-hero-copy h1{font-size:36px!important}.zp-footer-columns{grid-template-columns:1fr}.zp-footer-bottom{display:block}.zp-module-hero-image,.zp-zigzag-image{min-height:220px}}
.zp-public-footer.protein-like-footer{width:min(1180px,calc(100vw - 48px));}
.zp-static-page .zp-module-hero{padding-bottom:22px}.zp-static-page .zp-zigzag-wrap{padding-top:14px}

/* =========================================================
   v20260528-0219 final: match /protein typography and header scale on ALL public SaaS pages
   ========================================================= */
:root{
    --zp-sky:#0ea5e9;
    --zp-sky-deep:#0284c7;
    --zp-sky-line:#dbeafe;
    --zp-protein-font:"72 Brand Variable",Arial,Helvetica,sans-serif;
    --zp-protein-text:rgb(34,53,72);
    --zp-protein-muted:#64748b;
}
html,body.zp-public-page{font-size:16px!important;line-height:24px!important;}
body.zp-public-page,
body.zp-public-page *{
    font-family:var(--zp-protein-font)!important;
}
body.zp-public-page{
    font-weight:400!important;
    color:var(--zp-protein-text)!important;
    letter-spacing:0;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}
body.zp-public-page p,
body.zp-public-page small,
body.zp-public-page label,
body.zp-public-page input,
body.zp-public-page select,
body.zp-public-page textarea,
body.zp-public-page button,
body.zp-public-page a,
body.zp-public-page li,
body.zp-public-page dd,
body.zp-public-page dt{
    font-size:16px;
    line-height:24px;
    font-weight:400;
    color:inherit;
}
body.zp-public-page strong,
body.zp-public-page b,
body.zp-public-page h1,
body.zp-public-page h2,
body.zp-public-page h3,
body.zp-public-page h4,
body.zp-public-page .zp-btn,
body.zp-public-page .zp-nav a{
    font-weight:500!important;
}
.zp-page-shell,.zp-narrow-shell{
    width:min(1440px,calc(100vw - 56px))!important;
    padding:18px 0 42px!important;
}
.zp-detail-shell{width:min(1260px,calc(100vw - 56px))!important;max-width:1260px!important;}
.zp-topbar{
    height:82px!important;
    min-height:82px!important;
    top:0!important;
    padding:0 22px!important;
    border-radius:0 0 22px 22px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(219,234,254,.95)!important;
    box-shadow:0 18px 44px rgba(30,58,138,.10)!important;
}
.zp-simple-topbar{position:sticky!important;top:0!important;background:rgba(255,255,255,.96)!important;border-radius:0 0 22px 22px!important;border:1px solid rgba(219,234,254,.95)!important;}
.zp-brand{min-width:300px!important;gap:13px!important;align-items:center!important;}
.zp-brand-mark{
    width:54px!important;
    height:54px!important;
    border-radius:15px!important;
    font-size:30px!important;
    line-height:1!important;
    background:#fff!important;
    color:var(--zp-sky)!important;
    border:1px solid rgba(14,165,233,.45)!important;
    box-shadow:0 14px 30px rgba(14,165,233,.12)!important;
}
.zp-brand strong{
    font-size:24px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
    color:var(--zp-protein-text)!important;
    display:block!important;
}
.zp-brand b{color:var(--zp-sky)!important;font-size:inherit!important;line-height:inherit!important;}
.zp-brand small{
    display:block!important;
    margin-top:3px!important;
    font-size:12px!important;
    line-height:15px!important;
    font-weight:400!important;
    color:#64748b!important;
}
.zp-nav{gap:34px!important;}
.zp-nav a{
    font-size:16px!important;
    line-height:24px!important;
    color:var(--zp-protein-text)!important;
    text-decoration:none!important;
}
.zp-nav a.active,.zp-nav a:hover{color:var(--zp-sky)!important;}
.zp-nav a.active:after{bottom:-29px!important;background:var(--zp-sky)!important;height:2px!important;}
.zp-top-actions{gap:12px!important;}
.zp-top-actions .zp-link{font-size:16px!important;line-height:24px!important;color:var(--zp-protein-text)!important;font-weight:400!important;}
.zp-btn{
    height:48px!important;
    min-height:48px!important;
    border-radius:12px!important;
    padding:0 20px!important;
    font-size:16px!important;
    line-height:24px!important;
    letter-spacing:0!important;
}
.zp-btn-lg{height:56px!important;min-height:56px!important;padding:0 24px!important;}
.zp-hero-grid{padding:68px 24px 32px!important;}
.zp-hero-copy h1,.zp-modules-layout h1,.zp-form-card h1,.zp-otp-card h1,.zp-welcome-title h1,.zp-login-copy h1,.zp-module-hero-copy h1{
    font-size:clamp(44px,5.2vw,76px)!important;
    line-height:1.02!important;
    letter-spacing:-.058em!important;
    color:var(--zp-protein-text)!important;
}
.zp-hero-copy p,.zp-page-subtitle,.zp-register-visual p,.zp-otp-visual p,.zp-login-copy p,.zp-module-hero-copy p,.zp-zigzag-copy p,.zp-section-heading p,.zp-detail-cta p{
    font-size:16px!important;
    line-height:24px!important;
    font-weight:400!important;
    color:#4f6378!important;
}
.zp-pill,.zp-mini-badge{
    font-size:14px!important;
    line-height:20px!important;
    font-weight:500!important;
    color:var(--zp-sky-deep)!important;
    background:#fff!important;
    border:1px solid rgba(14,165,233,.28)!important;
}
.zp-stepper span,.zp-stepper b,.zp-stepper strong,.zp-stepper small{font-size:14px!important;line-height:20px!important;font-weight:500!important;}
.zp-stepper{margin:34px auto 30px!important;}
.zp-module-card strong,.zp-selection-card h2,.zp-selected-list strong,.zp-register-visual h1,.zp-form-card h1,.zp-login-card h1,.zp-otp-card h1{
    color:#07152f!important;
}
.zp-module-card strong{font-size:22px!important;line-height:28px!important;letter-spacing:-.03em!important;}
.zp-module-card small,.zp-submodule-option span,.zp-submodule-option small,.zp-selected-list small,.zp-selection-card p,.zp-form-card p,.zp-login-card p,.zp-otp-card p{
    font-size:16px!important;
    line-height:24px!important;
    font-weight:400!important;
    color:#53677a!important;
}
.zp-submodule-option span{font-weight:500!important;color:#07152f!important;}
.zp-module-icon{width:52px!important;height:52px!important;border-radius:15px!important;}
.zp-form-card input,.zp-form-card select,.zp-login-card input,.zp-login-card select,.zp-form-card textarea,.zp-branch-field input{
    height:50px!important;
    font-size:16px!important;
    line-height:24px!important;
    border-radius:10px!important;
}
.zp-form-card textarea{height:auto!important;min-height:90px!important;}
.zp-hero-photo-card{border-radius:24px!important;}
.zp-hero-photo{border-radius:24px!important;}
.zp-float-card small,.zp-float-card span{font-size:15px!important;line-height:20px!important;}
.zp-float-card strong{font-size:24px!important;line-height:30px!important;}
.zp-public-footer.protein-like-footer,
.zp-public-footer.protein-like-footer *{font-family:var(--zp-protein-font)!important;}
.zp-public-footer.protein-like-footer{font-size:16px!important;line-height:24px!important;color:var(--zp-protein-text)!important;}
.zp-footer-brand span{width:54px!important;height:54px!important;border-radius:15px!important;font-size:30px!important;}
.zp-footer-brand strong{font-size:22px!important;line-height:28px!important;}
.zp-footer-brand small,.zp-footer-columns a,.zp-footer-brand-block p,.zp-footer-bottom{font-size:16px!important;line-height:24px!important;}
.zp-footer-columns strong{font-size:17px!important;line-height:24px!important;}
@media(max-width:1180px){
    .zp-page-shell,.zp-narrow-shell,.zp-detail-shell{width:min(100% - 28px,980px)!important;}
    .zp-brand{min-width:auto!important;}
    .zp-nav{display:none!important;}
}
@media(max-width:680px){
    .zp-page-shell,.zp-narrow-shell,.zp-detail-shell{width:min(100% - 20px,560px)!important;}
    .zp-topbar{height:auto!important;min-height:74px!important;align-items:flex-start!important;}
    .zp-brand-mark{width:48px!important;height:48px!important;font-size:27px!important;}
    .zp-brand strong{font-size:22px!important;}
    .zp-top-actions{width:100%!important;flex-wrap:wrap!important;}
    .zp-hero-copy h1,.zp-modules-layout h1,.zp-form-card h1,.zp-otp-card h1,.zp-welcome-title h1,.zp-login-copy h1,.zp-module-hero-copy h1{font-size:38px!important;line-height:42px!important;}
}

/* ------------------------------------------------------------------
   ZEHNPro public logo spacing hotfix — 2026-05-28
   Keep the existing logo visual style, only move the brand group inward
   so it is not tight against the browser/topbar border.
------------------------------------------------------------------- */
.zp-public-page .zp-topbar{
    padding-left:clamp(34px, 3vw, 58px)!important;
    padding-right:clamp(22px, 2.2vw, 42px)!important;
}
.zp-public-page .zp-brand{
    margin-left:0!important;
}
@media(max-width:680px){
    .zp-public-page .zp-topbar{
        padding-left:18px!important;
        padding-right:14px!important;
    }
}

/* ------------------------------------------------------------------
   ZEHNPro public SaaS final visual tune — 2026-05-28 02:21
   Restore the better landing hero proportion, reduce the hero headline,
   keep the logo style, and make the public header cleaner/less tall.
------------------------------------------------------------------- */
body.zp-public-page .zp-topbar{
    height:76px!important;
    min-height:76px!important;
    padding-left:clamp(42px, 3vw, 58px)!important;
    padding-right:clamp(22px, 2vw, 36px)!important;
    border-radius:18px!important;
    overflow:visible!important;
}
body.zp-public-page .zp-simple-topbar{
    border-radius:18px!important;
}
body.zp-public-page .zp-brand{
    min-width:292px!important;
    gap:14px!important;
    align-items:center!important;
}
body.zp-public-page .zp-brand-mark{
    width:54px!important;
    height:54px!important;
    flex:0 0 54px!important;
    border-radius:15px!important;
    font-size:30px!important;
    line-height:1!important;
}
body.zp-public-page .zp-brand strong{
    font-size:24px!important;
    line-height:1.05!important;
}
body.zp-public-page .zp-brand small{
    font-size:12px!important;
    line-height:15px!important;
}
body.zp-public-page .zp-nav a.active:after{
    bottom:-26px!important;
}
body.zp-public-page .zp-btn{
    height:46px!important;
    min-height:46px!important;
}

body.zp-landing-page .zp-hero-grid{
    grid-template-columns:minmax(0,.94fr) minmax(620px,1.06fr)!important;
    gap:54px!important;
    align-items:center!important;
    padding:58px 42px 34px!important;
}
body.zp-landing-page .zp-hero-copy h1{
    font-size:clamp(46px,4.2vw,68px)!important;
    line-height:1.07!important;
    letter-spacing:-.052em!important;
    max-width:760px!important;
    margin:22px 0 18px!important;
}
body.zp-landing-page .zp-hero-copy p{
    max-width:650px!important;
}
body.zp-landing-page .zp-hero-visual{
    min-height:430px!important;
    overflow:visible!important;
}
body.zp-landing-page .zp-hero-photo-card{
    width:min(640px,100%)!important;
    height:420px!important;
    border-radius:36px 36px 12px 72px!important;
    transform:skewX(-7deg)!important;
    overflow:hidden!important;
    border:1px solid #d7e6fb!important;
    background:#edf6ff!important;
    box-shadow:0 28px 80px rgba(20,67,130,.16)!important;
}
body.zp-landing-page .zp-hero-photo{
    width:118%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
    border-radius:0!important;
    transform:skewX(7deg) translateX(-7%) scale(1.03)!important;
}
body.zp-landing-page .zp-hero-visual:before{
    right:14px!important;
    top:10px!important;
    width:210px!important;
    height:210px!important;
    border-radius:28px!important;
    border:1px solid #d9e8fb!important;
    background:rgba(239,247,255,.86)!important;
}
body.zp-landing-page .zp-float-card{
    padding:16px 18px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.95)!important;
    border:1px solid #dbe8f7!important;
    box-shadow:0 20px 48px rgba(20,67,130,.14)!important;
    backdrop-filter:blur(12px)!important;
}
body.zp-landing-page .zp-float-card small{
    font-size:15px!important;
    line-height:20px!important;
    font-weight:500!important;
    color:#64748b!important;
}
body.zp-landing-page .zp-float-card strong{
    font-size:24px!important;
    line-height:30px!important;
    letter-spacing:-.04em!important;
}
body.zp-landing-page .zp-float-card span{
    font-size:14px!important;
    line-height:20px!important;
    font-weight:500!important;
}
body.zp-landing-page .zp-revenue-card{
    left:0!important;
    top:62px!important;
}
body.zp-landing-page .zp-revenue-card i{
    width:120px!important;
    height:34px!important;
    margin-top:4px!important;
    border-bottom:3px solid var(--zp-sky)!important;
    border-radius:0 0 16px 16px!important;
}
body.zp-landing-page .zp-inventory-card{
    right:0!important;
    bottom:46px!important;
    min-width:210px!important;
}
body.zp-landing-page .zp-progress{
    width:160px!important;
    height:8px!important;
    margin-top:10px!important;
}
body.zp-landing-page .zp-ticks{
    margin-top:22px!important;
    gap:26px!important;
}

body.zp-modules-page .zp-stepper{
    margin:28px auto 26px!important;
}
body.zp-modules-page .zp-modules-layout{
    padding-top:40px!important;
}

@media(max-width:1180px){
    body.zp-landing-page .zp-hero-grid{
        grid-template-columns:1fr!important;
    }
    body.zp-landing-page .zp-hero-visual{
        min-height:390px!important;
    }
    body.zp-landing-page .zp-hero-photo-card{
        width:min(680px,100%)!important;
        height:390px!important;
    }
}
@media(max-width:680px){
    body.zp-public-page .zp-topbar{
        height:auto!important;
        min-height:72px!important;
        padding:12px 14px!important;
        border-radius:16px!important;
    }
    body.zp-public-page .zp-brand-mark{
        width:48px!important;
        height:48px!important;
        flex-basis:48px!important;
        font-size:27px!important;
    }
    body.zp-public-page .zp-brand strong{
        font-size:22px!important;
    }
    body.zp-landing-page .zp-hero-grid{
        padding:34px 8px 22px!important;
    }
    body.zp-landing-page .zp-hero-copy h1{
        font-size:38px!important;
        line-height:42px!important;
    }
    body.zp-landing-page .zp-hero-photo-card{
        height:280px!important;
        transform:none!important;
        border-radius:22px!important;
    }
    body.zp-landing-page .zp-hero-photo{
        width:100%!important;
        transform:none!important;
    }
    body.zp-landing-page .zp-float-card{
        display:none!important;
    }
}

/* =========================================================
   v20260528-0223 restore home footer + PROTEIN + Blog sections
   ========================================================= */
body.zp-landing-page .zp-page-shell{
    padding-bottom:38px!important;
}
body.zp-landing-page .zp-nav{
    gap:26px!important;
}
body.zp-landing-page .zp-public-footer.protein-like-footer{
    display:grid!important;
    width:min(1440px,calc(100vw - 56px))!important;
    margin:34px auto 0!important;
    padding:36px 0 26px!important;
}
body.zp-landing-page .zp-protein-explain-section,
body.zp-landing-page .zp-home-blog-section{
    width:100%;
    margin:30px 0 0;
    border:1px solid var(--zp-line)!important;
    border-radius:26px!important;
    background:#fff!important;
    box-shadow:0 18px 44px rgba(34,53,72,.07)!important;
}
body.zp-landing-page .zp-protein-explain-section{
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);
    gap:28px;
    padding:32px;
    align-items:center;
    overflow:hidden;
    position:relative;
}
body.zp-landing-page .zp-protein-explain-section:before{
    content:"";
    position:absolute;
    right:-120px;
    top:-140px;
    width:340px;
    height:340px;
    border-radius:999px;
    background:rgba(14,165,233,.07);
    border:1px solid rgba(14,165,233,.13);
}
body.zp-landing-page .zp-protein-copy{
    position:relative;
    z-index:1;
}
body.zp-landing-page .zp-protein-copy>span,
body.zp-landing-page .zp-home-blog-heading>span{
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:34px;
    padding:6px 14px;
    border-radius:999px;
    border:1px solid rgba(14,165,233,.28)!important;
    color:#0284c7!important;
    background:#fff!important;
    font-size:14px!important;
    line-height:20px!important;
    font-weight:500!important;
}
body.zp-landing-page .zp-protein-copy h2,
body.zp-landing-page .zp-home-blog-heading h2{
    margin:16px 0 12px;
    color:var(--zp-protein-text)!important;
    font-weight:500!important;
    letter-spacing:-.045em!important;
    font-size:clamp(32px,3.4vw,52px)!important;
    line-height:1.05!important;
}
body.zp-landing-page .zp-protein-copy p,
body.zp-landing-page .zp-home-blog-heading p{
    max-width:720px;
    color:#4f6378!important;
    font-size:16px!important;
    line-height:24px!important;
    margin:0 0 14px;
}
body.zp-landing-page .zp-protein-copy ul{
    margin:18px 0 22px;
    padding:0;
    display:grid;
    gap:10px;
    list-style:none;
}
body.zp-landing-page .zp-protein-copy li{
    position:relative;
    padding-left:28px;
    color:#334155!important;
    font-size:16px!important;
    line-height:24px!important;
}
body.zp-landing-page .zp-protein-copy li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--zp-sky)!important;
    font-weight:500!important;
}
body.zp-landing-page .zp-section-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    border-radius:12px;
    padding:0 18px;
    color:#fff!important;
    background:var(--zp-sky)!important;
    border:1px solid var(--zp-sky)!important;
    text-decoration:none!important;
    font-weight:500!important;
}
body.zp-landing-page .zp-section-link:hover{background:#0284c7!important;}
body.zp-landing-page .zp-protein-panel{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
body.zp-landing-page .zp-protein-panel article{
    border:1px solid var(--zp-line)!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#fff,#f8fcff)!important;
    padding:18px;
    box-shadow:0 14px 30px rgba(34,53,72,.055)!important;
}
body.zp-landing-page .zp-protein-panel b{
    display:block;
    color:var(--zp-protein-text)!important;
    font-weight:500!important;
    font-size:21px!important;
    line-height:28px!important;
}
body.zp-landing-page .zp-protein-panel small{
    display:block;
    margin-top:4px;
    color:#64748b!important;
    font-size:16px!important;
    line-height:24px!important;
}
body.zp-landing-page .zp-home-blog-section{
    padding:32px;
}
body.zp-landing-page .zp-home-blog-heading{
    max-width:820px;
    margin-bottom:22px;
}
body.zp-landing-page .zp-home-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
body.zp-landing-page .zp-home-blog-grid article{
    border:1px solid var(--zp-line)!important;
    border-radius:20px!important;
    background:#fff!important;
    padding:20px;
    box-shadow:0 14px 34px rgba(34,53,72,.06)!important;
    min-height:220px;
    display:flex;
    flex-direction:column;
}
body.zp-landing-page .zp-home-blog-grid article span{
    color:var(--zp-sky)!important;
    font-size:13px!important;
    line-height:18px!important;
    font-weight:500!important;
    letter-spacing:.04em;
    text-transform:uppercase;
}
body.zp-landing-page .zp-home-blog-grid article h3{
    margin:10px 0 8px;
    color:var(--zp-protein-text)!important;
    font-size:22px!important;
    line-height:28px!important;
    font-weight:500!important;
    letter-spacing:-.03em!important;
}
body.zp-landing-page .zp-home-blog-grid article p{
    margin:0;
    color:#53677a!important;
    font-size:16px!important;
    line-height:24px!important;
    flex:1;
}
body.zp-landing-page .zp-home-blog-grid article a{
    margin-top:18px;
    color:var(--zp-sky)!important;
    text-decoration:none!important;
    font-weight:500!important;
}
body.zp-landing-page .zp-blog-more{
    margin-top:18px;
    display:flex;
    justify-content:flex-end;
}
@media(max-width:1180px){
    body.zp-landing-page .zp-protein-explain-section,
    body.zp-landing-page .zp-home-blog-grid{grid-template-columns:1fr!important;}
}
@media(max-width:680px){
    body.zp-landing-page .zp-protein-explain-section,
    body.zp-landing-page .zp-home-blog-section{padding:22px!important;border-radius:20px!important;}
    body.zp-landing-page .zp-protein-copy h2,
    body.zp-landing-page .zp-home-blog-heading h2{font-size:32px!important;line-height:36px!important;}
    body.zp-landing-page .zp-blog-more{justify-content:flex-start;}
}


/* 2026-05-28 02:30 Home tune: remove hero stat cards and strengthen footer typography */
.zp-landing-page .zp-revenue-card,
.zp-landing-page .zp-inventory-card{display:none!important;}
.zp-landing-page .zp-hero-visual{display:flex;align-items:center;justify-content:center;}
.zp-landing-page .zp-hero-photo-card{margin-inline:auto;}
.zp-public-footer.protein-like-footer .zp-footer-columns strong{font-weight:600!important;color:var(--zp-ink)!important;}
.zp-public-footer.protein-like-footer .zp-footer-columns a{font-weight:500!important;color:#33495f!important;}
.zp-public-footer.protein-like-footer .zp-footer-brand-block p{font-weight:400!important;color:#486176!important;}

/* 2026-05-28 02:35 Module overview, footer modules, and home CTA tune */
.zp-landing-page .zp-hero-actions .zp-see-modules-btn{
    min-width:210px!important;
    justify-content:center!important;
}
.zp-modules-overview-page .zp-page-shell{padding-bottom:24px!important;}
.zp-all-modules-hero{
    padding:74px 24px 34px!important;
    max-width:980px;
}
.zp-all-modules-hero h1{
    margin:22px 0 18px;
    font-size:clamp(44px,5.4vw,78px)!important;
    line-height:1.02!important;
    letter-spacing:-.058em!important;
    font-weight:500!important;
    color:var(--zp-protein-text)!important;
}
.zp-all-modules-hero p{
    max-width:820px;
    font-size:18px!important;
    line-height:28px!important;
    color:#4f6378!important;
}
.zp-all-modules-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.zp-module-index-strip{
    position:sticky;
    top:96px;
    z-index:22;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:14px;
    margin:0 24px 24px;
    border:1px solid var(--zp-line);
    border-radius:18px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(14px);
    box-shadow:0 18px 38px rgba(34,53,72,.06);
}
.zp-module-index-strip a{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:6px 12px;
    border-radius:999px;
    border:1px solid rgba(14,165,233,.18);
    color:#33495f!important;
    text-decoration:none!important;
    font-weight:500!important;
    font-size:14px!important;
    line-height:20px!important;
    background:#fff;
}
.zp-module-index-strip a:hover{color:var(--zp-sky)!important;border-color:rgba(14,165,233,.42);}
.zp-all-module-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    padding:8px 24px 38px;
}
.zp-all-module-card{
    min-height:360px;
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:20px;
    padding:26px;
    border:1px solid var(--zp-line);
    border-radius:24px;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
    box-shadow:0 18px 44px rgba(34,53,72,.07);
    scroll-margin-top:180px;
}
.zp-all-module-number{
    width:64px;
    height:64px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:#eef8ff;
    color:var(--zp-sky);
    font-weight:500;
    font-size:22px;
    border:1px solid rgba(14,165,233,.24);
}
.zp-all-module-copy span{
    display:inline-flex;
    margin-bottom:10px;
    color:var(--zp-sky-deep);
    font-weight:500!important;
    font-size:14px!important;
    line-height:20px!important;
}
.zp-all-module-copy h2{
    margin:0 0 10px;
    color:var(--zp-protein-text)!important;
    font-weight:500!important;
    font-size:34px!important;
    line-height:40px!important;
    letter-spacing:-.045em;
}
.zp-all-module-copy p{
    margin:0 0 16px;
    color:#4f6378!important;
    font-size:16px!important;
    line-height:24px!important;
}
.zp-all-module-copy ul{
    list-style:none;
    margin:0 0 18px;
    padding:0;
    display:grid;
    gap:8px;
}
.zp-all-module-copy li{
    position:relative;
    padding-left:22px;
    color:#33495f;
    font-size:15px;
    line-height:22px;
}
.zp-all-module-copy li:before{
    content:'✓';
    position:absolute;
    left:0;
    top:0;
    color:var(--zp-sky);
    font-weight:500;
}
.zp-public-footer.protein-like-footer{
    width:min(1440px,calc(100vw - 56px))!important;
    padding-top:42px!important;
}
.zp-public-footer.protein-like-footer .zp-footer-columns{
    grid-template-columns:minmax(520px,1.75fr) minmax(160px,.52fr) minmax(160px,.52fr)!important;
    gap:34px!important;
}
.zp-public-footer.protein-like-footer .zp-footer-columns strong{
    font-size:18px!important;
    line-height:24px!important;
    font-weight:700!important;
    color:var(--zp-protein-text)!important;
    letter-spacing:.01em;
}
.zp-footer-link-grid{display:grid;gap:8px;}
.zp-footer-module-nav .zp-footer-link-grid{
    grid-template-columns:repeat(3,minmax(120px,1fr));
    gap:8px 18px;
}
.zp-footer-module-nav a,
.zp-public-footer.protein-like-footer .zp-footer-columns a{
    font-weight:500!important;
    color:#33495f!important;
}
.zp-footer-module-nav a:hover,
.zp-public-footer.protein-like-footer .zp-footer-columns a:hover{color:var(--zp-sky)!important;}
@media(max-width:1180px){
    .zp-all-module-grid{grid-template-columns:1fr;}
    .zp-module-index-strip{position:relative;top:auto;}
    .zp-public-footer.protein-like-footer .zp-footer-columns{grid-template-columns:1fr!important;}
}
@media(max-width:680px){
    .zp-all-modules-hero{padding:44px 10px 22px!important;}
    .zp-all-modules-hero h1{font-size:38px!important;line-height:42px!important;}
    .zp-all-module-grid{padding:8px 10px 28px;}
    .zp-all-module-card{grid-template-columns:1fr;min-height:auto;padding:22px;}
    .zp-footer-module-nav .zp-footer-link-grid{grid-template-columns:1fr 1fr;}
}


/* =========================================================
   v20260528-0240 compact footer + remove modules chip strip
   ========================================================= */
html,
body.zp-public-page{
    max-width:100%!important;
    overflow-x:hidden!important;
}

.zp-module-index-strip{
    display:none!important;
}

.zp-modules-overview-page .zp-all-module-grid{
    padding-top:18px!important;
}

.zp-public-footer.protein-like-footer{
    width:min(1340px,calc(100vw - 96px))!important;
    max-width:calc(100vw - 96px)!important;
    margin-left:48px!important;
    margin-right:auto!important;
    padding-top:32px!important;
    padding-bottom:24px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    grid-template-columns:minmax(260px,0.52fr) minmax(0,1.48fr)!important;
    column-gap:28px!important;
}

body.zp-landing-page .zp-public-footer.protein-like-footer{
    width:min(1340px,calc(100vw - 96px))!important;
    max-width:calc(100vw - 96px)!important;
    margin-left:48px!important;
    margin-right:auto!important;
    padding-top:32px!important;
}

.zp-public-footer.protein-like-footer .zp-footer-brand-block{
    max-width:420px!important;
}

.zp-public-footer.protein-like-footer .zp-footer-brand-block p{
    max-width:390px!important;
    margin-top:18px!important;
}

.zp-public-footer.protein-like-footer .zp-footer-columns{
    min-width:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-columns:minmax(390px,520px) minmax(122px,142px) minmax(124px,150px)!important;
    justify-content:start!important;
    align-items:start!important;
    gap:22px!important;
}

.zp-public-footer.protein-like-footer .zp-footer-columns nav{
    min-width:0!important;
}

.zp-public-footer.protein-like-footer .zp-footer-columns strong{
    display:block!important;
    margin:0 0 16px!important;
    font-size:17px!important;
    line-height:22px!important;
    font-weight:700!important;
    color:var(--zp-protein-text)!important;
}

.zp-footer-link-grid{
    gap:6px 12px!important;
}

.zp-footer-module-nav .zp-footer-link-grid{
    grid-template-columns:repeat(3,minmax(112px,128px))!important;
    justify-content:start!important;
    align-items:start!important;
    gap:6px 14px!important;
}

.zp-public-footer.protein-like-footer .zp-footer-columns a{
    font-size:15px!important;
    line-height:22px!important;
    font-weight:500!important;
    white-space:nowrap!important;
    color:#33495f!important;
}

.zp-public-footer.protein-like-footer .zp-footer-bottom{
    margin-top:20px!important;
    padding-top:18px!important;
    font-size:14px!important;
    line-height:22px!important;
}

@media(max-width:1180px){
    .zp-public-footer.protein-like-footer,
    body.zp-landing-page .zp-public-footer.protein-like-footer{
        width:min(100% - 32px,940px)!important;
        max-width:min(100% - 32px,940px)!important;
        margin-left:auto!important;
        margin-right:auto!important;
        grid-template-columns:1fr!important;
    }

    .zp-public-footer.protein-like-footer .zp-footer-columns{
        grid-template-columns:1fr!important;
        gap:22px!important;
    }

    .zp-footer-module-nav .zp-footer-link-grid{
        grid-template-columns:repeat(3,minmax(100px,1fr))!important;
    }
}

@media(max-width:680px){
    .zp-public-footer.protein-like-footer,
    body.zp-landing-page .zp-public-footer.protein-like-footer{
        width:min(100% - 22px,560px)!important;
        max-width:min(100% - 22px,560px)!important;
        padding-top:24px!important;
    }

    .zp-footer-module-nav .zp-footer-link-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .zp-public-footer.protein-like-footer .zp-footer-columns a{
        white-space:normal!important;
    }
}


/* =========================================================
   v20260528-1650 module/public polish
   ========================================================= */
.zp-public-page :is(.zp-module-card > strong,.zp-submodule-option > span,.zp-selected-list strong,.zp-all-module-copy h2,.zp-zigzag-copy h2,.zp-module-hero-copy h1,.zp-section-heading h2){
    font-weight:700!important;
    color:var(--zp-protein-text, rgb(34,53,72))!important;
}
.zp-submodule-option > span{
    font-size:14px!important;
    line-height:20px!important;
    letter-spacing:-.01em!important;
}
.zp-submodule-option > small{
    font-size:12px!important;
    line-height:18px!important;
    font-weight:500!important;
    color:#5b7188!important;
}
.zp-module-detail-page .zp-module-hero,
.zp-modules-overview-page .zp-all-modules-hero{
    background:#fff!important;
    border:1px solid rgba(191,219,254,.72)!important;
    border-radius:28px!important;
    box-shadow:0 24px 60px rgba(34,53,72,.08)!important;
    padding:52px!important;
    margin-top:28px!important;
}
.zp-module-detail-page .zp-module-hero-copy h1,
.zp-modules-overview-page .zp-all-modules-hero h1{
    font-size:clamp(42px,5.2vw,78px)!important;
    line-height:.98!important;
    letter-spacing:-.06em!important;
    font-weight:500!important;
}
.zp-module-detail-page .zp-module-hero-copy p,
.zp-modules-overview-page .zp-all-modules-hero p{
    font-size:18px!important;
    line-height:28px!important;
    max-width:780px!important;
}
.zp-all-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
}
.zp-all-module-card{
    min-height:360px!important;
    border-radius:26px!important;
    box-shadow:0 20px 50px rgba(34,53,72,.07)!important;
}
.zp-all-module-copy h2{
    font-size:clamp(28px,3vw,42px)!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
}
.zp-all-module-copy li{
    font-weight:500!important;
}
.zp-zigzag-row{
    border:1px solid rgba(191,219,254,.72)!important;
    border-radius:28px!important;
    background:#fff!important;
    box-shadow:0 20px 50px rgba(34,53,72,.07)!important;
    padding:24px!important;
}
.zp-zigzag-copy h2{font-size:clamp(28px,3.2vw,46px)!important;line-height:1.04!important;}
.zp-zigzag-copy p{font-size:17px!important;line-height:27px!important;}
@media(max-width:980px){.zp-all-module-grid{grid-template-columns:1fr!important}.zp-module-detail-page .zp-module-hero,.zp-modules-overview-page .zp-all-modules-hero{padding:30px!important}}
