/* ==========================================================================
   Luzion 外部Web部署 LP
   - すべて .lzp 配下にスコープ（テーマCSSと干渉しないように）
   - アニメーションは transform / opacity / clip-path 中心（GPU合成で軽量）
   ========================================================================== */

:root {
	--lzp-navy: #0b2447;
	--lzp-navy-9: #061631;
	--lzp-navy-7: #163a6b;
	--lzp-ink: #0e1f3a;
	--lzp-muted: #56657c;
	--lzp-paper: #f7f4ee;
	--lzp-paper-2: #eee8dc;
	--lzp-white: #fff;
	--lzp-line: rgba(11, 36, 71, .12);
	--lzp-cyan: #1cc8dc;
	--lzp-cyan-2: #8be9f3;
	--lzp-gold: #f4c03f;
	--lzp-gold-2: #ffdb73;
	--lzp-gold-deep: #a97a08;
	--lzp-ng: #c4493e;
	--lzp-radius: 22px;
	--lzp-ease: cubic-bezier(.22, 1, .36, 1);
	--lzp-ease-io: cubic-bezier(.65, 0, .35, 1);
	--lzp-font: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
	--lzp-en: "Archivo", "Zen Kaku Gothic New", "Helvetica Neue", Arial, sans-serif;
	--lzp-header-h: 72px;
}

/* ---------- base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--lzp-header-h) + 8px); }
/* サイト共通のヘッダー・フッター（Code Snippets製）と、テーマの「トップへ戻る」ボタンはLPでは出さない */
body.lzp-body #luzionHeader,
body.lzp-body #luzionMenuOverlay,
body.lzp-body .luzion-header,
body.lzp-body .lz-footer,
body.lzp-body #page_top { display: none !important; }
body.lzp-body { margin: 0; background: var(--lzp-paper); color: var(--lzp-ink); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.lzp { font-family: var(--lzp-font); font-size: 16px; line-height: 1.8; letter-spacing: .02em; color: var(--lzp-ink); background: var(--lzp-paper); overflow-x: clip; font-feature-settings: "palt"; }
.lzp *, .lzp *::before, .lzp *::after { box-sizing: border-box; }
.lzp :where(img) { max-width: 100%; height: auto; display: block; }
.lzp :where(a) { color: inherit; text-decoration: none; }
.lzp :where(h1, h2, h3, p, ul, ol, figure, blockquote, dl, dd) { margin: 0; padding: 0; }
.lzp :where(ul, ol) { list-style: none; }
.lzp :where(em) { font-style: normal; }
.lzp :focus-visible { outline: 3px solid var(--lzp-cyan); outline-offset: 3px; border-radius: 6px; }

.lzp-wrap { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 40px); }
.lzp-sec { position: relative; padding-block: clamp(84px, 11vw, 150px); }
.lzp-sec--tint { background: var(--lzp-paper-2); }
.lzp-sec--dark { background: var(--lzp-navy-9); color: #e8eef8; }
.lzp-center { text-align: center; }
.lzp-sp { display: none; }
@media (max-width: 767px) { .lzp-sp { display: inline; } .lzp-pc { display: none; } }

/* ---------- typography parts ---------- */
.lzp-label { display: inline-flex; align-items: center; gap: 12px; font-family: var(--lzp-en); font-weight: 700; font-size: 13px; letter-spacing: .2em; color: var(--lzp-navy); margin-bottom: 20px; }
.lzp-label span { display: inline-grid; place-items: center; min-width: 38px; height: 26px; padding-inline: 8px; border-radius: 99px; background: var(--lzp-navy); color: var(--lzp-gold); letter-spacing: .06em; }
.lzp-label::after { content: ""; width: 44px; height: 1px; background: currentColor; opacity: .4; }
.lzp-label--light { color: var(--lzp-cyan-2); }
.lzp-label--light span { background: var(--lzp-gold); color: var(--lzp-navy-9); }

.lzp-h2 { font-size: clamp(1.5rem, 4.3vw, 3.25rem); line-height: 1.32; font-weight: 900; letter-spacing: .01em; }
.lzp-lead { margin-top: 22px; font-size: clamp(.98rem, 1.4vw, 1.08rem); color: var(--lzp-muted); font-weight: 500; }
.lzp-sec--dark .lzp-lead { color: #b6c3d8; }
.lzp-head { margin-bottom: clamp(44px, 6vw, 72px); }
.lzp-head--center { text-align: center; }
.lzp-head--center .lzp-label { justify-content: center; }
.lzp-note { margin-top: 18px; font-size: 12.5px; color: var(--lzp-muted); line-height: 1.7; }
.lzp-note--light { color: #8fa0bb; }

/* マーカー：見出しが画面に入ると下線が伸びる */
.lzp-mark { background-image: linear-gradient(transparent 64%, var(--lzp-gold-2) 64%, var(--lzp-gold-2) 92%, transparent 92%); background-repeat: no-repeat; background-size: 0% 100%; transition: background-size 1.1s var(--lzp-ease) .35s; padding-inline: 2px; }
.lzp-mark--cyan { background-image: linear-gradient(transparent 66%, rgba(28, 200, 220, .45) 66%, rgba(28, 200, 220, .45) 92%, transparent 92%); }
.lzp-mark--gold { color: var(--lzp-gold-2); background-image: linear-gradient(transparent 70%, rgba(244, 192, 63, .28) 70%, rgba(244, 192, 63, .28) 94%, transparent 94%); }
.is-in .lzp-mark, .lzp-hero.is-ready .lzp-mark, .lzp-head.is-in .lzp-mark { background-size: 100% 100%; }

/* ---------- spark (ロゴモチーフ) ---------- */
.lzp-spark { display: inline-block; width: 1em; height: 1em; overflow: visible; }
.lzp-spark__rays line { stroke: var(--lzp-cyan); stroke-width: 5; stroke-linecap: round; }
.lzp-spark__star { fill: var(--lzp-gold); }
.lzp-spark--xs { width: 18px; height: 18px; flex: none; }
.lzp-spark--xs .lzp-spark__rays line { stroke-width: 7; }

/* ---------- buttons ---------- */
.lzp-btn { --bg: var(--lzp-gold); position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 16px 30px; border-radius: 999px; font-weight: 900; font-size: 1rem; letter-spacing: .04em; line-height: 1.3; color: var(--lzp-navy-9); background: var(--bg); overflow: hidden; cursor: pointer; transition: transform .35s var(--lzp-ease), box-shadow .35s var(--lzp-ease), background-color .3s; box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 14px 30px -14px rgba(169, 122, 8, .85); }
.lzp-btn--primary { background: linear-gradient(180deg, var(--lzp-gold-2), var(--lzp-gold)); }
.lzp-btn::after { content: ""; position: absolute; inset: -20% auto -20% -40%; width: 30%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent); transform: skewX(-20deg) translateX(-120%); animation: lzp-shine 5.5s var(--lzp-ease-io) infinite; z-index: -1; }
.lzp-btn:hover { transform: translateY(-3px); box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 22px 40px -16px rgba(169, 122, 8, .95); }
.lzp-btn:active { transform: translateY(0); }
.lzp-btn__arrow { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--lzp-navy); color: var(--lzp-gold-2); font-size: 15px; transition: transform .35s var(--lzp-ease); flex: none; }
.lzp-btn:hover .lzp-btn__arrow { transform: translateX(4px); }
.lzp-btn--sm { padding: 10px 22px; font-size: .88rem; }
.lzp-btn--sm::after { animation-delay: 1.5s; }
.lzp-btn--block { display: flex; width: 100%; }
.lzp-btn--xl { display: inline-grid; grid-template-columns: 1fr auto; column-gap: 22px; text-align: left; padding: 18px 20px 18px 34px; }
.lzp-btn--xl .lzp-btn__main { font-size: clamp(1.1rem, 1.8vw, 1.3rem); grid-column: 1; }
.lzp-btn--xl .lzp-btn__sub { grid-column: 1; grid-row: 2; font-size: .78rem; font-weight: 700; color: rgba(6, 22, 49, .72); letter-spacing: .02em; }
.lzp-btn--xl .lzp-btn__arrow { grid-column: 2; grid-row: 1 / span 2; width: 48px; height: 48px; font-size: 18px; }
@keyframes lzp-shine { 0%, 62% { transform: skewX(-20deg) translateX(-120%); } 82%, 100% { transform: skewX(-20deg) translateX(520%); } }

/* ---------- scroll progress ---------- */
.lzp-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 1001; pointer-events: none; }
.lzp-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--lzp-cyan), var(--lzp-gold)); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); }

/* ---------- header ---------- */
.lzp-header { position: fixed; inset: 0 0 auto; z-index: 1000; height: var(--lzp-header-h); transition: background-color .4s, box-shadow .4s, transform .4s var(--lzp-ease); }
.admin-bar .lzp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lzp-header { top: 46px; } }
.lzp-header.is-scrolled { background: rgba(247, 244, 238, .86); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 var(--lzp-line); }
.lzp-header__inner { height: 100%; max-width: 1320px; margin-inline: auto; padding-inline: clamp(16px, 3vw, 32px); display: flex; align-items: center; gap: 28px; }
.lzp-header__logo img { width: auto; height: 34px; }
.lzp-header__nav { display: flex; gap: 26px; margin-left: auto; font-size: .88rem; font-weight: 700; }
.lzp-header__nav a { position: relative; padding-block: 6px; }
.lzp-header__nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--lzp-cyan); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--lzp-ease); }
.lzp-header__nav a:hover::after { transform: scaleX(1); transform-origin: left; }
@media (max-width: 1199px) { .lzp-header__nav { display: none; } .lzp-header .lzp-btn { margin-left: auto; } }
@media (max-width: 480px) { .lzp-header__logo img { height: 28px; } .lzp-header .lzp-btn--sm { padding: 9px 16px; font-size: .8rem; } }

/* ==========================================================================
   HERO
   ========================================================================== */
.lzp-hero { position: relative; padding: calc(var(--lzp-header-h) + clamp(20px, 3.5vw, 44px)) 0 clamp(64px, 8vw, 110px); overflow: hidden; }
.lzp-hero__grid-bg { position: absolute; inset: 0; background-image: linear-gradient(var(--lzp-line) 1px, transparent 1px), linear-gradient(90deg, var(--lzp-line) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 70% 70% at 70% 40%, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse 70% 70% at 70% 40%, #000 20%, transparent 75%); opacity: .7; }
.lzp-hero__glow { position: absolute; width: 60vmax; height: 60vmax; right: -18vmax; top: -22vmax; background: radial-gradient(circle, rgba(28, 200, 220, .22), transparent 60%), radial-gradient(circle at 30% 70%, rgba(244, 192, 63, .22), transparent 55%); filter: blur(10px); animation: lzp-drift 18s ease-in-out infinite alternate; pointer-events: none; }
@keyframes lzp-drift { to { transform: translate3d(-6vmax, 4vmax, 0) rotate(20deg); } }

.lzp-hero__layout { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(24px, 4vw, 64px); }
.lzp-eyebrow { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; padding: 8px 16px 8px 12px; border: 1px solid var(--lzp-line); background: rgba(255, 255, 255, .7); border-radius: 99px; font-size: .84rem; font-weight: 700; color: var(--lzp-navy); }
.lzp-eyebrow b { color: var(--lzp-navy); background: linear-gradient(transparent 60%, rgba(28, 200, 220, .3) 60%); }
.lzp-eyebrow__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lzp-cyan); box-shadow: 0 0 0 0 rgba(28, 200, 220, .6); animation: lzp-ping 2.2s infinite; }
@keyframes lzp-ping { 70% { box-shadow: 0 0 0 10px rgba(28, 200, 220, 0); } 100% { box-shadow: 0 0 0 0 rgba(28, 200, 220, 0); } }

