.smh-portal-shell {
	--smh-black: #080808;
	--smh-panel: #121212;
	--smh-panel-soft: #181818;
	--smh-border: #313131;
	--smh-white: #ffffff;
	--smh-muted: #b6b6b6;
	position: relative;
	min-height: 760px;
	margin: 0 calc(50% - 50vw);
	padding: 32px clamp(22px, 5vw, 76px) clamp(52px, 7vw, 96px);
	display: grid;
	grid-template-columns: minmax(210px, 330px) minmax(0, 780px);
	grid-template-rows: auto 1fr;
	column-gap: clamp(42px, 8vw, 130px);
	row-gap: clamp(48px, 7vw, 92px);
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #050505 0%, #111111 55%, #080808 100%);
	color: var(--smh-white);
	font-family: Arial, Helvetica, sans-serif;
	box-sizing: border-box;
}

.smh-portal-shell * { box-sizing: border-box; }

.smh-portal-topbar {
	grid-column: 1 / -1;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--smh-border);
	color: #8f8f8f;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.smh-portal-shell .smh-back-link { color: var(--smh-white); text-decoration: none; }
.smh-portal-shell .smh-back-link:hover { opacity: .72; }

.smh-portal-brand {
	line-height: .82;
	text-align: left;
	letter-spacing: .08em;
	color: var(--smh-white);
}

