/*
 * CA Join Page — S-Grade Sales Page
 * Louvre 7-color system
 * 晴空蓝 #38bdf8 · 薰衣草紫 #a78bfa · 帝王金 #fbbf24
 * 能量玫红 #fb7185 · 翡翠青 #14b8a6 · 酸柠绿 #84cc16 · 铂金银 #94a3b8
 */

:root {
	--ca-j-accent:       #fbbf24;
	--ca-j-accent-hover: #f59e0b;
	--ca-j-accent-soft:  rgba(251,191,36,.06);
	--ca-j-accent-light: rgba(251,191,36,.15);
	--ca-j-blue:         #38bdf8;
	--ca-j-blue-soft:    rgba(56,189,248,.08);
	--ca-j-purple:       #a78bfa;
	--ca-j-purple-soft:  rgba(167,139,250,.08);
	--ca-j-rose:         #fb7185;
	--ca-j-rose-soft:    rgba(251,113,133,.08);
	--ca-j-teal:         #14b8a6;
	--ca-j-teal-soft:    rgba(20,184,166,.08);
	--ca-j-lime:         #84cc16;
	--ca-j-lime-soft:    rgba(132,204,22,.08);
	--ca-j-silver:       #94a3b8;
	--ca-j-bg:           #f8f7f4;
	--ca-j-surface:      #fff;
	--ca-j-text:         #1a1815;
	--ca-j-text-secondary: #52504a;
	--ca-j-text-muted:   #8c8880;
	--ca-j-border:       #e5e3de;
	--ca-j-radius-sm:    10px;
	--ca-j-radius-md:    16px;
	--ca-j-radius-lg:    24px;
	--ca-j-shadow-sm:    0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.03);
	--ca-j-shadow-md:    0 4px 16px rgba(0,0,0,.06), 0 1px 4px rgba(0,0,0,.04);
	--ca-j-shadow-lg:    0 12px 40px rgba(0,0,0,.08);
	--ca-j-ease:         0.25s cubic-bezier(0.4, 0, 0.2, 1);
	--ca-j-ease-spring:  0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ================================================================
   CONTAINER
   ================================================================ */
.ca-join {
	max-width: 1120px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--ca-j-text);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.ca-join-section__inner {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 24px;
}

.ca-join-section__title {
	font-size: clamp(22px, 3.5vw, 30px);
	font-weight: 800;
	letter-spacing: -0.02em;
	text-align: center;
	margin: 0 0 12px;
	line-height: 1.2;
}

.ca-join-section__subtitle {
	font-size: 16px;
	color: var(--ca-j-text-secondary);
	text-align: center;
	margin: 0 0 40px;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

/* ================================================================
   BUTTONS
   ================================================================ */
.ca-join-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 700;
	padding: 14px 32px;
	border-radius: 999px;
	text-decoration: none;
	cursor: pointer;
	transition: all var(--ca-j-ease);
	border: none;
	line-height: 1.2;
}

.ca-join-btn--primary {
	background: var(--ca-j-accent);
	color: #1a1815;
	box-shadow: 0 2px 8px rgba(251,191,36,.3);
}

.ca-join-btn--primary:hover {
	background: var(--ca-j-accent-hover);
	box-shadow: 0 4px 16px rgba(251,191,36,.4);
	transform: translateY(-1px);
}

.ca-join-btn--ghost {
	background: transparent;
	color: var(--ca-j-text);
	border: 1.5px solid var(--ca-j-border);
}

.ca-join-btn--ghost:hover {
	border-color: var(--ca-j-text);
	background: var(--ca-j-accent-soft);
}

.ca-join-btn--block {
	width: 100%;
}

.ca-join-btn--lg {
	font-size: 16px;
	padding: 16px 40px;
}

.ca-join-link {
	color: var(--ca-j-accent);
	font-weight: 600;
	text-decoration: none;
	font-size: 14px;
	transition: color var(--ca-j-ease);
}

.ca-join-link:hover {
	color: var(--ca-j-accent-hover);
}

/* ================================================================
   HERO
   ================================================================ */
.ca-join-hero {
	padding: 64px 24px 56px;
	text-align: center;
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 80% 60% at 50% 0%, rgba(195,157,82,.06) 0%, transparent 60%);
}

.ca-join-hero__inner {
	max-width: 720px;
	margin: 0 auto;
}

.ca-join-hero__badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ca-j-accent);
	background: var(--ca-j-accent-soft);
	border: 1px solid var(--ca-j-accent-light);
	padding: 6px 16px;
	border-radius: 999px;
	margin-bottom: 24px;
}

.ca-join-hero__title {
	font-size: clamp(28px, 5vw, 44px);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin: 0 0 16px;
	color: var(--ca-j-text);
}

.ca-join-hero__subtitle {
	font-size: clamp(16px, 2.5vw, 20px);
	color: var(--ca-j-text-secondary);
	margin: 0 0 8px;
	line-height: 1.5;
}

.ca-join-hero__desc {
	font-size: 15px;
	color: var(--ca-j-text-muted);
	margin: 0 0 28px;
	line-height: 1.5;
}

.ca-join-hero__benefits {
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
	display: inline-flex;
	flex-direction: column;
	gap: 10px;
	text-align: left;
}