.lzp-hero__title { margin-top: 22px; font-size: clamp(2.2rem, 4.5vw, 3.9rem); font-weight: 900; line-height: 1.2; letter-spacing: -.005em; color: var(--lzp-navy-9); }
.lzp-line { display: block; overflow: hidden; padding-bottom: .06em; }
.lzp-line > span { display: inline-block; transform: translateY(110%); transition: transform 1s var(--lzp-ease); }
.lzp-line:nth-child(1) > span { font-size: .62em; color: var(--lzp-muted); font-weight: 700; }
.lzp-line:nth-child(2) > span { transition-delay: .12s; }
.lzp-line:nth-child(3) > span { transition-delay: .22s; }
.lzp-line:nth-child(4) > span { transition-delay: .32s; }
.lzp-hero.is-ready .lzp-line > span { transform: none; }
.lzp-hero__title .lzp-mark { transition-delay: .9s; }

.lzp-hero__lead { margin-top: 20px; font-size: clamp(1rem, 1.4vw, 1.1rem); font-weight: 500; color: #33445f; max-width: 34em; }
.lzp-hero__lead strong { color: var(--lzp-navy-9); font-weight: 900; }
.lzp-hero__cta { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; }
.lzp-assure { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .84rem; font-weight: 700; color: var(--lzp-navy); }
.lzp-assure li { display: inline-flex; align-items: center; gap: 6px; }
.lzp-assure li::before { content: ""; width: 16px; height: 16px; border-radius: 50%; background: var(--lzp-cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.lzp-hero__bonus { margin-top: 22px; display: inline-flex; align-items: center; gap: 10px; font-size: .9rem; font-weight: 500; color: #33445f; }
.lzp-hero__bonus b { color: var(--lzp-navy-9); }
.lzp-hero__bonus-tag { flex: none; padding: 3px 10px; border-radius: 6px; background: var(--lzp-navy); color: var(--lzp-gold-2); font-size: .76rem; font-weight: 900; letter-spacing: .1em; }

.lzp-hero__copy > * { opacity: 0; transform: translateY(16px); transition: opacity .9s var(--lzp-ease), transform .9s var(--lzp-ease); }
.lzp-hero__copy > .lzp-hero__title { opacity: 1; transform: none; }
.lzp-hero.is-ready .lzp-hero__copy > * { opacity: 1; transform: none; }
.lzp-hero.is-ready .lzp-hero__lead { transition-delay: .5s; }
.lzp-hero.is-ready .lzp-hero__cta { transition-delay: .65s; }
.lzp-hero.is-ready .lzp-hero__bonus { transition-delay: .8s; }

/* hero visual */
.lzp-hero__visual { position: relative; justify-self: end; width: min(100%, 470px); }
.lzp-hero__photo { position: relative; aspect-ratio: 4 / 5; border-radius: 999px 999px 28px 28px; overflow: hidden; background: var(--lzp-paper-2); box-shadow: 0 40px 80px -40px rgba(6, 22, 49, .55); clip-path: inset(100% 0 0 0 round 999px 999px 28px 28px); transition: clip-path 1.4s var(--lzp-ease) .15s; }
.lzp-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; transform: scale(1.12); transition: transform 2.2s var(--lzp-ease) .15s; }
.lzp-hero.is-ready .lzp-hero__photo { clip-path: inset(0 0 0 0 round 999px 999px 28px 28px); }
.lzp-hero.is-ready .lzp-hero__photo img { transform: scale(1); }
.lzp-hero__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(6, 22, 49, .35)); }

.lzp-plan { position: absolute; top: 15%; left: -22%; width: 250px; padding: 16px 18px 14px; border-radius: 18px; background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 24px 50px -24px rgba(6, 22, 49, .45), 0 0 0 1px rgba(11, 36, 71, .06); opacity: 0; transform: translate3d(-20px, 10px, 0); transition: opacity .9s var(--lzp-ease) 1s, transform .9s var(--lzp-ease) 1s; }
.lzp-hero.is-ready .lzp-plan { opacity: 1; transform: none; }
.lzp-plan__head { display: flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 900; color: var(--lzp-navy-9); margin-bottom: 10px; }
.lzp-plan__head em { margin-left: auto; font-family: var(--lzp-en); font-size: .66rem; letter-spacing: .08em; color: var(--lzp-muted); font-weight: 500; }
.lzp-plan__list li { position: relative; display: flex; align-items: center; gap: 10px; padding: 7px 0 7px 28px; font-size: .78rem; font-weight: 700; color: #33445f; border-top: 1px dashed var(--lzp-line); line-height: 1.4; }
.lzp-plan__list b { font-family: var(--lzp-en); font-size: .66rem; color: var(--lzp-navy-7); letter-spacing: .05em; }
.lzp-plan__list li::before { content: ""; position: absolute; left: 0; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid #c9d2df; }
.lzp-plan__list li::after { content: ""; position: absolute; left: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--lzp-cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; transform: scale(0); animation: lzp-tick 8s var(--lzp-ease) infinite; }
.lzp-plan__list li:nth-child(2)::after { animation-delay: .8s; }
.lzp-plan__list li:nth-child(3)::after { animation-delay: 1.6s; }
.lzp-plan__list li:nth-child(4)::after { animation-delay: 2.4s; background-color: var(--lzp-gold); }
@keyframes lzp-tick { 0%, 14% { transform: scale(0); } 20%, 86% { transform: scale(1); } 94%, 100% { transform: scale(0); } }

.lzp-doc { position: relative; width: 190px; aspect-ratio: 210 / 297; }
.lzp-hero__doc { position: absolute; left: -2%; bottom: -8%; opacity: 0; transform: translate3d(0, 30px, 0) rotate(-8deg); transition: opacity 1s var(--lzp-ease) 1.2s, transform 1s var(--lzp-ease) 1.2s; }
.lzp-hero.is-ready .lzp-hero__doc { opacity: 1; transform: rotate(-6deg); }
.lzp-hero.is-ready .lzp-hero__doc .lzp-doc__cover { animation: lzp-float 6s ease-in-out 2.2s infinite; }
.lzp-doc__page, .lzp-doc__cover { position: absolute; inset: 0; border-radius: 10px; }
.lzp-doc__page { background: #fff; box-shadow: 0 10px 30px -14px rgba(6, 22, 49, .4); }
.lzp-doc__page--3 { transform: translate(18px, -8px) rotate(7deg); background: var(--lzp-paper-2); }
.lzp-doc__page--2 { transform: translate(9px, -4px) rotate(3.5deg); }
.lzp-doc__cover { display: flex; flex-direction: column; padding: 16px 16px 14px; color: #fff; background: radial-gradient(120% 70% at 100% 0%, rgba(28, 200, 220, .35), transparent 60%), linear-gradient(160deg, var(--lzp-navy-7), var(--lzp-navy-9)); box-shadow: 0 30px 50px -24px rgba(6, 22, 49, .7), inset 0 0 0 1px rgba(255, 255, 255, .08); overflow: hidden; }
.lzp-doc__cover::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--lzp-gold); }
.lzp-doc__tag { font-family: var(--lzp-en); font-size: 9px; letter-spacing: .24em; color: var(--lzp-cyan-2); }
.lzp-spark--doc { width: 64px; height: 64px; margin: auto 0 10px -6px; }
.lzp-doc__title { font-size: 17px; line-height: 1.35; font-weight: 900; }
.lzp-doc__brand { margin-top: 12px; font-family: var(--lzp-en); font-size: 10px; letter-spacing: .3em; opacity: .7; }
@keyframes lzp-float { 50% { transform: translateY(-8px); } }

.lzp-chip { position: absolute; padding: 6px 14px; border-radius: 99px; background: var(--lzp-navy-9); color: #fff; font-family: var(--lzp-en); font-weight: 700; font-size: .78rem; letter-spacing: .12em; box-shadow: 0 10px 24px -12px rgba(6, 22, 49, .7); opacity: 0; transition: opacity .8s var(--lzp-ease) 1.4s; }
.lzp-hero.is-ready .lzp-chip { opacity: 1; animation: lzp-float 5s ease-in-out infinite; }
.lzp-chip--1 { right: -5%; top: 8%; }
.lzp-chip--2 { right: -9%; top: 46%; background: var(--lzp-cyan); color: var(--lzp-navy-9); animation-delay: -1.5s !important; }
.lzp-chip--3 { right: 14%; bottom: -3%; background: var(--lzp-gold); color: var(--lzp-navy-9); animation-delay: -3s !important; }

@media (max-width: 960px) {
	.lzp-hero__layout { grid-template-columns: 1fr; }
	.lzp-hero__visual { justify-self: center; width: min(86%, 400px); margin-top: 24px; }
	.lzp-plan { left: -14%; top: 10%; width: 220px; }
	.lzp-hero__doc { left: -8%; }
	.lzp-doc { width: 150px; }
	.lzp-doc__title { font-size: 14px; }
	.lzp-spark--doc { width: 48px; height: 48px; }
}
@media (max-width: 560px) {
	.lzp-hero__visual { width: 74%; margin-left: 22%; }
	.lzp-plan { display: none; }
	.lzp-plan__list li { font-size: .7rem; padding-block: 5px; }
	.lzp-chip--2 { right: -6%; }
	.lzp-hero__cta { gap: 14px; }
	.lzp-btn--xl { width: 100%; }
	.lzp-hero__bonus { align-items: flex-start; }
	.lzp-eyebrow { font-size: .76rem; }
}

/* ==========================================================================
   MARQUEE
   ========================================================================== */
.lzp-marquee { background: var(--lzp-navy-9); color: #fff; overflow: hidden; padding-block: 22px; border-block: 1px solid rgba(255, 255, 255, .06); }
.lzp-marquee__track { font-stretch: 125%; display: flex; width: max-content; align-items: center; gap: 34px; animation: lzp-marquee 38s linear infinite; font-family: var(--lzp-en); font-weight: 700; font-size: clamp(1.4rem, 3vw, 2.2rem); letter-spacing: .06em; white-space: nowrap; }
.lzp-marquee__track span { color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .55); }
.lzp-marquee__track span.is-strong { color: var(--lzp-gold); -webkit-text-stroke: 0; }
.lzp-marquee__track i { font-style: normal; color: var(--lzp-cyan); font-size: .6em; }
@keyframes lzp-marquee { to { transform: translate3d(-50%, 0, 0); } }

/* ==========================================================================
   REVEAL
   ========================================================================== */
.lzp-js .lzp [data-reveal] { opacity: 0; transform: translate3d(0, 34px, 0); transition: opacity 1s var(--lzp-ease), transform 1s var(--lzp-ease); transition-delay: var(--d, 0s); }
.lzp-js .lzp [data-reveal].is-in { opacity: 1; transform: none; }
.lzp [data-anim].is-off, .lzp [data-anim].is-off *, .lzp [data-anim].is-off::before, .lzp [data-anim].is-off::after { animation-play-state: paused !important; }

/* ==========================================================================
   PROBLEM
   ========================================================================== */
.lzp-problem__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.lzp-checks { display: grid; gap: 12px; }
.lzp-checks li { display: flex; align-items: center; gap: 16px; padding: 18px 22px; background: #fff; border-radius: 16px; font-weight: 500; font-size: clamp(.98rem, 1.3vw, 1.06rem); box-shadow: 0 1px 0 var(--lzp-line), 0 18px 34px -30px rgba(6, 22, 49, .5); }
.lzp-checks li b { font-weight: 900; color: var(--lzp-navy-9); }
.lzp-checks__box { position: relative; flex: none; width: 26px; height: 26px; border-radius: 8px; border: 2px solid #c6cfdc; transition: border-color .4s, background-color .4s; transition-delay: calc(var(--d, 0s) + .35s); }
.lzp-checks__box::after { content: ""; position: absolute; left: 7px; top: 2px; width: 7px; height: 13px; border: solid var(--lzp-navy-9); border-width: 0 3px 3px 0; transform: rotate(45deg) scale(0); transition: transform .45s var(--lzp-ease); transition-delay: calc(var(--d, 0s) + .5s); }
.lzp-checks li.is-in .lzp-checks__box { border-color: var(--lzp-gold); background: var(--lzp-gold); }
.lzp-checks li.is-in .lzp-checks__box::after { transform: rotate(45deg) scale(1); }

.lzp-problem__photo { position: sticky; top: calc(var(--lzp-header-h) + 24px); border-radius: var(--lzp-radius); overflow: hidden; }
.lzp-problem__photo img { width: 100%; aspect-ratio: 4 / 3.3; object-fit: cover; filter: saturate(.8); }
.lzp-problem__photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 26px 22px; font-weight: 900; color: #fff; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.55; background: linear-gradient(180deg, transparent, rgba(6, 22, 49, .85)); }

.lzp-insight { margin-top: clamp(64px, 9vw, 120px); text-align: center; }
.lzp-insight__kicker { display: inline-block; font-weight: 700; font-size: .9rem; color: var(--lzp-muted); padding-bottom: 10px; border-bottom: 1px solid var(--lzp-line); }
.lzp-insight__text { margin-top: 26px; font-size: clamp(2rem, 5.4vw, 4.2rem); font-weight: 900; line-height: 1.3; color: var(--lzp-navy-9); }
.lzp-insight__text s { position: relative; text-decoration: none; color: #9aa6b8; }
.lzp-insight__text s::after { content: ""; position: absolute; left: -4%; right: -4%; top: 52%; height: .09em; background: var(--lzp-ng); transform: scaleX(0) rotate(-4deg); transform-origin: left; transition: transform .7s var(--lzp-ease) .6s; }
.lzp-insight.is-in s::after { transform: scaleX(1) rotate(-4deg); }
.lzp-insight__text strong { position: relative; display: inline-block; color: var(--lzp-navy-9); }
.lzp-insight__text strong::before { content: ""; position: absolute; inset: 55% -6px 4% -6px; background: var(--lzp-gold-2); z-index: -1; transform: scaleX(0); transform-origin: left; transition: transform .9s var(--lzp-ease) 1.1s; }
.lzp-insight.is-in strong::before { transform: scaleX(1); }
.lzp-insight__text strong { z-index: 0; }
.lzp-insight__note { max-width: 40em; margin: 28px auto 0; color: var(--lzp-muted); font-weight: 500; }
@media (max-width: 860px) {
	.lzp-problem__grid { grid-template-columns: 1fr; }
	.lzp-problem__photo { position: relative; top: 0; order: -1; }
	.lzp-checks li { padding: 15px 16px; gap: 12px; }
	.lzp-insight__note { text-align: left; }
}

/* ==========================================================================
   REAL CASE（実際の事例）
   ========================================================================== */
.lzp-case__client { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.lzp-case__client span { padding: 6px 16px; border-radius: 99px; background: var(--lzp-navy); color: #fff; font-size: .9rem; font-weight: 900; }
.lzp-case__client span + span { background: #fff; color: var(--lzp-navy); box-shadow: inset 0 0 0 1.5px var(--lzp-navy); }
.lzp-case__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.lzp-case__story { display: grid; gap: 30px; min-width: 0; }
.lzp-case__h { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-weight: 900; color: var(--lzp-navy-9); }
.lzp-case__h::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--lzp-gold); }

/* チャットの吹き出し */
.lzp-bubble { position: relative; max-width: 34em; padding: 16px 20px; border-radius: 4px 20px 20px 20px; background: #fff; font-weight: 500; line-height: 1.75; box-shadow: 0 1px 0 var(--lzp-line), 0 18px 34px -30px rgba(6, 22, 49, .5); }
.lzp-bubble + .lzp-bubble { margin-top: 10px; }
.lzp-bubble small { display: block; margin-bottom: 2px; font-size: .74rem; font-weight: 700; color: var(--lzp-muted); }
.lzp-bubble--client { background: #e9f7f9; box-shadow: inset 0 0 0 1px rgba(28, 200, 220, .35); font-weight: 700; color: var(--lzp-navy-9); }

.lzp-case__did { display: grid; gap: 8px; }
.lzp-case__did li { position: relative; padding-left: 28px; font-weight: 500; line-height: 1.65; }
.lzp-case__did li::before { content: "✓"; position: absolute; left: 0; top: .2em; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--lzp-cyan); color: var(--lzp-navy-9); font-size: 11px; font-weight: 900; }
.lzp-case__did b { font-weight: 900; color: var(--lzp-navy-9); }

/* 実際の画面（Before / After） */
.lzp-shots { position: sticky; top: calc(var(--lzp-header-h) + 24px); display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: start; padding: clamp(18px, 2.4vw, 28px); border-radius: 26px; background: var(--lzp-navy-9); min-width: 0; }
.lzp-shots__arrow { align-self: center; color: var(--lzp-gold); font-weight: 900; font-size: 1.3rem; }
.lzp-shot { min-width: 0; }
.lzp-shot figcaption { display: grid; justify-items: center; gap: 2px; margin-bottom: 10px; text-align: center; font-size: .78rem; font-weight: 700; color: #b6c3d8; line-height: 1.45; }
.lzp-shot figcaption b { font-family: var(--lzp-en); font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: #9fb1cb; }
.lzp-shot--after figcaption b { color: var(--lzp-gold-2); }
.lzp-shot__frame { border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .8); }
.lzp-shot--after .lzp-shot__frame { box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .8), 0 0 0 2px var(--lzp-gold); }
.lzp-shot__bar { display: flex; gap: 4px; padding: 7px 9px; background: #e3e7ec; }
.lzp-shot__bar span { width: 7px; height: 7px; border-radius: 50%; background: #b8bfc8; }
.lzp-shot__view { position: relative; aspect-ratio: 310 / 489; max-width: 100%; overflow: hidden; background: #fff; }
.lzp-shot__view img { width: 100%; height: auto; }
/* 改善後は長いページなので、ゆっくり自動スクロール（触れている間は止まる） */
.lzp-shot__view--scroll img { position: absolute; left: 0; top: 0; animation: lzp-pagescroll 18s ease-in-out infinite; }
.lzp-shot__view--scroll:hover img { animation-play-state: paused; }
@keyframes lzp-pagescroll { 0%, 8% { transform: translateY(0); } 46%, 54% { transform: translateY(-64%); } 92%, 100% { transform: translateY(0); } }
/* エラー表示の位置を赤枠で示す */
.lzp-shot__mark { position: absolute; left: 46%; top: 0; width: 53%; height: 4%; border: 2px solid var(--lzp-ng); border-radius: 3px; animation: lzp-blink 1.8s ease-in-out infinite; }
.lzp-shot__mark em { position: absolute; right: -2px; top: calc(100% + 4px); padding: 2px 6px; border-radius: 4px; background: var(--lzp-ng); color: #fff; font-size: .62rem; font-weight: 900; font-style: normal; white-space: nowrap; }
@keyframes lzp-blink { 50% { border-color: rgba(196, 73, 62, .35); } }
.lzp-shot__hint { margin-top: 8px; text-align: center; font-size: .7rem; color: #8fa0bb; }

@media (max-width: 900px) {
	.lzp-case__grid { grid-template-columns: 1fr; }
	.lzp-shots { position: relative; top: 0; }
}
@media (max-width: 420px) {
	.lzp-shots { gap: 8px; padding: 14px; }
	.lzp-shot figcaption { font-size: .68rem; }
}
@media (prefers-reduced-motion: reduce) {
	.lzp-shot__view--scroll { overflow-y: auto; }
	.lzp-shot__view--scroll img { position: static; }
}

/* ==========================================================================
   SOLUTION (dark)
   ========================================================================== */
.lzp-solution { overflow: hidden; }
.lzp-solution__bg { position: absolute; inset: 0; background: radial-gradient(60% 50% at 50% 45%, rgba(28, 200, 220, .16), transparent 70%), radial-gradient(circle, rgba(255, 255, 255, .09) 1px, transparent 1.5px) 0 0 / 28px 28px; -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, #000 30%, transparent 80%); mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, #000 30%, transparent 80%); }
.lzp-solution .lzp-wrap { position: relative; }
.lzp-solution .lzp-h2 { color: #fff; }

.lzp-hub { position: relative; max-width: 920px; margin: 0 auto; aspect-ratio: 800 / 520; }
.lzp-hub__lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.lzp-hub__lines path { fill: none; stroke: rgba(139, 233, 243, .55); stroke-width: 1.5; stroke-dasharray: 4 9; vector-effect: non-scaling-stroke; animation: lzp-flow 1.6s linear infinite; }
@keyframes lzp-flow { to { stroke-dashoffset: -26; } }
.lzp-hub__core { position: absolute; left: 50%; top: 50%; width: clamp(150px, 22vw, 196px); aspect-ratio: 1; transform: translate(-50%, -50%) scale(.6); border-radius: 50%; display: grid; place-content: center; text-align: center; background: radial-gradient(circle at 30% 25%, var(--lzp-navy-7), var(--lzp-navy-9) 70%); box-shadow: 0 0 0 1px rgba(139, 233, 243, .35), 0 0 60px rgba(28, 200, 220, .35); opacity: 0; transition: transform 1s var(--lzp-ease), opacity 1s var(--lzp-ease); }
.lzp-hub__core::before, .lzp-hub__core::after { content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 1px solid rgba(139, 233, 243, .4); animation: lzp-ring 3.2s var(--lzp-ease) infinite; }
.lzp-hub__core::after { animation-delay: 1.6s; }
@keyframes lzp-ring { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.35); opacity: 0; } }
.lzp-spark--hub { width: 54px; height: 54px; margin: 0 auto 4px; animation: lzp-spin 14s linear infinite; }
@keyframes lzp-spin { to { transform: rotate(360deg); } }
.lzp-hub__core strong { font-family: var(--lzp-en); font-size: clamp(1.2rem, 2vw, 1.5rem); color: #fff; letter-spacing: .04em; line-height: 1.1; }
.lzp-hub__core span { font-size: .72rem; color: var(--lzp-cyan-2); font-weight: 700; margin-top: 4px; }
.lzp-hub__node { position: absolute; transform: translate(-50%, -50%) scale(.85); min-width: 132px; padding: 10px 16px; border-radius: 14px; text-align: center; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: transform .8s var(--lzp-ease), opacity .8s var(--lzp-ease), border-color .3s, background-color .3s; }
.lzp-hub__node:hover { border-color: var(--lzp-cyan); background: rgba(28, 200, 220, .12); }
.lzp-hub__node b { display: block; font-size: 1rem; color: #fff; line-height: 1.4; }
.lzp-hub__node span { display: block; font-size: .72rem; color: #9fb1cb; }
.lzp-hub__node--top { left: 50%; top: 10.4%; border-color: rgba(244, 192, 63, .6); }
.lzp-hub__node--top b { color: var(--lzp-gold-2); }
.lzp-hub__node--l1 { left: 14.75%; top: 30.8%; }
.lzp-hub__node--r1 { left: 85.25%; top: 30.8%; }
.lzp-hub__node--l2 { left: 14.75%; top: 73%; }
.lzp-hub__node--r2 { left: 85.25%; top: 73%; }
.lzp-hub__node--b1 { left: 31.25%; top: 92.3%; }
.lzp-hub__node--b2 { left: 68.75%; top: 92.3%; }
.lzp-hub.is-in .lzp-hub__core { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.lzp-hub.is-in .lzp-hub__node { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.lzp-hub__node--top { transition-delay: .3s; }
.lzp-hub__node--l1 { transition-delay: .4s; } .lzp-hub__node--r1 { transition-delay: .5s; }
.lzp-hub__node--l2 { transition-delay: .6s; } .lzp-hub__node--r2 { transition-delay: .7s; }
.lzp-hub__node--b1 { transition-delay: .8s; } .lzp-hub__node--b2 { transition-delay: .9s; }
.lzp-js .lzp .lzp-hub[data-reveal] { transform: none; }

.lzp-steps3 { display: flex; justify-content: center; gap: 12px; margin-top: clamp(64px, 8vw, 104px); counter-reset: s; }
.lzp-steps3 li { position: relative; flex: 1; max-width: 260px; padding: 22px 18px; text-align: center; border-radius: 18px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); }
.lzp-steps3 li + li::before { content: "→"; position: absolute; left: -15px; top: 50%; transform: translate(-50%, -50%); color: var(--lzp-gold); font-weight: 700; }
.lzp-steps3 span { display: block; font-family: var(--lzp-en); font-size: .78rem; color: var(--lzp-cyan-2); letter-spacing: .14em; }
.lzp-steps3 b { display: block; font-size: 1.4rem; color: #fff; margin-top: 2px; }
.lzp-steps3 small { display: block; font-size: .8rem; color: #9fb1cb; }
.lzp-solution__tagline { font-stretch: 112%; margin-top: clamp(56px, 7vw, 90px); text-align: center; font-family: var(--lzp-en); font-weight: 700; font-size: clamp(1.9rem, 5.6vw, 4.6rem); letter-spacing: -.02em; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .35); }
.lzp-solution__tagline span { color: var(--lzp-cyan); -webkit-text-stroke: 0; }

@media (max-width: 760px) {
	.lzp-hub { aspect-ratio: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	.lzp-hub__lines { display: none; }
	.lzp-hub__core { position: relative; left: auto; top: auto; grid-column: 1 / -1; justify-self: center; transform: scale(.6); margin: 18px 0 26px; width: 160px; }
	.lzp-hub.is-in .lzp-hub__core { transform: none; }
	.lzp-hub__node { position: relative; left: auto !important; top: auto !important; transform: translateY(14px); min-width: 0; }
	.lzp-hub.is-in .lzp-hub__node { transform: none; }
	.lzp-hub__node--top { grid-column: 1 / -1; grid-row: 1; }
	.lzp-steps3 { flex-direction: column; align-items: stretch; gap: 22px; }
	.lzp-steps3 li { max-width: none; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; text-align: left; align-items: center; padding: 16px 20px; }
	.lzp-steps3 span { grid-row: 1 / span 2; }
	.lzp-steps3 li + li::before { content: "↓"; left: 50%; top: -12px; }
}

/* ==========================================================================
   COMPARE (vs 採用)
   ========================================================================== */
.lzp-vs { position: relative; display: grid; grid-template-columns: 1fr 1.08fr; gap: 26px; align-items: stretch; }
.lzp-vs__card { position: relative; padding: clamp(28px, 3.5vw, 44px); border-radius: 26px; }
.lzp-vs__card--hire { background: #fff; color: #4b5a72; box-shadow: 0 1px 0 var(--lzp-line); }
.lzp-vs__card--lz { background: linear-gradient(160deg, var(--lzp-navy-7), var(--lzp-navy-9)); color: #dfe7f4; box-shadow: 0 40px 70px -40px rgba(6, 22, 49, .8), inset 0 0 0 1px rgba(255, 255, 255, .06); }
.lzp-vs__card--lz::before { content: "おすすめ"; position: absolute; top: -14px; right: 28px; padding: 4px 16px; border-radius: 99px; background: var(--lzp-gold); color: var(--lzp-navy-9); font-size: .8rem; font-weight: 900; letter-spacing: .1em; }
.lzp-vs__kicker { display: flex; align-items: center; gap: 10px; font-weight: 900; font-size: 1.06rem; }
.lzp-vs__card--lz .lzp-vs__kicker { color: #fff; }
.lzp-vs__price { margin: 22px 0 24px; padding-bottom: 22px; border-bottom: 1px solid currentColor; border-color: rgba(127, 140, 160, .25); font-weight: 900; font-size: 1.2rem; }
.lzp-vs__price small { display: block; font-size: .78rem; font-weight: 700; opacity: .75; }
.lzp-vs__price b { font-family: var(--lzp-en); font-size: clamp(3rem, 6vw, 4.4rem); line-height: 1.05; letter-spacing: -.03em; margin-inline: 4px; }
.lzp-vs__card--hire .lzp-vs__price b { color: #8a96a8; }
.lzp-vs__card--lz .lzp-vs__price b { color: var(--lzp-gold-2); }
.lzp-vs__list { display: grid; gap: 12px; font-weight: 700; font-size: .98rem; }
.lzp-vs__list li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.6; }
.lzp-vs__list li::before { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; font-size: 12px; font-weight: 900; }
.lzp-vs__list .is-ng::before { content: "✕"; background: #eef0f4; color: #8a96a8; }
.lzp-vs__list .is-ok::before { content: "✓"; background: var(--lzp-cyan); color: var(--lzp-navy-9); }
.lzp-vs__badge { position: absolute; left: calc(48% + 1px); top: 50%; transform: translate(-50%, -50%); width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--lzp-paper); border: 1px solid var(--lzp-line); font-family: var(--lzp-en); font-weight: 700; color: var(--lzp-navy); z-index: 2; }
@media (max-width: 860px) {
	.lzp-vs { grid-template-columns: 1fr; gap: 40px; }
	.lzp-vs__badge { left: 50%; top: calc(50% - 10px); }
}

.lzp-midcta { margin-top: clamp(48px, 6vw, 72px); display: flex; align-items: center; justify-content: space-between; gap: 18px 30px; flex-wrap: wrap; padding: 26px clamp(22px, 3vw, 40px); border-radius: 22px; background: #fff; border: 1px dashed rgba(11, 36, 71, .25); }
.lzp-midcta p { font-weight: 900; font-size: clamp(1rem, 1.6vw, 1.2rem); color: var(--lzp-navy-9); line-height: 1.5; }
@media (max-width: 560px) { .lzp-midcta .lzp-btn { width: 100%; } }

/* ==========================================================================
   DIFFERENCE table
   ========================================================================== */
.lzp-table { border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 30px 60px -48px rgba(6, 22, 49, .6); }
.lzp-table__row { display: grid; grid-template-columns: .8fr 1fr 1fr 1.25fr; }
.lzp-table__row > span { padding: 20px 22px; border-top: 1px solid var(--lzp-line); font-size: .95rem; font-weight: 500; color: #4b5a72; display: flex; align-items: center; gap: 8px; }
.lzp-table__row > span[role="rowheader"] { font-weight: 900; color: var(--lzp-navy-9); }
.lzp-table__row > .is-lz { background: var(--lzp-navy); color: #fff; font-weight: 900; border-top-color: rgba(255, 255, 255, .08); }
.lzp-table__row > .is-lz::before { content: "✓"; display: inline-grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--lzp-gold); color: var(--lzp-navy-9); font-size: 12px; }
.lzp-table__row--head > span { border-top: 0; font-weight: 900; font-size: .88rem; color: var(--lzp-muted); background: var(--lzp-paper); }
.lzp-table__row--head > .is-lz { background: var(--lzp-navy-9); color: var(--lzp-gold-2); font-family: var(--lzp-en); font-size: 1.05rem; letter-spacing: .06em; }
.lzp-table__row--head > .is-lz::before { display: none; }
@media (max-width: 760px) {
	.lzp-table { background: transparent; box-shadow: none; display: grid; gap: 12px; }
	.lzp-table__row--head { display: none; }
	.lzp-table__row { grid-template-columns: 1fr 1fr; background: #fff; border-radius: 18px; overflow: hidden; }
	.lzp-table__row > span { border: 0; padding: 12px 16px; font-size: .86rem; flex-direction: column; align-items: flex-start; gap: 2px; }
	.lzp-table__row > span[role="rowheader"] { grid-column: 1 / -1; padding: 14px 16px 4px; font-size: .78rem; color: var(--lzp-muted); letter-spacing: .1em; }
	.lzp-table__row > .is-lz { grid-column: 1 / -1; order: -1; flex-direction: row; align-items: center; font-size: 1rem; padding: 16px; }
	.lzp-table__row > span[role="rowheader"] { order: -2; background: var(--lzp-navy); color: var(--lzp-cyan-2); padding-bottom: 0; }
	.lzp-table__row > span[data-l]:not(.is-lz)::before { content: attr(data-l); font-size: .7rem; font-weight: 700; color: #8a96a8; }
}

/* ==========================================================================
   WHY + SERVICES
   ========================================================================== */
.lzp-reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lzp-reason { position: relative; padding: 34px 30px 32px; border-radius: 24px; background: #fff; overflow: hidden; transition: transform .5s var(--lzp-ease), box-shadow .5s var(--lzp-ease); box-shadow: 0 1px 0 var(--lzp-line); }
.lzp-reason:nth-child(2) { --d: .12s; } .lzp-reason:nth-child(3) { --d: .24s; }
.lzp-reason:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -36px rgba(6, 22, 49, .55); }
.lzp-reason__num { display: block; font-family: var(--lzp-en); font-weight: 700; font-size: 4.6rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--lzp-navy); opacity: .18; letter-spacing: -.04em; }
.lzp-reason h3 { margin-top: 10px; font-size: 1.4rem; font-weight: 900; color: var(--lzp-navy-9); }
.lzp-reason h3::after { content: ""; display: block; width: 36px; height: 3px; margin-top: 14px; background: linear-gradient(90deg, var(--lzp-cyan), var(--lzp-gold)); border-radius: 2px; transition: width .6s var(--lzp-ease); }
.lzp-reason:hover h3::after { width: 72px; }
.lzp-reason p { margin-top: 16px; color: var(--lzp-muted); font-weight: 500; font-size: .96rem; }

.lzp-services { margin-top: 26px; padding: clamp(26px, 3vw, 40px); border-radius: 26px; background: var(--lzp-navy-9); color: #fff; }
.lzp-services__title { font-weight: 900; font-size: 1.05rem; margin-bottom: 20px; display: flex; align-items: center; gap: 12px; }
.lzp-services__title::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--lzp-gold); }
.lzp-services ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.lzp-services li { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; padding: 18px; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); }
.lzp-services svg { grid-row: 1 / span 2; width: 42px; height: 42px; padding: 9px; border-radius: 12px; background: rgba(28, 200, 220, .14); fill: none; stroke: var(--lzp-cyan-2); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.lzp-services b { font-size: .98rem; line-height: 1.4; }
.lzp-services small { font-size: .76rem; color: #9fb1cb; line-height: 1.4; }
@media (max-width: 960px) { .lzp-reasons { grid-template-columns: 1fr; } .lzp-services ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .lzp-services ul { grid-template-columns: 1fr; } }

/* ==========================================================================
   BEFORE / AFTER
   ========================================================================== */
.lzp-ba .lzp-h2 { color: #fff; }
/* 次の「外部Web部署とは」も濃紺なので、一段明るい紺で境目をつける */
.lzp-ba { background: var(--lzp-navy); }
.lzp-compare { --pos: 50%; position: relative; max-width: 980px; margin-inline: auto; aspect-ratio: 16 / 10; container-type: inline-size; border-radius: 22px; overflow: hidden; box-shadow: 0 50px 90px -50px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 255, 255, .08); user-select: none; -webkit-user-select: none; touch-action: pan-y; }
/* サイトのモックは幅1000pxを基準に cqw で組む（1cqw = 基準の10px）。枠の幅に合わせて丸ごと縮む */
.lzp-site { position: absolute; inset: 0; display: flex; flex-direction: column; overflow: hidden; font-size: 1.2cqw; line-height: 1.5; letter-spacing: 0; }
.lzp-site__bar { flex: none; display: flex; align-items: center; gap: .6cqw; height: 3cqw; padding: 0 1.4cqw; background: #dfe3e8; }
.lzp-site__bar span { width: 1cqw; height: 1cqw; border-radius: 50%; background: #b8bfc8; }
.lzp-site__bar em { flex: 0 1 40%; margin-left: 2cqw; padding: .2cqw 1.6cqw; border-radius: 1cqw; background: #fff; color: #6b7480; font-size: 1.05cqw; font-style: normal; font-family: var(--lzp-en); }

/* --- BEFORE：よくある古い工務店サイト --- */
.lzp-site--before { z-index: 0; background: #fff; color: #333; font-family: "MS PGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
.bf-top { padding: .3cqw 2cqw; background: #5d7a3a; color: #fff; font-size: 1cqw; }
.bf-head { display: flex; justify-content: space-between; align-items: center; padding: 1.2cqw 2cqw; background: linear-gradient(#fff, #f1f1e8); border-bottom: 1px solid #ccc; }
.bf-logo { display: flex; align-items: center; gap: 1cqw; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 2.6cqw; font-weight: 700; color: #3b5323; line-height: 1.1; }
.bf-logo i { width: 3.6cqw; height: 3.2cqw; background: #b8402f; clip-path: polygon(50% 0, 100% 45%, 85% 45%, 85% 100%, 15% 100%, 15% 45%, 0 45%); }
.bf-logo small { display: block; font-size: 1cqw; color: #666; font-weight: 400; }
.bf-tel { text-align: right; line-height: 1.3; }
.bf-tel small { display: block; font-size: .95cqw; color: #666; }
.bf-tel b { display: block; font-family: Arial, sans-serif; font-size: 2.4cqw; color: #b8402f; }
.bf-nav { display: flex; background: linear-gradient(#7d9b55, #5d7a3a); border-top: 1px solid #9ab874; }
.bf-nav span { flex: 1; padding: .9cqw 0; text-align: center; color: #fff; font-size: 1.15cqw; border-right: 1px solid rgba(255, 255, 255, .35); text-shadow: 0 1px 0 rgba(0, 0, 0, .3); }
.bf-main { display: grid; grid-template-columns: 2fr 1fr; gap: 1.4cqw; padding: 1.4cqw 2cqw; }
.bf-slide { position: relative; height: 27cqw; border: 1px solid #bbb; overflow: hidden; }
.bf-slide img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(.95); }
.bf-slide p { position: absolute; left: 2cqw; bottom: 3cqw; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 2.6cqw; line-height: 1.4; color: #fff; text-shadow: 2px 2px 3px rgba(0, 0, 0, .8); }
.bf-dots { position: absolute; right: 1.5cqw; bottom: 1.2cqw; display: flex; gap: .6cqw; }
.bf-dots i { width: .9cqw; height: .9cqw; border-radius: 50%; background: #fff; opacity: .55; }
.bf-dots i:first-child { opacity: 1; }
.bf-side { display: grid; gap: .8cqw; }
.bf-side span { display: grid; place-items: center; background: linear-gradient(#f7f3e6, #e6dcc0); border: 1px solid #cbbd94; color: #5a4a1e; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 1.3cqw; font-weight: 700; }
.bf-news { position: relative; margin: 0 2cqw; padding: 1cqw 1.4cqw; border: 1px solid #ccc; background: #fafafa; font-size: 1.1cqw; }
.bf-news__h { margin-bottom: .4cqw; color: #3b5323; font-weight: 700; border-bottom: 1px dotted #999; }
.bf-news time { margin-right: 1.4cqw; color: #888; }
.bf-news__link { position: absolute; right: 1.4cqw; bottom: 1cqw; color: #1a0dab; text-decoration: underline; font-size: 1cqw; }

/* --- AFTER：同じ会社を改善 --- */
.lzp-site--after { z-index: 1; background: #faf8f4; color: #1f2b22; font-family: var(--lzp-font); clip-path: inset(0 0 0 var(--pos)); }
.lzp-site--after .lzp-site__bar { background: #e8edf3; }
.af-head { flex: none; display: flex; align-items: center; gap: 2cqw; padding: 1.4cqw 2.4cqw; background: #fff; }
.af-logo { display: flex; align-items: center; gap: .8cqw; font-size: 2cqw; font-weight: 900; letter-spacing: .1em; color: #2d3b2f; }
.af-logo i { width: 2.4cqw; height: 2.4cqw; border-radius: 50% 50% .4cqw .4cqw; background: #3f6b4f; }
.af-nav { display: flex; gap: 2cqw; margin-left: auto; font-size: 1.15cqw; font-weight: 700; color: #3a463e; }
.af-tel { font-family: var(--lzp-en); font-size: 1.15cqw; font-weight: 700; color: #3a463e; }
.af-btn { display: inline-block; padding: .8cqw 1.6cqw; border-radius: 99px; background: #e8a33d; color: #fff; font-size: 1.15cqw; font-weight: 900; white-space: nowrap; }
.af-hero { position: relative; flex: none; height: 34cqw; }
.af-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); }
.af-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, rgba(250, 248, 244, .96) 0 36%, rgba(250, 248, 244, 0) 62%); }
.af-copy { position: absolute; z-index: 1; right: 4cqw; top: 50%; width: 38cqw; transform: translateY(-50%); }
.af-eyebrow { display: inline-block; padding: .2cqw 1cqw; border: 1px solid #3f6b4f; border-radius: 99px; color: #3f6b4f; font-size: 1.1cqw; font-weight: 700; }
.af-title { margin-top: 1.2cqw; font-size: 3.3cqw; font-weight: 900; line-height: 1.35; color: #1f2b22; }
.af-sub { margin-top: 1cqw; font-size: 1.2cqw; color: #4b5a50; }
.af-ctas { display: flex; gap: 1cqw; margin-top: 1.8cqw; }
.af-btn--lg { padding: 1.1cqw 2.2cqw; font-size: 1.35cqw; box-shadow: 0 .6cqw 1.4cqw -.6cqw rgba(232, 163, 61, .9); }
.af-btn--ghost { padding: 1.1cqw 2cqw; font-size: 1.35cqw; background: #fff; color: #3f6b4f; border: 1px solid #3f6b4f; }
.af-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4cqw; padding: 1.6cqw 2.4cqw; }
.af-cards div { display: grid; gap: .2cqw; padding: 1.2cqw 1.4cqw; border-radius: 1cqw; background: #fff; box-shadow: 0 .4cqw 1.2cqw -.6cqw rgba(0, 0, 0, .25); }
.af-cards small { font-size: .95cqw; font-weight: 700; color: #3f6b4f; }
.af-cards b { font-size: 1.5cqw; color: #1f2b22; }
.af-cards span { font-size: 1.1cqw; color: #4b5a50; }

/* --- 番号ピン --- */
.lzp-pin { position: absolute; z-index: 2; display: grid; place-items: center; width: 2.6cqw; height: 2.6cqw; margin: -1.3cqw 0 0 -1.3cqw; border-radius: 50%; font-family: var(--lzp-en); font-size: 1.3cqw; font-weight: 800; line-height: 1; box-shadow: 0 0 0 .3cqw #fff, 0 .4cqw 1cqw rgba(0, 0, 0, .35); }
.lzp-pin::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%; background: inherit; animation: lzp-pin-ring 2.2s ease-out infinite; }
@keyframes lzp-pin-ring { from { transform: scale(1); opacity: .7; } to { transform: scale(2.3); opacity: 0; } }
.lzp-pin--ng { background: var(--lzp-ng); color: #fff; }
.lzp-pin--ok { background: var(--lzp-cyan); color: var(--lzp-navy-9); }
.lzp-pin em { position: absolute; left: calc(100% + 1cqw); top: 50%; transform: translateY(-50%); padding: .4cqw 1cqw; border-radius: .6cqw; background: inherit; color: inherit; font-family: var(--lzp-font); font-size: 1.25cqw; font-weight: 900; font-style: normal; white-space: nowrap; box-shadow: 0 .3cqw .8cqw rgba(0, 0, 0, .25); }
.lzp-pin--left em { left: auto; right: calc(100% + 1cqw); }
@container (max-width: 600px) {
	.lzp-pin { width: 4.6cqw; height: 4.6cqw; margin: -2.3cqw 0 0 -2.3cqw; font-size: 2.6cqw; }
	.lzp-pin em { display: none; }
}

/* --- 比較スライダー --- */
.lzp-compare__label { position: absolute; bottom: 1.4cqw; z-index: 3; padding: 4px 12px; border-radius: 6px; font-family: var(--lzp-en); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; pointer-events: none; }
.lzp-compare__label--b { left: 1.4cqw; background: rgba(0, 0, 0, .65); color: #fff; }
.lzp-compare__label--a { right: 1.4cqw; background: var(--lzp-gold); color: var(--lzp-navy-9); }
.lzp-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); z-index: 4; width: 2px; margin-left: -1px; background: #fff; pointer-events: none; box-shadow: 0 0 12px rgba(0, 0, 0, .3); }
.lzp-compare__handle i { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--lzp-navy-9); font-style: normal; font-weight: 900; font-size: 1.1rem; letter-spacing: .1em; box-shadow: 0 10px 24px rgba(0, 0, 0, .35); }
.lzp-compare__range { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; background: none; }
.lzp-compare__range::-webkit-slider-thumb { -webkit-appearance: none; width: 60px; height: 600px; }
.lzp-compare:focus-within .lzp-compare__handle i { outline: 3px solid var(--lzp-cyan); }
@media (max-width: 640px) {
	.lzp-compare { border-radius: 14px; }
	.lzp-compare__handle i { width: 40px; height: 40px; font-size: .9rem; }
	.lzp-compare__label { font-size: .62rem; padding: 3px 8px; }
}

/* --- 改善ポイント --- */
.lzp-points { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 980px; margin: 40px auto 0; }
.lzp-points li { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; row-gap: 10px; align-items: start; padding: 22px 24px; border-radius: 18px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); }
.lzp-points__num { grid-row: 1 / span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--lzp-gold); color: var(--lzp-navy-9); font-family: var(--lzp-en); font-weight: 800; }
.lzp-points__ng, .lzp-points__ok { position: relative; padding-left: 26px; line-height: 1.65; }
.lzp-points__ng { font-size: .86rem; color: #9fb1cb; }
.lzp-points__ok { font-size: .96rem; font-weight: 700; color: #fff; }
.lzp-points__ng::before, .lzp-points__ok::before { position: absolute; left: 0; top: .2em; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; font-size: 10px; font-weight: 900; }
.lzp-points__ng::before { content: "✕"; background: rgba(196, 73, 62, .25); color: #ff9c90; }
.lzp-points__ok::before { content: "✓"; background: var(--lzp-cyan); color: var(--lzp-navy-9); }
@media (max-width: 760px) { .lzp-points { grid-template-columns: 1fr; } .lzp-points li { padding: 18px; } }
/* --- 改善例のタブ --- */
.lzp-tabs__list { display: flex; gap: 6px; max-width: 760px; margin: 0 auto 28px; padding: 6px; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); }
.lzp-tabs__tab { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 10px 12px; border: 0; border-radius: 999px; background: transparent; color: #b6c3d8; font: inherit; cursor: pointer; transition: background-color .35s var(--lzp-ease), color .35s, box-shadow .35s; }
.lzp-tabs__tab b { font-size: 1rem; font-weight: 900; line-height: 1.4; }
.lzp-tabs__tab small { font-size: .72rem; font-weight: 700; opacity: .8; line-height: 1.4; }
.lzp-tabs__tab:hover { color: #fff; }
.lzp-tabs__tab[aria-selected="true"] { background: linear-gradient(180deg, var(--lzp-gold-2), var(--lzp-gold)); color: var(--lzp-navy-9); box-shadow: 0 10px 24px -12px rgba(169, 122, 8, .9); }
.lzp-tabs__panel[hidden] { display: none !important; }
.lzp-tabs__panel { animation: lzp-fadein .5s var(--lzp-ease); }
@media (max-width: 640px) {
	.lzp-tabs__list { border-radius: 18px; gap: 4px; padding: 4px; }
	.lzp-tabs__tab { border-radius: 14px; padding: 8px 4px; }
	.lzp-tabs__tab b { font-size: .82rem; }
	.lzp-tabs__tab small { font-size: .62rem; }
}

/* --- Googleマップ（ビジネスプロフィール）のモック --- */
.lzp-site.mp { background: #fff; color: #202124; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, Arial, sans-serif; }
.mp-body { flex: 1; display: grid; grid-template-columns: 38fr 62fr; min-height: 0; }
.mp-panel { position: relative; z-index: 1; display: flex; flex-direction: column; min-height: 0; overflow: hidden; background: #fff; box-shadow: .2cqw 0 .8cqw rgba(0, 0, 0, .12); }
.mp-search { flex: none; margin: 1.2cqw; padding: .9cqw 1.6cqw; border-radius: 99px; box-shadow: 0 .2cqw .6cqw rgba(0, 0, 0, .25); font-size: 1.2cqw; }
.mp-photos { flex: none; display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: .3cqw; height: 14cqw; }
.mp-photos img { width: 100%; height: 100%; object-fit: cover; }
.mp-photos > img:first-child { grid-row: 1 / span 2; }
.mp-photos > span { position: relative; overflow: hidden; }
.mp-photos > span b { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0, 0, 0, .45); color: #fff; font-size: 1.4cqw; }
.mp-photos--one { display: block; }
.mp-photos--one img { filter: saturate(.6) brightness(.95); }
.mp-info { display: flex; flex-direction: column; gap: .55cqw; min-height: 0; padding: 1.2cqw 1.8cqw; }
.mp-name { font-size: 2cqw; font-weight: 700; line-height: 1.3; }
.mp-rate { display: flex; align-items: center; gap: .5cqw; font-size: 1.1cqw; color: #70757a; }
.mp-rate b { color: #202124; }
.mp-stars, .mp-review__head b { color: #fbbc04; letter-spacing: .05em; }
.mp-stars s, .mp-review__head s { color: #dadce0; text-decoration: none; }
.mp-cat { font-size: 1.1cqw; color: #70757a; }
.mp-actions { display: flex; flex-wrap: wrap; gap: .6cqw; padding: .4cqw 0 .9cqw; border-bottom: 1px solid #e8eaed; }
.mp-actions span { padding: .4cqw 1.1cqw; border: 1px solid #dadce0; border-radius: 99px; font-size: 1cqw; color: #1a73e8; }
.mp-actions .is-main { background: #1a73e8; border-color: #1a73e8; color: #fff; font-weight: 700; }
.mp-rows p { display: flex; align-items: center; gap: .8cqw; padding: .25cqw 0; font-size: 1.05cqw; }
.mp-rows i { flex: none; width: 1.3cqw; height: 1.3cqw; border-radius: 50%; background: #e8eaed; }
.mp-rows .is-empty { color: #1a73e8; }
.mp-rows .is-open b { color: #188038; }
.mp-post { padding: .8cqw 1cqw; border-radius: .8cqw; background: #f1f3f4; font-size: 1.05cqw; line-height: 1.45; }
.mp-post small { display: block; font-size: .9cqw; color: #70757a; }
.mp-review { padding-top: .7cqw; border-top: 1px solid #e8eaed; font-size: 1.02cqw; line-height: 1.5; }
.mp-review__head { display: flex; gap: .8cqw; color: #70757a; }
.mp-reply { margin-top: .5cqw; padding: .6cqw .9cqw; border-left: .3cqw solid #dadce0; background: #f8f9fa; font-size: .95cqw; color: #3c4043; }
.mp-reply small { display: block; font-weight: 700; color: #202124; }
.mp-map { position: relative; overflow: hidden;
	background:
		linear-gradient(90deg, transparent 47%, #fff 47% 49.5%, transparent 49.5%) 0 0 / 22cqw 100%,
		linear-gradient(0deg, transparent 47%, #fff 47% 49.5%, transparent 49.5%) 0 0 / 100% 16cqw,
		linear-gradient(32deg, transparent 49.4%, #fde293 49.4% 51%, transparent 51%),
		radial-gradient(circle at 72% 26%, #cde8c5 0 7cqw, transparent 7.1cqw),
		radial-gradient(circle at 22% 82%, #aadaff 0 6cqw, transparent 6.1cqw),
		#eef0e8; }
.mp-mapPin { position: absolute; left: 50%; top: 46%; width: 2.6cqw; height: 2.6cqw; border-radius: 50% 50% 50% 0; background: #ea4335; transform: translate(-50%, -100%) rotate(-45deg); box-shadow: 0 .3cqw .6cqw rgba(0, 0, 0, .3); }
.mp-mapPin::after { content: ""; position: absolute; inset: 32%; border-radius: 50%; background: #a50e0e; }
.mp-mapPin--after { width: 3.4cqw; height: 3.4cqw; }
.mp-mapCard { position: absolute; left: 50%; top: 46%; transform: translate(2.4cqw, -5.4cqw); padding: .7cqw 1.2cqw; border-radius: .7cqw; background: #fff; box-shadow: 0 .3cqw 1cqw rgba(0, 0, 0, .25); font-size: 1.1cqw; line-height: 1.35; white-space: nowrap; }
.mp-mapCard b { display: block; }
.mp-mapCard small { color: #188038; font-weight: 700; }

/* --- 施工事例記事のモック --- */
.lzp-site.ar { background: #fff; }
.ar-headBf { flex: none; padding: 1.4cqw 18%; background: #eef3e6; border-bottom: .3cqw solid #5d7a3a; color: #3b5323; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 1.8cqw; font-weight: 700; }
.ar-body { display: flex; flex-direction: column; gap: 1.2cqw; width: 64%; margin: 0 auto; padding: 2cqw 0; }
.ar-meta { font-size: 1cqw; color: #888; }
.ar-titleBf { padding-bottom: .6cqw; border-bottom: 1px solid #ccc; font-size: 2cqw; font-weight: 700; color: #333; }
.ar-photoBf { height: 20cqw; overflow: hidden; }
.ar-photoBf img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }
.ar-textBf { font-size: 1.2cqw; line-height: 1.8; }
.ar-foot { padding-top: .8cqw; border-top: 1px dotted #bbb; font-size: 1cqw; color: #1a0dab; }
.lzp-site--after.ar { background: #faf8f4; }
.ar-crumb { font-size: .95cqw; color: #7a857d; }
.ar-title { font-size: 2.3cqw; font-weight: 900; line-height: 1.4; color: #1f2b22; }
.ar-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.4cqw; }
.ar-grid img { width: 100%; height: 17cqw; object-fit: cover; border-radius: 1cqw; }
.ar-spec { display: grid; align-content: center; padding: 1cqw 1.4cqw; border-radius: 1cqw; background: #fff; box-shadow: 0 .4cqw 1.2cqw -.6cqw rgba(0, 0, 0, .25); }
.ar-spec div { display: flex; justify-content: space-between; gap: 1cqw; padding: .6cqw 0; border-bottom: 1px solid #eee; font-size: 1.15cqw; }
.ar-spec div:last-child { border-bottom: 0; }
.ar-spec dt { color: #7a857d; }
.ar-spec dd { font-weight: 900; color: #1f2b22; }
.ar-voice { padding: 1cqw 1.4cqw; border-left: .4cqw solid #e8a33d; background: #fff; font-size: 1.25cqw; font-weight: 700; line-height: 1.5; color: #1f2b22; }
.ar-voice small { display: block; font-size: .95cqw; font-weight: 500; color: #7a857d; }
.ar-cta { display: flex; align-items: center; justify-content: space-between; gap: 1cqw; padding: 1.2cqw 1.6cqw; border-radius: 1cqw; background: #2d3b2f; color: #fff; font-size: 1.15cqw; }
.ar-cta b { padding: .7cqw 1.6cqw; border-radius: 99px; background: #e8a33d; font-size: 1.2cqw; white-space: nowrap; }

/* ==========================================================================
   FLOW
   ========================================================================== */
.lzp-process { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.lzp-process::before { content: ""; position: absolute; left: 10%; right: 10%; top: 34px; height: 2px; background: linear-gradient(90deg, var(--lzp-cyan), var(--lzp-gold)); transform: scaleX(0); transform-origin: left; transition: transform 1.6s var(--lzp-ease) .2s; }
.lzp-process.is-in::before { transform: scaleX(1); }
.lzp-process li { position: relative; text-align: center; }
.lzp-process span { position: relative; z-index: 1; display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 14px; border-radius: 50%; background: #fff; border: 2px solid var(--lzp-navy); font-family: var(--lzp-en); font-weight: 700; color: var(--lzp-navy); font-size: 1.1rem; transform: scale(.4); opacity: 0; transition: transform .7s var(--lzp-ease), opacity .7s; }
.lzp-process.is-in span { transform: none; opacity: 1; }
.lzp-process li:nth-child(2) span { transition-delay: .3s; } .lzp-process li:nth-child(3) span { transition-delay: .6s; }
.lzp-process li:nth-child(4) span { transition-delay: .9s; } .lzp-process li:nth-child(5) span { transition-delay: 1.2s; background: var(--lzp-navy); color: var(--lzp-gold); }
.lzp-process b { display: block; font-size: 1.08rem; font-weight: 900; color: var(--lzp-navy-9); }
.lzp-process small { display: block; font-size: .82rem; color: var(--lzp-muted); }
@media (max-width: 760px) {
	.lzp-process { grid-template-columns: 1fr; gap: 0; }
	.lzp-process::before { left: 33px; right: auto; top: 20px; bottom: 20px; width: 2px; height: auto; transform: scaleY(0); transform-origin: top; background: linear-gradient(180deg, var(--lzp-cyan), var(--lzp-gold)); }
	.lzp-process.is-in::before { transform: scaleY(1); }
	.lzp-process li { display: grid; grid-template-columns: 68px 1fr; column-gap: 18px; text-align: left; padding-block: 8px; align-items: center; }
	.lzp-process span { grid-row: 1 / span 2; margin: 0; }
	.lzp-process b { align-self: end; } .lzp-process small { align-self: start; }
}

.lzp-month { margin-top: clamp(56px, 7vw, 90px); padding: clamp(26px, 4vw, 48px); border-radius: 28px; background: #fff; box-shadow: 0 1px 0 var(--lzp-line); }
.lzp-month__title { font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 900; color: var(--lzp-navy-9); margin-bottom: 24px; }
.lzp-month__title b { color: var(--lzp-navy-7); background: linear-gradient(transparent 62%, rgba(28, 200, 220, .3) 62%); }
.lzp-month__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.lzp-month__week { position: relative; padding: 22px 20px; border-radius: 18px; background: var(--lzp-paper); min-height: 130px; }
.lzp-month__week span { font-family: var(--lzp-en); font-weight: 700; font-size: .78rem; letter-spacing: .14em; color: var(--lzp-navy-7); }
.lzp-month__week p { margin-top: 10px; font-weight: 900; color: var(--lzp-navy-9); line-height: 1.55; }
.lzp-month__week.is-next { background: var(--lzp-navy); }
.lzp-month__week.is-next span { color: var(--lzp-gold); }
.lzp-month__week.is-next p { color: #fff; }
.lzp-month__week.is-next::after { content: "↻"; position: absolute; right: 16px; bottom: 10px; font-size: 1.8rem; color: var(--lzp-cyan); animation: lzp-spin 6s linear infinite; }
@media (max-width: 860px) { .lzp-month__grid { grid-template-columns: 1fr 1fr; } .lzp-month__week { min-height: 0; } }

/* ==========================================================================
   PRICE
   ========================================================================== */
.lzp-plans { display: grid; grid-template-columns: 1fr 1.12fr 1fr; gap: 18px; align-items: stretch; max-width: 1080px; margin-inline: auto; }
.lzp-plancard { position: relative; display: flex; flex-direction: column; padding: clamp(26px, 3vw, 36px) clamp(22px, 2.6vw, 30px); border-radius: 26px; background: #fff; box-shadow: 0 1px 0 var(--lzp-line), 0 30px 60px -50px rgba(6, 22, 49, .6); }
.lzp-plancard.is-featured { color: #e8eef8; background: radial-gradient(90% 60% at 100% 0%, rgba(28, 200, 220, .22), transparent 60%), linear-gradient(160deg, var(--lzp-navy-7), var(--lzp-navy-9)); box-shadow: 0 50px 90px -50px rgba(6, 22, 49, .9), 0 0 0 2px var(--lzp-gold); transform: translateY(-14px); }
.lzp-plancard__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); padding: 4px 18px; border-radius: 99px; background: var(--lzp-gold); color: var(--lzp-navy-9); font-size: .8rem; font-weight: 900; letter-spacing: .1em; white-space: nowrap; }
.lzp-plancard__name { font-size: 1.3rem; font-weight: 900; color: var(--lzp-navy-9); }
.is-featured .lzp-plancard__name { color: #fff; }
.lzp-plancard__for { margin-top: 4px; font-size: .84rem; font-weight: 700; color: var(--lzp-muted); line-height: 1.6; min-height: 3.2em; }
.is-featured .lzp-plancard__for { color: var(--lzp-cyan-2); }
.lzp-plancard__price { display: flex; align-items: baseline; flex-wrap: nowrap; white-space: nowrap; gap: 2px 6px; margin-top: 18px; font-weight: 900; }
.lzp-plancard__price small { font-size: .9rem; }
.lzp-plancard__price b { font-family: var(--lzp-en); font-size: clamp(2.1rem, 3.2vw, 2.6rem); line-height: 1; letter-spacing: -.03em; color: var(--lzp-navy-9); font-variant-numeric: tabular-nums; }
.is-featured .lzp-plancard__price b { color: var(--lzp-gold-2); }
.lzp-plancard__price span { font-size: .82rem; }
.lzp-plancard__term { display: inline-block; align-self: flex-start; margin-top: 10px; padding: 3px 12px; border-radius: 99px; background: var(--lzp-paper-2); font-size: .78rem; font-weight: 700; color: var(--lzp-navy); }
.is-featured .lzp-plancard__term { background: rgba(255, 255, 255, .1); color: #fff; }
.lzp-plancard__h { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--lzp-line); font-size: .8rem; font-weight: 900; color: var(--lzp-muted); letter-spacing: .06em; }
.is-featured .lzp-plancard__h { border-color: rgba(255, 255, 255, .14); color: #9fb1cb; }
.lzp-plancard__list { display: grid; gap: 8px; margin: 12px 0 26px; }
.lzp-plancard__list li { position: relative; padding-left: 28px; font-weight: 700; font-size: .95rem; line-height: 1.55; }
.lzp-plancard__list li::before { content: "✓"; position: absolute; left: 0; top: .15em; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--lzp-cyan); color: var(--lzp-navy-9); font-size: 11px; font-weight: 900; }
.lzp-plancard__list b { padding: 0 4px; border-radius: 4px; background: var(--lzp-gold-2); color: var(--lzp-navy-9); }
.lzp-plancard > .lzp-btn, .lzp-plancard__btn { margin-top: auto; }
.lzp-plancard__btn { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 20px; border-radius: 999px; border: 1.5px solid var(--lzp-navy); color: var(--lzp-navy); font-weight: 900; font-size: .95rem; transition: background-color .3s, color .3s; }
.lzp-plancard__btn:hover { background: var(--lzp-navy); color: #fff; }
@media (max-width: 900px) {
	.lzp-plans { grid-template-columns: 1fr; gap: 26px; max-width: 520px; }
	.lzp-plancard.is-featured { order: -1; transform: none; }
	.lzp-plancard__for { min-height: 0; }
}

.lzp-common { display: grid; grid-template-columns: .7fr 1.3fr; gap: 18px; max-width: 1080px; margin: 34px auto 0; }
.lzp-common > div { padding: 24px 26px; border-radius: 22px; background: #fff; }
.lzp-common__title { display: flex; align-items: center; gap: 10px; font-weight: 900; color: var(--lzp-navy-9); margin-bottom: 12px; }
.lzp-common__terms ul { display: grid; gap: 6px; }
.lzp-common__terms li { position: relative; padding-left: 22px; font-weight: 700; font-size: .92rem; }
.lzp-common__terms li::before { content: ""; position: absolute; left: 4px; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--lzp-gold); }
.lzp-common__consult { border: 1.5px dashed rgba(11, 36, 71, .25); }
.lzp-common__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lzp-common__chips li { padding: 6px 14px; border-radius: 99px; background: var(--lzp-paper); font-size: .84rem; font-weight: 700; color: var(--lzp-navy); }
.lzp-common__note { margin-top: 12px; font-size: .84rem; color: var(--lzp-muted); line-height: 1.7; }
@media (max-width: 900px) { .lzp-common { grid-template-columns: 1fr; max-width: 520px; } }

/* ==========================================================================
   MESSAGE
   ========================================================================== */
.lzp-message__inner { display: grid; grid-template-columns: auto 1fr; gap: clamp(28px, 5vw, 72px); align-items: start; max-width: 1040px; }
.lzp-message__mark { display: grid; place-items: center; width: clamp(120px, 16vw, 200px); aspect-ratio: 1; border-radius: 30px; background: var(--lzp-navy-9); }
.lzp-spark--msg { width: 62%; height: 62%; animation: lzp-spin 24s linear infinite; }
.lzp-message__quote p { font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 900; line-height: 1.5; color: var(--lzp-navy-9); }
.lzp-message__body { margin-top: 22px; color: var(--lzp-muted); font-weight: 500; }
.lzp-message__sign { margin-top: 26px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.lzp-message__sign span { font-size: .82rem; color: var(--lzp-muted); font-weight: 700; }
.lzp-message__sign b { font-size: 1.3rem; font-weight: 900; color: var(--lzp-navy-9); }
.lzp-message__sign em { font-family: var(--lzp-en); font-size: .74rem; letter-spacing: .2em; color: var(--lzp-muted); }
@media (max-width: 640px) { .lzp-message__inner { grid-template-columns: 1fr; } .lzp-message__mark { width: 96px; border-radius: 22px; } }

/* ==========================================================================
   FAQ
   ========================================================================== */
.lzp-faq__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 72px); align-items: start; }
.lzp-faq__inner .lzp-head { position: sticky; top: calc(var(--lzp-header-h) + 24px); margin-bottom: 0; }
.lzp-faq__list { display: grid; gap: 12px; }
.lzp-faq details { border-radius: 18px; background: #fff; box-shadow: 0 1px 0 var(--lzp-line); overflow: hidden; transition: box-shadow .3s; }
.lzp-faq details[open] { box-shadow: 0 0 0 2px var(--lzp-navy); }
.lzp-faq summary { position: relative; display: flex; align-items: center; gap: 14px; padding: 20px 60px 20px 22px; font-weight: 900; color: var(--lzp-navy-9); cursor: pointer; list-style: none; line-height: 1.55; }
.lzp-faq summary::-webkit-details-marker { display: none; }
.lzp-faq summary::before { content: "Q"; flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--lzp-navy); color: var(--lzp-gold); font-family: var(--lzp-en); }
.lzp-faq summary::after { content: ""; position: absolute; right: 22px; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: linear-gradient(var(--lzp-navy), var(--lzp-navy)) center / 100% 2px no-repeat, linear-gradient(var(--lzp-navy), var(--lzp-navy)) center / 2px 100% no-repeat; transition: transform .4s var(--lzp-ease); }
.lzp-faq details[open] summary::after { transform: rotate(135deg); }
.lzp-faq details p { padding: 0 24px 22px 68px; color: var(--lzp-muted); font-weight: 500; animation: lzp-fadein .5s var(--lzp-ease); }
@keyframes lzp-fadein { from { opacity: 0; transform: translateY(-6px); } }
@media (max-width: 860px) { .lzp-faq__inner { grid-template-columns: 1fr; } .lzp-faq__inner .lzp-head { position: static; } .lzp-faq details p { padding-left: 22px; } }

/* ==========================================================================
   CONVERSION (form)
   ========================================================================== */
.lzp-cv { overflow: hidden; }
.lzp-cv__bg { position: absolute; inset: 0; }
.lzp-cv__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 80%; }
.lzp-cv__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 22, 49, .96) 0%, rgba(6, 22, 49, .82) 45%, rgba(6, 22, 49, .7) 100%); }
.lzp-cv__layout { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "intro form" "detail form"; grid-template-rows: auto 1fr; column-gap: clamp(32px, 5vw, 72px); align-items: start; }
.lzp-cv__intro { grid-area: intro; min-width: 0; }
.lzp-cv__detail { grid-area: detail; min-width: 0; }
.lzp-cv__layout > .lzp-formcard { grid-area: form; min-width: 0; }
.lzp-cv__subhead--after { margin: 30px 0 0; }
.lzp-cv .lzp-h2 { color: #fff; }
.lzp-cv__doc { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; margin-top: 36px; }
.lzp-doc--sm { width: 130px; transform: rotate(-5deg); }
.lzp-doc--sm .lzp-doc__title { font-size: 12px; }
.lzp-doc--sm .lzp-spark--doc { width: 40px; height: 40px; }
.lzp-doc--sm .lzp-doc__cover { padding: 12px; }
.lzp-cv__subhead { font-weight: 900; color: var(--lzp-gold-2); margin-bottom: 10px; font-size: .95rem; }
.lzp-cv__list { display: grid; gap: 10px; }
.lzp-cv__list li { position: relative; padding-left: 28px; }
.lzp-cv__list li::before { content: "✓"; position: absolute; left: 0; top: 3px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--lzp-cyan); color: var(--lzp-navy-9); font-size: 11px; font-weight: 900; }
.lzp-cv__list b { display: block; color: #fff; font-weight: 900; line-height: 1.5; }
.lzp-cv__list small { display: block; color: #a9b8cf; font-size: .8rem; line-height: 1.5; }
.lzp-cv__bonus { margin-top: 28px; display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border-radius: 18px; border: 1px solid rgba(244, 192, 63, .5); background: rgba(244, 192, 63, .08); }
.lzp-cv__bonus-tag { flex: none; padding: 4px 10px; border-radius: 8px; background: var(--lzp-gold); color: var(--lzp-navy-9); font-weight: 900; font-size: .8rem; letter-spacing: .1em; }
.lzp-cv__bonus p { font-size: .88rem; color: #c7d3e5; line-height: 1.7; }
.lzp-cv__bonus b { display: block; color: #fff; font-size: 1rem; margin-bottom: 2px; }
.lzp-cv__after { margin-top: 10px; display: grid; gap: 10px; }
.lzp-cv__after li { display: flex; gap: 14px; align-items: flex-start; font-size: .88rem; color: #c7d3e5; line-height: 1.6; }
.lzp-cv__after span { flex: none; font-family: var(--lzp-en); font-weight: 700; color: var(--lzp-cyan-2); font-size: .8rem; padding-top: 2px; }

.lzp-formcard { position: relative; padding: clamp(24px, 3.5vw, 40px); border-radius: 28px; background: #fff; color: var(--lzp-ink); box-shadow: 0 60px 100px -50px rgba(0, 0, 0, .8); }
.lzp-formcard::before { content: ""; position: absolute; left: 28px; right: 28px; top: 0; height: 5px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, var(--lzp-cyan), var(--lzp-gold)); }
.lzp-formcard__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 22px; }
.lzp-formcard__title { font-size: 1.3rem; font-weight: 900; color: var(--lzp-navy-9); }
.lzp-formcard__time { padding: 4px 12px; border-radius: 99px; background: var(--lzp-paper); font-size: .8rem; font-weight: 700; color: var(--lzp-navy); }
.lzp-formcard__assure { margin-top: 18px; display: grid; gap: 4px; font-size: .82rem; font-weight: 700; color: var(--lzp-navy); }
.lzp-formcard__assure li::before { content: "✓ "; color: var(--lzp-cyan); font-weight: 900; }
.lzp-formcard__privacy { margin-top: 10px; font-size: .74rem; color: var(--lzp-muted); }
.lzp-formcard__privacy a { text-decoration: underline; }
@media (max-width: 960px) { .lzp-cv__layout { grid-template-columns: 1fr; grid-template-areas: "intro" "form" "detail"; grid-template-rows: none; row-gap: 32px; } }
@media (max-width: 480px) { .lzp-cv__doc { grid-template-columns: 1fr; } .lzp-doc--sm { width: 110px; } }

/* --- Contact Form 7 --- */
.lzp-formcard .wpcf7 { margin: 0; font-size: 15px; }
.lzp-formcard .wpcf7 form > p, .lzp-formcard .wpcf7 form .lzp-field { margin: 0 0 16px; }
.lzp-formcard .wpcf7 label { display: block; font-weight: 900; font-size: .9rem; color: var(--lzp-navy-9); line-height: 1.6; }
.lzp-formcard .wpcf7 br { display: none; }
.lzp-formcard .wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.lzp-formcard .wpcf7 input[type="text"],
.lzp-formcard .wpcf7 input[type="email"],
.lzp-formcard .wpcf7 input[type="url"],
.lzp-formcard .wpcf7 input[type="tel"],
.lzp-formcard .wpcf7 select,
.lzp-formcard .wpcf7 textarea { width: 100%; max-width: 100%; padding: 14px 16px; border: 1.5px solid #d5dce6; border-radius: 12px; background: #f6f8fb; font: inherit; font-size: 16px; font-weight: 500; color: var(--lzp-ink); line-height: 1.5; transition: border-color .2s, box-shadow .2s, background-color .2s; -webkit-appearance: none; appearance: none; }
.lzp-formcard .wpcf7 select { background: #f6f8fb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230b2447' stroke-width='2'/%3E%3C/svg%3E") right 16px center / 12px no-repeat; padding-right: 40px; }
.lzp-formcard .wpcf7 textarea { height: 110px; resize: vertical; }
.lzp-formcard .wpcf7 input:focus, .lzp-formcard .wpcf7 select:focus, .lzp-formcard .wpcf7 textarea:focus { outline: none; border-color: var(--lzp-cyan); background: #fff; box-shadow: 0 0 0 4px rgba(28, 200, 220, .18); }
.lzp-formcard .wpcf7 ::placeholder { color: #a3aebf; }
.lzp-formcard .wpcf7 .lzp-req, .lzp-formcard .wpcf7 .required, .lzp-formcard .wpcf7 .hissu { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 5px; background: var(--lzp-ng); color: #fff; font-size: .7rem; vertical-align: 1px; }
.lzp-formcard .wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.lzp-formcard .wpcf7 .wpcf7-acceptance label, .lzp-formcard .wpcf7 .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; cursor: pointer; }
.lzp-formcard .wpcf7 input[type="checkbox"], .lzp-formcard .wpcf7 input[type="radio"] { width: 20px; height: 20px; accent-color: var(--lzp-navy); }
.lzp-formcard .wpcf7 input[type="submit"], .lzp-formcard .wpcf7 .wpcf7-submit { display: block; width: 100%; margin-top: 8px; padding: 20px 24px; border: 0; border-radius: 999px; background: linear-gradient(180deg, var(--lzp-gold-2), var(--lzp-gold)); color: var(--lzp-navy-9); font: inherit; font-weight: 900; font-size: 1.12rem; letter-spacing: .06em; cursor: pointer; box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 16px 30px -14px rgba(169, 122, 8, .9); transition: transform .3s var(--lzp-ease), box-shadow .3s var(--lzp-ease), opacity .3s; animation: lzp-pulse 2.8s ease-in-out infinite; }
.lzp-formcard .wpcf7 input[type="submit"]:hover { transform: translateY(-2px); }
.lzp-formcard .wpcf7 input[type="submit"]:disabled { opacity: .5; cursor: not-allowed; animation: none; }
@keyframes lzp-pulse { 50% { box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 16px 30px -14px rgba(169, 122, 8, .9), 0 0 0 8px rgba(244, 192, 63, .18); } }
.lzp-formcard .wpcf7 .wpcf7-spinner { display: block; margin: 10px auto 0; }
.lzp-formcard .wpcf7 .wpcf7-not-valid-tip { margin-top: 6px; color: var(--lzp-ng); font-size: .8rem; font-weight: 700; }
.lzp-formcard .wpcf7 .wpcf7-not-valid { border-color: var(--lzp-ng) !important; background: #fdf3f2 !important; }
.lzp-formcard .wpcf7 .wpcf7-response-output { margin: 16px 0 0 !important; padding: 12px 16px !important; border-radius: 12px; font-size: .86rem; font-weight: 700; }

/* ==========================================================================
   FOOTER / STICKY
   ========================================================================== */
.lzp-footer { background: #040e20; color: #8fa0bb; padding: 44px 0 calc(44px + env(safe-area-inset-bottom)); font-size: .84rem; }
.lzp-footer__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 30px; }
.lzp-footer__brand { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 900; }
.lzp-footer__nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.lzp-footer__nav a:hover { color: #fff; }
.lzp-footer__copy { width: 100%; font-family: var(--lzp-en); font-size: .74rem; letter-spacing: .06em; }

.lzp-sticky { display: none; }
@media (max-width: 767px) {
	.lzp-sticky { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(247, 244, 238, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 -1px 0 var(--lzp-line); transform: translateY(110%); transition: transform .5s var(--lzp-ease); }
	.lzp-sticky.is-show { transform: none; }
	.lzp-sticky .lzp-btn { padding: 15px 20px; font-size: 1.02rem; gap: 10px; }
	.lzp-sticky__sub { font-size: .72rem; font-weight: 700; padding: 3px 8px; border-radius: 99px; background: var(--lzp-navy); color: var(--lzp-gold-2); }
	.lzp-footer { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.lzp *, .lzp *::before, .lzp *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
	.lzp-js .lzp [data-reveal] { opacity: 1; transform: none; }
	.lzp-line > span, .lzp-hero__copy > * { transform: none !important; opacity: 1 !important; }
	.lzp-hero__photo { clip-path: none !important; }
}
