/* Second editorial pass: completed business artefacts, shared teaching brand. */
.workspace-banner {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	background: var(--coffee);
	color: var(--paper);
	border-radius: var(--radius);
	overflow: hidden;
	margin-bottom: 24px;
	align-items: center;
}
.workspace-banner > div {
	padding: 32px;
}
.workspace-banner .micro {
	color: #e2c9ac;
}
.workspace-banner h2 {
	font-size: clamp(28px, 4vw, 43px);
	margin: 20px 0;
}
.workspace-banner p {
	font-size: 14px;
	color: #e4dfd3;
	margin-bottom: 0;
}
.workspace-banner img {
	width: 100%;
	height: 320px;
	object-fit: cover;
	display: block;
}
.workspace.upgraded {
	grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
	align-items: start;
}
.brief-sidebar {
	padding: 26px;
	border: 1px solid var(--line);
	border-radius: 18px;
	background: var(--sand);
	min-width: 0;
}
.brief-sidebar h3 {
	font-size: 24px;
	margin: 15px 0;
}
.brief-sidebar p,
.brief-sidebar details {
	font-size: 13px;
}
.brief-sidebar > .action {
	margin-top: 22px;
	font-size: 12px;
	max-width: 100%;
}
.reply-workbench {
	min-width: 0;
}
.reply-workbench > .controlbar {
	margin-top: 0;
}
.finished-reply {
	padding: 28px;
	border: 1px solid var(--line);
	background: var(--panel);
	border-radius: 18px;
}
.finished-reply h2 {
	font-size: 25px;
	line-height: 1.4;
	margin: 18px 0 22px;
}
.reply-body {
	white-space: pre-line;
	font-size: 15px;
	line-height: 1.95;
}
.reply-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 16px 0;
}
.reply-toolbar .action {
	font-size: 12px;
	padding: 8px 13px;
}
.evidence-strip {
	border-top: 1px solid var(--line);
	padding-top: 18px;
	font-size: 12px;
}
.evidence-strip p {
	color: var(--muted);
	font-size: 12px;
}
.source-chips {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
	margin: 12px 0;
}
.source-chips span {
	background: #efebff;
	border-radius: 6px;
	padding: 4px 9px;
	color: var(--ink);
	font-size: 11px;
}
.channel-heading {
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.channel-heading .controlbar {
	margin: 0;
}
.channel-heading > .action {
	font-size: 12px;
	padding: 8px 13px;
}
.campaign-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 28px;
	align-items: start;
}
.carousel-preview {
	min-width: 0;
}
.social-art {
	aspect-ratio: 3/4;
	display: flex;
	flex-direction: column;
	background: var(--sand);
	color: var(--coffee);
	border-radius: 18px;
	overflow: hidden;
	padding: 28px;
	position: relative;
}
.social-art > span {
	font-size: 10px;
	letter-spacing: 0.15em;
	font-weight: 700;
}
.social-art h2 {
	font-size: clamp(25px, 3.6vw, 44px);
	margin: 24px 0 20px;
	line-height: 1.22;
}
.social-art img {
	width: calc(100% + 56px);
	margin: 0 -28px;
	max-height: 260px;
	object-fit: cover;
	flex: 1;
	min-height: 0;
}
.social-art > p {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 20px;
	margin-bottom: 16px;
	white-space: normal;
}
.social-art > small {
	font-size: 9px;
	letter-spacing: 0.08em;
	margin-top: auto;
	padding-top: 14px;
}
.social-art.flavour {
	background: var(--coffee);
	color: var(--paper);
}
.social-art.recipe {
	background: #e8bd9b;
}
.social-art.finish {
	background: #f8f2e7;
}
.taste-notes {
	display: flex;
	flex-direction: column;
	gap: 0;
	font-family: Georgia, serif;
	font-size: clamp(25px, 4vw, 49px);
	line-height: 1.5;
	letter-spacing: -0.035em;
	border-top: 1px solid #bdc5b6;
	border-bottom: 1px solid #bdc5b6;
	padding: 18px 0;
}
.taste-notes b {
	font-weight: 400;
}
.recipe-numbers {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: start;
	padding: 8px 0;
}
.recipe-numbers b {
	font-size: 48px;
	line-height: 1;
	font-weight: 700;
}
.recipe-numbers small {
	font-size: 13px;
	margin-left: 16px;
	font-weight: 400;
}
.recipe-numbers i {
	display: none;
}
.brand-signature {
	font-family: Georgia, serif;
	font-size: clamp(38px, 6vw, 73px);
	line-height: 0.95;
	letter-spacing: -0.06em;
	margin: 20px 0;
}
.brand-signature span {
	font-size: 10px;
	letter-spacing: 0.15em;
	display: block;
	margin-top: 20px;
}
.carousel-controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 14px 0;
}
.carousel-controls > span {
	font-size: 12px;
	color: var(--muted);
}
.carousel-controls .action {
	padding: 6px 15px;
	min-width: 44px;
}
.channel-reading {
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 28px;
	background: var(--panel);
	min-width: 0;
}
.channel-reading header h3 {
	font-size: 23px;
	line-height: 1.4;
	margin: 18px 0 25px;
}
.channel-reading .post-copy {
	font-size: 14px;
	line-height: 1.95;
}
.channel-cover {
	border: 1px solid var(--line);
	border-radius: 18px;
	overflow: hidden;
	background: var(--sand);
	padding: 28px;
}
.channel-cover img {
	width: calc(100% + 56px);
	margin: -28px -28px 25px;
	display: block;
	aspect-ratio: 4/3;
	object-fit: cover;
}
.channel-cover h2 {
	font-size: clamp(27px, 3.6vw, 42px);
	margin: 20px 0;
}
.channel-cover p {
	font-size: 13px;
}
.channel-cover.email {
	background: var(--coffee);
	color: var(--paper);
}
.channel-cover.email .micro {
	color: #e5d6c2;
}
.email-address {
	font-size: 10px;
	letter-spacing: 0.06em;
	padding: 15px 0;
	margin-bottom: 20px;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	color: var(--muted);
	line-height: 2;
}
.channel-reading.wechat h3 {
	font-family: Georgia, 'Songti SC', serif;
	font-size: 26px;
}
.campaign-calendar {
	display: grid;
	grid-template-columns: 0.65fr 1.35fr;
	gap: 36px;
	border-top: 1px solid var(--line);
	padding-top: 28px;
}
.campaign-calendar h3 {
	font-size: 27px;
	line-height: 1.4;
	margin-top: 16px;
}
.week-campaign-hero {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: 30px;
	align-items: center;
	background: var(--sand);
	border: 1px solid var(--line);
	border-radius: 20px;
	padding: 25px;
	margin-bottom: 25px;
}
.week-campaign-hero img {
	width: 100%;
	display: block;
	border-radius: 13px;
	aspect-ratio: 4/3;
	object-fit: cover;
}
.week-campaign-hero h2 {
	font-size: 30px;
	margin: 14px 0;
}
.week-campaign-hero p {
	font-size: 14px;
}
.week-campaign-hero .action {
	font-size: 12px;
	padding: 9px 14px;
}
.brandhero > img {
	aspect-ratio: 4/5;
	object-fit: cover;
	object-position: 52% center;
}
.product img {
	height: 230px;
	width: 100%;
	object-fit: cover;
}
.shot-stage img {
	aspect-ratio: 4/3;
}
.source-note {
	line-height: 1.7;
}
@media (max-width: 760px) {
	.workspace-banner,
	.workspace.upgraded,
	.campaign-layout,
	.week-campaign-hero,
	.campaign-calendar {
		grid-template-columns: minmax(0, 1fr);
	}
	.workspace-banner > div {
		padding: 24px;
	}
	.workspace-banner img {
		height: 230px;
	}
	.workspace-banner h2 {
		font-size: 30px;
	}
	.brief-sidebar {
		padding: 22px;
	}
	.brief-sidebar > .brief-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
	.brief-sidebar > .brief-list li:last-child {
		grid-column: 1/-1;
	}
	.brief-sidebar .brief-list li {
		font-size: 12px;
	}
	.finished-reply,
	.channel-reading,
	.channel-cover {
		padding: 22px;
	}
	.finished-reply h2 {
		font-size: 24px;
	}
	.reply-body {
		font-size: 15px;
	}
	.campaign-layout {
		gap: 22px;
	}
	.social-art {
		padding: 24px;
		aspect-ratio: auto;
		min-height: 480px;
	}
	.social-art h2 {
		font-size: 34px;
	}
	.social-art img {
		width: calc(100% + 48px);
		margin: 0 -24px;
		max-height: 240px;
	}
	.social-art > p {
		font-size: 14px;
	}
	.social-art > small {
		font-size: 9px;
	}
	.taste-notes {
		font-size: 36px;
	}
	.brand-signature {
		font-size: 64px;
	}
	.channel-cover img {
		width: calc(100% + 44px);
		margin: -22px -22px 22px;
	}
	.campaign-calendar {
		gap: 12px;
	}
	.week-campaign-hero {
		gap: 20px;
		padding: 20px;
	}
	.week-campaign-hero h2 {
		font-size: 27px;
	}
	.brandhero > img {
		max-height: 380px;
		aspect-ratio: 1/1;
		object-position: center;
	}
	.social-art .recipe-numbers b {
		font-size: 42px;
	}
}
@media (max-width: 360px) {
	.social-art {
		padding: 20px;
	}
	.social-art h2 {
		font-size: 30px;
	}
	.social-art img {
		width: calc(100% + 40px);
		margin: 0 -20px;
	}
	.taste-notes {
		font-size: 30px;
	}
	.brand-signature {
		font-size: 53px;
	}
	.brief-sidebar > .brief-list {
		grid-template-columns: 1fr;
	}
	.brief-sidebar > .brief-list li:last-child {
		grid-column: auto;
	}
	.finished-reply,
	.channel-reading {
		padding: 20px;
	}
}

@media (max-width: 760px) {
	.workspace.upgraded .reply-workbench {
		order: -1;
	}
}
.office-art.photo {
	padding: 0;
	overflow: hidden;
	gap: 0;
	min-height: 0;
}
.office-art.photo img {
	display: block;
	width: 100%;
	border-radius: 0;
}
.office-art.photo > span {
	padding: 14px;
}
.brand-spec { border-top:1px solid var(--line); padding-top:10px; }
.brand-spec .brandstrip { padding-top:24px; }
.brandstrip .type { font-family:Georgia,serif; font-weight:400; }
/* Expanded brand guide and embedded anchor destinations must fit the viewport. */
.brandstrip { grid-template-columns:repeat(2,minmax(0,1fr)); }
.brandstrip > * { min-width:0; }
.brandstrip .swatches { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.brandstrip .swatch { width:auto;min-width:0; }
.embed .section[id] { scroll-margin-top:155px; }
@media(max-width:680px){.brandstrip{grid-template-columns:minmax(0,1fr)}.embed .section[id]{scroll-margin-top:135px}}
