/* =====================================================================
   Marcus Child Hub — front-of-house LAYOUT styles.
   Structure/spacing only. Brand colours & fonts come later.
   Leans on BuddyBoss .container / .bb-grid / .button classes.
   ===================================================================== */

.mco-section { padding: 3rem 0; }
.mco-section + .mco-section { padding-top: 1rem; }

.mco-eyebrow { display:block; font-size:.95rem; opacity:.65; margin-bottom:.4rem; }
.mco-page-title { font-size:2.6rem; line-height:1.1; margin:0 0 1.5rem; }
.mco-hero__title { font-size:2.3rem; line-height:1.15; margin:0 0 1rem; }
.mco-h2 { font-size:1.9rem; line-height:1.2; margin:0 0 1rem; }
.mco-h3 { font-size:1.25rem; margin:0 0 1rem; }

.mco-section__head { margin-bottom:2rem; }
.mco-section__head--center { text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }
.mco-section__intro { opacity:.8; }

/* Panels / bordered boxes (wireframe hand-drawn boxes) */
.mco-panel { border:2px solid #cfcfcf; border-radius:14px; padding:2rem; }

/* Buttons spacing helper */
.mco-section .button { margin-top:.5rem; }

/* --- Person / portrait --- */
.mco-person { margin:0; text-align:center; }
.mco-person__img,
.mco-person__img--placeholder,
.mco-about__img {
	display:block; width:220px; height:220px; max-width:100%;
	border-radius:50%; margin:0 auto; object-fit:cover;
	background:#e2e2e2; border:2px solid #b7b7b7;
}
.mco-about__img { width:260px; height:260px; }
.mco-person__caption { display:block; margin-top:1rem; }
.mco-person__name { display:block; font-weight:700; }
.mco-person__role { display:block; font-size:.85rem; opacity:.7; }

/* --- Placeholder images --- */
.mco-placeholder-img { display:block; width:100%; height:100%; object-fit:cover; }
.mco-promo__media, .mco-hero__media, .mco-wantmore__media { aspect-ratio:4/3; overflow:hidden; background:#e2e2e2; border:1px solid #cfcfcf; }
.mco-promo__media img, .mco-hero__media img, .mco-wantmore__media img { width:100%; height:100%; object-fit:cover; }
.mco-stars { letter-spacing:3px; text-align:right; margin:.6rem 0 .2rem; }
.mco-promo__quote { text-align:right; font-size:.85rem; opacity:.7; margin:0; }

/* --- Multi-column grids (features / cards) --- */
.mco-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.mco-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }

/* --- Client landing page --- */
.mco-video-embed { position:relative; aspect-ratio:16/9; background:#e2e2e2; border:1px solid #b7b7b7; border-radius:6px; overflow:hidden; }
.mco-video-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.mco-client-landing__intro { margin-bottom:1rem; }
.mco-client-landing__cta-actions { text-align:right; }
.mco-client-landing__login { font-size:.9rem; }
.mco-client-landing__login a { text-decoration:underline; }

.mco-feature-card { border:1px solid #cfcfcf; border-radius:8px; padding:1.5rem; display:flex; flex-direction:column; }
.mco-feature-card__icon { font-size:1.6rem; margin-bottom:1rem; opacity:.8; }
.mco-feature-card__eyebrow { display:block; font-size:.8rem; opacity:.6; margin-bottom:.25rem; }
.mco-feature-card__title { font-size:1.1rem; margin:0 0 .6rem; }
.mco-feature-card__text { font-size:.92rem; opacity:.85; flex:1; }

/* --- Resource / insight cards --- */
.mco-card, .mco-insight-card { border:1px solid #cfcfcf; border-radius:8px; overflow:hidden; background:#fff; }
.mco-card__media, .mco-insight-card__media { position:relative; aspect-ratio:16/9; background:#e2e2e2; overflow:hidden; }
.mco-card__media img, .mco-insight-card__media img { width:100%; height:100%; object-fit:cover; }
.mco-card__media-placeholder { display:block; width:100%; height:100%; background:#e2e2e2; }
.mco-card__badge { position:absolute; top:.6rem; left:.6rem; background:#fff; border:1px solid #cfcfcf; border-radius:6px; padding:.25rem .45rem; font-size:.85rem; }
.mco-card__body, .mco-insight-card__body { padding:1.1rem; }
.mco-card__title, .mco-insight-card__title { font-size:1.05rem; margin:0 0 .5rem; }
.mco-card__text, .mco-insight-card__excerpt { font-size:.9rem; opacity:.85; }
.mco-insight-card__date { font-size:.78rem; opacity:.6; display:block; margin-bottom:.35rem; }
.mco-card__more { font-size:.85rem; opacity:.8; }
.mco-insight-card a { text-decoration:none; color:inherit; display:block; }

/* --- Get in touch / contact --- */
.mco-getintouch__aside, .mco-getintouch__form { height:100%; }
.mco-contact__item { display:flex; gap:.6rem; align-items:flex-start; margin:0 0 1rem; }
.mco-contact__item i { font-size:1.2rem; opacity:.7; }
.mco-contact__connect-title { margin-top:2rem; }
.mco-contact__social a { display:inline-flex; width:2.6rem; height:2.6rem; border:1px solid #cfcfcf; border-radius:50%; align-items:center; justify-content:center; font-size:1.2rem; text-decoration:none; }

/* Forms */
.mco-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.25rem; margin-bottom:1rem; }
.mco-form-field { margin-bottom:1rem; }
.mco-form-field label { display:block; font-weight:700; font-size:.92rem; margin-bottom:.35rem; }
.mco-form-field .req { color:#c0392b; margin-left:2px; }
.mco-form-field input, .mco-form-field textarea { width:100%; }
.mco-contact-form textarea { min-height:150px; resize:vertical; }

/* Mailing form */
.mco-mailing-form__fields { display:flex; gap:1rem; flex-wrap:wrap; align-items:stretch; }
.mco-mailing-form__fields input[type=email] { flex:1 1 260px; }
.mco-mailing-form__message { margin:.5rem 0 0; font-size:.9rem; }
.mco-mailing-form__message.is-error { color:#c0392b; }

/* Mailing page panel */
.mco-mailing-panel__sub { margin-top:1rem; }
.mco-mailing-panel__privacy { display:flex; gap:.6rem; align-items:flex-start; font-size:.9rem; opacity:.8; margin-top:1rem; }

/* --- Create account --- */
.mco-notice { display:flex; gap:.75rem; align-items:center; border:1px solid #cfcfcf; border-radius:8px; padding:.9rem 1.1rem; margin:0 0 2rem; }
.mco-notice__close { margin-left:auto; background:none; border:none; font-size:1.3rem; line-height:1; cursor:pointer; }
.mco-register__lead { font-size:1.1rem; }
.mco-ticks { list-style:none; padding:0; margin:1rem 0; }
.mco-ticks li { position:relative; padding-left:2rem; margin-bottom:1rem; }
.mco-ticks li::before { content:"\2713"; position:absolute; left:0; top:0; font-weight:700; }
.mco-form-placeholder { border:2px dashed #b7b7b7; border-radius:8px; min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#8a8a8a; gap:.5rem; }
.mco-form-placeholder__label { font-weight:700; }
.mco-form-placeholder__note { font-size:.9rem; }

/* --- Organization Toolkit registration form (styled to the Create Account wireframe) --- */
.mco-b2b-regform #b2bdash-regform { margin:0; } /* kill the theme's default 4rem form margin (gap above radios) */
.mco-b2b-regform #b2bdash-regform-page-introduction { margin-bottom:1.5rem; }
.mco-b2b-regform .b2bdash-regform-warning { background:#fdecec; border:1px solid #e6b3b3; color:#a1221f; border-radius:6px; padding:.75rem 1rem; margin-bottom:1.25rem; }
.mco-b2b-regform #b2bdash-regform hr { display:none; }
/* Account-type radios */
.mco-b2b-regform #b2b-regform-type fieldset { border:0; padding:0; margin:0 0 1.5rem; display:flex; flex-direction:column; gap:.6rem; }
.mco-b2b-regform #b2b-regform-type label { display:flex; align-items:center; gap:.6rem; font-weight:700; }
.mco-b2b-regform #b2b-regform-type input[type=radio] { width:auto; }
/* Field grid (2-up like the wireframe) */
.mco-b2b-regform .b2b-regform-field-section { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.25rem; align-items:end; margin-bottom:1.25rem; }
.mco-b2b-regform .b2b-regform-field { margin:0; display:flex; flex-direction:column; }
.mco-b2b-regform .b2b-regform-field label { font-weight:700; font-size:.92rem; margin-bottom:.35rem; }
.mco-b2b-regform .b2b-regform-field input { width:100%; }
.mco-b2b-regform .reqhint { font-weight:400; font-size:.78rem; opacity:.55; }
.mco-b2b-regform .b2b-regform-password-intro { grid-column:1 / -1; margin:0; font-weight:600; }
.mco-b2b-regform .b2b-regform-field.b2b-regform-checkbox { grid-column:1 / -1; flex-direction:row; align-items:flex-start; gap:.6rem; }
.mco-b2b-regform .b2b-regform-checkbox input { width:auto; margin-top:.25rem; }
.mco-b2b-regform .b2b-reg-form-logged-in { margin-bottom:1.25rem; }
/* Submit */
.mco-b2b-regform #b2bdash-regform > p.text-center { text-align:left; margin-top:1.5rem; }
/* Submit button is styled with the brand green-yellow treatment in the branded section below. */
@media screen and (max-width:600px){ .mco-b2b-regform .b2b-regform-field-section { grid-template-columns:1fr; } }

/* --- Logged-in homepage --- */
.mco-client-intro .mco-h2 { margin-top:0; }
.mco-video-placeholder { position:relative; aspect-ratio:16/9; background:#e2e2e2; border:1px solid #b7b7b7; border-radius:6px; }
.mco-video-placeholder__play { position:absolute; top:50%; left:50%; transform:translate(-40%,-50%); width:0; height:0; border-style:solid; border-width:22px 0 22px 36px; border-color:transparent transparent transparent #8a8a8a; }

.mco-purchased__list { display:grid; gap:1.5rem; }
.mco-purchased-card { border:2px solid #cfcfcf; border-radius:10px; overflow:hidden; }
.mco-purchased-card__media { position:relative; aspect-ratio:16/6; background:#e2e2e2; }
.mco-purchased-card__media img { width:100%; height:100%; object-fit:cover; }
.mco-purchased-card__status { position:absolute; top:1rem; right:1rem; background:#fff; border:1px solid #cfcfcf; border-radius:6px; padding:.25rem .6rem; font-size:.85rem; }
.mco-purchased-card__title { position:absolute; left:1.25rem; bottom:1rem; margin:0; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.6); }
.mco-purchased-card__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.25rem; flex-wrap:wrap; }
.mco-purchased-card__meta { text-align:right; font-size:.85rem; opacity:.75; }
.mco-purchased-card__meta span { display:block; }

.mco-vault { background:#f3f3f3; }
.mco-vault__title { text-align:center; }
.mco-vault__empty { border:1px dashed #bdbdbd; border-radius:10px; padding:3.5rem 1rem; text-align:center; color:#8a8a8a; }

/* --- Header top nav (anon) --- */
.mco-top-nav { display:flex; align-items:center; gap:1.25rem; }
.mco-top-nav__link { text-decoration:none; font-weight:600; color:#fff !important; }
.mco-top-nav__link:hover { color:#fff !important; opacity:.8; }
.mco-top-nav__cta { white-space:nowrap; }

/* --- Footer --- */
.mco-footer { border-top:1px solid #e3e3e3; padding:2.5rem 0; }
.mco-footer__grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:2rem; align-items:start; }
.mco-footer__logo-placeholder { max-width:150px; height:auto; }
.mco-footer__heading { font-weight:700; margin:0 0 .5rem; }
.mco-footer__address address { font-style:normal; line-height:1.5; }
.mco-footer__links { list-style:none; padding:0; margin:0; }
.mco-footer__links li { margin-bottom:.35rem; }
.mco-footer__links a { text-decoration:none; }
.mco-subfooter { border-top:1px solid #e3e3e3; padding:1.25rem 0; }
.mco-subfooter .container { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }

/* --- The MC Mark (brand lockup) ---
   EB Garamond "MC" + hand-drawn underline + Anton "MARCUS CHILD" wordmark.
   Scale the whole lockup with font-size; colours switch by variant. */
.mco-mark {
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	gap:.26em;
	font-size:1.4rem;            /* the one scale knob */
	line-height:1;
	text-decoration:none;
}
.mco-mark__monogram {
	position:relative;
	display:block;
	padding-bottom:.22em;        /* room for the underline */
}
.mco-mark__mc {
	display:block;
	font-family:var(--mco-font-heading);
	font-weight:700;
	font-size:2.55em;
	line-height:.86;
	letter-spacing:.012em;
}
.mco-mark__underline {
	position:absolute;
	bottom:0;
	left:1%;
	width:98%;
	height:.30em;
	overflow:visible;
}
.mco-mark__wordmark {
	display:block;
	font-family:var(--mco-font-display);   /* Anton */
	font-weight:400;
	font-size:.72em;
	letter-spacing:.10em;
	text-indent:.10em;                      /* balance the trailing letter-spacing */
	text-transform:uppercase;
	line-height:1;
	font-synthesis:none;
}
/* Variant colours */
.mco-mark--full .mco-mark__mc { color:var(--mco-blue); }
.mco-mark--full .mco-mark__wordmark { color:var(--mco-charcoal); }
.mco-mark--reversed .mco-mark__mc,
.mco-mark--reversed .mco-mark__wordmark { color:var(--mco-white); }
.mco-mark--mono-dark .mco-mark__mc,
.mco-mark--mono-dark .mco-mark__wordmark { color:var(--mco-charcoal); }
.mco-mark--mono-light .mco-mark__mc,
.mco-mark--mono-light .mco-mark__wordmark { color:var(--mco-white); }
/* Underline accent (svg stroke uses currentColor). Mono variants keep the ink. */
.mco-mark__underline { color:var(--mco-green-yellow); }
.mco-mark--uline-orange .mco-mark__underline { color:var(--mco-orange); }
.mco-mark--mono-dark .mco-mark__underline { color:var(--mco-charcoal); }
.mco-mark--mono-light .mco-mark__underline { color:var(--mco-white); }
/* In the footer the mark stands a touch larger as the brand sign-off. */
.mco-footer__mark { font-size:1.55rem; }

/* --- Responsive --- */
@media screen and (max-width:900px) {
	.mco-grid-3 { grid-template-columns:1fr 1fr; }
	.mco-grid-4 { grid-template-columns:1fr 1fr; }
	.mco-footer__grid { grid-template-columns:1fr 1fr; }
}
@media screen and (max-width:600px) {
	.mco-grid-3, .mco-grid-4, .mco-form-row, .mco-footer__grid { grid-template-columns:1fr; }
	.mco-client-landing__cta-actions { text-align:left; }
	.mco-page-title { font-size:2rem; }
	.mco-hero__title { font-size:1.8rem; }
	.mco-subfooter .container { flex-direction:column; }
}

/* =====================================================================
   Branded anonymous homepage
   ===================================================================== */

.mco-homepage--guest {
	position:relative;
	overflow-x:clip;
	overflow-y:visible;
	color:var(--mco-charcoal);
	font-family:var(--mco-font-body);
}

.mco-homepage--guest .mco-section {
	position:relative;
	padding:clamp(3rem, 4.4vw, 4.5rem) 0;
}

/* Stacked sections share one deliberate transition, tighter than a first
   section's own top — creates rhythm instead of a uniform 180px dead band. */
.mco-homepage--guest .mco-section + .mco-section {
	padding-top:clamp(2rem, 3.2vw, 3.25rem);
}

.mco-homepage--guest .mco-eyebrow {
	margin-bottom:.75rem;
	color:var(--mco-blue);
	font-size:.78rem;
	font-weight:900;
	letter-spacing:.14em;
	line-height:1.35;
	opacity:1;
	text-transform:uppercase;
}

.mco-homepage--guest .mco-hero__title,
.mco-homepage--guest .mco-h2,
.mco-homepage--guest .mco-h3,
.mco-homepage--guest .mco-feature-card__title {
	font-family:var(--mco-font-heading);
	font-weight:700;
}

.mco-homepage--guest .mco-h2 {
	color:var(--mco-purple);
	font-size:clamp(2.25rem, 4vw, 3.6rem);
	line-height:1.05;
}

.mco-homepage--guest .mco-h3 {
	color:var(--mco-purple);
	font-size:clamp(1.55rem, 2.2vw, 2rem);
	line-height:1.15;
}

.mco-homepage--guest p {
	line-height:1.65;
}

.mco-homepage--guest .button {
	min-height:44px;
	padding:.85rem 1.3rem;
	border:2px solid transparent;
	border-radius:6px 8px 6px 7px;
	box-shadow:0 5px 0 rgba(18, 19, 21, .12);
	font-family:var(--mco-font-body);
	font-weight:800;
	line-height:1.2;
	text-decoration:none;
	transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.mco-homepage--guest .button:hover {
	transform:translateY(-2px);
	box-shadow:0 7px 0 rgba(18, 19, 21, .14);
}

.mco-homepage--guest .button:focus-visible,
.mco-homepage--guest a:focus-visible,
.mco-homepage--guest button:focus-visible,
.mco-homepage--guest input:focus-visible,
.mco-homepage--guest textarea:focus-visible {
	outline:3px solid var(--mco-purple);
	outline-offset:4px;
}

.mco-homepage--guest .mco-button-primary,
.mco-homepage--guest .mco-contact-form .button {
	background:var(--mco-green-yellow);
	color:var(--mco-white) !important;
	text-shadow:0 1px 1px rgba(18, 19, 21, .32);
}

.mco-homepage--guest .mco-button-primary:hover,
.mco-homepage--guest .mco-contact-form .button:hover {
	background:#978c04;
	color:var(--mco-white) !important;
}

.mco-homepage--guest .mco-button-light {
	background:var(--mco-white);
	color:var(--mco-charcoal) !important;
}

.mco-hand-note {
	display:inline-block;
	padding:.1em .12em .2em;
	font-family:var(--mco-font-handwritten);
	font-size:clamp(1.35rem, 2.2vw, 2rem);
	line-height:1.16;
	text-wrap:balance;
}

.mco-pen-arrow {
	fill:none;
	stroke:currentColor;
	stroke-width:3;
	stroke-linecap:round;
	stroke-linejoin:round;
}

/* Notes and arrows share one layout context so copy can never cross the line. */
.mco-image-annotation {
	position:absolute;
	z-index:5;
	display:flex;
	max-width:calc(100% - .5rem);
	gap:.8rem;
	align-items:flex-end;
	pointer-events:none;
}

.mco-image-annotation .mco-hand-note {
	position:relative;
	top:auto;
	right:auto;
	bottom:auto;
	left:auto;
	flex:0 1 auto;
	max-width:12ch;
}

.mco-image-annotation svg {
	position:relative;
	top:auto;
	right:auto;
	bottom:auto;
	left:auto;
	flex:0 0 auto;
}

.mco-text-link {
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	color:var(--mco-purple);
	font-weight:800;
	text-decoration:underline;
	text-decoration-color:var(--mco-orange);
	text-decoration-thickness:2px;
	text-underline-offset:5px;
}

.mco-text-link:hover {
	color:var(--mco-orange);
}

/* --- Guest hero --- */

.mco-guest-hero {
	position:relative;
	isolation:isolate;
	padding-top:clamp(3.75rem, 5vw, 5rem) !important;
	padding-bottom:clamp(2rem, 3vw, 3rem) !important;
}

/* Bolder: the hero lands on the top sheet of Marcus's flipchart pad — a lifted
   soft-paper sheet with the brand grain and a torn bottom edge. Calm by design
   (soft paper, not a saturated panel) so it stays the hero and flows into the
   purple promo below. */
.mco-guest-hero .container {
	position:relative;
	isolation:isolate;
	padding:clamp(2.25rem, 3vw, 3.25rem) clamp(1.75rem, 3vw, 3.25rem) clamp(3rem, 4.5vw, 4.5rem);
}

.mco-guest-hero .container::before {
	content:"";
	position:absolute;
	z-index:-1;
	inset:0;
	background-color:var(--mco-paper-soft);
	background-image:
		url("../images/paper-texture.svg?v=4"),
		linear-gradient(158deg, #f4eee2 0%, var(--mco-paper-soft) 55%, #e6dccb 100%);
	background-repeat:repeat, no-repeat;
	background-size:300px 300px, 100% 100%;
	clip-path:polygon(
		0 0, 100% 0, 100% 90%,
		93% 95%, 85% 90.5%, 76% 96%, 66% 91%, 56% 96.5%,
		46% 91%, 36% 96%, 26% 91%, 16% 96%, 7% 91%, 0 95%
	);
	filter:drop-shadow(0 22px 26px rgba(18, 19, 21, .15));
}

.mco-guest-hero__grid {
	display:grid;
	grid-template-columns:minmax(0, 1.12fr) minmax(340px, .88fr);
	gap:clamp(2.5rem, 3.5vw, 4rem);
	align-items:center;
}

.mco-guest-hero__copy {
	max-width:780px;
}

.mco-guest-hero .mco-eyebrow {
	display:flex;
	align-items:center;
	gap:.75rem;
}

.mco-guest-hero .mco-eyebrow::before {
	width:2.4rem;
	height:3px;
	border-radius:10px;
	background:var(--mco-orange);
	content:"";
	transform:rotate(-2deg);
}

.mco-guest-hero .mco-hero__title {
	position:relative;
	max-width:14ch;
	margin:0 0 1.75rem;
	color:var(--mco-purple);
	font-size:clamp(3rem, 5.1vw, 5.2rem);
	line-height:1.01;
}

.mco-guest-hero .mco-hero__title::after {
	position:absolute;
	bottom:-1rem;
	left:.15rem;
	width:min(52%, 280px);
	height:18px;
	background:url("../images/pen-underline-orange.svg") left center / 100% 18px no-repeat;
	content:"";
	clip-path:inset(0 0 0 0);
	animation:mco-draw-underline .7s .35s cubic-bezier(.22, .61, .36, 1) both;
}

/* --- Delight: the marker draws the hero underline once on load. --- */
@keyframes mco-draw-underline {
	from { clip-path:inset(0 100% 0 0); }
	to   { clip-path:inset(0 0 0 0); }
}

/* --- Delight: a mailing-list signup gets "signed off" with a hand-drawn tick. --- */
.mco-mailing-form.is-signed .mco-mailing-form__fields { display:none; }
.mco-mailing-form__done { display:inline-flex; align-items:center; gap:.6rem; }
.mco-mailing-form__tick { flex:0 0 auto; width:2.3rem; height:1.9rem; fill:none; stroke:var(--mco-green-yellow); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.mco-mailing-form__tick path { stroke-dasharray:64; stroke-dashoffset:64; animation:mco-draw-tick .5s .05s ease-out forwards; }
.mco-mailing-form__done-note { font-family:var(--mco-font-handwritten); font-size:clamp(1.35rem, 2.2vw, 1.9rem); line-height:1; }
@keyframes mco-draw-tick { to { stroke-dashoffset:0; } }

@media (prefers-reduced-motion: reduce) {
	.mco-guest-hero .mco-hero__title::after { animation:none; clip-path:inset(0 0 0 0); }
	.mco-mailing-form__tick path { animation:none; stroke-dashoffset:0; }
}

.mco-guest-hero .mco-hero__text {
	max-width:62ch;
	color:#3f4143;
	font-size:clamp(1.05rem, 1.4vw, 1.2rem);
}

.mco-guest-hero .mco-hero__text p:last-child {
	margin-bottom:0;
}

.mco-hero__actions {
	display:flex;
	flex-wrap:wrap;
	gap:1.25rem 1.5rem;
	align-items:center;
	margin-top:2rem;
}

.mco-guest-hero__visual {
	position:relative;
	width:100%;
	max-width:560px;
	margin-left:auto;
	padding:0 1rem 1rem;
}

.mco-guest-hero__annotation {
	position:relative;
	top:auto;
	left:auto;
	width:max-content;
	margin:0 0 .2rem .25rem;
	gap:.3rem;
	align-items:center;
}

.mco-image-annotation .mco-guest-hero__note {
	color:var(--mco-blue);
	max-width:none;
	white-space:nowrap;
	transform:rotate(-4deg);
}

.mco-guest-hero__arrow {
	width:56px;
	color:var(--mco-orange);
	transform:translateY(.5rem) rotate(3deg);
}

.mco-person--hero {
	position:relative;
	text-align:right;
}

.mco-person__frame {
	position:relative;
	z-index:1;
	padding:10px;
	background:var(--mco-white);
	border:3px solid var(--mco-purple);
	border-radius:8px 13px 7px 11px;
	box-shadow:0 16px 32px rgba(18, 19, 21, .16);
	transform:rotate(.8deg);
}

.mco-person__frame::after {
	position:absolute;
	z-index:-1;
	inset:-9px 5px 6px -8px;
	border:3px solid var(--mco-green-yellow);
	border-radius:12px 7px 14px 6px;
	content:"";
	transform:rotate(-1.4deg);
}

.mco-person--hero .mco-person__img,
.mco-person--hero .mco-person__img--placeholder {
	width:100%;
	height:auto;
	aspect-ratio:4 / 3;
	margin:0;
	border:0;
	border-radius:3px;
	background:var(--mco-paper-soft);
	object-fit:cover;
}

.mco-person--hero .mco-person__caption {
	display:inline-block;
	margin:1.35rem .75rem 0 0;
	padding:.4rem .8rem;
	background:var(--mco-paper);
	text-align:left;
	transform:rotate(-1.5deg);
}

.mco-person--hero .mco-person__name {
	color:var(--mco-purple);
	font-family:var(--mco-font-heading);
	font-size:1.35rem;
}

/* --- Purple platform panel --- */

.mco-platform-section {
	scroll-margin-top:120px;
}

.mco-promo {
	position:relative;
	isolation:isolate;
	padding:clamp(2.5rem, 4vw, 4.5rem);
	border:0;
	border-radius:0;
	color:var(--mco-white);
}

.mco-promo::before {
	position:absolute;
	z-index:-2;
	inset:0;
	background-color:var(--mco-purple);
	background-image:
		url("../images/paper-texture.svg?v=4"),
		linear-gradient(135deg, #54004f 0%, var(--mco-purple) 52%, #350032 100%);
	background-repeat:repeat, no-repeat;
	background-size:280px 280px, 100% 100%;
	clip-path:polygon(
		.8% 3%,
		18% 1.2%,
		41% 2%,
		66% .4%,
		99% 2.2%,
		98.7% 18%,
		100% 34%,
		99.1% 51%,
		100% 69%,
		99.2% 84%,
		100% 96%,
		78% 98.5%,
		52% 97%,
		27% 99.4%,
		1% 97%,
		1.3% 82%,
		.2% 66%,
		1.1% 49%,
		.3% 31%
	);
	content:"";
	filter:drop-shadow(0 15px 15px rgba(18, 19, 21, .18));
}

.mco-promo__grid {
	display:grid;
	grid-template-columns:minmax(0, 1.05fr) minmax(300px, .95fr);
	gap:clamp(2.25rem, 3.5vw, 4rem);
	align-items:center;
}

.mco-promo .mco-eyebrow {
	color:var(--mco-green-yellow);
}

.mco-promo .mco-h2 {
	color:var(--mco-white);
}

.mco-promo__text {
	max-width:62ch;
	color:rgba(255, 255, 255, .88);
	font-size:1.05rem;
}

.mco-promo__visual {
	position:relative;
	padding:.5rem;
}

.mco-promo__media {
	position:relative;
	overflow:hidden;
	aspect-ratio:4 / 3;
	background:var(--mco-paper-soft);
	border:9px solid var(--mco-white);
	border-radius:5px 9px 4px 8px;
	box-shadow:0 15px 25px rgba(18, 19, 21, .28);
	transform:rotate(1deg);
}

.mco-promo__media::after {
	position:absolute;
	inset:-5px;
	border:3px solid var(--mco-green-yellow);
	content:"";
	pointer-events:none;
	transform:rotate(-1.4deg);
}

.mco-promo__testimonial {
	display:flex;
	gap:1rem;
	align-items:flex-start;
	justify-content:flex-end;
	margin-top:1.25rem;
	transform:rotate(-1deg);
}

.mco-promo .mco-stars {
	flex:none;
	margin:0;
	color:var(--mco-green-yellow);
	font-size:1rem;
	letter-spacing:2px;
	text-align:left;
}

.mco-promo .mco-promo__quote {
	max-width:25ch;
	margin:0;
	color:var(--mco-white);
	font-family:var(--mco-font-handwritten);
	font-size:1.15rem;
	line-height:1.25;
	opacity:1;
	text-align:left;
}

/* --- Feature cards --- */

.mco-features .mco-section__head {
	max-width:800px;
}

.mco-features .mco-section__head .mco-h2 {
	position:relative;
	display:inline-block;
	margin-bottom:1.5rem;
}

.mco-features .mco-section__head .mco-h2::after,
.mco-about__copy .mco-h2::after,
.mco-getintouch__heading .mco-h2::after {
	position:absolute;
	bottom:-.75rem;
	left:5%;
	width:58%;
	height:12px;
	background:url("../images/pen-underline-orange.svg") left center / 100% 12px no-repeat;
	content:"";
}

.mco-features .mco-section__intro {
	max-width:64ch;
	margin-right:auto;
	margin-left:auto;
	color:#55575a;
	font-size:1.05rem;
	opacity:1;
}

.mco-homepage--guest .mco-grid-3 {
	gap:clamp(1.5rem, 3vw, 2.5rem);
	align-items:stretch;
}

.mco-homepage--guest .mco-feature-card {
	position:relative;
	padding:clamp(1.5rem, 3vw, 2.25rem);
	border:0;
	border-radius:7px 11px 8px 10px;
	background:var(--mco-white);
	box-shadow:0 12px 24px var(--mco-shadow);
}

.mco-homepage--guest .mco-feature-card::before {
	position:absolute;
	inset:-5px 4px 4px -5px;
	border:2px solid var(--mco-blue);
	border-radius:10px 7px 12px 6px;
	content:"";
	pointer-events:none;
	transform:rotate(-.35deg);
}

.mco-homepage--guest .mco-feature-card:nth-child(2) {
	margin-bottom:1.25rem;
	transform:translateY(1.25rem) rotate(.25deg);
}

.mco-homepage--guest .mco-feature-card:nth-child(2)::before {
	border-color:var(--mco-purple);
	transform:rotate(.5deg);
}

.mco-homepage--guest .mco-feature-card:nth-child(3)::before {
	border-color:var(--mco-orange);
	transform:rotate(-.2deg);
}

.mco-homepage--guest .mco-feature-card__icon {
	display:inline-flex;
	width:3.4rem;
	height:3.4rem;
	margin-bottom:1.5rem;
	border:2px solid currentColor;
	border-radius:48% 52% 46% 54%;
	align-items:center;
	justify-content:center;
	color:var(--mco-blue);
	font-size:1.65rem;
	opacity:1;
	transform:rotate(-3deg);
}

.mco-homepage--guest .mco-feature-card:nth-child(2) .mco-feature-card__icon {
	color:var(--mco-purple);
}

.mco-homepage--guest .mco-feature-card:nth-child(3) .mco-feature-card__icon {
	color:var(--mco-orange);
}

.mco-homepage--guest .mco-feature-card__eyebrow {
	color:var(--mco-brown);
	font-size:.75rem;
	font-weight:900;
	letter-spacing:.09em;
	opacity:1;
	text-transform:uppercase;
}

.mco-homepage--guest .mco-feature-card__title {
	color:var(--mco-purple);
	font-size:clamp(1.4rem, 2vw, 1.8rem);
	line-height:1.15;
}

.mco-homepage--guest .mco-feature-card__text {
	color:#55575a;
	font-size:.98rem;
	opacity:1;
}

.mco-homepage--guest .mco-feature-card .button {
	background:var(--mco-purple);
	color:var(--mco-white) !important;
}

/* --- About --- */

.mco-about {
	isolation:isolate;
}

.mco-about::before {
	position:absolute;
	z-index:-1;
	inset:1.5rem 0 0;
	background:rgba(128, 91, 72, .09);
	clip-path:polygon(0 3%, 21% 1%, 47% 2.5%, 72% .5%, 100% 2%, 100% 100%, 0 100%);
	content:"";
}

.mco-about__grid {
	display:grid;
	grid-template-columns:minmax(280px, .82fr) minmax(0, 1.18fr);
	gap:clamp(2.5rem, 4vw, 4.5rem);
	align-items:center;
}

.mco-about__visual {
	position:relative;
	width:100%;
	max-width:460px;
	margin:auto;
	padding:1.5rem;
}

.mco-about__frame {
	position:relative;
	padding:9px;
	background:var(--mco-white);
	border:3px solid var(--mco-blue);
	border-radius:9px 6px 13px 7px;
	box-shadow:0 14px 28px rgba(18, 19, 21, .16);
	transform:rotate(-1.2deg);
}

.mco-about__frame::after {
	position:absolute;
	z-index:-1;
	inset:-9px -7px 5px 7px;
	border:3px solid var(--mco-green-yellow);
	border-radius:7px 13px 6px 12px;
	content:"";
	transform:rotate(2deg);
}

.mco-about__img,
.mco-about__img.mco-person__img--placeholder {
	width:100%;
	height:auto;
	aspect-ratio:4 / 5;
	margin:0;
	border:0;
	border-radius:2px;
	background:var(--mco-paper-soft);
	object-fit:cover;
}

.mco-about__note {
	position:absolute;
	right:-.5rem;
	bottom:-1.2rem;
	padding:.35rem .65rem;
	background:var(--mco-paper);
	color:var(--mco-orange);
	transform:rotate(-4deg);
}

.mco-about__copy {
	position:relative;
	max-width:720px;
	padding-left:clamp(0rem, 2vw, 2rem);
}

.mco-about__copy::before {
	position:absolute;
	top:.2rem;
	bottom:.2rem;
	left:0;
	width:3px;
	border-radius:10px;
	background:var(--mco-green-yellow);
	content:"";
	transform:rotate(.7deg);
}

.mco-about__copy .mco-h2 {
	position:relative;
	margin-bottom:1.75rem;
}

.mco-about__text {
	max-width:64ch;
	color:#444649;
	font-size:1.05rem;
}

/* --- Contact close --- */

.mco-getintouch {
	isolation:isolate;
	padding-bottom:clamp(4rem, 6vw, 6rem) !important;
	background:rgba(128, 91, 72, .09);
}

.mco-getintouch::before {
	position:absolute;
	z-index:-1;
	inset:0;
	background-color:#ede6e2;
	background-image:url("../images/paper-texture.svg?v=4");
	background-repeat:repeat;
	background-size:320px 320px;
	clip-path:polygon(0 2%, 27% 0, 54% 1.5%, 78% .5%, 100% 2%, 100% 100%, 0 100%);
	content:"";
}

.mco-getintouch__heading {
	max-width:760px;
	margin-bottom:2.5rem;
}

.mco-getintouch__heading .mco-h2 {
	position:relative;
	display:inline-block;
}

.mco-getintouch__grid {
	display:grid;
	grid-template-columns:minmax(260px, .7fr) minmax(0, 1.3fr);
	gap:clamp(1.5rem, 3vw, 2.5rem);
	align-items:start;
}

.mco-getintouch__aside-wrap,
.mco-getintouch__form-wrap {
	min-width:0;
}

.mco-homepage--guest .mco-getintouch__aside {
	position:relative;
	isolation:isolate;
	height:auto;
	padding:clamp(2rem, 4vw, 3rem);
	border:0;
	border-radius:0;
	color:var(--mco-white);
}

.mco-getintouch__aside::before {
	position:absolute;
	z-index:-1;
	inset:0;
	background-color:var(--mco-orange);
	background-image:
		url("../images/paper-texture.svg?v=4"),
		linear-gradient(145deg, #cf431a 0%, var(--mco-orange) 52%, #a52e10 100%);
	background-repeat:repeat, no-repeat;
	background-size:260px 260px, 100% 100%;
	clip-path:polygon(2% 1%, 97% 0, 100% 96%, 4% 100%, 0 41%);
	content:"";
	filter:drop-shadow(0 12px 14px rgba(18, 19, 21, .14));
}

.mco-getintouch__aside::after {
	position:absolute;
	z-index:-1;
	inset:10px 9px 12px 11px;
	border:2px solid rgba(255, 255, 255, .75);
	border-radius:8px 12px 7px 11px;
	content:"";
	transform:rotate(.3deg);
}

.mco-getintouch__aside p {
	color:inherit;
}

.mco-homepage--guest .mco-getintouch__form {
	position:relative;
	height:auto;
	padding:clamp(2rem, 4vw, 3rem);
	border:0;
	border-radius:8px 12px 7px 10px;
	background:var(--mco-white);
	box-shadow:0 14px 30px var(--mco-shadow);
}

.mco-getintouch__form::before {
	position:absolute;
	inset:-5px 4px 5px -5px;
	border:2px solid var(--mco-purple);
	border-radius:12px 7px 13px 8px;
	content:"";
	pointer-events:none;
	transform:rotate(-.15deg);
}

.mco-homepage--guest .mco-form-field label {
	color:var(--mco-charcoal);
}

.mco-homepage--guest .mco-form-field input,
.mco-homepage--guest .mco-form-field textarea {
	border:1px solid rgba(18, 19, 21, .32);
	border-radius:4px;
	background:var(--mco-white);
	color:var(--mco-charcoal);
}

.mco-homepage--guest .mco-form-field input:focus,
.mco-homepage--guest .mco-form-field textarea:focus {
	border-color:var(--mco-blue);
	box-shadow:0 0 0 3px rgba(4, 115, 160, .14);
}

/* Keep the anonymous header CTA accessible against green-yellow. */
body:not(.logged-in) .mco-top-nav__cta {
	background:var(--mco-green-yellow) !important;
	color:var(--mco-white) !important;
	font-weight:800;
	text-shadow:0 1px 1px rgba(18, 19, 21, .32);
}

body:not(.logged-in) .mco-top-nav__cta:hover {
	background:#978c04 !important;
	color:var(--mco-white) !important;
}

/* The homepage closes on a calm charcoal footer. */
body.home:not(.logged-in) .mco-footer,
body.home:not(.logged-in) .mco-subfooter {
	width:100%;
	margin-right:0;
	margin-left:0;
	border-color:rgba(255, 255, 255, .14);
	background:var(--mco-charcoal);
	color:var(--mco-white);
}

body.home:not(.logged-in) .mco-footer a,
body.home:not(.logged-in) .mco-subfooter a {
	color:var(--mco-white);
}

body.home:not(.logged-in) .mco-footer a:hover,
body.home:not(.logged-in) .mco-subfooter a:hover {
	color:var(--mco-green-yellow);
}

/* --- Branded homepage responsive behaviour --- */

@media screen and (max-width:960px) {
	.mco-guest-hero__grid,
	.mco-promo__grid,
	.mco-about__grid,
	.mco-getintouch__grid {
		grid-template-columns:1fr;
		row-gap:clamp(2rem, 4vw, 2.75rem);
	}

	.mco-guest-hero__copy,
	.mco-about__copy {
		max-width:780px;
	}

	.mco-guest-hero__visual {
		width:min(100%, 620px);
		margin:1rem auto 0;
	}

	.mco-promo__visual {
		width:min(100%, 620px);
		margin:auto;
	}

	.mco-homepage--guest .mco-grid-3 {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.mco-homepage--guest .mco-feature-card:nth-child(2) {
		margin-bottom:0;
		transform:none;
	}

	.mco-about__visual {
		width:min(100%, 480px);
	}

	.mco-about__copy {
		padding-left:1.5rem;
	}
}

@media screen and (max-width:640px) {
	.mco-homepage--guest .mco-section {
		padding:3.25rem 0;
	}

	.mco-homepage--guest .mco-section + .mco-section {
		padding-top:2rem;
	}

	.mco-guest-hero {
		padding-top:3.75rem !important;
		padding-bottom:2.25rem !important;
	}

	.mco-guest-hero__grid {
		gap:3rem;
	}

	.mco-guest-hero .mco-hero__title {
		font-size:clamp(2.5rem, 11.5vw, 3.35rem);
	}

	.mco-hero__actions {
		align-items:flex-start;
		flex-direction:column;
	}

	.mco-guest-hero__visual {
		padding:.5rem .35rem;
	}

	.mco-image-annotation {
		position:relative;
		top:auto;
		right:auto;
		bottom:auto;
		left:auto;
		display:block;
		width:auto;
		max-width:100%;
		margin:0 0 1rem .25rem;
	}

	.mco-image-annotation .mco-hand-note {
		max-width:14ch;
		margin:0;
		white-space:normal;
	}

	.mco-guest-hero__arrow {
		display:none;
	}

	.mco-person__frame,
	.mco-about__frame {
		padding:7px;
	}

	.mco-promo {
		padding:2.5rem 1.35rem;
	}

	.mco-promo__grid {
		gap:2rem;
	}

	.mco-promo__media {
		border-width:6px;
	}

	.mco-promo__testimonial {
		align-items:flex-start;
		flex-direction:column;
	}

	.mco-homepage--guest .mco-grid-3 {
		grid-template-columns:1fr;
	}

	.mco-homepage--guest .mco-feature-card,
	.mco-homepage--guest .mco-feature-card:nth-child(2) {
		margin-bottom:0;
		transform:none;
	}

	.mco-about__visual {
		padding:1rem .5rem 1.5rem;
	}

	.mco-about__note {
		right:.2rem;
	}

	.mco-about__copy {
		padding-left:1rem;
	}

	.mco-getintouch__heading {
		margin-bottom:2rem;
	}

	.mco-homepage--guest .mco-getintouch__aside,
	.mco-homepage--guest .mco-getintouch__form {
		padding:2rem 1.35rem;
	}

	.mco-form-row {
		grid-template-columns:1fr;
	}
}

@media (prefers-reduced-motion:reduce) {
	.mco-homepage--guest .button {
		transition:none;
	}
}

/* =====================================================================
   Brand rollout: member homepage and focused public pages
   ===================================================================== */

.mco-brand-page {
	position:relative;
	overflow-x:clip;
	overflow-y:visible;
	color:var(--mco-charcoal);
	font-family:var(--mco-font-body);
}

.mco-brand-page .mco-section {
	position:relative;
	padding:clamp(3rem, 4.4vw, 4.5rem) 0;
}

.mco-brand-page .mco-section + .mco-section {
	padding-top:clamp(2rem, 3.2vw, 3.25rem);
}

.mco-brand-page .mco-eyebrow {
	margin-bottom:.75rem;
	color:var(--mco-blue);
	font-size:.78rem;
	font-weight:900;
	letter-spacing:.14em;
	line-height:1.35;
	opacity:1;
	text-transform:uppercase;
}

.mco-brand-page .mco-page-title,
.mco-brand-page .mco-hero__title,
.mco-brand-page .mco-h2,
.mco-brand-page .mco-h3,
.mco-brand-page .mco-card__title,
.mco-brand-page .mco-feature-card__title,
.mco-brand-page .mco-purchased-card__title {
	font-family:var(--mco-font-heading);
	font-weight:700;
}

.mco-brand-page .mco-page-title,
.mco-brand-page .mco-hero__title {
	position:relative;
	max-width:15ch;
	margin-bottom:1.75rem;
	color:var(--mco-purple);
	font-size:clamp(2.8rem, 5.2vw, 5.1rem);
	line-height:.98;
}

.mco-brand-page .mco-h2 {
	color:var(--mco-purple);
	font-size:clamp(2rem, 3.6vw, 3.25rem);
	line-height:1.05;
}

.mco-brand-page .mco-h3 {
	color:var(--mco-purple);
	font-size:clamp(1.45rem, 2.2vw, 2rem);
	line-height:1.15;
}

/* Anton is the rare logo-adjacent impact voice; editorial headings stay serif. */
.mco-homepage--guest .mco-h2.mco-brand-display,
.mco-brand-page .mco-h2.mco-brand-display,
.mco-brand-page .mco-eyebrow.mco-brand-display {
	font-family:var(--mco-font-display);
	font-style:normal;
	font-weight:400;
	font-synthesis:none;
	letter-spacing:.015em;
	line-height:1;
	text-wrap:balance;
	text-transform:none;
}

.mco-brand-page .mco-eyebrow.mco-brand-display {
	margin-bottom:1rem;
	font-size:clamp(1.5rem, 2.4vw, 2rem);
}

.mco-brand-page p {
	line-height:1.65;
}

.mco-brand-page .mco-page-title::after,
.mco-brand-page > .mco-section:not(.mco-vault) .container > .mco-h2::after {
	display:block;
	width:min(58%, 260px);
	height:12px;
	margin:.65rem 0 0 .2rem;
	background:url("../images/pen-underline-orange.svg") left center / 100% 12px no-repeat;
	content:"";
}

.mco-brand-page .button {
	min-height:44px;
	padding:.85rem 1.3rem;
	border:2px solid transparent !important;
	border-radius:6px 8px 6px 7px;
	background:var(--mco-green-yellow);
	box-shadow:0 5px 0 rgba(18, 19, 21, .12);
	color:var(--mco-white) !important;
	font-family:var(--mco-font-body);
	font-weight:800;
	line-height:1.2;
	text-decoration:none;
	text-shadow:0 1px 1px rgba(18, 19, 21, .32);
	transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.mco-brand-page .button:hover {
	background:#978c04;
	box-shadow:0 7px 0 rgba(18, 19, 21, .14);
	color:var(--mco-white) !important;
	transform:translateY(-2px);
}

.mco-brand-page .button.outline {
	background:var(--mco-purple);
	color:var(--mco-white) !important;
	text-shadow:none;
}

.mco-brand-page .mco-button-light {
	background:var(--mco-white);
	color:var(--mco-charcoal) !important;
	text-shadow:none;
}

.mco-brand-page .mco-button-light:hover {
	background:var(--mco-paper);
	color:var(--mco-charcoal) !important;
}

.mco-brand-page a:focus-visible,
.mco-brand-page button:focus-visible,
.mco-brand-page input:focus-visible,
.mco-brand-page textarea:focus-visible,
.mco-brand-page select:focus-visible {
	outline:3px solid var(--mco-purple);
	outline-offset:4px;
}

.mco-page-hero {
	padding-bottom:clamp(1.5rem, 2.5vw, 2.5rem) !important;
}

.mco-page-hero__intro {
	max-width:58ch;
	margin:0;
	color:#4b4d50;
	font-size:clamp(1.05rem, 1.4vw, 1.2rem);
}

/* Shared textured cut-paper panels. */
.mco-cut-panel {
	--mco-cut-base:var(--mco-purple);
	--mco-cut-start:#54004f;
	--mco-cut-end:#350032;
	position:relative;
	isolation:isolate;
	padding:clamp(2.25rem, 4vw, 4rem);
	border:0;
	border-radius:0;
	color:var(--mco-white);
}

.mco-cut-panel::before {
	position:absolute;
	z-index:-1;
	inset:0;
	background-color:var(--mco-cut-base);
	background-image:
		url("../images/paper-texture.svg?v=4"),
		linear-gradient(135deg, var(--mco-cut-start) 0%, var(--mco-cut-base) 52%, var(--mco-cut-end) 100%);
	background-repeat:repeat, no-repeat;
	background-size:280px 280px, 100% 100%;
	clip-path:polygon(
		.8% 3%, 18% 1.2%, 41% 2%, 66% .4%, 99% 2.2%,
		98.7% 18%, 100% 34%, 99.1% 51%, 100% 69%,
		99.2% 84%, 100% 96%, 78% 98.5%, 52% 97%,
		27% 99.4%, 1% 97%, 1.3% 82%, .2% 66%,
		1.1% 49%, .3% 31%
	);
	content:"";
	filter:drop-shadow(0 15px 15px rgba(18, 19, 21, .18));
}

.mco-cut-panel--orange {
	--mco-cut-base:var(--mco-orange);
	--mco-cut-start:#cf431a;
	--mco-cut-end:#a52e10;
}

.mco-cut-panel .mco-h2,
.mco-cut-panel .mco-h3,
.mco-cut-panel a:not(.button) {
	color:var(--mco-white);
}

.mco-cut-panel .mco-eyebrow {
	color:var(--mco-green-yellow);
}

.mco-cut-panel--orange .mco-eyebrow {
	color:var(--mco-white);
}

.mco-cut-panel p,
.mco-cut-panel li {
	color:inherit;
}

/* White paper card and rough media frame. */
.mco-paper-card {
	position:relative;
	isolation:isolate;
	border:0;
	border-radius:8px 12px 7px 10px;
	background:var(--mco-white);
	box-shadow:0 14px 30px var(--mco-shadow);
}

.mco-paper-card::before {
	position:absolute;
	z-index:-1;
	inset:-5px 4px 5px -5px;
	border:2px solid var(--mco-purple);
	border-radius:12px 7px 13px 8px;
	content:"";
	pointer-events:none;
	transform:rotate(-.15deg);
}

.mco-media-frame {
	position:relative;
	isolation:isolate;
	overflow:visible;
	padding:9px;
	border:3px solid var(--mco-purple);
	border-radius:8px 13px 7px 11px;
	background:var(--mco-white);
	box-shadow:0 16px 32px rgba(18, 19, 21, .16);
	transform:rotate(.7deg);
}

.mco-media-frame::after {
	position:absolute;
	z-index:-1;
	inset:-9px 5px 6px -8px;
	border:3px solid var(--mco-green-yellow);
	border-radius:12px 7px 14px 6px;
	content:"";
	transform:rotate(-1.4deg);
}

.mco-media-frame img {
	border-radius:2px;
}

/* Secondary paper details: masking tape, post-it notes and marker arrows. */
.mco-tape {
	position:absolute;
	z-index:6;
	top:-14px;
	left:50%;
	width:94px;
	height:27px;
	border:1px solid rgba(128, 91, 72, .14);
	background:
		linear-gradient(94deg, rgba(255, 255, 255, .22), transparent 48%, rgba(128, 91, 72, .08)),
		rgba(238, 231, 220, .92);
	box-shadow:0 2px 3px rgba(18, 19, 21, .1);
	clip-path:polygon(2% 10%, 98% 0, 96% 91%, 3% 100%, 0 54%);
	pointer-events:none;
	transform:translateX(-50%) rotate(-2deg);
}

.mco-tape--right {
	right:9%;
	left:auto;
	transform:rotate(2.2deg);
}

.mco-paper-note {
	position:relative;
	z-index:4;
	display:inline-block;
	padding:.75rem 1rem .9rem;
	background:#d9cf55;
	box-shadow:0 8px 14px rgba(18, 19, 21, .16);
	color:var(--mco-charcoal);
	font-family:var(--mco-font-handwritten);
	font-size:clamp(1.1rem, 1.7vw, 1.45rem);
	line-height:1.18;
	transform:rotate(-2deg);
}

.mco-paper-note::after {
	position:absolute;
	right:0;
	bottom:0;
	width:15px;
	height:15px;
	background:linear-gradient(135deg, rgba(18, 19, 21, .12) 0 49%, var(--mco-paper) 52%);
	content:"";
}

.mco-doodle-arrow {
	position:absolute;
	z-index:3;
	width:92px;
	height:auto;
	overflow:visible;
	fill:none;
	stroke:currentColor;
	stroke-width:3.2;
	stroke-linecap:round;
	stroke-linejoin:round;
	pointer-events:none;
}

.mco-pen-spark {
	position:absolute;
	z-index:2;
	display:block;
	width:48px;
	height:48px;
	background:
		linear-gradient(currentColor, currentColor) 51% 0 / 3px 15px no-repeat,
		linear-gradient(currentColor, currentColor) 100% 54% / 15px 3px no-repeat,
		linear-gradient(48deg, transparent 43%, currentColor 45% 52%, transparent 54%) 2px 100% / 18px 18px no-repeat;
	opacity:.58;
	pointer-events:none;
	transform:rotate(-8deg);
}

/* Form surfaces remain calm and conventional. */
.mco-brand-page input[type="text"],
.mco-brand-page input[type="email"],
.mco-brand-page input[type="tel"],
.mco-brand-page input[type="password"],
.mco-brand-page textarea,
.mco-brand-page select {
	min-height:48px;
	border:1px solid rgba(18, 19, 21, .3);
	border-radius:4px;
	background:var(--mco-white);
	color:var(--mco-charcoal);
}

.mco-brand-page textarea {
	min-height:150px;
}

.mco-brand-page input:focus,
.mco-brand-page textarea:focus,
.mco-brand-page select:focus {
	border-color:var(--mco-blue);
	box-shadow:0 0 0 3px rgba(4, 115, 160, .14);
}

/* --- Logged-in homepage --- */
.mco-member-hero {
	padding-top:clamp(4rem, 6vw, 6rem) !important;
}

.mco-member-hero__grid {
	display:grid;
	grid-template-columns:minmax(0, 1.15fr) minmax(340px, .85fr);
	gap:clamp(2.5rem, 3.5vw, 4rem);
	align-items:center;
}

.mco-member-hero__copy {
	max-width:760px;
}

.mco-member-hero__visual {
	position:relative;
	width:100%;
	max-width:540px;
	margin-left:auto;
	padding:2.25rem .75rem .75rem;
}

.mco-member-hero__note {
	position:absolute;
	z-index:3;
	top:-.6rem;
	left:-.5rem;
	color:var(--mco-orange);
	transform:rotate(-4deg);
}

.mco-homepage--member .mco-client-intro .site-content-grid {
	display:grid;
	grid-template-columns:minmax(0, .9fr) minmax(320px, 1.1fr);
	gap:clamp(2.25rem, 3.5vw, 4rem);
}

.mco-homepage--member .mco-client-intro .bb-grid-cell {
	width:auto;
	max-width:none;
	flex-basis:auto;
	min-width:0;
}

.mco-homepage--member .mco-client-intro .mco-video-placeholder {
	overflow:hidden;
	border:8px solid var(--mco-white);
	border-radius:5px 9px 4px 8px;
	background:#24272b;
	box-shadow:0 15px 25px rgba(18, 19, 21, .28);
	transform:rotate(.7deg);
}

.mco-homepage--member .mco-client-intro .mco-video-placeholder__play {
	border-left-color:var(--mco-white);
}

.mco-member-resources {
	padding-bottom:clamp(3.5rem, 5vw, 5rem) !important;
}

.mco-member-resources .container {
	position:relative;
}

.mco-member-resources__head {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0, 1fr) auto;
	gap:1.5rem;
	align-items:start;
	margin-bottom:2rem;
}

.mco-member-resources__head .mco-h2 {
	margin-bottom:0;
}

.mco-member-resources__note {
	position:relative;
	top:auto;
	right:auto;
	margin:.25rem 1rem 0 0;
}

.mco-member-resources__arrow {
	top:3.6rem;
	right:11rem;
	color:var(--mco-purple);
	transform:rotate(70deg);
}

.mco-brand-page .mco-grid-3,
.mco-brand-page .mco-grid-4 {
	gap:clamp(1.5rem, 3vw, 2.5rem);
	align-items:stretch;
}

.mco-brand-page .mco-card,
.mco-brand-page .mco-feature-card {
	position:relative;
	overflow:hidden;
	border:0;
	border-radius:7px 11px 8px 10px;
	background:var(--mco-white);
	box-shadow:0 12px 24px var(--mco-shadow);
}

.mco-brand-page .mco-card {
	border:2px solid rgba(71, 0, 66, .72);
}

.mco-homepage--member .mco-polaroid-card {
	overflow:visible;
	padding:10px 10px 0;
	border:0;
	border-radius:4px 7px 5px 8px;
	background:var(--mco-white);
	transform:rotate(-.45deg);
}

.mco-homepage--member .mco-polaroid-card:nth-child(2) {
	transform:translateY(.5rem) rotate(.5deg);
}

.mco-homepage--member .mco-polaroid-card:nth-child(3) {
	transform:rotate(-.2deg);
}

.mco-homepage--member .mco-polaroid-card .mco-card__media {
	border-radius:2px;
}

.mco-homepage--member .mco-polaroid-card .mco-card__body {
	padding:1.35rem 1rem 1.15rem;
}

.mco-brand-page .mco-card__badge {
	border:0;
	background:var(--mco-green-yellow);
	color:var(--mco-white);
}

.mco-brand-page .mco-card__title,
.mco-brand-page .mco-feature-card__title {
	color:var(--mco-purple);
	font-size:clamp(1.35rem, 2vw, 1.75rem);
	line-height:1.15;
}

.mco-purchased {
	isolation:isolate;
	background:rgba(128, 91, 72, .09);
}

.mco-purchased::before {
	position:absolute;
	z-index:-1;
	inset:0;
	background-color:#ede6e2;
	background-image:url("../images/paper-texture.svg?v=4");
	background-repeat:repeat;
	background-size:320px 320px;
	clip-path:polygon(0 2.5%, 24% .5%, 50% 2%, 76% 0, 100% 2%, 100% 100%, 0 100%);
	content:"";
}

.mco-purchased-card {
	overflow:hidden;
	border:0;
	border-radius:8px 12px 7px 11px;
	background:var(--mco-charcoal);
	box-shadow:0 16px 32px rgba(18, 19, 21, .2);
	color:var(--mco-white);
}

.mco-purchased-card__media {
	min-height:230px;
}

.mco-purchased-card__media::after {
	position:absolute;
	inset:38% 0 0;
	background:linear-gradient(transparent, rgba(18, 19, 21, .92));
	content:"";
	pointer-events:none;
}

.mco-purchased-card__status,
.mco-purchased-card__title {
	z-index:1;
}

.mco-purchased-card__status {
	border:0;
	background:var(--mco-green-yellow);
	color:var(--mco-white);
	font-weight:800;
}

.mco-purchased-card__title {
	font-size:clamp(1.6rem, 2.5vw, 2.35rem);
}

.mco-purchased-card__footer {
	background:var(--mco-charcoal);
}

.mco-purchased-card__meta {
	opacity:.82;
}

.mco-vault {
	isolation:isolate;
	background:transparent;
	color:var(--mco-white);
}

.mco-vault::before {
	position:absolute;
	z-index:-1;
	inset:0;
	background-color:var(--mco-blue);
	background-image:
		url("../images/paper-texture.svg?v=4"),
		linear-gradient(135deg, #0782b3 0%, var(--mco-blue) 55%, #035d83 100%);
	background-repeat:repeat, no-repeat;
	background-size:280px 280px, 100% 100%;
	clip-path:polygon(0 3%, 19% 1%, 43% 2.5%, 69% .4%, 100% 2%, 100% 97%, 76% 99%, 48% 97.5%, 22% 100%, 0 98%);
	content:"";
}

.mco-vault .mco-eyebrow,
.mco-vault .mco-h2 {
	color:var(--mco-white);
	text-align:center;
}

.mco-vault__empty {
	border:2px dashed rgba(255, 255, 255, .65);
	border-radius:8px 12px 7px 11px;
	background:rgba(18, 19, 21, .13);
	color:var(--mco-white);
}

/* --- Resource cards: format icon + link ------------------------------- */
.mco-resource-card { position:relative; }
/* Keep card text dark on the card's own white surface, regardless of the
   (dark) section it sits in — e.g. the blue Vault panel. */
.mco-resource-card__link { display:block; color:var(--mco-charcoal); text-decoration:none; }
.mco-card__format {
	position:absolute; z-index:2; top:.55rem; left:.55rem;
	display:inline-flex; padding:.32rem; line-height:0;
	color:var(--mco-blue); background:var(--mco-white);
	border-radius:6px 8px 6px 7px; box-shadow:0 3px 8px rgba(18, 19, 21, .22);
}
.mco-resource-card .mco-card__text { color:#55575a; opacity:1; }
.mco-resource-card .mco-card__more { display:inline-block; margin-top:.35rem; color:var(--mco-blue); font-weight:700; }
.mco-resource-card__link:hover .mco-card__more { text-decoration:underline; }
.mco-resource-card__link:hover .mco-card__title { color:var(--mco-blue); }

/* --- The Vault: MHS-style category selector (nav left, panels right) ---- */
.mco-vault__intro { margin:.25rem auto 0; max-width:56ch; color:rgba(255, 255, 255, .9); text-align:center; }
.mco-resources__tabs {
	display:grid; grid-template-columns:minmax(200px, 236px) 1fr;
	gap:clamp(1.5rem, 3vw, 2.75rem); align-items:start; text-align:left;
	margin-top:clamp(1.75rem, 3vw, 2.75rem);
}
.mco-resources__nav { display:flex; flex-direction:column; gap:.35rem; }
.mco-resources__nav-title {
	margin:0 0 .5rem; color:var(--mco-white); opacity:.85;
	font-family:var(--mco-font-body); font-weight:800; font-size:.75rem;
	letter-spacing:.08em; text-transform:uppercase;
}
.mco-resources__tab {
	display:block; width:100%; padding:.7rem .9rem; cursor:pointer;
	border:0; border-radius:6px 9px 6px 8px; text-align:left;
	background:rgba(255, 255, 255, .1); color:var(--mco-white);
	font-family:var(--mco-font-body); font-weight:700; font-size:1rem; line-height:1.25;
	transition:background-color .15s ease, color .15s ease, transform .15s ease;
}
.mco-resources__tab:hover { background:rgba(255, 255, 255, .22); }
.mco-resources__tab.is-active { background:var(--mco-white); color:var(--mco-blue); transform:translateX(3px); }
.mco-resources__tab:focus-visible { outline:3px solid var(--mco-white); outline-offset:2px; }
.mco-resources__panel[hidden] { display:none; }
.mco-resources-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(1.25rem, 2.4vw, 1.9rem); }
/* Cards sit upright in the dense grid (no polaroid rotation); tape kept. */
.mco-homepage--member .mco-resources-grid .mco-polaroid-card { transform:none; margin:0; }
.mco-resources__empty {
	padding:2.5rem 1rem; text-align:center; color:var(--mco-white);
	border:2px dashed rgba(255, 255, 255, .6); border-radius:8px 12px 7px 11px;
	background:rgba(18, 19, 21, .13);
}

@media screen and (max-width:820px) {
	.mco-resources__tabs { grid-template-columns:1fr; }
	.mco-resources__nav { flex-direction:row; flex-wrap:wrap; align-items:center; }
	.mco-resources__nav-title { width:100%; }
	.mco-resources__tab { width:auto; }
	.mco-resources__tab.is-active { transform:none; }
	.mco-resources-grid { grid-template-columns:repeat(2, 1fr); }
}
@media screen and (max-width:560px) {
	.mco-resources-grid { grid-template-columns:1fr; }
}

.mco-wantmore .site-content-grid {
	display:grid;
	grid-template-columns:minmax(0, 1.3fr) minmax(260px, .7fr);
	gap:clamp(2.25rem, 3.5vw, 4rem);
}

.mco-wantmore .bb-grid-cell {
	width:auto;
	max-width:none;
	flex-basis:auto;
	min-width:0;
}

.mco-wantmore__media {
	border:7px solid var(--mco-white);
	border-radius:5px 9px 4px 8px;
	box-shadow:0 14px 26px rgba(18, 19, 21, .25);
	transform:rotate(.8deg);
}

/* --- Create account --- */
.mco-register__header {
	max-width:780px;
}

.mco-notice {
	margin-bottom:clamp(2rem, 4vw, 3rem);
	border:0;
	border-left:5px solid var(--mco-blue);
	border-radius:5px 8px 6px 7px;
	background:rgba(4, 115, 160, .1);
	color:var(--mco-charcoal);
	box-shadow:0 8px 18px rgba(18, 19, 21, .08);
}

.mco-notice > i {
	color:var(--mco-blue);
}

.mco-register__grid {
	display:grid;
	grid-template-columns:minmax(280px, .8fr) minmax(0, 1.2fr);
	gap:clamp(2.25rem, 3.5vw, 4rem);
}

.mco-register__grid > .bb-grid-cell {
	width:auto;
	max-width:none;
	flex-basis:auto;
	min-width:0;
}

.mco-register__form-column {
	position:relative;
	padding-top:1.25rem;
}

.mco-register__note {
	position:absolute;
	z-index:7;
	top:-2.25rem;
	right:1.5rem;
}

.mco-register__arrow {
	top:-2.8rem;
	left:-2.5rem;
	color:var(--mco-purple);
	transform:rotate(-48deg);
}

.mco-register__benefits {
	position:relative;
	height:auto;
	padding:clamp(2rem, 4vw, 3rem);
	border:0;
	border-radius:6px 10px 7px 9px;
	background:rgba(128, 91, 72, .09);
}

.mco-register__benefits::before {
	position:absolute;
	top:1.5rem;
	bottom:1.5rem;
	left:0;
	width:3px;
	border-radius:10px;
	background:var(--mco-green-yellow);
	content:"";
	transform:rotate(.4deg);
}

.mco-register__lead {
	color:var(--mco-purple);
	font-family:var(--mco-font-heading);
	font-size:clamp(1.35rem, 2vw, 1.7rem);
	line-height:1.3;
}

.mco-ticks li::before {
	color:var(--mco-green-yellow);
	font-size:1.15rem;
}

.mco-register__formbox {
	padding:clamp(2rem, 4vw, 3rem);
}

.mco-b2b-regform #b2b-regform-type label {
	color:var(--mco-purple);
}

.mco-b2b-regform #b2bdash-regform button[type=submit] {
	min-height:44px;
	padding:.85rem 1.6rem;
	border:2px solid transparent;
	border-radius:6px 8px 6px 7px;
	background:var(--mco-green-yellow);
	box-shadow:0 5px 0 rgba(18, 19, 21, .12);
	color:var(--mco-white);
	font-family:var(--mco-font-body);
	font-weight:800;
	text-shadow:0 1px 1px rgba(18, 19, 21, .32);
	cursor:pointer;
}

.mco-b2b-regform #b2bdash-regform button[type=submit]:hover {
	background:#978c04;
}

/* --- Contact page --- */
.mco-contact__body {
	padding-top:clamp(1.5rem, 2.5vw, 2.5rem) !important;
}

.mco-contact__grid {
	display:grid;
	grid-template-columns:minmax(260px, .7fr) minmax(0, 1.3fr);
	gap:clamp(2.25rem, 3.5vw, 4rem);
}

.mco-contact__grid > .bb-grid-cell {
	width:auto;
	max-width:none;
	flex-basis:auto;
	min-width:0;
}

.mco-contact__form-column {
	position:relative;
}

.mco-contact__note {
	position:absolute;
	z-index:7;
	top:-1.8rem;
	right:2.25rem;
}

.mco-contact__details,
.mco-contact__form {
	height:auto;
	padding:clamp(2rem, 4vw, 3rem);
}

.mco-contact__details {
	position:relative;
}

.mco-contact__spark {
	right:1.75rem;
	bottom:1.75rem;
	color:rgba(255, 255, 255, .68);
}

.mco-contact__details .mco-contact__item a,
.mco-contact__details .mco-contact__social a {
	color:var(--mco-white);
}

.mco-contact__details .mco-contact__social a {
	border:2px solid rgba(255, 255, 255, .72);
}

.mco-contact__details .mco-contact__item i {
	opacity:1;
}

.mco-contact__form .mco-contact-form .button {
	background:var(--mco-green-yellow);
}

/* --- Organisation landing page --- */
.mco-client-landing__hero-grid,
.mco-client-landing__welcome-grid,
.mco-client-landing__cta .site-content-grid {
	display:grid;
	gap:clamp(2.25rem, 4vw, 4.5rem);
}

.mco-client-landing__hero-grid {
	grid-template-columns:minmax(0, 1.15fr) minmax(340px, .85fr);
}

.mco-client-landing__welcome-grid {
	grid-template-columns:minmax(320px, 1.05fr) minmax(0, .95fr);
}

.mco-client-landing__cta .site-content-grid {
	grid-template-columns:minmax(0, 1.3fr) minmax(240px, .7fr);
}

.mco-client-landing__hero-grid > .bb-grid-cell,
.mco-client-landing__welcome-grid > .bb-grid-cell,
.mco-client-landing__cta .bb-grid-cell {
	width:auto;
	max-width:none;
	flex-basis:auto;
	min-width:0;
}

.mco-client-landing__hero .mco-hero__title {
	max-width:17ch;
}

.mco-client-landing__hero-visual {
	position:relative;
	padding-top:0;
}

.mco-client-landing__hero-annotation {
	position:relative;
	top:auto;
	right:auto;
	width:max-content;
	margin:0 .5rem .2rem auto;
	gap:.35rem;
	align-items:center;
	flex-direction:row;
}

.mco-image-annotation .mco-client-landing__hero-note {
	color:var(--mco-orange);
	max-width:none;
	white-space:nowrap;
	transform:rotate(-3deg);
}

.mco-client-landing__hero-arrow {
	width:56px;
	color:var(--mco-purple);
	transform:translateY(.55rem) scaleX(-1) rotate(4deg);
}

.mco-client-landing__welcome .mco-video-embed,
.mco-client-landing__welcome .mco-video-placeholder {
	border:8px solid var(--mco-white);
	border-radius:5px 9px 4px 8px;
	background:#24272b;
	box-shadow:0 15px 25px rgba(18, 19, 21, .28);
	transform:rotate(-.6deg);
}

.mco-client-landing__welcome .mco-video-placeholder__play {
	border-left-color:var(--mco-white);
}

.mco-client-landing .mco-features {
	isolation:isolate;
}

.mco-client-landing__included-layout {
	display:grid;
	grid-template-columns:minmax(0, .72fr) minmax(0, 1.28fr);
	gap:clamp(2.5rem, 5vw, 5.5rem);
	align-items:center;
}

.mco-client-landing .mco-features .mco-section__head {
	position:relative;
	max-width:34rem;
	padding-right:3.75rem;
}

.mco-client-landing__features-spark {
	top:.25rem;
	right:1rem;
	color:var(--mco-orange);
}

.mco-client-landing .mco-features::before {
	position:absolute;
	z-index:-1;
	inset:1rem 0 0;
	background:rgba(128, 91, 72, .09);
	clip-path:polygon(0 2%, 24% .5%, 48% 2%, 74% 0, 100% 1.7%, 100% 100%, 0 100%);
	content:"";
}

.mco-client-landing__included-board {
	position:relative;
	padding:clamp(1.35rem, 2.7vw, 2.35rem);
	border-radius:9px 13px 8px 12px;
	background-color:var(--mco-paper);
	background-image:url("../images/paper-texture.svg?v=4");
	background-repeat:repeat;
	background-size:320px 320px;
	box-shadow:0 18px 34px rgba(18, 19, 21, .17);
}

.mco-client-landing__included-board::before {
	position:absolute;
	inset:-6px 5px 5px -6px;
	border:2px solid var(--mco-purple);
	border-radius:12px 8px 14px 7px;
	content:"";
	pointer-events:none;
	transform:rotate(-.25deg);
}

.mco-client-landing__included-tape {
	top:-15px;
	width:82px;
	height:25px;
}

.mco-client-landing__included-tape--left {
	left:19%;
	transform:translateX(-50%) rotate(-4deg);
}

.mco-client-landing__included-tape--right {
	right:12%;
	left:auto;
	transform:rotate(3deg);
}

.mco-client-landing__included-grid {
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:0;
}

.mco-client-landing .mco-feature-card {
	display:grid;
	grid-template-columns:3.25rem minmax(0, 1fr);
	grid-template-rows:auto 1fr;
	column-gap:1rem;
	min-width:0;
	padding:clamp(1.25rem, 2.4vw, 2rem);
	overflow:visible;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
}

.mco-client-landing .mco-feature-card::before {
	display:none;
}

.mco-client-landing .mco-feature-card:nth-child(odd) {
	border-right:1px dashed rgba(71, 0, 66, .26);
}

.mco-client-landing .mco-feature-card:nth-child(-n+2) {
	border-bottom:1px dashed rgba(71, 0, 66, .26);
}

.mco-client-landing .mco-feature-card__icon {
	display:inline-flex;
	grid-row:1 / span 2;
	width:3.1rem;
	height:3.1rem;
	margin:0;
	border:2px solid currentColor;
	border-radius:48% 52% 46% 54%;
	align-items:center;
	justify-content:center;
	color:var(--mco-blue);
	font-size:1.5rem;
	opacity:1;
	transform:rotate(-3deg);
}

.mco-client-landing .mco-feature-card:nth-child(2) .mco-feature-card__icon {
	color:var(--mco-purple);
	transform:rotate(2deg);
}

.mco-client-landing .mco-feature-card:nth-child(3) .mco-feature-card__icon {
	color:var(--mco-orange);
	transform:rotate(3deg);
}

.mco-client-landing .mco-feature-card:nth-child(4) .mco-feature-card__icon {
	color:var(--mco-brown);
	transform:rotate(-2deg);
}

.mco-client-landing .mco-feature-card__title {
	position:relative;
	width:fit-content;
	margin:.05rem 0 .65rem;
}

.mco-client-landing .mco-feature-card__title::after {
	position:absolute;
	right:0;
	bottom:-.4rem;
	left:0;
	height:7px;
	background:url("../images/pen-underline-orange.svg") left center / 100% 7px no-repeat;
	content:"";
	opacity:.8;
	pointer-events:none;
}

.mco-client-landing .mco-feature-card__text {
	grid-column:2;
	margin:0;
	color:#4f5053;
	font-size:.95rem;
	line-height:1.55;
	opacity:1;
}

.mco-client-landing__cta-actions {
	color:var(--mco-white);
}

.mco-client-landing__login a {
	font-weight:800;
	text-underline-offset:4px;
}

/* --- Mailing-list page --- */
.mco-mailing-page__hero {
	padding-top:clamp(3.5rem, 5vw, 5rem) !important;
	padding-bottom:clamp(3.5rem, 5vw, 5rem) !important;
}

.mco-mailing-panel {
	padding:clamp(2.5rem, 4vw, 4rem);
}

.mco-mailing-panel__grid {
	display:grid;
	grid-template-columns:minmax(0, 1.25fr) minmax(280px, .75fr);
	gap:clamp(2.5rem, 4vw, 4rem);
}

.mco-mailing-panel__grid > .bb-grid-cell {
	width:auto;
	max-width:none;
	flex-basis:auto;
	min-width:0;
}

.mco-mailing-panel .mco-hero__title {
	max-width:16ch;
	color:var(--mco-white);
}

.mco-mailing-panel .mco-mailing-form__fields input[type=email] {
	min-width:0;
	border:2px solid transparent;
	box-shadow:0 5px 0 rgba(18, 19, 21, .14);
}

.mco-mailing-panel__sub,
.mco-mailing-panel__privacy {
	color:rgba(255, 255, 255, .88);
	opacity:1;
}

.mco-mailing-panel__paper-note {
	position:relative;
	display:flex;
	gap:.5rem;
	align-items:center;
	margin-top:1.5rem;
}

.mco-mailing-panel__paper-note .mco-paper-note {
	font-size:1.15rem;
	transform:rotate(1.5deg);
}

.mco-mailing-panel__arrow {
	position:relative;
	flex:0 0 68px;
	width:68px;
	color:var(--mco-green-yellow);
	transform:rotate(68deg);
}

.mco-mailing-panel__portrait {
	position:relative;
	width:min(100%, 330px);
	margin:auto;
	padding-top:2.25rem;
}

.mco-mailing-panel__portrait .mco-person__frame {
	padding:8px;
	background:var(--mco-white);
}

.mco-mailing-panel__portrait .mco-person__img,
.mco-mailing-panel__portrait .mco-person__img--placeholder {
	width:100%;
	height:auto;
	aspect-ratio:4 / 5;
	margin:0;
	border:0;
	border-radius:2px;
	object-fit:cover;
}

.mco-mailing-panel__portrait .mco-person__caption {
	color:var(--mco-white);
}

.mco-mailing-panel__portrait .mco-person__role {
	opacity:.8;
}

.mco-mailing-panel__note {
	position:absolute;
	z-index:3;
	top:-.75rem;
	left:-1rem;
	color:var(--mco-green-yellow);
	transform:rotate(-5deg);
}

@media screen and (max-width:960px) {
	.mco-client-landing__included-layout {
		grid-template-columns:1fr;
		gap:2.75rem;
	}

	.mco-client-landing .mco-features .mco-section__head {
		max-width:780px;
	}

	.mco-member-hero__grid,
	.mco-homepage--member .mco-client-intro .site-content-grid,
	.mco-wantmore .site-content-grid,
	.mco-register__grid,
	.mco-contact__grid,
	.mco-client-landing__hero-grid,
	.mco-client-landing__welcome-grid,
	.mco-client-landing__cta .site-content-grid,
	.mco-mailing-panel__grid {
		grid-template-columns:1fr;
		row-gap:clamp(2rem, 4vw, 3rem);
	}

	.mco-member-hero__visual,
	.mco-client-landing__hero .mco-hero__media {
		width:min(100%, 600px);
		margin:1rem auto 0;
	}

	.mco-member-resources__arrow {
		display:none;
	}

	.mco-contact__details {
		height:auto;
	}

	.mco-client-landing__cta-actions {
		text-align:left;
	}

	.mco-mailing-panel__portrait {
		width:min(100%, 340px);
	}
}

@media screen and (max-width:640px) {
	.mco-brand-page .mco-section {
		padding:3.25rem 0;
	}

	.mco-brand-page .mco-section + .mco-section {
		padding-top:2rem;
	}

	.mco-member-resources__head {
		grid-template-columns:1fr;
		gap:1rem;
	}

	.mco-brand-page .mco-page-title,
	.mco-brand-page .mco-hero__title {
		font-size:clamp(2.45rem, 11.5vw, 3.3rem);
	}

	.mco-cut-panel {
		padding:2.5rem 1.35rem;
	}

	.mco-member-hero__visual {
		padding:2rem .35rem .5rem;
	}

	.mco-member-resources__note,
	.mco-register__note,
	.mco-contact__note {
		position:relative;
		top:auto;
		right:auto;
		display:inline-block;
		margin:0 0 1.25rem;
	}

	.mco-member-resources__note {
		margin-bottom:0;
	}

	.mco-register__form-column,
	.mco-client-landing__hero-visual {
		padding-top:0;
	}

	.mco-client-landing__hero-annotation {
		top:auto;
		right:auto;
		width:auto;
		flex-direction:row;
		margin:0 0 1rem .25rem;
	}

	.mco-client-landing__hero-annotation .mco-hand-note {
		max-width:14ch;
		margin:0;
		white-space:normal;
	}

	.mco-register__arrow,
	.mco-client-landing__hero-arrow,
	.mco-pen-spark {
		display:none;
	}

	.mco-client-landing .mco-features .mco-section__head {
		padding-right:0;
	}

	.mco-contact__note {
		margin-left:auto;
	}

	.mco-homepage--member .mco-polaroid-card,
	.mco-homepage--member .mco-polaroid-card:nth-child(2),
	.mco-homepage--member .mco-polaroid-card:nth-child(3) {
		transform:none;
	}

	.mco-register__benefits,
	.mco-register__formbox,
	.mco-contact__details,
	.mco-contact__form {
		padding:2rem 1.35rem;
	}

	.mco-brand-page .mco-grid-3,
	.mco-brand-page .mco-grid-4,
	.mco-form-row {
		grid-template-columns:1fr;
	}

	.mco-client-landing__included-board {
		padding:1.1rem .85rem;
	}

	.mco-client-landing .mco-feature-card {
		grid-template-columns:3rem minmax(0, 1fr);
		padding:1.35rem .8rem;
	}

	.mco-client-landing .mco-feature-card:nth-child(n) {
		border-right:0;
		border-bottom:1px dashed rgba(71, 0, 66, .26);
	}

	.mco-client-landing .mco-feature-card:last-child {
		border-bottom:0;
	}

	.mco-purchased-card__media {
		min-height:210px;
		aspect-ratio:4 / 3;
	}

	.mco-purchased-card__footer,
	.mco-purchased-card__meta {
		align-items:flex-start;
		text-align:left;
	}

	.mco-mailing-form__fields {
		align-items:stretch;
		flex-direction:column;
	}

	.mco-mailing-form__fields .button {
		width:100%;
	}

	.mco-mailing-form__fields input[type=email] {
		width:100%;
		flex:0 0 auto;
	}

	.mco-mailing-panel__arrow {
		display:none;
	}
}

@media (prefers-reduced-motion:reduce) {
	.mco-brand-page .button {
		transition:none;
	}
}

/* =====================================================================
   Product / sales page (templates/product.php)
   ===================================================================== */

/* --- Hero --- */
.mco-product-hero__grid {
	display:grid;
	grid-template-columns:minmax(0, 1.02fr) minmax(320px, .98fr);
	gap:clamp(2.5rem, 4vw, 4.5rem);
	align-items:center;
}
.mco-product-hero__copy { max-width:640px; }
.mco-product-hero__media { max-width:520px; margin-left:auto; }
.mco-product-hero__img { display:block; width:100%; height:auto; border-radius:2px; }

/* Benefits checklist with a hand-drawn tick. */
.mco-checklist { list-style:none; margin:1.5rem 0 1.9rem; padding:0; display:grid; gap:.9rem; }
.mco-checklist li { display:flex; align-items:flex-start; gap:.75rem; }
.mco-check {
	flex:none; width:24px; height:24px; margin-top:.12rem;
	fill:none; stroke:var(--mco-green-yellow); stroke-width:3;
	stroke-linecap:round; stroke-linejoin:round;
}
.mco-checklist span { color:var(--mco-charcoal); font-weight:600; line-height:1.4; }

/* Price box. */
.mco-pricebox {
	max-width:340px;
	padding:1.4rem 1.75rem 1.7rem;
	border-radius:8px 12px 7px 11px;
	background:var(--mco-white);
	box-shadow:0 16px 34px var(--mco-shadow);
	text-align:center;
}
.mco-pricebox__label {
	display:block;
	font-family:var(--mco-font-heading);
	font-style:italic;
	font-size:1.05rem;
	color:#55575a;
}
.mco-pricebox__price {
	display:block;
	margin:.3rem 0 1.1rem;
	font-family:var(--mco-font-heading);
	font-weight:700;
	font-size:clamp(2.6rem, 5vw, 3.4rem);
	line-height:1;
	color:var(--mco-purple);
}
.mco-pricebox__price .woocommerce-Price-amount { font:inherit; color:inherit; }
.mco-pricebox__cta { display:inline-block; width:100%; }
.mco-pricebox--lg { max-width:420px; margin:0 auto; }

/* Rating (stars + caption). */
.mco-rating { margin-top:1.4rem; text-align:center; }
.mco-rating .mco-stars {
	text-align:center;
	margin:0;
	color:var(--mco-green-yellow);
	font-size:1.5rem;
	letter-spacing:4px;
}
.mco-rating__caption { margin:.4rem 0 0; color:#55575a; font-size:.9rem; }

/* --- Features closing line --- */
.mco-product-features__closing {
	margin:clamp(2rem, 3.5vw, 3rem) auto 0;
	max-width:60ch;
	text-align:center;
	font-family:var(--mco-font-heading);
	font-size:clamp(1.2rem, 2vw, 1.55rem);
	font-weight:700;
	color:var(--mco-purple);
}

/* --- Alternating image / text rows ---
   A fixed image column that swaps sides for reversed rows. (Auto margins on a
   grid item collapse it to content width, which was shrinking the right-hand
   images — so the side is controlled by the column order, not by margins.) */
.mco-altrow {
	display:grid;
	grid-template-columns:minmax(0, 440px) minmax(0, 1fr);
	gap:clamp(2rem, 4vw, 4.5rem);
	align-items:center;
	margin-bottom:clamp(2.75rem, 4vw, 4rem);
}
.mco-altrow--reverse { grid-template-columns:minmax(0, 1fr) minmax(0, 440px); }
.mco-altrow:last-child { margin-bottom:0; }
.mco-altrow--reverse .mco-altrow__media { order:2; }
.mco-altrow--reverse .mco-altrow__copy { order:1; }
.mco-altrow__img { display:block; width:100%; height:auto; border-radius:2px; }
.mco-altrow__copy h3 { color:var(--mco-purple); margin-bottom:.6rem; }
.mco-altrow__copy p { color:#3c3e42; line-height:1.65; }

/* --- Testimonial ---
   The figure is centred with !important because BuddyBoss's member CSS resets
   `figure { margin: 0 }`, which otherwise left-aligns the whole block. */
.mco-product .mco-testimonial {
	max-width:840px;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center;
}
.mco-testimonial__avatar {
	width:118px; height:118px; margin:0 auto 1.4rem;
}
.mco-testimonial__avatar img,
.mco-testimonial__avatar .mco-testimonial__img {
	width:118px; height:118px; border-radius:50%; object-fit:cover;
	border:4px solid var(--mco-white); box-shadow:0 12px 26px var(--mco-shadow);
}
.mco-testimonial__avatar .mco-person__img--placeholder {
	display:block; width:118px; height:118px; border-radius:50%;
	background:var(--mco-paper-soft); box-shadow:0 12px 26px var(--mco-shadow);
}
.mco-testimonial__quote { position:relative; max-width:680px; margin:0 auto; padding-top:1.5rem; text-align:center; }
.mco-testimonial__quote::before {
	content:"\201C";
	position:absolute; top:-1.4rem; left:50%; transform:translateX(-50%);
	color:var(--mco-orange); opacity:.5;
	font-family:var(--mco-font-heading); font-size:5rem; line-height:1;
}
.mco-testimonial__quote p {
	margin:0;
	font-family:var(--mco-font-heading);
	font-style:italic;
	font-size:clamp(1.2rem, 2.1vw, 1.6rem);
	line-height:1.45;
	color:var(--mco-charcoal);
}
.mco-testimonial__cite { margin-top:1.25rem; }
.mco-testimonial__name { display:block; font-weight:800; color:var(--mco-purple); }
.mco-testimonial__role { display:block; margin-top:.15rem; color:#55575a; font-size:.9rem; }

/* --- Closing CTA --- */
.mco-product-cta .container { text-align:center; }

/* --- Torn paper-shade bands (break up the long page, like the homepage) ---
   A textured shade sheet clipped to a hand-torn top + bottom edge, sitting
   behind the section content so the page reads as stacked cut-paper. */
.mco-product .mco-band { isolation:isolate; }
.mco-product .mco-band::before {
	position:absolute;
	z-index:-1;
	inset:0;
	background-image:url("../images/paper-texture.svg?v=4");
	background-repeat:repeat;
	background-size:320px 320px;
	clip-path:polygon(0 2.4%, 22% .6%, 47% 2%, 71% .3%, 100% 2.2%, 100% 97.6%, 76% 99.4%, 50% 98.2%, 25% 100%, 0 97.6%);
	content:"";
}
.mco-product .mco-band--soft::before { background-color:var(--mco-paper-soft); }
.mco-product .mco-band--warm::before { background-color:#ede6e2; }

@media screen and (max-width:960px) {
	.mco-product-hero__grid { grid-template-columns:1fr; gap:2.5rem; }
	.mco-product-hero__media { margin:0 auto; }
	.mco-altrow,
	.mco-altrow--reverse { grid-template-columns:1fr; gap:1.75rem; }
	.mco-altrow__media {
		order:0;
		max-width:440px;
		margin:0 auto;
	}
}
