/* ==========================================================================
   FDE Blocksy — dark "deep tech" skin
   ========================================================================== */

/* Palette follows the Blocksy "Codespot" starter site (green on black). */
:root:root {
	--fde-bg: #070907;
	--fde-bg-2: #0e130e;
	--fde-panel: rgba(22, 29, 21, 0.72);
	--fde-panel-solid: #121a12;
	--fde-line: rgba(57, 167, 81, 0.14);
	--fde-line-strong: rgba(57, 167, 81, 0.34);
	--fde-text: #e8efe9;
	--fde-muted: #96a499;
	--fde-cyan: #4cc96a;
	--fde-blue: #2f9946;
	--fde-gold: #e9c27b;
	--fde-gold-2: #f6dca6;
	--fde-orange: #f08a4b;
	--fde-radius: 16px;
	--fde-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fde-mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;
	--theme-font-family: var(--fde-font);
}

html { scroll-behavior: smooth; scroll-padding-top: 90px; }

body.fde-site {
	background: var(--fde-bg);
	color: var(--fde-text);
	font-family: var(--fde-font);
	-webkit-font-smoothing: antialiased;
}

body.fde-site #main-container,
body.fde-site .site-main { background: var(--fde-bg); }

/* ---------- Blocksy header (Codespot layout) ---------- */
body.fde-site #header [data-row] {
	background: rgba(7, 9, 7, 0.82) !important;
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
}
body.fde-site #header .site-title a { color: #fff !important; font-weight: 700; letter-spacing: .02em; }
body.fde-site .site-title a::before {
	content: "FDE";
	display: inline-grid;
	place-items: center;
	width: 38px; height: 38px;
	margin-right: 12px;
	border-radius: 8px;
	font: 700 12px/1 var(--fde-mono);
	color: #fff;
	background: var(--theme-palette-color-1, #39a751);
	vertical-align: middle;
}
body.fde-site #header .ct-button { font-weight: 600; letter-spacing: .04em; }
/* The header button is the desktop "立即报名"; the menu copy serves the mobile off-canvas menu. */
body.fde-site #header [data-device="desktop"] .fde-menu-cta { display: none; }
body.fde-site #offcanvas .fde-menu-cta > a { color: var(--theme-palette-color-1) !important; font-weight: 700; }

/* ---------- Blocksy footer widgets ---------- */
#footer .fde-fw-brand { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 18px; }
#footer .fde-logo { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; background: var(--theme-palette-color-1); color: #fff; font: 700 12px/1 var(--fde-mono); }
#footer .fde-fw-muted { margin: 14px 0 0; color: rgba(255, 255, 255, .55); font-size: 14px; line-height: 1.8; }
#footer .fde-fw-center { margin: 0; text-align: center; }
#footer .fde-fw-title { margin: 0 0 14px; font-size: 15px; color: #fff; letter-spacing: .08em; }
#footer .fde-fw-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
#footer .fde-fw-links a { color: rgba(255, 255, 255, .7); text-decoration: none; font-size: 14px; }
#footer .fde-fw-links a:hover, #footer .fde-fw-phone:hover { color: var(--theme-palette-color-1); }
#footer .fde-fw-contact { display: flex; gap: 20px; align-items: center; justify-content: space-between; }
#footer .fde-fw-contact p { margin: 0; }
#footer .fde-fw-phone { font: 600 22px/1.4 var(--fde-mono); color: #fff; text-decoration: none; }
#footer .fde-fw-contact img { width: 110px; height: auto; border-radius: 10px; background: #fff; padding: 6px; }
#footer .fde-fw-cta { height: 44px; padding: 0 24px; font-size: 14px; }
@media (max-width: 999px) {
	#footer .fde-fw-brand, #footer .fde-fw-contact { justify-content: center; }
	#footer .fde-fw-contact { flex-direction: column; text-align: center; }
	#footer .fde-fw-muted { text-align: center; }
}

/* ---------- Layout primitives ---------- */
.fde-landing { overflow-x: clip; }
.fde-landing p { margin: 0; }
.fde-wrap { width: min(1200px, calc(100% - 48px)); margin-inline: auto; position: relative; }
.fde-section { padding: 110px 0; position: relative; }
.fde-section--tight { padding: 56px 0; }
.fde-section--alt {
	background:
		radial-gradient(900px 400px at 85% 0%, rgba(57, 167, 81, .06), transparent 60%),
		linear-gradient(180deg, var(--fde-bg-2), var(--fde-bg));
	border-block: 1px solid var(--fde-line);
}
.fde-center { text-align: center; margin-top: 48px; }
.fde-mono { font-family: var(--fde-mono); }
.fde-muted { color: var(--fde-muted); }

.fde-grad {
	background: linear-gradient(100deg, #a7f3b8 0%, #4cc96a 55%, #2f9946 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.fde-grad--gold {
	background: linear-gradient(100deg, #f6dca6, #e9c27b 50%, #f0a868);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}

.fde-eyebrow, .fde-kicker {
	font: 500 12px/1.4 var(--fde-mono);
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--fde-cyan);
	display: inline-flex; align-items: center; gap: 12px;
}
.fde-eyebrow::before { content: ""; width: 44px; height: 1px; background: currentColor; opacity: .6; }
.fde-eyebrow .fde-dot { display: none; }
.fde-kicker--gold { color: var(--fde-gold); }

.fde-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--fde-cyan); display: inline-block; flex: none; }
.fde-dot--live { box-shadow: 0 0 0 0 rgba(57, 167, 81, .6); animation: fde-pulse 2s infinite; }
@keyframes fde-pulse { 70% { box-shadow: 0 0 0 10px rgba(57, 167, 81, 0); } 100% { box-shadow: 0 0 0 0 rgba(57, 167, 81, 0); } }

.fde-pill {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 8px 16px; border-radius: 999px;
	border: 1px solid var(--fde-line-strong);
	background: rgba(57, 167, 81, .06);
	font-size: 13px; color: #c4ecce;
}

/* Buttons */
.fde-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 44px; }
.fde-btn {
	display: inline-flex; align-items: center; justify-content: center;
	height: 52px; padding: 0 30px; border-radius: 999px;
	font-size: 16px; font-weight: 600; letter-spacing: .04em;
	text-decoration: none !important; transition: transform .25s, box-shadow .25s, background .25s, color .25s;
}
.fde-btn:hover { transform: translateY(-2px); }
.fde-btn--primary { color: #031208 !important; background: linear-gradient(110deg, var(--fde-cyan), var(--fde-blue)); box-shadow: 0 12px 40px -12px rgba(57, 167, 81, .6); }
.fde-btn--primary:hover { box-shadow: 0 18px 50px -12px rgba(57, 167, 81, .8); }
.fde-btn--ghost { color: #fff !important; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .03); }
.fde-btn--ghost:hover { border-color: var(--fde-cyan); color: var(--fde-cyan) !important; }
.fde-btn--gold { color: #1b1206 !important; background: linear-gradient(110deg, var(--fde-gold-2), var(--fde-gold)); box-shadow: 0 12px 40px -12px rgba(233, 194, 123, .6); }
.fde-link { color: var(--fde-gold) !important; font-size: 14px; text-decoration: none !important; display: inline-block; margin-top: 14px; }
.fde-link:hover { color: var(--fde-gold-2) !important; }

/* Section heading */
.fde-head { max-width: 760px; margin-bottom: 56px; }
.fde-head--center { margin-inline: auto; text-align: center; }
.fde-head--center .fde-kicker { justify-content: center; }
.fde-head__title {
	margin: 18px 0 0 !important;
	font-size: clamp(30px, 4vw, 46px) !important;
	line-height: 1.2 !important; font-weight: 700 !important; color: #fff !important; letter-spacing: .02em;
}
.fde-head__en {
	display: block; margin-top: 10px;
	font: 400 13px/1 var(--fde-mono); letter-spacing: .3em; text-transform: uppercase; color: rgba(141, 157, 181, .7);
}
.fde-head__sub { margin-top: 20px !important; font-size: 17px; line-height: 1.85; color: var(--fde-muted); }

/* ---------- Hero ---------- */
.fde-hero {
	position: relative; min-height: min(calc(100vh - 70px), 960px);
	display: flex; align-items: center;
	padding: 120px 0 90px; isolation: isolate;
	background: var(--fde-bg);
}
.fde-hero__bg, .fde-pagehero__bg {
	position: absolute; inset: 0; z-index: -2;
	background-size: cover; background-position: center right;
	opacity: .42; filter: saturate(.9) hue-rotate(-95deg);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 30%, #000 75%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 30%, #000 75%);
}
.fde-hero::after, .fde-pagehero::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(1000px 520px at 15% 30%, rgba(57, 167, 81, .10), transparent 60%),
		linear-gradient(180deg, rgba(5, 8, 15, .2) 0%, rgba(5, 8, 15, .1) 60%, var(--fde-bg) 100%);
}
.fde-hero__grid {
	position: absolute; inset: 0; z-index: -1; opacity: .5;
	background-image: linear-gradient(var(--fde-line) 1px, transparent 1px), linear-gradient(90deg, var(--fde-line) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse at 30% 40%, #000 0%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse at 30% 40%, #000 0%, transparent 70%);
}
.fde-hero__top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.fde-hero__title {
	margin: 36px 0 0 !important;
	font-size: clamp(46px, 8vw, 104px) !important; line-height: 1.08 !important;
	font-weight: 800 !important; letter-spacing: .01em; color: #fff !important;
}
.fde-hero__lead { margin-top: 40px; max-width: 760px; display: grid; gap: 16px; }
.fde-hero__lead p {
	padding-left: 18px; border-left: 2px solid rgba(57, 167, 81, .45);
	font-size: clamp(16px, 1.6vw, 19px); line-height: 1.8; color: #c3cfdf;
}
.fde-hero__lead strong { color: var(--fde-cyan); font-weight: 600; }

/* Stats */
.fde-stats {
	margin-top: 72px; display: grid; grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--fde-line); border-radius: var(--fde-radius);
	background: rgba(10, 17, 29, .55); backdrop-filter: blur(10px);
	overflow: hidden;
}
.fde-stat { padding: 28px 30px; border-right: 1px solid var(--fde-line); }
.fde-stat:last-child { border-right: 0; }
.fde-stat__num { font: 500 clamp(38px, 4.4vw, 56px)/1 var(--fde-mono); color: #dcfbe3; text-shadow: 0 0 30px rgba(57, 167, 81, .35); }
.fde-stat__label { margin-top: 12px; font-size: 14px; color: var(--fde-muted); letter-spacing: .1em; }

/* Page hero (inner pages) */
.fde-pagehero { position: relative; padding: 150px 0 90px; isolation: isolate; border-bottom: 1px solid var(--fde-line); }
.fde-pagehero__bg { opacity: .35; }
.fde-pagehero__title { margin: 28px 0 0 !important; font-size: clamp(38px, 6vw, 72px) !important; line-height: 1.15 !important; font-weight: 800 !important; color: #fff !important; }
.fde-pagehero__title span { display: block; }
.fde-pagehero__sub { margin-top: 24px !important; font-size: 18px; color: #b6c3d6; max-width: 680px; line-height: 1.8; }

/* ---------- Parts overview ---------- */
.fde-parts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.fde-part {
	position: relative; display: block; border-radius: var(--fde-radius); overflow: hidden;
	border: 1px solid var(--fde-line); background: var(--fde-panel);
	text-decoration: none !important; color: inherit !important;
	transition: transform .35s, border-color .35s, box-shadow .35s; min-height: 100%; }
.fde-part::before { content: ""; position: absolute; left: 0; top: 0; width: 64px; height: 2px; background: var(--fde-cyan); z-index: 2; }
.fde-part:hover { transform: translateY(-6px); border-color: var(--fde-line-strong); box-shadow: 0 30px 60px -30px rgba(57, 167, 81, .35); }
.fde-part__img { height: 190px; background-size: cover; background-position: center; filter: saturate(.6) brightness(.62) contrast(1.05); transition: transform .6s, filter .6s; }
.fde-part:hover .fde-part__img { transform: scale(1.05); filter: saturate(1) brightness(.85); }
.fde-part__body { padding: 28px 28px 32px; }
.fde-part__no { font: 500 12px/1 var(--fde-mono); color: var(--fde-cyan); letter-spacing: .25em; }
.fde-part__name { margin: 14px 0 6px !important; font-size: 26px !important; color: #fff !important; font-weight: 700 !important; }
.fde-part__meta { font: 400 13px/1 var(--fde-mono); color: var(--fde-muted); }
.fde-part__desc { margin-top: 16px !important; font-size: 15px; line-height: 1.8; color: #a9b6c9; }

/* ---------- Delivery chain ---------- */
.fde-chain { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; padding-top: 10px; }
.fde-chain::before {
	content: ""; position: absolute; left: 10%; right: 10%; top: 38px; height: 1px;
	background: repeating-linear-gradient(90deg, var(--fde-line-strong) 0 6px, transparent 6px 12px);
}
.fde-chain__step { text-align: center; position: relative; }
.fde-chain__dot {
	width: 58px; height: 58px; margin: 0 auto; border-radius: 50%;
	display: grid; place-items: center; font: 500 15px/1 var(--fde-mono); color: var(--fde-cyan);
	background: var(--fde-bg); border: 1px solid var(--fde-line-strong);
	box-shadow: 0 0 0 6px rgba(57, 167, 81, .05), 0 0 30px rgba(57, 167, 81, .25);
}
.fde-chain__name { margin-top: 22px; font-size: 18px; font-weight: 600; color: #fff; text-align: center; }
.fde-chain__meta { margin-top: 8px; font: 400 12px/1 var(--fde-mono); color: var(--fde-muted); letter-spacing: .08em; text-align: center; }

/* ---------- Split / features ---------- */
.fde-split { display: grid; grid-template-columns: 1fr 1.15fr; gap: 72px; align-items: center; }
.fde-split__media { position: relative; border-radius: 20px; overflow: hidden; border: 1px solid var(--fde-line); }
.fde-split__media img { display: block; width: 100%; height: 620px; object-fit: cover; filter: saturate(.75) brightness(.72); }
.fde-split__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(5, 8, 15, .9)); }
.fde-split__tag { position: absolute; left: 28px; bottom: 28px; z-index: 1; display: grid; gap: 8px; }
.fde-split__tag .fde-mono { font-size: 12px; letter-spacing: .25em; color: var(--fde-cyan); }
.fde-split__tag strong { font-size: 26px; color: #fff; }
.fde-split .fde-head { margin-bottom: 36px; }
.fde-features { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fde-feature { padding: 24px; border-radius: 14px; border: 1px solid var(--fde-line); background: var(--fde-panel); transition: border-color .3s; }
.fde-feature:hover { border-color: var(--fde-line-strong); }
.fde-feature__no { font: 500 12px/1 var(--fde-mono); color: var(--fde-cyan); letter-spacing: .2em; }
.fde-feature h3 { margin: 12px 0 8px !important; font-size: 18px !important; color: #fff !important; }
.fde-feature p { font-size: 14px; line-height: 1.75; color: var(--fde-muted); }

/* ---------- Experts (poster-style cards) ---------- */
.fde-experts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.fde-expert {
	position: relative; display: flex; gap: 26px; align-items: center;
	padding: 28px 30px; border-radius: 18px;
	background: linear-gradient(145deg, #18203a 0%, #121a2f 100%);
	border: 1px solid rgba(233, 194, 123, .14);
	transition: transform .35s, border-color .35s, box-shadow .35s;
}
.fde-expert:hover { transform: translateY(-4px); border-color: rgba(233, 194, 123, .45); box-shadow: 0 26px 60px -30px rgba(233, 194, 123, .35); }
.fde-expert__avatar {
	flex: none; width: 128px; height: 128px; border-radius: 50%; padding: 3px;
	background: linear-gradient(140deg, var(--fde-gold-2), #b8893e 60%, var(--fde-gold));
	box-shadow: 0 10px 30px -10px rgba(233, 194, 123, .5);
}
.fde-expert__avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; border: 3px solid #121a2f; }
.fde-expert__avatar--empty { display: grid; place-items: center; background: none; border: 2px dashed rgba(233, 194, 123, .45); box-shadow: none; }
.fde-expert__avatar--empty span { font: 300 46px/1 var(--fde-mono); color: var(--fde-gold); }
.fde-expert__body { min-width: 0; }
.fde-expert__time { font: 600 14px/1 var(--fde-mono); color: var(--fde-gold); letter-spacing: .04em; }
.fde-expert__talk { margin: 12px 0 8px !important; font-size: 17px !important; line-height: 1.5 !important; color: #fff !important; font-weight: 700 !important; }
.fde-expert__name { font-size: 24px; font-weight: 700; color: var(--fde-gold-2); letter-spacing: .02em; }
.fde-expert__bio { margin-top: 10px !important; font-size: 14px; line-height: 1.75; color: #9aa7c0; }
.fde-badge {
	position: absolute; top: -12px; right: 22px; padding: 5px 14px; border-radius: 999px;
	background: linear-gradient(110deg, #f6a15e, var(--fde-orange)); color: #fff; font-size: 13px; font-weight: 600;
	box-shadow: 0 8px 20px -6px rgba(240, 138, 75, .6);
}
.fde-expert--open { background: rgba(18, 26, 47, .5); border-style: dashed; }
.fde-expert--open .fde-expert__talk { font-size: 19px !important; }
.fde-expert--open .fde-expert__name { font-size: 16px; color: var(--fde-muted); font-weight: 500; }
.fde-experts--list { grid-template-columns: 1fr; max-width: 980px; margin-inline: auto; }
.fde-experts--list .fde-expert__avatar { width: 150px; height: 150px; }
.fde-experts--list .fde-expert__talk { font-size: 20px !important; }
.fde-experts--list .fde-expert__name { font-size: 28px; }

/* ---------- Salon ---------- */
.fde-banner {
	position: relative; padding: 120px 0; background-size: cover; background-position: center; isolation: isolate;
	border-block: 1px solid rgba(233, 194, 123, .18);
}
.fde-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8, 10, 22, .96) 0%, rgba(8, 10, 22, .82) 50%, rgba(8, 10, 22, .55) 100%); }
.fde-banner__inner { display: grid; grid-template-columns: 1.4fr .8fr; gap: 48px; align-items: end; }
.fde-banner__title { margin: 18px 0 0 !important; font-size: clamp(34px, 5vw, 60px) !important; line-height: 1.15 !important; color: var(--fde-gold-2) !important; font-weight: 800 !important; }
.fde-banner__sub { margin-top: 18px !important; font-size: 18px; color: #d9dfea; line-height: 1.7; }
.fde-banner__meta { list-style: none; margin: 32px 0 0 !important; padding: 0; display: grid; gap: 12px; }
.fde-banner__meta li { font-size: 16px; color: #e6eaf2; margin: 0; }
.fde-banner__meta span { display: inline-block; width: 96px; color: var(--fde-gold); font-weight: 600; }
.fde-banner__cta { display: flex; flex-direction: column; gap: 14px; align-items: stretch; }

.fde-info {
	display: grid; grid-template-columns: repeat(4, 1fr);
	border-radius: var(--fde-radius); border: 1px solid rgba(233, 194, 123, .2);
	background: linear-gradient(145deg, #18203a, #121a2f); overflow: hidden;
}
.fde-info > div { padding: 26px 28px; border-right: 1px solid rgba(233, 194, 123, .12); display: grid; gap: 10px; }
.fde-info > div:last-child { border-right: 0; }
.fde-info span { font-size: 14px; color: var(--fde-gold); font-weight: 600; letter-spacing: .1em; }
.fde-info strong { font-size: 17px; color: #fff; font-weight: 500; line-height: 1.5; }

.fde-agenda .fde-head { margin-bottom: 30px; }
.fde-agenda__step {
	max-width: 980px; margin: 64px auto 26px !important;
	display: flex; align-items: center; gap: 16px;
	font-size: 24px !important; color: #fff !important; font-weight: 700 !important;
}
.fde-agenda__step span { font: 500 14px/1 var(--fde-mono); color: var(--fde-gold); padding: 8px 10px; border: 1px solid rgba(233, 194, 123, .4); border-radius: 8px; }
.fde-agenda__step::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(233, 194, 123, .35), transparent); }

.fde-sessions { max-width: 980px; margin: 0 auto; display: grid; gap: 22px; }
.fde-session { display: flex; gap: 28px; align-items: center; padding: 22px; border-radius: 18px; background: linear-gradient(145deg, #18203a, #121a2f); border: 1px solid rgba(233, 194, 123, .14); }
.fde-session__time { flex: none; width: 170px; padding: 22px 24px; border-radius: 12px; background: #3d4775; font: 600 26px/1.3 var(--fde-mono); color: #fff; }
.fde-session--warm .fde-session__time { background: var(--fde-orange); }
.fde-session h4 { margin: 0 0 8px !important; font-size: 26px !important; color: var(--fde-gold-2) !important; }
.fde-session p { font-size: 16px; color: #a9b4c8; }

.fde-story { position: relative; border-radius: 20px; overflow: hidden; background-size: cover; background-position: center; border: 1px solid rgba(233, 194, 123, .4); isolation: isolate; }
.fde-story::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(25, 16, 20, .95), rgba(25, 16, 20, .75)); }
.fde-story__inner { padding: 48px 56px; max-width: 820px; display: grid; gap: 18px; }
.fde-story h3 { margin: 0 !important; color: var(--fde-orange) !important; font-size: 26px !important; }
.fde-story p { font-size: 18px; line-height: 1.85; color: #eef1f6; }
.fde-headline { margin-top: 80px; text-align: center; display: grid; gap: 14px; }
.fde-headline span { font-size: clamp(24px, 3vw, 34px); font-weight: 800; color: var(--fde-gold); display: flex; align-items: center; justify-content: center; gap: 24px; }
.fde-headline span::before, .fde-headline span::after { content: ""; width: min(160px, 15vw); height: 2px; background: var(--fde-gold); opacity: .7; }
.fde-headline strong { font-size: clamp(32px, 4.4vw, 52px); color: #fff; }

/* ---------- Course page ---------- */
.fde-part-block { padding: 80px 0 30px; }
.fde-part-head { display: flex; gap: 28px; align-items: center; padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid var(--fde-line); position: relative; }
.fde-part-head::after { content: ""; position: absolute; right: 0; bottom: -1px; width: 240px; height: 1px; background: linear-gradient(90deg, transparent, var(--fde-cyan)); }
.fde-part-head__no { font: 200 110px/0.8 var(--fde-mono); color: transparent; -webkit-text-stroke: 1px rgba(57, 167, 81, .35); }
.fde-part-head__title { margin: 12px 0 10px !important; font-size: clamp(32px, 4vw, 48px) !important; color: #fff !important; font-weight: 800 !important; }
.fde-part-head__meta { font: 400 13px/1 var(--fde-mono); color: var(--fde-muted); }
.fde-chapters { display: grid; gap: 18px; }
.fde-chapter { border-radius: 14px; border: 1px solid var(--fde-line); background: var(--fde-panel); overflow: hidden; transition: border-color .3s; }
.fde-chapter[open] { border-color: var(--fde-line-strong); }
.fde-chapter summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; gap: 18px;
	padding: 22px 26px; border-bottom: 1px solid transparent;
}
.fde-chapter summary::-webkit-details-marker { display: none; }
.fde-chapter[open] summary { border-bottom-color: var(--fde-line); }
.fde-chapter__tag { flex: none; padding: 6px 10px; border-radius: 4px; font-size: 12px; font-weight: 700; color: #04140a; background: linear-gradient(110deg, #6fdc8a, #39a751); }
.fde-chapter__title { flex: 1; font-size: 21px; font-weight: 700; color: #fff; }
.fde-chapter__count { font: 400 12px/1 var(--fde-mono); color: var(--fde-muted); }
.fde-chapter__count::after { content: "＋"; margin-left: 14px; color: var(--fde-cyan); font-size: 16px; display: inline-block; transition: transform .3s; }
.fde-chapter[open] .fde-chapter__count::after { transform: rotate(45deg); }
.fde-lessons { list-style: none; margin: 0 !important; padding: 10px 26px 18px !important; }
.fde-lessons li { display: flex; gap: 22px; padding: 14px 0; margin: 0; font-size: 16px; line-height: 1.75; color: #cfd8e6; border-bottom: 1px dashed rgba(57, 167, 81, .07); }
.fde-lessons li:last-child { border-bottom: 0; }
.fde-lesson__no { flex: none; width: 42px; font: 500 13px/1.9 var(--fde-mono); color: var(--fde-cyan); }
.fde-note { padding: 40px 44px; border-radius: 18px; border: 1px solid var(--fde-line-strong); background: linear-gradient(135deg, rgba(57, 167, 81, .08), rgba(47, 153, 70, .03)); }
.fde-note h3 { display: flex; align-items: center; gap: 14px; margin: 0 0 16px !important; font-size: 28px !important; color: #fff !important; }
.fde-note p { font-size: 17px; line-height: 1.9; color: #c3cfdf; }
.fde-note strong { color: var(--fde-cyan); }

/* ---------- Contact ---------- */
.fde-contact { padding: 100px 0 120px; }
.fde-contact__card {
	display: grid; grid-template-columns: 1fr auto; gap: 56px; align-items: center;
	padding: 56px 64px; border-radius: 24px;
	border: 1px solid rgba(233, 194, 123, .45);
	background:
		radial-gradient(600px 300px at 0% 0%, rgba(233, 194, 123, .10), transparent 60%),
		linear-gradient(145deg, #1a2240, #111830);
	box-shadow: 0 40px 100px -50px rgba(233, 194, 123, .4);
}
.fde-contact__title { margin: 16px 0 12px !important; font-size: clamp(32px, 4vw, 46px) !important; color: var(--fde-gold-2) !important; font-weight: 800 !important; }
.fde-contact__sub { font-size: 17px; color: #b9c3d5; line-height: 1.8; }
.fde-contact__ways { margin-top: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fde-way { display: block; padding: 20px 22px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .08); background: rgba(5, 8, 15, .35); text-decoration: none !important; }
.fde-way--link { transition: border-color .3s, transform .3s; }
.fde-way--link:hover { border-color: var(--fde-gold); transform: translateY(-2px); }
.fde-way__label { font-size: 13px; color: var(--fde-gold); letter-spacing: .12em; }
.fde-way__value { margin-top: 10px; font-size: 15px; color: #dfe5ef; line-height: 1.6; }
.fde-way__phone { font: 600 26px/1.2 var(--fde-mono); color: #fff; letter-spacing: .04em; }
.fde-contact__qr { text-align: center; padding: 18px 18px 14px; border-radius: 18px; background: #fff; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .6); }
.fde-contact__qr img { width: 220px; height: auto; display: block; }
.fde-contact__qr span { display: block; margin-top: 8px; font-size: 14px; color: #3a4357; letter-spacing: .2em; }

/* ---------- Floating contact ---------- */
.fde-float { position: fixed; right: 22px; bottom: 28px; z-index: 999; display: grid; gap: 10px; }
.fde-float__btn {
	width: 62px; height: 62px; border-radius: 16px; cursor: pointer;
	display: grid; place-items: center; align-content: center; gap: 3px;
	color: #fff !important; text-decoration: none !important; font-size: 11px; letter-spacing: .1em;
	border: 1px solid var(--fde-line-strong); background: rgba(10, 17, 29, .85); backdrop-filter: blur(10px);
	box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .7); transition: border-color .25s, transform .25s; padding: 0;
	font-family: var(--fde-font);
}
.fde-float__btn:hover { transform: translateY(-2px); border-color: var(--fde-cyan); }
.fde-float__btn svg { width: 22px; height: 22px; fill: var(--fde-cyan); }
.fde-float__wechat svg { fill: #3fd27a; }
.fde-float__qr {
	position: absolute; right: 76px; bottom: 0; width: 210px; padding: 16px; border-radius: 16px;
	background: #fff; text-align: center; color: #1f2635;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7);
	opacity: 0; visibility: hidden; transform: translateX(10px); transition: all .25s;
}
.fde-float__qr img { width: 178px; height: auto; display: block; margin: 0 auto; }
.fde-float__qr p { margin: 8px 0 0 !important; font-size: 14px; }
.fde-float__tel { font-family: var(--fde-mono); font-weight: 600; }
.fde-float:hover .fde-float__qr, .fde-float.is-open .fde-float__qr { opacity: 1; visibility: visible; transform: none; }

/* ---------- Reveal ---------- */
.fde-reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.fde-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.fde-reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.fde-parts { grid-template-columns: 1fr 1fr; }
	.fde-split { grid-template-columns: 1fr; gap: 48px; }
	.fde-split__media img { height: 380px; }
	.fde-experts { grid-template-columns: 1fr; }
	.fde-banner__inner { grid-template-columns: 1fr; }
	.fde-banner__cta { flex-direction: row; flex-wrap: wrap; }
	.fde-info { grid-template-columns: 1fr 1fr; }
	.fde-info > div:nth-child(2) { border-right: 0; }
	.fde-info > div:nth-child(-n+2) { border-bottom: 1px solid rgba(233, 194, 123, .12); }
}
@media (max-width: 760px) {
	.fde-wrap { width: calc(100% - 36px); }
	.fde-section { padding: 72px 0; }
	.fde-hero { padding: 90px 0 60px; min-height: auto; }
	.fde-hero__bg { mask-image: none; -webkit-mask-image: none; opacity: .25; }
	.fde-stats { grid-template-columns: 1fr 1fr; }
	.fde-stat:nth-child(2) { border-right: 0; }
	.fde-stat:nth-child(-n+2) { border-bottom: 1px solid var(--fde-line); }
	.fde-stat { padding: 22px; }
	.fde-parts { grid-template-columns: 1fr; }
	.fde-chain { grid-template-columns: 1fr; gap: 0; }
	.fde-chain::before { left: 28px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; background: repeating-linear-gradient(180deg, var(--fde-line-strong) 0 6px, transparent 6px 12px); }
	.fde-chain__step { display: grid; grid-template-columns: 58px 1fr; column-gap: 20px; text-align: left; padding: 12px 0; align-items: center; }
	.fde-chain__dot { grid-row: span 2; margin: 0; }
	.fde-chain__name { margin-top: 0; }
	.fde-features { grid-template-columns: 1fr; }
	.fde-expert { flex-direction: column; text-align: center; padding: 30px 22px; }
	.fde-experts--list .fde-expert__avatar, .fde-expert__avatar { width: 120px; height: 120px; }
	.fde-info { grid-template-columns: 1fr; }
	.fde-info > div { border-right: 0 !important; border-bottom: 1px solid rgba(233, 194, 123, .12); }
	.fde-session { flex-direction: column; align-items: stretch; text-align: center; }
	.fde-session__time { width: auto; font-size: 22px; }
	.fde-session__time br { display: none; }
	.fde-story__inner { padding: 32px 24px; }
	.fde-part-head__no { font-size: 70px; }
	.fde-chapter summary { flex-wrap: wrap; padding: 18px; gap: 10px 14px; }
	.fde-chapter__title { font-size: 18px; flex-basis: 100%; order: 3; }
	.fde-lessons { padding: 6px 18px 14px !important; }
	.fde-lessons li { gap: 12px; font-size: 15px; }
	.fde-contact__card { grid-template-columns: 1fr; padding: 36px 24px; gap: 32px; text-align: center; }
	.fde-contact__title { font-size: 28px !important; }
	.fde-contact__ways { grid-template-columns: 1fr; text-align: left; }
	.fde-contact__qr { justify-self: center; }
	.fde-float { right: 14px; bottom: 16px; }
	.fde-float__btn { width: 54px; height: 54px; border-radius: 14px; }
	.fde-float__qr { right: 66px; }
	.fde-banner__meta span { width: 84px; }
}


/* ---- Baoming modal popup ---- */
.fde-baoming-modal[hidden]{display:none!important}
.fde-baoming-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}
.fde-baoming-modal__backdrop{position:absolute;inset:0;background:rgba(2,6,14,.72);backdrop-filter:blur(4px)}
.fde-baoming-modal__panel{position:relative;z-index:1;width:min(720px,100%);max-height:min(92vh,900px);overflow:auto;background:linear-gradient(180deg,rgba(17,28,46,.96),rgba(8,14,24,.98));border:1px solid rgba(125,211,252,.22);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.45);padding:22px 18px 14px}
.fde-baoming-modal__close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:999px;background:rgba(255,255,255,.06);color:#e7eef8;font-size:22px;cursor:pointer;line-height:1}
.fde-baoming-modal__close:hover{background:rgba(95,227,220,.16)}
.fde-baoming-modal__head{padding:4px 28px 10px 8px}
.fde-baoming-modal__head h2{margin:6px 0 8px;font-size:clamp(22px,3vw,28px);color:#e7eef8}
.fde-baoming-modal__head p{margin:0;color:#8d9db5;line-height:1.6;font-size:14px}
.fde-baoming-modal__frame{width:100%;min-height:560px;height:65vh;border:0;border-radius:12px;background:transparent}
.fde-baoming-modal__alt{margin:8px 8px 0;text-align:right;font-size:13px}
.fde-baoming-modal__alt a{color:#5fe3dc;text-decoration:none}
.fde-float__baoming{background:linear-gradient(135deg,rgba(95,227,220,.22),rgba(122,167,255,.16))!important}
body.fde-baoming-open{overflow:hidden}

/* ---------- Events ---------- */
.fde-teaser {
	display: grid; grid-template-columns: 220px 1fr; gap: 40px; align-items: stretch;
	padding: 28px; border-radius: 20px; text-decoration: none !important; color: inherit !important;
	border: 1px solid var(--fde-line-strong);
	background: linear-gradient(120deg, rgba(57, 167, 81, .10), rgba(22, 29, 21, .7) 45%, rgba(7, 9, 7, .9));
	transition: transform .35s, box-shadow .35s;
}
.fde-teaser:hover { transform: translateY(-4px); box-shadow: 0 30px 70px -35px rgba(57, 167, 81, .6); }
.fde-teaser img { width: 100%; height: 280px; object-fit: cover; object-position: center top; border-radius: 12px; display: block; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .8); }
.fde-teaser__body { display: grid; gap: 16px; justify-items: start; }
.fde-teaser__title { margin: 0 !important; font-size: clamp(30px, 4vw, 48px) !important; font-weight: 800 !important; color: #fff !important; line-height: 1.15 !important; }
.fde-teaser__title small { display: block; margin-top: 10px; font-size: 18px; font-weight: 500; color: #c7d3c9; }
.fde-teaser p { color: var(--fde-muted); font-size: 15px; line-height: 1.7; }

/* replaced .fde-event */
/* replaced poster */
/* replaced poster img */
.fde-event__title { margin: 14px 0 8px !important; font-size: clamp(34px, 4.6vw, 56px) !important; font-weight: 800 !important; color: #fff !important; }
.fde-event__sub { font-size: 19px; color: #cfe0d2; }
.fde-event__speaker { margin-top: 22px; display: inline-flex; gap: 14px; align-items: center; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--fde-line-strong); color: #fff; font-size: 15px; }
.fde-event__speaker span { color: var(--fde-cyan); font-size: 13px; letter-spacing: .12em; }
.fde-layers { margin-top: 32px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fde-layer { display: flex; gap: 14px; padding: 20px; border-radius: 14px; border: 1px solid var(--fde-line); background: var(--fde-panel); }
.fde-layer__no { font: 500 13px/1.6 var(--fde-mono); color: var(--fde-cyan); }
.fde-layer h4 { margin: 0 0 6px !important; font-size: 17px !important; color: #fff !important; }
.fde-layer h4 span { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; color: var(--fde-muted); letter-spacing: .08em; }
.fde-layer p { font-size: 14px; line-height: 1.6; color: #b9c6bb; }
.fde-flow { margin-top: 18px; display: grid; gap: 10px; }
.fde-flow__row { display: grid; grid-template-columns: 110px 30px 110px 1fr; align-items: center; gap: 10px; padding: 14px 20px; border-radius: 12px; border: 1px solid rgba(233, 194, 123, .25); background: rgba(22, 29, 21, .5); }
.fde-flow__row strong { color: #fff; font-size: 17px; }
.fde-flow__to { color: var(--fde-cyan) !important; }
.fde-flow__arrow { color: var(--fde-gold); font-size: 18px; text-align: center; }
.fde-flow__row em { font-style: normal; font-size: 14px; color: var(--fde-muted); }
.fde-event__meta { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--fde-line); border-radius: 14px; overflow: hidden; }
.fde-event__meta > div { padding: 18px 20px; border-bottom: 1px solid var(--fde-line); border-right: 1px solid var(--fde-line); font-size: 15px; line-height: 1.7; color: #e3ebe4; }
.fde-event__meta > div:nth-child(2n) { border-right: 0; }
.fde-event__meta > div:nth-last-child(-n+2) { border-bottom: 0; }
.fde-event__meta span { display: block; margin-bottom: 6px; font-size: 13px; color: var(--fde-gold); letter-spacing: .12em; }
.fde-event__host { margin-top: 18px !important; font-size: 13px; color: var(--fde-muted); }
.fde-event .fde-actions { margin-top: 28px; }

@media (max-width: 1024px) {
	/* replaced .fde-event */
	/* replaced poster */
	.fde-layers { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	.fde-teaser { grid-template-columns: 1fr; padding: 20px; gap: 24px; }
	.fde-teaser img { max-width: 260px; height: 320px; margin-inline: auto; object-fit: cover; }
	.fde-flow__row { grid-template-columns: auto 24px auto; }
	.fde-flow__row em { grid-column: 1 / -1; }
	.fde-event__meta { grid-template-columns: 1fr; }
	.fde-event__meta > div { border-right: 0 !important; border-bottom: 1px solid var(--fde-line) !important; }
	.fde-event__meta > div:last-child { border-bottom: 0 !important; }
}

/* Placeholder expert initials avatar */
.fde-expert__avatar--initials {
  background: linear-gradient(145deg, rgba(95,227,220,.16), rgba(233,194,123,.10));
  border: 1px solid rgba(125,211,252,.22);
}
.fde-expert__avatar--initials span {
  font: 600 28px/1 "DIN Alternate", "PingFang SC", system-ui, sans-serif;
  color: var(--fde-gold, #e9c27b);
  letter-spacing: .04em;
}

/* salon poster lock */
.fde-salon-poster,.fde-salon-poster img{position:relative!important;transform:none!important;will-change:auto!important;}

/* flatten accidental escapes */
.entry-content, .fde-wrap, .fde-hero, .fde-section { white-space: normal; }




/* Larger primary nav labels */
.header-menu-1 .ct-menu-link,
#header [data-id="menu"] .ct-menu-link,
.ct-header .header-menu-1 > ul > li > a.ct-menu-link {
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em;
}
@media (min-width: 1000px) {
  .header-menu-1 .ct-menu-link,
  #header [data-id="menu"] .ct-menu-link,
  .ct-header .header-menu-1 > ul > li > a.ct-menu-link {
    font-size: 22px !important;
  }
}


/* ===== FDE premium theme v1.3.0 ===== */
:root:root {
  --fde-bg: #06080e;
  --fde-bg-2: #0a0e16;
  --fde-panel: rgba(14, 20, 34, 0.78);
  --fde-panel-solid: #101624;
  --fde-line: rgba(148, 176, 220, 0.10);
  --fde-line-strong: rgba(110, 180, 255, 0.28);
  --fde-text: #e9eef7;
  --fde-muted: #8d99b0;
  --fde-cyan: #6ec8ff;
  --fde-blue: #4f8cff;
  --fde-gold: #d4af74;
  --fde-gold-2: #ebcf9a;
  --fde-orange: #e89a62;
  --fde-radius: 18px;
  --fde-glow: 0 0 60px -20px rgba(110, 200, 255, 0.45);
  --fde-glow-gold: 0 0 50px -18px rgba(212, 175, 116, 0.4);
}

body.fde-site {
  background:
    radial-gradient(900px 480px at 12% -10%, rgba(79, 140, 255, 0.10), transparent 55%),
    radial-gradient(700px 420px at 88% 8%, rgba(212, 175, 116, 0.07), transparent 50%),
    linear-gradient(180deg, #06080e 0%, #080b13 40%, #06080e 100%);
  color: var(--fde-text);
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
}

body.fde-site .site-main {
  background: transparent;
}

/* kill overflow that breaks sticky */
body.fde-site .site-main,
body.fde-site #main,
body.fde-site .entry-content,
body.fde-site .ct-container,
body.fde-site .fde-section,
body.fde-site .fde-wrap {
  overflow: visible !important;
}

.fde-grad {
  background: linear-gradient(110deg, #9ad8ff 0%, #6ec8ff 35%, #4f8cff 70%, #d4af74 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.fde-grad--gold {
  background: linear-gradient(110deg, #f0d7a8, #d4af74 55%, #b8893e);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.fde-btn--primary {
  color: #061018 !important;
  background: linear-gradient(110deg, #9ad8ff, #6ec8ff 40%, #4f8cff);
  box-shadow: var(--fde-glow);
}
.fde-btn--primary:hover { box-shadow: 0 18px 55px -14px rgba(110, 200, 255, 0.75); }
.fde-btn--gold {
  color: #1a1208 !important;
  background: linear-gradient(110deg, #f0d7a8, #d4af74);
  box-shadow: var(--fde-glow-gold);
}
.fde-btn--ghost {
  border-color: rgba(148, 176, 220, 0.22);
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(8px);
}
.fde-btn--ghost:hover { border-color: var(--fde-cyan); color: var(--fde-cyan) !important; }

.fde-section--alt {
  background:
    radial-gradient(700px 300px at 50% 0%, rgba(79,140,255,0.06), transparent 60%),
    linear-gradient(180deg, var(--fde-bg-2), var(--fde-bg));
  border-block-color: var(--fde-line);
}

.fde-part, .fde-feature, .fde-layer, .fde-chapter {
  background: linear-gradient(160deg, rgba(20,28,46,0.9), rgba(10,14,24,0.85));
  border-color: var(--fde-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.fde-part:hover, .fde-feature:hover {
  border-color: var(--fde-line-strong);
  box-shadow: 0 28px 60px -36px rgba(79,140,255,0.45), inset 0 1px 0 rgba(255,255,255,0.06);
}

.fde-stat__num { color: #dff2ff; text-shadow: 0 0 28px rgba(110,200,255,0.35); }
.fde-dot { background: var(--fde-cyan); }
.fde-dot--live { box-shadow: 0 0 0 0 rgba(110,200,255,.55); }

.fde-teaser {
  border-color: rgba(110,180,255,0.22);
  background:
    radial-gradient(400px 200px at 0% 0%, rgba(110,200,255,0.10), transparent 55%),
    linear-gradient(120deg, rgba(16,24,40,0.95), rgba(8,12,20,0.92));
}
.fde-teaser:hover { box-shadow: 0 30px 70px -35px rgba(79,140,255,0.55); }
.fde-teaser img {
  height: 100%;
  min-height: 340px;
  max-height: 420px;
  object-fit: cover;
}

.fde-contact__card {
  border-color: rgba(212,175,116,0.35);
  background:
    radial-gradient(600px 280px at 0% 0%, rgba(110,200,255,0.08), transparent 55%),
    radial-gradient(500px 240px at 100% 100%, rgba(212,175,116,0.08), transparent 50%),
    linear-gradient(145deg, #121a2e, #0b101c);
  box-shadow: 0 40px 100px -50px rgba(79,140,255,0.35);
}

.fde-baoming-modal__panel {
  background: linear-gradient(180deg, rgba(14,20,34,.98), rgba(7,10,18,.99));
  border-color: rgba(110,200,255,0.22);
  box-shadow: 0 30px 90px rgba(0,0,0,.55), 0 0 80px -40px rgba(110,200,255,0.35);
}



/* header polish */
body.fde-site #header {
  backdrop-filter: blur(16px) saturate(1.2);
  background: rgba(6, 8, 14, 0.72) !important;
  border-bottom: 1px solid rgba(148,176,220,0.08);
}


/* FDE home video — top row, full width, fullscreen btn, loud loop */
.fde-video-showcase--top{
  padding: 88px 0 28px !important;
  position: relative;
  background: radial-gradient(1200px 420px at 50% -10%, rgba(79,140,255,.18), transparent 60%);
}
.fde-video-showcase--top .fde-wrap--video{
  width: min(1360px, calc(100% - 24px)) !important;
  margin-inline: auto;
}
.fde-video-frame{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(148,176,220,.2);
  background: #000;
  box-shadow: 0 40px 100px -40px rgba(79,140,255,.6), 0 20px 50px -30px rgba(0,0,0,.8);
  width: 100%;
  max-width: none;
  aspect-ratio: 16/9;
  min-height: min(78vh, 780px);
}
.fde-video-frame video{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #000;
}
.fde-video-fs{
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(6,10,18,.72);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: background .2s, border-color .2s, transform .2s;
}
.fde-video-fs:hover{
  background: rgba(20,40,80,.88);
  border-color: rgba(120,170,255,.7);
  transform: translateY(-1px);
}
.fde-video-caption{display:none}
@media(max-width:760px){
  .fde-video-showcase--top{padding:72px 0 18px !important}
  .fde-video-frame{border-radius:12px;min-height:0}
  .fde-video-fs{top:10px;right:10px;padding:8px 12px;font-size:13px}
}


/* Video unmute CTA */
.fde-video-unmute{
  position:absolute; inset:0; z-index:20 !important;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  margin:0; border:0; cursor:pointer;
  background:rgba(4,8,16,.42);
  color:#fff; font-size:18px; font-weight:700; letter-spacing:.04em;
  transition:opacity .25s, background .25s;
}
.fde-video-unmute__icon{
  width:78px; height:78px; border-radius:50%;
  display:grid; place-items:center; font-size:34px; line-height:1;
  background:rgba(20,40,90,.75);
  border:2px solid rgba(255,255,255,.55);
  box-shadow:0 12px 40px rgba(0,0,0,.45);
}
.fde-video-unmute__text{
  padding:10px 18px; border-radius:999px;
  background:rgba(6,10,18,.78); border:1px solid rgba(255,255,255,.28);
}
.fde-video-unmute:hover{ background:rgba(4,8,16,.55); }
.fde-video-unmute.is-hidden{ opacity:0; pointer-events:none; }


/* ===== Events poster FINAL: stay in column, sticky, no blowout ===== */
.fde-event {
  display: grid !important;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr) !important;
  gap: 36px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.fde-event > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
.fde-event__poster {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 104px !important;
  z-index: 2 !important;
  align-self: start !important;
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(148,176,220,0.16) !important;
  background: #0a0f18 !important;
  box-shadow: 0 18px 48px -24px rgba(0,0,0,.7) !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}
.fde-event__poster img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 620px !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center top !important;
  transform: none !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}
.fde-event__poster.is-fixed,
.fde-event__poster-ph {
  position: sticky !important;
  top: 104px !important;
  left: auto !important;
  width: 100% !important;
  max-width: 420px !important;
}
.fde-event__body {
  min-height: 0 !important;
  width: 100% !important;
}
/* sticky needs visible overflow on ancestors, but NOT on the poster itself */
.fde-section:has(.fde-event),
.fde-wrap:has(.fde-event),
.entry-content:has(.fde-event) {
  overflow: visible !important;
}
@media (max-width: 980px) {
  .fde-event {
    grid-template-columns: 1fr !important;
  }
  .fde-event__poster {
    position: relative !important;
    top: auto !important;
    max-width: 100% !important;
  }
  .fde-event__poster img {
    max-height: 520px !important;
  }
}


.fde-event__poster img[width]{ width:100% !important; height:auto !important; }
.fde-video-unmute{ z-index:20 !important; }


/* ---------- Cross-site company cohesion (鹏勃数能) ---------- */
body.fde-site #header .fde-menu-company > a,
body.fde-site #offcanvas .fde-menu-company > a,
body.fde-site #footer .fde-menu-company > a {
	color: rgba(255, 255, 255, .78) !important;
	font-weight: 500;
}
body.fde-site #header .fde-menu-company > a:hover,
body.fde-site #offcanvas .fde-menu-company > a:hover,
body.fde-site #footer .fde-menu-company > a:hover {
	color: var(--theme-palette-color-1, var(--fde-cyan)) !important;
}
#footer .fde-fw-company { margin-top: 10px; }
#footer .fde-fw-company a,
#footer .fde-link-company a,
#footer .fde-fw-company-copy a {
	color: var(--theme-palette-color-1, var(--fde-cyan));
	text-decoration: none;
}
#footer .fde-fw-company a:hover,
#footer .fde-link-company a:hover,
#footer .fde-fw-company-copy a:hover {
	text-decoration: underline;
}
#footer .fde-fw-company-copy {
	margin-top: 8px;
	font-size: 12px;
	color: rgba(255, 255, 255, .55);
	line-height: 1.6;
}
@media (max-width: 999px) {
	#footer .fde-fw-company,
	#footer .fde-fw-company-copy { text-align: center; }
}

.fde-company-strip {
	background: #090c09;
	border-top: 1px solid rgba(255, 255, 255, .08);
	padding: 14px 18px 18px;
	text-align: center;
	font-size: 13px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .55);
}
.fde-company-strip a {
	color: var(--theme-palette-color-1, var(--fde-cyan));
	text-decoration: none;
	font-weight: 600;
}
.fde-company-strip a:hover { text-decoration: underline; }
@media (max-width: 640px) {
	.fde-company-strip { font-size: 12px; padding: 12px 14px 16px; }
}