.smh-portal-brand span, .smh-portal-brand strong { display: block; }
.smh-portal-brand span:first-child { font-size: clamp(28px, 3.3vw, 52px); font-weight: 800; }
.smh-portal-brand strong { font-size: clamp(62px, 7vw, 112px); letter-spacing: -.06em; }
.smh-portal-brand span:last-child { padding-left: .3em; color: #c8c8c8; font-size: clamp(24px, 2.8vw, 44px); letter-spacing: .3em; }

.smh-portal-stage, .smh-portal-panel { width: 100%; }

.smh-portal-panel {
	max-width: 780px;
	padding: clamp(28px, 4.5vw, 58px);
	border: 1px solid var(--smh-border);
	border-radius: 18px;
	background: var(--smh-panel);
	box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
}

.smh-form-panel { max-width: 620px; }
.smh-eyebrow { margin: 0 0 14px; color: #a9a9a9; font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }

.smh-portal-panel h1 {
	margin: 0;
	color: var(--smh-white);
	font-size: clamp(36px, 4.4vw, 62px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
}

.smh-portal-panel .smh-intro, .smh-signed-in-as { margin: 20px 0 28px; color: var(--smh-muted); font-size: 16px; line-height: 1.65; }
.smh-portal-form { display: grid; gap: 19px; }
.smh-portal-form label { display: grid; gap: 8px; color: #eeeeee; font-size: 13px; font-weight: 700; }

.smh-portal-form input, .smh-portal-form textarea {
	width: 100%;
	min-height: 54px;
	border: 1px solid #404040;
	border-radius: 8px;
	padding: 14px 16px;
	background: #080808;
	color: var(--smh-white);
	font: inherit;
	outline: none;
	transition: border-color .2s, box-shadow .2s;
}

.smh-portal-form input:focus, .smh-portal-form textarea:focus { border-color: #ffffff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .12); }
.smh-portal-form small, .smh-form-footer { color: var(--smh-muted); }
.smh-form-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.smh-portal-shell a { color: var(--smh-white); text-underline-offset: 4px; }
.smh-check { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; }
.smh-check input { width: auto; min-height: 0; }

.smh-button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-height: 54px;
	border: 1px solid var(--smh-white);
	border-radius: 8px;
	padding: 14px 24px;
	background: var(--smh-white);
	color: #080808 !important;
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .2s, opacity .2s;
}

.smh-button:hover { transform: translateY(-2px); opacity: .88; }
.smh-form-footer { margin: 22px 0 0; text-align: center; }
.smh-honeypot { display: none !important; }
.smh-alert { margin: 22px 0 0; padding: 14px 16px; border: 1px solid; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.smh-alert-error { border-color: #b94a4a; background: rgba(185, 74, 74, .13); }
.smh-alert-success { border-color: #5e8c63; background: rgba(94, 140, 99, .13); }
.smh-dashboard-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; }
.smh-signout-button { flex: 0 0 auto; min-width: 150px; background: transparent; color: var(--smh-white) !important; }

.smh-status-line {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 30px 0 20px;
	color: var(--smh-muted);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.smh-dot { width: 9px; height: 9px; border-radius: 50%; background: #69d17d; box-shadow: 0 0 14px rgba(105, 209, 125, .6); }
.smh-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }

.smh-dashboard-card {
	min-height: 220px;
	padding: 22px;
	border: 1px solid var(--smh-border);
	border-radius: 12px;
	background: var(--smh-panel-soft);
	display: flex;
	flex-direction: column;
}

.smh-dashboard-card > span { color: #747474; font-size: 12px; }
.smh-dashboard-card h2 { margin: 24px 0 12px; color: var(--smh-white); font-size: 23px; }
.smh-dashboard-card p { margin: 0; color: var(--smh-muted); line-height: 1.55; }
.smh-dashboard-card em { margin-top: auto; padding-top: 20px; color: #d4d4d4; font-size: 11px; font-style: normal; text-transform: uppercase; letter-spacing: .12em; }

body:has(.smh-portal-shell) .entry-header { display: none; }
body:has(.smh-portal-shell) .entry-content { margin-top: 0; }

@media (max-width: 900px) {
	.smh-portal-shell { grid-template-columns: 1fr; grid-template-rows: auto auto auto; row-gap: 34px; }
	.smh-portal-topbar { grid-column: 1; }
	.smh-portal-brand { max-width: 220px; margin: 0 auto; text-align: center; }
	.smh-portal-stage, .smh-form-panel { max-width: 680px; margin: 0 auto; }
	.smh-dashboard-grid { grid-template-columns: 1fr; }
	.smh-dashboard-card { min-height: auto; }
}

@media (max-width: 560px) {
	.smh-portal-shell { min-height: 0; padding: 22px 16px 48px; }
	.smh-portal-topbar span { display: none; }
	.smh-portal-panel { padding: 28px 20px; border-radius: 12px; }
	.smh-portal-panel h1 { font-size: 38px; }
	.smh-form-row, .smh-dashboard-head { align-items: stretch; flex-direction: column; }
	.smh-signout-button { width: 100%; }
}

.smh-talent-dashboard { max-width: 920px; }
.smh-account-bar { display: flex; justify-content: space-between; align-items: flex-start; gap: 28px; }
.smh-account-menu { position: relative; z-index: 8; flex: 0 0 auto; }
.smh-account-menu summary { min-width: 235px; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 9px 12px; border: 1px solid var(--smh-border); border-radius: 999px; background: #0b0b0b; color: var(--smh-white); cursor: pointer; list-style: none; }
.smh-account-menu summary::-webkit-details-marker { display: none; }
.smh-account-menu summary > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.smh-account-menu summary strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.smh-account-menu summary small { color: var(--smh-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.smh-account-avatar { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid #4a4a4a; border-radius: 50%; background: #202020; font-size: 17px; font-weight: 900; }
.smh-account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.smh-account-menu nav { position: absolute; top: calc(100% + 9px); right: 0; width: 235px; display: grid; padding: 8px; border: 1px solid var(--smh-border); border-radius: 12px; background: #0b0b0b; box-shadow: 0 20px 50px rgba(0,0,0,.55); }
.smh-account-menu nav a { padding: 12px 13px; border-radius: 8px; color: var(--smh-white); font-size: 13px; font-weight: 800; text-decoration: none; }
.smh-account-menu nav a:hover { background: #202020; }
.smh-portal-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 8px; }
.smh-portal-tabs a { padding: 10px 14px; border: 1px solid var(--smh-border); border-radius: 999px; background: var(--smh-panel-soft); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.smh-portal-tabs a.is-active { border-color: #fff; background: #fff; color: #080808; }
.smh-talent-home-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.smh-talent-home-card { min-height: 260px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--smh-border); border-radius: 14px; background: #0d0d0d; color: var(--smh-white); text-decoration: none; }
.smh-talent-home-card > span { color: #777; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.smh-talent-home-card h2 { margin: 30px 0 12px; color: var(--smh-white); font-size: 27px; }
.smh-talent-home-card p { margin: 0; color: var(--smh-muted); line-height: 1.6; }
.smh-talent-home-card strong { margin-top: auto; padding-top: 26px; color: var(--smh-white); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
a.smh-talent-home-card { transition: border-color .2s, transform .2s; }
a.smh-talent-home-card:hover { border-color: #fff; transform: translateY(-3px); }
.smh-talent-form { display: grid; gap: 22px; }
.smh-workspace-section { margin-top: 28px; padding: clamp(22px, 3.5vw, 36px); border: 1px solid var(--smh-border); border-radius: 14px; background: #0d0d0d; scroll-margin-top: 30px; }
.smh-section-heading { display: flex; gap: 18px; margin-bottom: 26px; }
.smh-section-heading > span { color: #727272; font-size: 12px; }
.smh-section-heading h2 { margin: 0 0 8px; color: var(--smh-white); font-size: clamp(25px, 3vw, 36px); }
.smh-section-heading p { margin: 0; color: var(--smh-muted); line-height: 1.55; }
.smh-talent-form label, .smh-upload-form label { display: grid; gap: 8px; color: #eeeeee; font-size: 13px; font-weight: 700; }
.smh-talent-form input, .smh-talent-form textarea, .smh-upload-form input, .smh-upload-form select { width: 100%; min-height: 52px; border: 1px solid #404040; border-radius: 8px; padding: 13px 15px; background: #080808; color: var(--smh-white); font: inherit; outline: none; }
.smh-talent-form textarea { min-height: 110px; resize: vertical; }
.smh-talent-form input:focus, .smh-talent-form textarea:focus, .smh-upload-form input:focus, .smh-upload-form select:focus { border-color: #ffffff; box-shadow: 0 0 0 3px rgba(255,255,255,.1); }
.smh-talent-form > .smh-button { justify-self: start; min-width: 190px; }
.smh-talent-form .smh-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.smh-measurement-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.smh-profile-photo-row { display: grid; grid-template-columns: 160px 1fr; gap: 22px; align-items: center; margin-bottom: 24px; }
.smh-profile-photo-row p { margin: 0; color: var(--smh-muted); line-height: 1.6; }
.smh-profile-photo-preview { width: 160px; aspect-ratio: 4 / 5; border: 1px dashed #505050; border-radius: 10px; display: grid; place-items: center; overflow: hidden; background: #080808; color: #888; text-align: center; padding: 12px; }
.smh-profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.smh-profile-visibility-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 22px; }
.smh-visibility-badge { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #555; border-radius: 999px; color: #c7c7c7; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.smh-visibility-badge::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #777; }
.smh-visibility-badge.is-live { border-color: #477d50; color: #aee7b8; }
.smh-visibility-badge.is-live::before { background: #69d17d; box-shadow: 0 0 12px rgba(105,209,125,.55); }
.smh-profile-preview-card { display: grid; gap: 28px; }
.smh-profile-preview-hero { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: clamp(24px, 5vw, 54px); align-items: center; }
.smh-profile-preview-photo { width: 100%; aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--smh-border); border-radius: 13px; background: #080808; color: #8e8e8e; padding: 16px; text-align: center; }
.smh-profile-preview-photo img { width: 100%; height: 100%; object-fit: cover; }
.smh-profile-preview-hero h3 { margin: 0; color: var(--smh-white); font-size: clamp(34px, 5vw, 62px); line-height: .95; letter-spacing: -.045em; }
.smh-profile-location { margin: 14px 0 0; color: var(--smh-muted); font-size: 16px; }
.smh-public-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.smh-public-facts span { padding: 8px 11px; border: 1px solid #3a3a3a; border-radius: 999px; color: #d5d5d5; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.smh-profile-bio { padding-top: 24px; border-top: 1px solid var(--smh-border); }
.smh-profile-bio h4, .smh-approved-gallery h4 { margin: 0 0 12px; color: var(--smh-white); font-size: 23px; }
.smh-profile-bio p { margin: 0; color: var(--smh-muted); line-height: 1.7; }
.smh-approved-gallery { padding-top: 24px; border-top: 1px solid var(--smh-border); }
.smh-gallery-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin-bottom: 16px; }
.smh-gallery-heading h2, .smh-gallery-heading h4 { margin: 0; }
.smh-gallery-heading span { color: var(--smh-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.smh-public-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.smh-public-gallery a { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 9px; background: #1a1a1a; }
.smh-public-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.smh-public-gallery a:hover img { transform: scale(1.035); }
.smh-public-video { grid-column: span 2; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 9px; background: #050505; }
.smh-public-video video { width: 100%; height: 100%; object-fit: contain; }
.smh-vault-section { margin-top: 36px; }
.smh-upload-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: end; padding: 18px; border-radius: 12px; background: var(--smh-panel-soft); }
.smh-upload-form small { color: var(--smh-muted); font-weight: 400; }
.smh-selected-media-preview { grid-column: 1 / -1; min-height: 220px; display: grid; place-items: center; gap: 10px; overflow: hidden; border: 1px dashed #4a4a4a; border-radius: 11px; padding: 14px; background: #070707; color: var(--smh-muted); text-align: center; }
.smh-selected-media-preview img, .smh-selected-media-preview video { width: 100%; max-height: 420px; object-fit: contain; border-radius: 8px; }
.smh-selected-media-preview span { font-size: 12px; overflow-wrap: anywhere; }
.smh-upload-form > .smh-button { justify-self: start; min-width: 180px; }
.smh-vault-list { display: grid; gap: 10px; margin-top: 20px; }
.smh-vault-item { display: grid; grid-template-columns: 66px minmax(0, 1fr) auto; gap: 15px; align-items: center; padding: 12px; border: 1px solid var(--smh-border); border-radius: 10px; background: #111; }
.smh-vault-thumb { position: relative; width: 66px; height: 66px; display: grid; place-items: center; overflow: hidden; border: 0; border-radius: 8px; padding: 0; background: #252525; color: #bcbcbc; font-size: 12px; font-weight: 900; }
.smh-vault-thumb img, .smh-vault-thumb video { width: 100%; height: 100%; object-fit: cover; }
.smh-media-type-badge { position: absolute; right: 4px; bottom: 4px; padding: 3px 5px; border-radius: 4px; background: rgba(0,0,0,.78); color: #fff; font-size: 8px; letter-spacing: .08em; }
.smh-vault-meta { display: grid; gap: 5px; min-width: 0; }
.smh-vault-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smh-vault-meta span { color: var(--smh-muted); font-size: 12px; }
.smh-vault-meta small { color: #d6d6d6; font-size: 11px; }
.smh-vault-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; font-size: 12px; }
.smh-vault-actions form { margin: 0; }
.smh-text-button, .smh-choice-button { border: 1px solid #444; border-radius: 999px; padding: 7px 10px; background: transparent; color: #efefef; font: inherit; font-size: 11px; cursor: pointer; }
.smh-text-button:hover, .smh-choice-button:hover, .smh-choice-button.is-selected { border-color: #fff; background: #fff; color: #080808; }
.smh-media-open { cursor: zoom-in; }
.smh-media-dialog { width: min(1000px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); border: 1px solid #444; border-radius: 14px; padding: 54px 18px 18px; background: #080808; color: #fff; }
.smh-media-dialog::backdrop { background: rgba(0,0,0,.88); backdrop-filter: blur(6px); }
.smh-media-dialog [data-smh-media-dialog-content] { width: 100%; min-height: 280px; display: grid; place-items: center; }
.smh-media-dialog img, .smh-media-dialog video, .smh-media-dialog iframe { width: 100%; max-height: calc(100vh - 130px); border: 0; object-fit: contain; }
.smh-media-dialog iframe { min-height: calc(100vh - 150px); background: #fff; }
.smh-dialog-close { position: absolute; top: 14px; right: 16px; border: 0; background: transparent; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.smh-danger-link { color: #ff9292 !important; }
.smh-empty-state { margin: 0; padding: 24px; border: 1px dashed #3d3d3d; border-radius: 10px; color: var(--smh-muted); text-align: center; }

@media (max-width: 760px) {
	.smh-account-bar { align-items: stretch; flex-direction: column; }
	.smh-account-menu, .smh-account-menu summary { width: 100%; }
	.smh-account-menu nav { left: 0; right: 0; width: 100%; }
	.smh-profile-preview-hero { grid-template-columns: 1fr; }
	.smh-profile-preview-photo { max-width: 330px; }
	.smh-public-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.smh-talent-home-grid { grid-template-columns: 1fr; }
	.smh-measurement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.smh-upload-form { grid-template-columns: 1fr; }
	.smh-selected-media-preview { grid-column: 1; min-height: 180px; }
	.smh-vault-item { grid-template-columns: 58px minmax(0, 1fr); }
	.smh-vault-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 560px) {
	.smh-talent-form .smh-field-grid, .smh-measurement-grid { grid-template-columns: 1fr !important; }
	.smh-profile-photo-row { grid-template-columns: 1fr; }
	.smh-profile-visibility-row, .smh-gallery-heading { align-items: flex-start; flex-direction: column; }
}

/* Public talent profile: cinematic Social Mad Haus identity with approved media only. */
body.single-smh_talent { background: #030304 !important; }
body.single-smh_talent .entry-header,
body.single-smh_talent .entry-title,
body.single-smh_talent .post-thumbnail { display: none !important; }
body.single-smh_talent .site-content { background: radial-gradient(circle at 72% 12%, #202027 0, #08080a 34%, #030304 72%); }
body.single-smh_talent .entry-content { margin-top: 0; }
.smh-public-profile { --smh-border: rgba(255,255,255,.16); --smh-muted: #b7b7bd; position: relative; left: 50%; width: min(1220px, calc(100vw - 40px)); margin: 24px 0 80px; padding: clamp(28px, 5vw, 70px); overflow: hidden; border: 1px solid var(--smh-border); border-radius: 20px; background: linear-gradient(145deg,rgba(6,6,8,.98),rgba(20,20,25,.96)); color: #fff; box-shadow: 0 40px 120px rgba(0,0,0,.55); transform: translateX(-50%); }
.smh-public-profile::before { content: ''; position: absolute; top: -180px; right: -160px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.08),transparent 66%); pointer-events: none; }
.smh-public-profile-nav { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 22px; padding-bottom: 24px; border-bottom: 1px solid var(--smh-border); }
.smh-public-profile-nav > span, .smh-public-index { margin: 0; color: #7f7f88; font-size: 10px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.smh-public-back { color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.smh-public-identity { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(230px, 300px) minmax(0, 1fr); gap: clamp(42px, 8vw, 110px); align-items: end; padding: clamp(42px, 7vw, 92px) 0; }
.smh-public-id-card { width: min(100%, 300px); }
.smh-public-profile-photo { width: min(100%, 280px); aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 13px; background: #1b1b20; color: #aaa; box-shadow: 0 28px 70px rgba(0,0,0,.48); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.smh-public-profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.smh-public-id-card .smh-eyebrow { margin: 22px 0 10px; color: #898991; }
.smh-public-profile h1 { max-width: 300px; margin: 0; color: #fff; font-size: clamp(38px, 5vw, 66px); line-height: .88; letter-spacing: -.055em; text-transform: uppercase; }
.smh-public-profile .smh-profile-location { margin: 14px 0 0; color: var(--smh-muted); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }
.smh-public-introduction { max-width: 720px; padding-bottom: 8px; }
.smh-public-introduction h2 { max-width: 720px; margin: 18px 0 34px; color: #fff; font-size: clamp(38px, 6vw, 76px); line-height: .94; letter-spacing: -.05em; }
.smh-public-profile .smh-public-facts { gap: 9px; }
.smh-public-profile .smh-public-facts span { border-color: rgba(255,255,255,.19); background: rgba(255,255,255,.035); color: #d7d7da; }
.smh-public-details { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(26px, 5vw, 70px); padding: clamp(38px, 6vw, 72px) 0; border-top: 1px solid var(--smh-border); }
.smh-public-copy { max-width: none; margin: 0; padding: 0; border: 0; }
.smh-public-copy h2, .smh-public-skills h2, .smh-public-profile .smh-approved-gallery h2 { margin: 14px 0 18px; color: #fff; font-size: clamp(28px, 4vw, 48px); line-height: 1; letter-spacing: -.035em; }
.smh-public-copy > p:not(.smh-public-index), .smh-public-skills > p:not(.smh-public-index) { max-width: 720px; margin: 0; color: var(--smh-muted); font-size: 17px; line-height: 1.8; }
.smh-public-detail-list { margin: 20px 0 0; border-top: 1px solid var(--smh-border); }
.smh-public-detail-list > div { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--smh-border); }
.smh-public-detail-list dt { color: #818188; font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.smh-public-detail-list dd { margin: 0; color: #fff; text-align: right; text-transform: capitalize; }
.smh-public-skills { padding: clamp(38px, 6vw, 72px) 0; border-top: 1px solid var(--smh-border); }
.smh-public-profile .smh-approved-gallery { margin-top: 0; padding-top: clamp(42px, 7vw, 82px); border-top: 1px solid var(--smh-border); }
.smh-public-profile .smh-gallery-heading { margin-bottom: 28px; }
.smh-public-profile .smh-public-gallery { gap: 16px; }
.smh-public-profile .smh-public-gallery > a:first-child { grid-column: span 2; aspect-ratio: 16 / 10; }
.smh-public-profile .smh-public-gallery > a:first-child img { object-position: center 24%; }
@media (max-width: 760px) {
	.smh-public-profile { width: calc(100vw - 18px); margin-top: 10px; padding: 22px 16px 38px; border-radius: 12px; }
	.smh-public-profile-nav { align-items: flex-start; flex-direction: column; }
	.smh-public-profile-nav > span { line-height: 1.55; }
	.smh-public-identity, .smh-public-details { grid-template-columns: 1fr; }
	.smh-public-identity { gap: 42px; padding: 42px 0 54px; }
	.smh-public-id-card { width: 100%; }
	.smh-public-profile-photo { width: min(72vw, 300px); }
	.smh-public-profile h1 { max-width: 92vw; font-size: clamp(42px, 13vw, 64px); }
	.smh-public-introduction h2 { font-size: clamp(36px, 11vw, 56px); }
	.smh-public-profile .smh-public-gallery > a:first-child { grid-column: 1 / -1; }
}

/* Agency workspace: invitation approvals, profiles, and private media review. */
.smh-agency-section {
	width: 100%;
	max-width: 1180px;
	margin: 28px auto 0;
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid var(--smh-border);
	border-radius: 18px;
	background: var(--smh-panel);
	box-shadow: 0 26px 80px rgba(0, 0, 0, .32);
	scroll-margin-top: 28px;
}

.smh-agency-invite-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: end;
	margin: 0 0 22px;
	padding: 18px;
	border: 1px solid var(--smh-border);
	border-radius: 12px;
	background: var(--smh-panel-soft);
}

.smh-agency-invite-form label,
.smh-agency-profile-form label {
	display: grid;
	gap: 8px;
	color: #eeeeee;
	font-size: 13px;
	font-weight: 700;
}

.smh-agency-invite-form input,
.smh-agency-profile-form input,
.smh-agency-profile-form textarea {
	width: 100%;
	min-height: 52px;
	border: 1px solid #404040;
	border-radius: 8px;
	padding: 13px 15px;
	background: #080808;
	color: var(--smh-white);
	font: inherit;
}

.smh-agency-profile-form textarea { min-height: 126px; resize: vertical; }
.smh-request-list { display: grid; gap: 10px; }
.smh-invitation-history { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--smh-border); }
.smh-invitation-history h3 { margin: 0 0 8px; color: var(--smh-white); font-size: clamp(22px, 2.7vw, 32px); }
.smh-invitation-history > p { margin: 0 0 20px; color: var(--smh-muted); line-height: 1.6; }
.smh-request-item { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 16px 18px; border: 1px solid var(--smh-border); border-radius: 10px; background: #111; }
.smh-request-item > div:first-child { display: grid; gap: 5px; min-width: 0; }
.smh-request-item strong { overflow-wrap: anywhere; color: var(--smh-white); }
.smh-request-item span { color: var(--smh-muted); font-size: 12px; }
.smh-request-actions, .smh-media-decision-row { display: flex; flex-wrap: wrap; gap: 8px; }
.smh-request-actions form, .smh-media-decision-row form { margin: 0; }

.smh-mini-button {
	min-height: 38px;
	border: 1px solid var(--smh-white);
	border-radius: 7px;
	padding: 9px 13px;
	background: var(--smh-white);
	color: #080808;
	font: inherit;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}

.smh-mini-button-muted { border-color: #555; background: transparent; color: #dedede; }
.smh-agency-talent-layout { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 20px; align-items: start; }
.smh-talent-directory { display: grid; gap: 8px; position: sticky; top: 20px; max-height: 76vh; overflow: auto; }
.smh-talent-directory a { display: grid; gap: 5px; padding: 14px 15px; border: 1px solid var(--smh-border); border-radius: 9px; background: #101010; color: var(--smh-white); text-decoration: none; }
.smh-talent-directory a:hover, .smh-talent-directory a.is-active { border-color: #f2f2f2; background: #1b1b1b; }
.smh-talent-directory span { overflow: hidden; color: var(--smh-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.smh-talent-detail { min-width: 0; padding: clamp(18px, 3vw, 30px); border: 1px solid var(--smh-border); border-radius: 12px; background: #0c0c0c; }
.smh-selected-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 26px; }
.smh-selected-head h3 { margin: 0 0 8px; color: var(--smh-white); font-size: clamp(28px, 3.5vw, 42px); }
.smh-selected-head p:not(.smh-eyebrow) { margin: 0; color: var(--smh-muted); }
.smh-selected-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.smh-selected-actions form { margin: 0; }
.smh-selected-actions a.smh-mini-button { display: inline-flex; align-items: center; text-decoration: none; }
.smh-agency-profile-form { display: grid; gap: 18px; }
.smh-agency-profile-form .smh-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.smh-agency-profile-form > .smh-button { justify-self: start; }
.smh-agency-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.smh-agency-media-card { display: grid; gap: 13px; align-content: start; padding: 14px; border: 1px solid var(--smh-border); border-radius: 10px; background: #111; }
.smh-agency-media-preview { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; background: #202020; color: #cfcfcf; font-weight: 900; text-decoration: none; }
.smh-agency-media-preview img { width: 100%; height: 100%; object-fit: cover; }
.smh-agency-media-preview a { width: 100%; height: 100%; display: grid; place-items: center; color: #cfcfcf; text-decoration: none; }
.smh-agency-media-preview video { width: 100%; height: 100%; object-fit: contain; background: #050505; }
.smh-agency-media-card > div:nth-child(2) { display: grid; gap: 5px; min-width: 0; }
.smh-agency-media-card strong { overflow: hidden; color: var(--smh-white); text-overflow: ellipsis; white-space: nowrap; }
.smh-agency-media-card span { color: var(--smh-muted); font-size: 12px; }

@media (max-width: 900px) {
	.smh-agency-talent-layout { grid-template-columns: 1fr; }
	.smh-talent-directory { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
}

@media (max-width: 640px) {
	.smh-agency-section { padding: 24px 16px; border-radius: 12px; }
	.smh-agency-invite-form, .smh-agency-profile-form .smh-field-grid, .smh-agency-media-grid, .smh-talent-directory { grid-template-columns: 1fr; }
	.smh-request-item, .smh-selected-head { align-items: stretch; flex-direction: column; }
	.smh-selected-actions { justify-content: flex-start; }
	.smh-request-actions form, .smh-request-actions button { width: 100%; }
}

/* Unified homepage navigation and full roster entry point. */
.sm-roster-cta {
	display: grid;
	place-items: center;
	min-height: 44vh;
	padding: clamp(72px, 10vw, 150px) 24px;
	border-top: 1px solid rgba(255,255,255,.16);
	border-bottom: 1px solid rgba(255,255,255,.16);
	background: radial-gradient(circle at 50% 0, rgba(255,255,255,.08), transparent 54%), #050506;
	color: #fff;
	text-align: center;
}
.sm-roster-cta p { margin: 0 0 22px; color: #8d8d94; font-size: 10px; font-weight: 900; letter-spacing: .22em; }
.sm-roster-cta a { max-width: 920px; color: #fff; font-size: clamp(34px, 6.5vw, 88px); font-weight: 800; line-height: .95; letter-spacing: -.05em; text-decoration: none; text-transform: uppercase; }
.sm-roster-cta a span { display: inline-block; transition: transform .25s ease; }
.sm-roster-cta a:hover span { transform: translateX(12px); }

/* Public roster archive. */
body.post-type-archive-smh_talent { background: #030304 !important; }
body.post-type-archive-smh_talent .site-content { background: radial-gradient(circle at 76% 5%, #24242b 0, #08080a 30%, #030304 68%); }
.smh-roster-page { width: min(1280px, calc(100vw - 40px)); margin: 24px auto 90px; color: #fff; }
.smh-roster-nav { display: flex; justify-content: space-between; gap: 24px; padding: 20px 0 26px; border-bottom: 1px solid rgba(255,255,255,.16); }
.smh-roster-nav a { color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.smh-roster-hero { padding: clamp(62px, 10vw, 150px) 0 clamp(58px, 8vw, 110px); }
.smh-roster-kicker { margin: 0 0 24px; color: #888890; font-size: 10px; font-weight: 900; letter-spacing: .22em; }
.smh-roster-hero h1 { margin: 0; color: #fff; font-size: clamp(60px, 11vw, 150px); line-height: .82; letter-spacing: -.075em; text-transform: uppercase; }
.smh-roster-hero > p:last-child { max-width: 720px; margin: 34px 0 0; color: #b7b7bd; font-size: clamp(16px, 2vw, 21px); line-height: 1.7; }
.smh-roster-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); }
.smh-roster-card { overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: linear-gradient(145deg,#0a0a0c,#16161a); transition: transform .35s ease, border-color .35s ease; }
.smh-roster-card:hover { border-color: rgba(255,255,255,.48); transform: translateY(-8px); }
.smh-roster-photo { display: grid; place-items: center; aspect-ratio: 4 / 5; overflow: hidden; background: #19191e; color: #8f8f96; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.smh-roster-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.smh-roster-card:hover .smh-roster-photo img { transform: scale(1.035); }
.smh-roster-card-copy { padding: 24px; }
.smh-roster-card-copy > p { margin: 0 0 12px; color: #7e7e86; font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.smh-roster-card-copy h2 { margin: 0; font-size: clamp(30px, 3.6vw, 50px); line-height: .92; letter-spacing: -.05em; text-transform: uppercase; }
.smh-roster-card-copy h2 a { color: #fff; text-decoration: none; }
.smh-roster-card-copy > span { display: block; margin-top: 15px; color: #b3b3b9; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.smh-roster-view { display: inline-block; margin-top: 28px; color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.smh-roster-pagination { margin-top: 50px; }
.smh-roster-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.smh-roster-pagination a, .smh-roster-pagination span { min-width: 42px; min-height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; text-decoration: none; }
.smh-roster-pagination .current { background: #fff; color: #050505; }
.smh-roster-empty { padding: 70px 24px; border: 1px solid rgba(255,255,255,.16); text-align: center; }

@media (max-width: 900px) {
	.smh-roster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.smh-roster-page { width: calc(100vw - 20px); margin-top: 10px; }
	.smh-roster-hero { padding-top: 56px; }
	.smh-roster-hero h1 { font-size: clamp(54px, 18vw, 82px); }
	.smh-roster-grid { grid-template-columns: 1fr; }
	.sm-roster-cta { min-height: 36vh; padding: 72px 18px; }
}