.ca-join-hero__benefits li {
	font-size: 15px;
	color: var(--ca-j-text);
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.ca-join-hero__check {
	width: 22px; height: 22px; flex-shrink: 0; margin-top: 2px;
	background: linear-gradient(135deg, #059669, #10b981);
	border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	color: #fff; font-size: 13px; font-weight: 700; line-height: 1;
}

.ca-join-hero__actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.ca-join-hero__proof {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	margin: 0 0 20px;
}

.ca-join-hero__badges {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

.ca-join-hero__badge-item {
	font-size: 13px;
	color: var(--ca-j-text-muted);
	display: flex;
	align-items: center;
	gap: 8px;
}

.ca-join-hero__badge-icon {
	width: 24px; height: 24px; flex-shrink: 0;
	background-size: contain; background-repeat: no-repeat; background-position: center;
}
.ca-join-hero__badge-icon--paypal { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2338bdf8' opacity='.1'/%3E%3Cpath d='M12 5l2 4h4l-3 3 1 4-4-3-4 3 1-4-3-3h4z' fill='none' stroke='%2338bdf8' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ca-join-hero__badge-icon--calendar { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2338bdf8' opacity='.1'/%3E%3Crect x='5' y='6' width='14' height='14' rx='2' fill='none' stroke='%23fbbf24' stroke-width='1.5'/%3E%3Cline x1='5' y1='10' x2='19' y2='10' stroke='%2338bdf8' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='14' r='1.5' fill='%23fb7185'/%3E%3C/svg%3E"); }
.ca-join-hero__badge-icon--products { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2338bdf8' opacity='.1'/%3E%3Crect x='6' y='14' width='5' height='5' rx='1' fill='%2338bdf8' opacity='.7'/%3E%3Crect x='13' y='12' width='5' height='7' rx='1' fill='%23fbbf24' opacity='.7'/%3E%3Crect x='3' y='16' width='5' height='3' rx='1' fill='%23fb7185' opacity='.5'/%3E%3C/svg%3E"); }

/* ================================================================
   VALUE CALCULATOR
.ca-join-value-stack {
	padding: 72px 24px;
	background: linear-gradient(180deg, var(--ca-j-accent-soft) 0%, rgba(250,250,249,.5) 100%);
	border-top: 1px solid var(--ca-j-border);
	border-bottom: 1px solid var(--ca-j-border);
}

.ca-join-value-stack__subtitle {
	text-align: center; font-size: 14px; color: var(--ca-j-text-muted);
	margin: 4px 0 32px; line-height: 1.5;
	display: flex; align-items: center; justify-content: center; 
	gap: 12px; flex-wrap: wrap;
}

.ca-join-mode-toggle { 
	display: inline-flex; gap: 0; background: #e5e3de; border-radius: 999px; 
	padding: 3px; flex-shrink: 0; overflow: hidden;
}
.ca-join-mode-btn { 
	display: inline-block; padding: 5px 20px; 
	font-size: 12px; font-weight: 600; line-height: 1.3; font-family: inherit;
	border-radius: 999px; cursor: pointer; color: #6b6560; 
	transition: all 0.15s ease; min-width: 52px; text-align: center;
	user-select: none; background: transparent;
}
.ca-join-mode-btn--active { 
	background: #fff; color: #1a1815; 
	box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06); 
}
.ca-join-mode-btn:hover:not(.ca-join-mode-btn--active) { color: #1a1815; }

.ca-join-calc { max-width: 740px; margin: 0 auto; font-size: 14px; }

.ca-join-calc__loading {
	text-align: center; padding: 32px;
	color: var(--ca-j-text-muted); font-size: 14px;
}

/* Group header */
.ca-join-calc__group { margin-bottom: 4px; }
.ca-join-calc__group-head {
	display: flex; align-items: center; gap: 10px;
	padding: 16px 16px 8px; font-size: 13px; font-weight: 700;
	color: var(--ca-j-text); border-bottom: 1px solid var(--ca-j-border);
	margin-bottom: 2px; text-transform: uppercase; letter-spacing: 0.5px;
}
.ca-join-calc__group-icon {
	width: 24px; height: 24px; flex-shrink: 0;
	background-size: contain; background-repeat: no-repeat; background-position: center;
	border-radius: 6px;
}
.ca-join-calc__group-icon--diagnosis { background-color: rgba(56,189,248,.1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='%2338bdf8' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='12' r='3' fill='%2338bdf8' opacity='.7'/%3E%3Cpath d='M12 4v3M12 17v3M4 12h3M17 12h3' stroke='%2338bdf8' stroke-width='1.2' stroke-linecap='round' opacity='.5'/%3E%3C/svg%3E"); }
.ca-join-calc__group-icon--coaching { background-color: rgba(167,139,250,.1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='8' width='12' height='10' rx='2' fill='none' stroke='%23a78bfa' stroke-width='1.5'/%3E%3Cpath d='M8 13h3M8 16h6' stroke='%23a78bfa' stroke-width='1.2' stroke-linecap='round' opacity='.5'/%3E%3Ccircle cx='16' cy='6' r='3' fill='%23a78bfa' opacity='.3'/%3E%3Ccircle cx='16' cy='6' r='1.2' fill='%23a78bfa'/%3E%3C/svg%3E"); }
.ca-join-calc__group-icon--deep_review { background-color: rgba(20,184,166,.1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 6l-4 4-2-2-6 6' fill='none' stroke='%2314b8a6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='18' cy='6' r='3' fill='none' stroke='%2314b8a6' stroke-width='1.5'/%3E%3Ccircle cx='18' cy='6' r='1' fill='%2314b8a6'/%3E%3Ccircle cx='6' cy='18' r='2' fill='%2314b8a6' opacity='.3'/%3E%3C/svg%3E"); }
.ca-join-calc__group-icon--included { background-color: rgba(56,189,248,.1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='6' width='16' height='14' rx='2' fill='none' stroke='%2338bdf8' stroke-width='1.5'/%3E%3Cpath d='M4 10h16' stroke='%2338bdf8' stroke-width='1.2' opacity='.5'/%3E%3Cpath d='M12 10v5M12 18v0' stroke='%2338bdf8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ca-join-calc__group-icon--bonus { background-color: rgba(251,191,36,.1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='12,3 15,9 21,10 16,15 17,21 12,18 7,21 8,15 3,10 9,9' fill='none' stroke='%23fbbf24' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ca-join-calc__group-icon--gold_voice { background-color: rgba(251,191,36,.1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12a5 5 0 0110 0v4a5 5 0 01-10 0z' fill='none' stroke='%23fbbf24' stroke-width='1.5'/%3E%3Crect x='9' y='4' width='6' height='8' rx='3' fill='none' stroke='%23fbbf24' stroke-width='1.5'/%3E%3Cline x1='12' y1='18' x2='12' y2='21' stroke='%23fbbf24' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='8' y1='21' x2='16' y2='21' stroke='%23fbbf24' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ca-join-calc__group-badge {
	font-size: 11px; font-weight: 600; padding: 2px 10px;
	border-radius: 999px; background: var(--ca-j-accent-light); color: var(--ca-j-accent);
	margin-left: auto; flex-shrink: 0;
}

/* === ROW: PRICED (slider) === */
.ca-join-calc__row { display: flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: var(--ca-j-radius-sm); transition: background var(--ca-j-ease); }
.ca-join-calc__row:hover { background: rgba(0,0,0,.01); }
.ca-join-calc__row-name { flex:1; min-width:0; font-size:13px; color:var(--ca-j-text-secondary); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ca-join-calc__row-price { width:78px; text-align:right; font-size:12px; color:var(--ca-j-text-muted); flex-shrink:0; }
.ca-join-calc__row-slider { width:100px; flex-shrink:0; }
.ca-join-calc__row-slider input[type="range"]:disabled::-webkit-slider-thumb { opacity: .5; cursor: not-allowed; }
.ca-join-calc__row-slider input[type="range"]:disabled { opacity: .7; }
.ca-join-calc__row-slider input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--ca-j-accent); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.15); cursor:pointer; }
.ca-join-calc__row-count { width:44px; text-align:center; flex-shrink:0; }
.ca-join-calc__row-count input { width:100%; text-align:center; border:1px solid var(--ca-j-border); border-radius:6px; padding:4px 2px; font-size:13px; font-weight:600; color:var(--ca-j-text); background:var(--ca-j-surface); }
.ca-join-calc__row-count input:focus { border-color:var(--ca-j-accent); outline:none; box-shadow:0 0 0 1px var(--ca-j-accent-15); }
.ca-join-calc__row-subtotal { width:68px; text-align:right; font-size:13px; font-weight:700; color:var(--ca-j-text); flex-shrink:0; }

/* Rec badge on priced row */
.ca-join-calc__row-rec {
	font-size:10px; font-weight:600; color:var(--ca-j-accent); background:var(--ca-j-accent-soft);
	padding:1px 6px; border-radius:4px; margin-left:4px; flex-shrink:0; cursor:default;
}
/* Unlock button */
.ca-join-calc__unlock {
	font-size:10px; font-weight:600; color:var(--ca-j-text-muted); background:none; border:1px solid var(--ca-j-border);
	border-radius:4px; padding:1px 8px; cursor:pointer; flex-shrink:0; transition:all var(--ca-j-ease);
}
.ca-join-calc__unlock:hover { border-color:var(--ca-j-accent); color:var(--ca-j-accent); }
.ca-join-calc__row--unlocked .ca-join-calc__unlock { display:none; }
.ca-join-calc__row--unlocked .ca-join-calc__row-rec { display:none; }

/* === ROW: INCLUDED (checkmark) === */
.ca-join-calc__row--included {
	display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: var(--ca-j-radius-sm);
}
.ca-join-calc__row--included:hover { background: rgba(0,0,0,.01); }
.ca-join-calc__row-icon { font-size:20px; flex-shrink:0; }
.ca-join-calc__row-check {
	font-size:12px; font-weight:600; color:#059669; background:#ecfdf5;
	padding:3px 12px; border-radius:999px; margin-left:auto; flex-shrink:0;
}

/* === ROW: BONUS (fixed price + description) === */
.ca-join-calc__row--bonus {
	display: flex; flex-direction: column; gap: 4px; padding: 12px 16px; border-radius: var(--ca-j-radius-sm);
	border-bottom: 1px solid var(--ca-j-border);
}
.ca-join-calc__row--bonus:last-child { border-bottom:none; }
.ca-join-calc__bonus-top { display:flex; align-items:center; gap:10px; width:100%; }
.ca-join-calc__bonus-desc { font-size:12px; color:var(--ca-j-text-muted); padding-left:30px; line-height:1.4; }
.ca-join-calc__bonus-price { font-size:14px; font-weight:700; color:var(--ca-j-accent); margin-left:auto; flex-shrink:0; white-space:nowrap; }

/* === TOTALS === */
.ca-join-calc-total {
	max-width: 740px; margin: 28px auto 0;
	background: linear-gradient(180deg, var(--ca-j-surface) 0%, var(--ca-j-accent-soft) 100%);
	border: 1px solid var(--ca-j-border); border-radius: var(--ca-j-radius-md);
	padding: 24px 28px; text-align: center;
}
.ca-join-calc-total__row {
	display: flex; justify-content: space-between; align-items: center;
	padding-bottom: 12px; border-bottom: 1px dashed var(--ca-j-border); margin-bottom: 12px;
}
.ca-join-calc-total__row:last-of-type { border-bottom:none; margin-bottom:0; }
.ca-join-calc-total__label { font-size:14px; font-weight:600; color:var(--ca-j-text-secondary); }
.ca-join-calc-total__amount { font-size:20px; font-weight:800; color:var(--ca-j-text); letter-spacing:-.02em; }
.ca-join-calc-total__member-price { color:var(--ca-j-accent); }

.ca-join-calc-total__saving {
	background: var(--ca-j-accent-soft); border-radius: var(--ca-j-radius-sm);
	padding: 14px; margin: 12px 0 4px;
}
.ca-join-calc-total__saving-label { font-size:13px; font-weight:600; color:var(--ca-j-accent); display:block; margin-bottom:2px; }
.ca-join-calc-total__saving-amount { font-size:28px; font-weight:900; color:#059669; letter-spacing:-.02em; transition: color 0.3s; }
.ca-join-calc-total__saving-amount--pulse { animation: ca-j-saving-pulse 0.5s ease-out; }

.ca-join-calc-total__note { font-size:12px; color:var(--ca-j-text-muted); font-weight:400; }
.ca-join-calc-total__gold-hint { padding:14px 16px; background:var(--ca-j-accent-soft); border-radius:var(--ca-j-radius-sm); }
.ca-join-gold-mini-card {
	border: 1px solid var(--ca-j-accent-light); border-radius: var(--ca-j-radius-sm);
	padding: 18px; text-align: center; background: var(--ca-j-surface);
}
.ca-join-gold-mini-card__header {
	display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;
}
.ca-join-gold-mini-card__badge { font-size:14px; font-weight:700; color:var(--ca-j-accent); }
.ca-join-gold-mini-card__price { font-size:22px; font-weight:900; color:var(--ca-j-text); letter-spacing:-0.02em; }
.ca-join-gold-mini-card__period { font-size:13px; font-weight:500; color:var(--ca-j-text-muted); }
.ca-join-gold-mini-card__desc { font-size:13px; color:var(--ca-j-text-secondary); margin:0 0 14px; line-height:1.5; }

/* Milestone pop */
.ca-join-calc-total__milestone {
	position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%);
	font-size: 48px; pointer-events: none; z-index: 200; opacity: 0; transition: opacity 0.4s, transform 0.4s var(--ca-j-ease-spring);
}
.ca-join-calc-total__milestone--show {
	opacity: 1; transform: translate(-50%,-60%) scale(1.3);
	animation: ca-j-milestone-pop 2s ease-out forwards;
}

/* Slider glow on active */
.ca-join-calc__row-slider input[type="range"]:active::-webkit-slider-thumb {
	box-shadow: 0 0 0 8px var(--ca-j-accent-15), 0 2px 8px rgba(0,0,0,.2);
}

/* Row entrance animation */
.ca-join-calc__row--entering { opacity: 0; transform: translateY(8px); }
.ca-join-calc__row--visible { opacity: 1; transform: translateY(0); transition: opacity 0.35s ease, transform 0.35s var(--ca-j-ease-spring); }

@keyframes ca-j-saving-pulse {
	0% { transform: scale(1); } 50% { transform: scale(1.15); } 100% { transform: scale(1); }
}
@keyframes ca-j-milestone-pop {
	0% { opacity: 0; transform: translate(-50%,-40%) scale(0.5); }
	40% { opacity: 1; transform: translate(-50%,-65%) scale(1.4); }
	100% { opacity: 0; transform: translate(-50%,-80%) scale(1); }
}

@media(max-width:640px) {
	.ca-join-value-stack { padding:48px 20px; }
	.ca-join-calc__row { flex-wrap:wrap; gap:6px; padding:10px 8px; }
	.ca-join-calc__row-name { flex:1 1 100%; min-width:100%; }
	.ca-join-calc__row-price { width:auto; }
	.ca-join-calc__row-slider { width:auto; flex:1; }
	.ca-join-calc-total { padding:18px 16px; }
}

/* ================================================================
   SCENARIOS
   ================================================================ */
.ca-join-scenarios {
	padding: 72px 24px;
}

.ca-join-scenarios__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-top: 40px;
}

.ca-join-scenario-card {
	background: var(--ca-j-surface);
	border: 1px solid var(--ca-j-border);
	border-radius: 20px;
	padding: 28px 24px;
	transition: border-color var(--ca-j-ease), box-shadow var(--ca-j-ease), transform 0.3s ease;
}

.ca-join-scenario-card:hover {
	border-color: var(--ca-j-accent);
	box-shadow: var(--ca-j-shadow-lg);
	transform: translateY(-4px);
}

.ca-join-scenario-card__icon {
	display: block; margin-bottom: 16px; width: 56px; height: 56px;
	flex-shrink: 0; line-height: 1;
	transition: transform 0.3s ease, filter 0.35s ease;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,.06));
}
.ca-join-scenario-card:hover .ca-join-scenario-card__icon {
	transform: scale(1.06) rotate(2deg);
	filter: drop-shadow(0 4px 14px rgba(0,0,0,.1));
}

.ca-join-scene-icon { display: block; width: 56px; height: 56px; background-size: contain; background-repeat: no-repeat; }

/* Scenario icons — geometric Louvre 7-color */
.ca-join-scene-icon--proposal  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cdefs%3E%3ClinearGradient id='pb' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%2338bdf8'/%3E%3Cstop offset='100%25' stop-color='%237dd3fc'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='28' cy='28' r='21' fill='%2338bdf8' opacity='.06'/%3E%3Crect x='16' y='12' width='18' height='24' rx='3' fill='%23fff' stroke='url(%23pb)' stroke-width='2'/%3E%3Cpath d='M22 20h6M22 24h8M22 28h5' stroke='%23fb7185' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='38' cy='14' r='6' fill='%23fff' stroke='%23fbbf24' stroke-width='2'/%3E%3Cpath d='M37 14l-2 2 1 2h2l1-2z' fill='%23fbbf24'/%3E%3C/svg%3E"); }
.ca-join-scene-icon--pricing   { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cdefs%3E%3ClinearGradient id='pg' x1='0%25' y1='100%25' x2='0%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%2338bdf8'/%3E%3Cstop offset='100%25' stop-color='%237dd3fc'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='28' cy='28' r='21' fill='%23fbbf24' opacity='.05'/%3E%3Crect x='10' y='28' width='7' height='14' rx='2' fill='%23fb7185' opacity='.8'/%3E%3Crect x='20' y='20' width='7' height='22' rx='2' fill='%23fbbf24' opacity='.8'/%3E%3Crect x='30' y='12' width='7' height='30' rx='2' fill='url(%23pg)'/%3E%3Cpath d='M40 10l3-3 3 3' fill='none' stroke='%23fb7185' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ca-join-scene-icon--direction { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='21' fill='%23fb7185' opacity='.04'/%3E%3Ccircle cx='28' cy='28' r='16' fill='none' stroke='%2338bdf8' stroke-width='2' opacity='.8'/%3E%3Ccircle cx='28' cy='28' r='4' fill='%23fbbf24'/%3E%3Cpath d='M28 9l3 12h-6z' fill='%23fb7185'/%3E%3Cpath d='M28 47l-3-12h6z' fill='%2338bdf8' opacity='.4'/%3E%3Cpath d='M9 28l12-3v6z' fill='%23a78bfa' opacity='.3'/%3E%3Cpath d='M47 28l-12 3v-6z' fill='%23fb7185' opacity='.3'/%3E%3C/svg%3E"); }
.ca-join-scene-icon--emergency { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='21' fill='%2338bdf8' opacity='.04'/%3E%3Ccircle cx='28' cy='28' r='12' fill='%23fff' stroke='%23fb7185' stroke-width='2'/%3E%3Cpath d='M28 20v8M28 32h.01' stroke='%23fbbf24' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M22 22l-4-4M34 22l4-4M22 34l-4 4M34 34l4 4' stroke='%2338bdf8' stroke-width='1.5' stroke-linecap='round' opacity='.5'/%3E%3C/svg%3E"); }
.ca-join-scene-icon--system    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cdefs%3E%3ClinearGradient id='ss' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%2338bdf8'/%3E%3Cstop offset='100%25' stop-color='%237dd3fc'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='28' cy='28' r='21' fill='%23fbbf24' opacity='.05'/%3E%3Ccircle cx='22' cy='18' r='8' fill='none' stroke='url(%23ss)' stroke-width='2'/%3E%3Ccircle cx='22' cy='18' r='3' fill='%23fb7185'/%3E%3Cpath d='M5 38h46' stroke='%2338bdf8' stroke-width='2' opacity='.3'/%3E%3Crect x='14' y='34' width='28' height='14' rx='2' fill='none' stroke='%23fbbf24' stroke-width='2'/%3E%3Crect x='20' y='38' width='16' height='6' rx='1' fill='%23a78bfa' opacity='.2'/%3E%3C/svg%3E"); }

.ca-join-scenario-card__title {
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 8px;
	line-height: 1.3;
}

.ca-join-scenario-card__desc {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	margin: 0 0 14px;
	line-height: 1.6;
}

.ca-join-scenario-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ca-join-tag {
	font-size: 11px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--ca-j-accent-soft);
	color: var(--ca-j-accent);
	border: 1px solid var(--ca-j-accent-light);
}

/* ================================================================
   SOCIAL PROOF
   ================================================================ */
.ca-join-proof {
	padding: 72px 24px;
	background: var(--ca-j-bg);
	border-top: 1px solid var(--ca-j-border);
}

.ca-join-proof__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.ca-join-proof-card {
	background: var(--ca-j-surface);
	border: 1px solid var(--ca-j-border);
	border-radius: var(--ca-j-radius-md);
	padding: 24px;
	display: flex;
	flex-direction: column;
}

.ca-join-proof-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.ca-join-proof-card__avatar {
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	background: var(--ca-j-accent-soft);
}

.ca-join-proof-card__name {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.ca-join-proof-card__role {
	font-size: 12px;
	color: var(--ca-j-text-muted);
	line-height: 1.2;
}

.ca-join-proof-card__metric {
	font-size: 15px;
	font-weight: 700;
	color: var(--ca-j-accent);
	margin: 0 0 8px;
	line-height: 1.4;
}

.ca-join-proof-card__quote {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	margin: 0;
	line-height: 1.6;
	flex-grow: 1;
	font-style: italic;
}

.ca-join-proof__more {
	text-align: center;
	margin-top: 32px;
}

/* ================================================================
   ABOUT
   ================================================================ */
.ca-join-about {
	padding: 72px 24px;
}

.ca-join-about__card {
	max-width: 640px;
	margin: 32px auto 0;
	background: var(--ca-j-surface);
	border: 1px solid var(--ca-j-border);
	border-left: 3px solid var(--ca-j-teal);
	border-radius: var(--ca-j-radius-lg);
	padding: 32px;
}

.ca-join-about__header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
}

.ca-join-about__avatar {
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.ca-join-about__name {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
}

.ca-join-about__title {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	line-height: 1.3;
}

.ca-join-about__bio {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	line-height: 1.7;
	margin: 0 0 20px;
}

.ca-join-about__creds {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ca-join-about__creds li {
	font-size: 14px;
	color: var(--ca-j-text);
	display: flex;
	align-items: center;
	gap: 8px;
}

.ca-join-about__cred-icon {
	font-size: 16px;
}

.ca-join-about__logos { margin-top: 24px; display: flex; justify-content: center; align-items: center; gap: 18px; flex-wrap: wrap; }
.ca-join-about__logo-img { height: 32px; width: auto; opacity: 0.6; filter: grayscale(40%); transition: opacity 0.2s, filter 0.2s; }
.ca-join-about__logo-img:hover { opacity: 0.9; filter: grayscale(0%); }

/* ================================================================
   RESOURCES
   ================================================================ */
.ca-join-resources {
	padding: 72px 24px;
	background: var(--ca-j-accent-soft);
	border-top: 1px solid var(--ca-j-border);
}

.ca-join-resources__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.ca-join-resource-card {
	background: var(--ca-j-surface);
	border: 1px solid var(--ca-j-border);
	border-radius: var(--ca-j-radius-md);
	padding: 28px 24px;
	text-align: center;
	transition: all var(--ca-j-ease);
}
.ca-join-resource-card:hover { box-shadow: var(--ca-j-shadow-md); transform: translateY(-2px); }
.ca-join-resource-card:nth-child(1):hover { border-color: var(--ca-j-blue); }
.ca-join-resource-card:nth-child(2):hover { border-color: var(--ca-j-purple); }
.ca-join-resource-card:nth-child(3):hover { border-color: var(--ca-j-teal); }
.ca-join-resource-card:nth-child(4):hover { border-color: var(--ca-j-lime); }

.ca-join-resource-card__icon {
	display: block; margin: 0 auto 14px; width: 56px; height: 56px;
	line-height: 1; flex-shrink: 0;
}
.ca-join-resource-icon { width: 56px; height: 56px; background-size: contain; background-repeat: no-repeat; background-position: center; }
.ca-join-resource-icon--cases { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cdefs%3E%3ClinearGradient id='cc' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%2338bdf8'/%3E%3Cstop offset='100%25' stop-color='%237dd3fc'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='28' cy='28' r='21' fill='%2338bdf8' opacity='.06'/%3E%3Crect x='9' y='18' width='16' height='22' rx='2' fill='none' stroke='url(%23cc)' stroke-width='2'/%3E%3Crect x='17' y='24' width='16' height='22' rx='2' fill='none' stroke='%23fb7185' stroke-width='2'/%3E%3Crect x='25' y='12' width='22' height='26' rx='2' fill='none' stroke='%23fbbf24' stroke-width='2'/%3E%3Ccircle cx='34' cy='22' r='3' fill='%23fbbf24' opacity='.3'/%3E%3Ccircle cx='36' cy='30' r='2' fill='%23fbbf24' opacity='.3'/%3E%3C/svg%3E"); }
.ca-join-resource-icon--path { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='21' fill='%23fbbf24' opacity='.05'/%3E%3Ccircle cx='28' cy='28' r='14' fill='none' stroke='%23a78bfa' stroke-width='2'/%3E%3Cpath d='M22 20l6 4v10l-6-4z' fill='%23fff' stroke='%23fb7185' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M28 24l8 6v8l-8-5z' fill='%23fff' stroke='%23fbbf24' stroke-width='1.5' stroke-linejoin='round'/%3E%3Ccircle cx='34' cy='13' r='4' fill='%23fb7185'/%3E%3Ccircle cx='43' cy='18' r='3' fill='%23a78bfa' opacity='.5'/%3E%3C/svg%3E"); }
.ca-join-resource-icon--delivery { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='21' fill='%2314b8a6' opacity='.05'/%3E%3Crect x='16' y='14' width='24' height='24' rx='4' fill='%23fff' stroke='%2314b8a6' stroke-width='2'/%3E%3Cpath d='M22 26l4 5 8-9' fill='none' stroke='%2338bdf8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='14' r='4' fill='%23fbbf24' opacity='.6'/%3E%3Ccircle cx='44' cy='10' r='2' fill='%23fbbf24' opacity='.3'/%3E%3C/svg%3E"); }
.ca-join-resource-icon--global { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='21' fill='%2384cc16' opacity='.04'/%3E%3Ccircle cx='28' cy='28' r='15' fill='none' stroke='%2338bdf8' stroke-width='2'/%3E%3Cellipse cx='28' cy='28' rx='7' ry='15' fill='none' stroke='%2338bdf8' stroke-width='1.5' opacity='.5'/%3E%3Cline x1='13' y1='28' x2='43' y2='28' stroke='%23fbbf24' stroke-width='1.5' opacity='.5'/%3E%3Ccircle cx='28' cy='20' r='2.5' fill='%23fb7185'/%3E%3Ccircle cx='32' cy='34' r='2.5' fill='%2384cc16'/%3E%3Ccircle cx='20' cy='34' r='2' fill='%23fbbf24' opacity='.5'/%3E%3C/svg%3E"); }

.ca-join-resource-card__title {
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 10px;
}

.ca-join-resource-card__desc {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	margin: 0;
	line-height: 1.6;
}

/* ================================================================
   FAQ
   ================================================================ */
.ca-join-faq {
	padding: 72px 24px;
}

.ca-join-faq__list {
	max-width: 720px;
	margin: 32px auto 0;
}

.ca-join-faq__item {
	border-bottom: 1px solid var(--ca-j-border);
	border-left: 2px solid transparent;
	transition: border-color 0.25s ease;
}
.ca-join-faq__item--open {
	border-left-color: var(--ca-j-accent);
}

.ca-join-faq__question {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 20px 16px 20px 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--ca-j-text);
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	transition: color 0.2s ease, background 0.2s ease;
	font-family: inherit;
	-webkit-appearance: none; appearance: none;
}
.ca-join-faq__question:hover {
	color: var(--ca-j-accent);
	background: var(--ca-j-accent-soft);
	border-radius: 8px;
	padding-left: 16px;
}

.ca-join-faq__arrow {
	flex-shrink: 0; transition: transform 0.25s ease;
	opacity: 0.5;
}
.ca-join-faq__question:hover .ca-join-faq__arrow { opacity: 0.8; }

.ca-join-faq__item--open .ca-join-faq__arrow {
	transform: rotate(180deg);
	opacity: 1;
}
.ca-join-faq__item--open .ca-join-faq__arrow path { stroke: var(--ca-j-accent); }

.ca-join-faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}

.ca-join-faq__item--open .ca-join-faq__answer {
	grid-template-rows: 1fr;
}

.ca-join-faq__answer-inner {
	overflow: hidden;
}

.ca-join-faq__answer-inner p {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	line-height: 1.7;
	margin: 0;
	padding-bottom: 20px;
}

/* ================================================================
   PRICING
   ================================================================ */
.ca-join-pricing {
	padding: 72px 24px;
	background: var(--ca-j-bg);
	border-top: 1px solid var(--ca-j-border);
}

.ca-join-pricing__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 840px;
	margin: 40px auto 0;
}

.ca-join-pricing-card {
	background: var(--ca-j-surface);
	border: 1px solid var(--ca-j-border);
	border-radius: var(--ca-j-radius-lg);
	padding: 36px 28px;
	display: flex;
	flex-direction: column;
	position: relative;
}

.ca-join-pricing-card--featured {
	border-color: var(--ca-j-accent);
	box-shadow: 0 8px 32px rgba(195,157,82,.15);
}

.ca-join-pricing-card__badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 11px;
	font-weight: 700;
	background: linear-gradient(135deg, var(--ca-j-accent), #d4a85c);
	color: #fff;
	padding: 4px 16px;
	border-radius: 999px;
	letter-spacing: 0.5px;
	box-shadow: 0 2px 8px rgba(195,157,82,.25);
}

.ca-join-pricing-card__name {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 16px;
	text-align: center;
}

.ca-join-pricing-card__price {
	text-align: center;
	margin-bottom: 12px;
}

.ca-join-pricing-card__amount {
	font-size: 42px;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: var(--ca-j-text);
}

.ca-join-pricing-card--featured .ca-join-pricing-card__amount {
	color: var(--ca-j-accent);
}

.ca-join-pricing-card__period {
	font-size: 16px;
	color: var(--ca-j-text-muted);
	font-weight: 500;
}

.ca-join-pricing-card__desc {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	text-align: center;
	margin: 0 0 24px;
	line-height: 1.5;
}

.ca-join-pricing-card__features {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	flex-grow: 1;
}

.ca-join-pricing-card__features li {
	font-size: 14px;
	color: var(--ca-j-text);
	padding: 8px 0;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.4;
}

.ca-join-pricing-card__check {
	width: 20px; height: 20px; flex-shrink: 0; margin-top: 1px;
	background: linear-gradient(135deg, #059669, #10b981);
	border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	color: #fff; font-size: 12px; font-weight: 700; line-height: 1;
}

.ca-join-pricing__guarantee {
	text-align: center;
	margin-top: 32px;
	padding: 20px;
	background: var(--ca-j-accent-soft);
	border-radius: var(--ca-j-radius-md);
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.ca-join-pricing__guarantee p {
	font-size: 14px;
	color: var(--ca-j-text-secondary);
	margin: 0 0 8px;
}

.ca-join-pricing__note {
	font-size: 12px;
	color: var(--ca-j-text-muted);
	text-align: center;
	margin: 24px 0 0;
}

/* ================================================================
   STICKY BAR
   ================================================================ */
.ca-join-sticky {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: var(--ca-j-surface);
	border-top: 1px solid var(--ca-j-border);
	box-shadow: 0 -4px 20px rgba(0,0,0,.06);
	padding: 12px 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.ca-join-sticky--visible {
	transform: translateY(0);
}

.ca-join-sticky__text {
	font-size: 14px;
	font-weight: 600;
	color: var(--ca-j-text);
}

.ca-join-sticky .ca-join-btn {
	padding: 10px 24px;
	font-size: 14px;
}

/* ================================================================
   HUMIDESK SKELETON PREVIEW (rich)
   ================================================================ */
.ca-join-desk-skeleton { max-width: 560px; margin: 40px auto 0; text-align: center; }
.ca-join-desk-skeleton__frame {
	border-radius: var(--ca-j-radius-md); overflow: hidden;
	border: 1px solid var(--ca-j-border); box-shadow: var(--ca-j-shadow-md);
	background: #f3f4f6;
}
.ca-join-desk-skeleton__bar {
	display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: #1c1e22;
}
.ca-join-desk-skeleton__bar span {
	width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
}
.ca-join-desk-skeleton__bar span:nth-child(1) { background: #ff5f57; }
.ca-join-desk-skeleton__bar span:nth-child(2) { background: #febc2e; }
.ca-join-desk-skeleton__bar span:nth-child(3) { background: #28c840; }
.ca-join-desk-skeleton__url {
	flex: 1; margin-left: 8px; color: #6b7280; font-size: 11px; font-family: monospace;
	text-align: center; background: #2a2d33; border-radius: 4px; padding: 3px 0;
}
.ca-join-desk-skeleton__content { padding: 16px; }
.ca-join-desk-skeleton__nav { display: flex; gap: 6px; margin-bottom: 14px; }
.ca-join-desk-skeleton__tab {
	height: 26px; border-radius: 6px; background: #e5e7eb;
	animation: ca-join-bone 2s ease-in-out infinite;
}
.ca-join-desk-skeleton__tab:nth-child(1) { width: 72px; background: #d1d5db; }
.ca-join-desk-skeleton__tab:nth-child(2) { width: 60px; }
.ca-join-desk-skeleton__tab:nth-child(3) { width: 56px; animation-delay: .15s; }
.ca-join-desk-skeleton__tab:nth-child(4) { width: 50px; animation-delay: .3s; }
.ca-join-desk-skeleton__stats { display: flex; gap: 10px; margin-bottom: 14px; }
.ca-join-desk-skeleton__stat {
	flex: 1; background: #fff; border-radius: 8px; padding: 10px 12px; text-align: center;
}
.ca-join-desk-skeleton__stat-val { font-size: 20px; font-weight: 800; color: #374151; line-height: 1.2; }
.ca-join-desk-skeleton__stat-label { font-size: 10px; color: #9ca3af; text-transform: uppercase; letter-spacing: .5px; }
.ca-join-desk-skeleton__stat--gold .ca-join-desk-skeleton__stat-val { color: var(--ca-j-accent,#c39d52); }
.ca-join-desk-skeleton__cases { display: flex; flex-direction: column; gap: 8px; }
.ca-join-desk-skeleton__case {
	background: #fff; border-radius: 8px; padding: 12px 14px; display: flex; align-items: center; gap: 10px;
}
.ca-join-desk-skeleton__case-badge {
	font-size: 10px; font-weight: 700; color: #fff; background: #dc2626; padding: 2px 8px;
	border-radius: 4px; flex-shrink: 0; letter-spacing: .3px;
}
.ca-join-desk-skeleton__case-badge--green { background: #059669; }
.ca-join-desk-skeleton__case-title {
	flex: 1; height: 10px; background: #e5e7eb; border-radius: 4px;
	animation: ca-join-bone 2s ease-in-out infinite; animation-delay: .1s;
}
.ca-join-desk-skeleton__case-title--sm { width: 60%; }
.ca-join-desk-skeleton__case-meta {
	width: 40px; height: 10px; background: #f3f4f6; border-radius: 4px;
	animation: ca-join-bone 2s ease-in-out infinite; animation-delay: .3s;
}
.ca-join-desk-skeleton__case-meta--sm { width: 28px; }
.ca-join-desk-skeleton__caption {
	font-size: 13px; color: var(--ca-j-text-muted); margin: 12px 0 0; line-height: 1.5; text-align: center;
}

@keyframes ca-join-bone {
	0%, 100% { opacity: 1; } 50% { opacity: 0.4; }
}

/* ================================================================
   FOOTER
   ================================================================ */
.ca-join-footer {
	text-align: center;
	padding: 32px 24px;
	border-top: 1px solid var(--ca-j-border);
}

.ca-join-footer__text {
	font-size: 13px;
	color: var(--ca-j-text-muted);
	margin: 0;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:900px) {
	.ca-join-scenarios__grid,
	.ca-join-proof__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.ca-join-resources__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media(max-width:640px) {
	.ca-join-hero {
		padding: 40px 20px 36px;
	}

	.ca-join-hero__title {
		font-size: 24px;
	}

	.ca-join-section__title {
		font-size: 20px;
	}

	.ca-join-scenarios__grid,
	.ca-join-proof__grid,
	.ca-join-pricing__grid {
		grid-template-columns: 1fr;
	}
	.ca-join-resources__grid { grid-template-columns: 1fr; }

	.ca-join-hero__actions {
		flex-direction: column;
		align-items: center;
	}

	.ca-join-hero__badges {
		gap: 12px;
	}

	.ca-join-scenarios,
	.ca-join-proof,
	.ca-join-about,
	.ca-join-resources,
	.ca-join-faq,
	.ca-join-pricing {
		padding: 48px 20px;
	}

	.ca-join-pricing-card__amount {
		font-size: 34px;
	}

	.ca-join-sticky {
		padding: 10px 16px;
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}

	.ca-join-sticky .ca-join-btn {
		width: 100%;
	}
}

@media(max-width:480px) {
	.ca-join-scenarios__grid,
	.ca-join-proof__grid,
	.ca-join-resources__grid {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
   WHO-FIT + NO-DECISION
   ================================================================ */
.ca-join-fit { padding: 48px 24px; }
.ca-join-fit__grid {
	max-width: 840px; margin: 0 auto; display: grid;
	grid-template-columns: 1fr 1fr; gap: 24px;
}
.ca-join-fit__col {
	border-radius: var(--ca-j-radius-md); padding: 28px 24px;
}
.ca-join-fit__col--yes { background: #ecfdf5; border: 1px solid #a7f3d0; }
.ca-join-fit__col--no  { background: #fef2f2; border: 1px solid #fecaca; }
.ca-join-fit__col h3 { font-size: 15px; font-weight: 700; margin: 0 0 14px; color: var(--ca-j-text); }
.ca-join-fit__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ca-join-fit__col li { font-size: 14px; color: var(--ca-j-text-secondary); line-height: 1.5; padding-left: 20px; position: relative; }
.ca-join-fit__col--yes li::before { content: '✓'; position: absolute; left: 0; color: #059669; font-weight: 700; }
.ca-join-fit__col--no li::before { content: '✕'; position: absolute; left: 0; color: #dc2626; font-weight: 700; }

.ca-join-no-decision { padding: 64px 24px; background: var(--ca-j-bg); border-top: 1px solid var(--ca-j-border); }
.ca-join-no-decision__card { max-width: 600px; margin: 0 auto; text-align: center; }

@media(max-width:640px) {
	.ca-join-fit__grid { grid-template-columns: 1fr; }
}