/* ==========================================================================
   Motion Camp — neo-brutalist design system (faithful to Figma)
   Palette & tokens extracted from design VYrd7VkmNCBGAILUt26hXO
   ========================================================================== */

:root {
	--mc-purple:    #BE62F4;
	--mc-cream:     #F7F3EC;
	--mc-lavender:  #F1E6FB;
	--mc-dark:      #222222;
	--mc-dark-card: #2D2D2D;
	--mc-yellow:    #FFD23F;
	--mc-green:     #16C172;
	--mc-green-soft:#8BE08F;
	--mc-coral:     #FF6B5C;
	--mc-ink:       #141414;
	--mc-white:     #FFFFFF;
	--mc-shadow:    #111111;
	--mc-muted:     #6B6770;

	--font-display: "Poppins", system-ui, sans-serif;
	--font-body:    "Inter", system-ui, sans-serif;

	--mc-radius:    22px;
	--mc-radius-sm: 14px;
	--mc-radius-lg: 30px;
	--mc-pill:      100px;
	--mc-border:    2.5px;
	--mc-container: 1240px;
	--mc-ease:      cubic-bezier(.22,1,.36,1);
	--mc-bsh:       5px 5px 0 var(--mc-shadow);
	--mc-bsh-sm:    4px 4px 0 var(--mc-shadow);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

body {
	margin: 0;
	font-family: var(--font-body);
	color: var(--mc-ink);
	background: var(--mc-cream);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

/* Minimal auto-hiding scrollbar */
html { scrollbar-width: thin; scrollbar-color: transparent transparent; }
html:hover, html:active { scrollbar-color: rgba(20,20,20,.32) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; background: transparent; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-track-piece { background: transparent; }
::-webkit-scrollbar-corner { background: transparent; }
::-webkit-scrollbar-thumb { background: transparent; border-radius: 8px; border: 2px solid transparent; background-clip: padding-box; transition: background .3s; }
html:hover ::-webkit-scrollbar-thumb, html:active ::-webkit-scrollbar-thumb { background: rgba(20,20,20,.32); background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(20,20,20,.5); }

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

h1, h2, h3 { font-family: var(--font-display); line-height: 1.04; margin: 0; font-weight: 800; letter-spacing: -.02em; }

.mc-container { width: 100%; max-width: var(--mc-container); margin-inline: auto; padding-inline: clamp(18px, 5vw, 40px); }

/* ---------- Section bands ---------- */
.mc-section { padding-block: clamp(56px, 9vw, 110px); position: relative; }
.mc-cream    { background: var(--mc-cream); color: var(--mc-ink); }
.mc-lavender { background: var(--mc-lavender); color: var(--mc-ink); }
.mc-purple   { background: var(--mc-purple); color: var(--mc-cream); }
.mc-dark     { background-color: var(--mc-dark); background-image: url(../img/topo.png); background-size: cover; background-position: center; background-repeat: no-repeat; color: var(--mc-cream); }

.mc-section__head { margin-bottom: clamp(28px, 5vw, 56px); max-width: 820px; }
.mc-section__head--center { margin-inline: auto; text-align: center; }
.mc-section__title { font-size: clamp(30px, 5vw, 54px); font-weight: 800; }
.mc-purple .mc-section__title, .mc-dark .mc-section__title { color: var(--mc-cream); }
.mc-section__text { color: var(--mc-muted); margin-top: 16px; font-size: 18px; }
.mc-dark .mc-section__text, .mc-purple .mc-section__text { color: rgba(247,243,236,.85); }

/* ---------- Eyebrow pill ---------- */
.mc-eyebrow {
	display: inline-block; font-family: var(--font-display); font-weight: 600;
	font-size: 13px; letter-spacing: .39px; text-transform: uppercase;
	background: var(--mc-white); color: var(--mc-ink);
	padding: 9px 16px; border-radius: var(--mc-pill);
	border: var(--mc-border) solid var(--mc-ink); margin-bottom: 22px;
}

/* ---------- Buttons (brutalist pill + hard shadow) ---------- */
.mc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--font-display); font-weight: 600; font-size: 18px;
	padding: 16px 28px; border-radius: var(--mc-pill);
	border: 3px solid var(--mc-ink); background: var(--mc-white); color: var(--mc-ink);
	box-shadow: var(--mc-bsh-sm); cursor: pointer;
	transition: transform .15s var(--mc-ease), box-shadow .15s var(--mc-ease), background .2s;
	will-change: transform;
}
.mc-btn:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--mc-shadow); }
.mc-btn:active { transform: translate(4px,4px); box-shadow: 0 0 0 var(--mc-shadow); }
.mc-btn--primary { background: var(--mc-yellow); }
.mc-btn--ghost { background: var(--mc-white); }

/* ---------- Top promo marquee bar ---------- */
:root { --mc-topbar-h: 40px; }
.mc-topbar {
	position: sticky; top: 0; left: 0; right: 0; height: var(--mc-topbar-h); z-index: 101;
	background: #FF6A5A; color: #fff; overflow: hidden; display: flex; align-items: center;
	border-bottom: 2.5px solid var(--mc-ink);
}
.mc-marquee { display: flex; flex-wrap: nowrap; white-space: nowrap; will-change: transform; animation: mc-marquee 30s linear infinite; }
.mc-topbar:hover .mc-marquee { animation-play-state: paused; }
.mc-marquee__group { display: flex; flex-wrap: nowrap; }
.mc-marquee__item { display: inline-flex; align-items: center; font-family: var(--font-display); font-weight: 600; font-size: 13px; letter-spacing: .03em; padding: 0 16px; }
.mc-marquee__sep { padding: 0 6px; opacity: .75; font-weight: 700; }
@keyframes mc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .mc-marquee { animation: none; } }

/* ---------- Header ---------- */
.mc-header {
	position: sticky; top: var(--mc-topbar-h); z-index: 100;
	background: var(--mc-white);
	box-shadow: 0 2px 6px rgba(0,0,0,.08);
	transition: transform .35s var(--mc-ease);
}
.mc-header.is-hidden { transform: translateY(-100%); }
.mc-header__inner { display: flex; align-items: center; gap: 20px; min-height: 72px; padding-block: 14px; }
.mc-header__logo { display: inline-flex; align-items: center; }
.mc-header__logo img, .mc-logo-img { height: 30px; width: auto; }
.mc-logo-text { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; font-size: 20px; color: var(--mc-ink); }
.mc-logo-text--light { color: var(--mc-cream); }
.mc-header__nav { margin-left: auto; }
.mc-menu { display: none; list-style: none; gap: 30px; margin: 0; padding: 0; }
.mc-menu a { font-family: var(--font-body); font-weight: 500; font-size: 16px; position: relative; }
.mc-menu a::after { content: ""; position: absolute; left: 0; bottom: -4px; width: 0; height: 2px; background: currentColor; transition: width .3s var(--mc-ease); }
.mc-menu a:hover::after { width: 100%; }
.mc-header__cta { display: none; font-size: 16px; padding: 13px 24px; }
.mc-burger { margin-left: auto; display: inline-flex; flex-direction: column; gap: 5px; background: none; border: 0; padding: 8px; cursor: pointer; }
.mc-burger span { width: 26px; height: 2.5px; background: var(--mc-ink); transition: transform .3s, opacity .3s; }
.mc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.mc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
.mc-mobile-nav {
	position: fixed; inset: calc(var(--mc-topbar-h) + 72px) 0 0; background: var(--mc-purple); color: var(--mc-cream); z-index: 99;
	transform: translateX(100%); transition: transform .35s var(--mc-ease); overflow: hidden;
}
.mc-mobile-nav.is-open { transform: translateX(0); }
.mc-mobile-nav__inner { position: relative; z-index: 2; height: 100%; overflow-y: auto; padding: 40px 24px 230px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.mc-mobile-nav .mc-menu { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 320px; }
.mc-mobile-nav .mc-menu li { width: 100%; }
.mc-mobile-nav .mc-menu a { display: flex; align-items: center; justify-content: center; width: 100%; background: var(--mc-white); color: var(--mc-ink); border: 2.5px solid var(--mc-ink); border-radius: var(--mc-pill); box-shadow: var(--mc-bsh-sm); font-family: var(--font-display); font-size: 20px; font-weight: 700; padding: 14px 20px; }
.mc-mobile-nav .mc-menu a::after { display: none; }
.mc-mobile-nav .mc-btn { width: 100%; max-width: 320px; margin-top: 6px; }
.mc-mn-flower { display: none; }
/* decorations behind menu items */
.mc-mobile-nav__deco { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.mc-mobile-nav__deco img { position: absolute; }
.mc-mn-cloud--1 { top: 40%; left: -58px; width: 150px; opacity: .9; }
.mc-mn-cloud--2 { top: 53%; right: -48px; width: 120px; opacity: .9; }
.mc-mn-mascot { bottom: 0; left: 50%; transform: translateX(-50%); width: 170px; }
.mc-mn-flower--1 { bottom: 18px; left: 15%; width: 44px; }
.mc-mn-flower--2 { bottom: 30px; right: 15%; width: 38px; }

/* ---------- Hero ---------- */
.mc-hero { background: var(--mc-purple); color: var(--mc-cream); overflow: hidden; padding-block: clamp(48px, 7vw, 80px); }
.mc-hero__inner { display: grid; gap: 36px; align-items: center; position: relative; z-index: 2; }

/* Hero decorative stickers (extracted from Figma) */
.mc-hero__deco { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.mc-deco { position: absolute; display: block; }
.mc-deco--1 { left: 67.6%; top: 11.7%; width: 189px; }
.mc-deco--2 { left: 82%;   top: 28.7%; width: 229px; }
.mc-deco--3 { left: 44%;   top: 27.8%; width: 151px; }
.mc-deco--4 { left: 42.4%; top: 19.3%; width: 39px; }
.mc-deco--5 { left: 44%;   top: 67.2%; width: 56px; }
.mc-deco--6 { left: 1.5%;  top: 69.8%; width: 62px; }
.mc-deco--7 { left: 51.7%; top: 70.5%; width: 69px; }
.mc-deco--8 { left: 86.7%; top: 66%;   width: 43px; }
/* Mobile mascot between title and subtitle */
.mc-hero__mascot-mobile { display: none; }
@media (max-width: 959px) {
	/* hide clouds + flowers; keep sparkles */
	.mc-deco--1, .mc-deco--2, .mc-deco--3, .mc-deco--7, .mc-deco--8 { display: none; }
	.mc-deco--4 { left: 80%; top: 6%; }
	.mc-deco--6 { top: auto; bottom: 10%; left: 4%; }
}
.mc-hero__copy { display: flex; flex-direction: column; gap: 34px; align-items: flex-start; }
.mc-hero .mc-eyebrow { margin-bottom: 0; }
.mc-hero__title { font-family: var(--font-display); font-weight: 900; font-size: clamp(44px, 8.5vw, 74px); line-height: .95; letter-spacing: -1.48px; color: var(--mc-cream); }
.mc-hero__text { font-size: clamp(16px, 2.4vw, 19px); line-height: 1.58; max-width: 560px; color: var(--mc-cream); opacity: .88; margin: 0; }
.mc-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; }
.mc-hero__note { font-family: var(--font-body); font-weight: 500; font-size: 15px; color: var(--mc-cream); opacity: .85; margin: 0; }
.mc-hero__tags { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.mc-hero__tags li { background: rgba(255,255,255,.16); border: 2px solid var(--mc-cream); padding: 7px 14px; border-radius: var(--mc-pill); font-size: 14px; font-weight: 500; }
.mc-hero__visual { display: flex; justify-content: center; align-items: center; }
.mc-hero__mascot { max-height: 420px; width: auto; will-change: transform; }
.mc-hero__mascot--placeholder { font-size: 100px; }

/* ---------- Cards (shared brutalist) ---------- */
.mc-card {
	background: var(--mc-white); color: var(--mc-ink);
	border: var(--mc-border) solid var(--mc-ink); border-radius: var(--mc-radius);
	padding: 28px; height: 100%; box-shadow: var(--mc-bsh);
	transition: transform .2s var(--mc-ease), box-shadow .2s var(--mc-ease);
}
.mc-card:hover { transform: translate(-3px,-3px); box-shadow: 8px 8px 0 var(--mc-shadow); }
.mc-card__num { font-family: var(--font-display); font-weight: 800; font-size: 38px; color: var(--mc-purple); display: block; margin-bottom: 14px; }
.mc-card__icon { font-size: 30px; display: block; margin-bottom: 14px; }
.mc-card__title { font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.mc-card__text { color: var(--mc-muted); font-size: 15px; }
/* Cards on dark band */
.mc-dark .mc-card { background: var(--mc-dark-card); color: var(--mc-cream); border-color: var(--mc-ink); box-shadow: 5px 5px 0 #000; }
.mc-dark .mc-card__text { color: rgba(247,243,236,.7); }
.mc-dark .mc-card:hover { box-shadow: 8px 8px 0 #000; }

.mc-workflow__grid, .mc-care__grid { display: grid; gap: 18px; grid-template-columns: 1fr; }

/* ---------- Stats ---------- */
.mc-stats { background: var(--mc-cream); padding-block: clamp(28px, 5vw, 56px); }
.mc-stats__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.mc-stat { background: var(--mc-white); border: var(--mc-border) solid var(--mc-ink); border-radius: var(--mc-radius); padding: 22px; box-shadow: var(--mc-bsh-sm); }
.mc-stat__icon { font-size: 26px; display: block; margin-bottom: 12px; }
.mc-icon-img { width: 32px; height: 32px; object-fit: contain; }
.mc-stat__value { font-family: var(--font-display); font-weight: 800; font-size: clamp(20px, 4vw, 26px); }
.mc-stat__label { color: var(--mc-muted); font-size: 14px; }

/* ---------- Form sections ---------- */
.mc-formsec__inner { display: grid; gap: 36px; align-items: center; }
.mc-formsec__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.mc-formsec__text { color: var(--mc-cream); opacity: .88; margin: 0; font-size: 18px; }
.mc-checklist { list-style: none; padding: 0; margin: 6px 0 0; display: flex; flex-direction: column; gap: 12px; }
.mc-checklist li { display: flex; gap: 12px; align-items: center; font-weight: 500; }
.mc-checklist li::before { content: "✓"; display: inline-flex; width: 24px; height: 24px; background: var(--mc-yellow); color: var(--mc-ink); border: 2px solid var(--mc-ink); border-radius: 50%; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex: 0 0 auto; }
.mc-checklist--dark li::before { background: var(--mc-purple); color: var(--mc-white); }
.mc-checklist__ic { display: none; }

/* ---------- Inclusive / location media split ---------- */
.mc-inclusive__inner, .mc-location__inner { display: grid; gap: 36px; align-items: center; }
.mc-inclusive__copy, .mc-location__copy { display: flex; flex-direction: column; align-items: flex-start; }
.mc-inclusive__img, .mc-location__img { border: 3px solid var(--mc-ink); border-radius: var(--mc-radius-lg); box-shadow: var(--mc-bsh); width: 100%; object-fit: cover; }
.mc-taglist { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mc-taglist li { display: inline-flex; align-items: center; gap: 8px; background: var(--mc-white); border: 2px solid var(--mc-ink); padding: 8px 14px; border-radius: var(--mc-pill); font-weight: 500; font-size: 14px; }
.mc-taglist--light li { background: var(--mc-dark-card); border-color: var(--mc-ink); color: var(--mc-cream); }

/* ---------- People (yellow cards) ---------- */
.mc-people__grid { display: grid; gap: 22px; grid-template-columns: 1fr; }
.mc-person { background: var(--mc-yellow); border: 3px solid var(--mc-ink); border-radius: var(--mc-radius-lg); overflow: hidden; box-shadow: var(--mc-bsh); transition: transform .2s var(--mc-ease), box-shadow .2s var(--mc-ease); }
.mc-person:hover { transform: translate(-3px,-3px); box-shadow: 8px 8px 0 var(--mc-shadow); }
.mc-person__photo { line-height: 0; font-size: 0; }
.mc-person__img, .mc-person__photo .mc-ph { display: block; width: 100%; height: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 30%; border-bottom: 3px solid var(--mc-ink); }
.mc-person__body { padding: 24px; }
.mc-person__name { font-size: 24px; font-weight: 800; }
.mc-person__role { font-weight: 600; color: var(--mc-ink); opacity: .7; }
.mc-person__bio { margin: 12px 0; font-size: 15px; }
.mc-chiplist { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mc-chiplist li { background: var(--mc-white); border: 2px solid var(--mc-ink); padding: 5px 12px; border-radius: var(--mc-pill); font-size: 13px; font-weight: 600; }

/* ---------- Get there ---------- */
.mc-getthere__inner { display: grid; gap: 36px; align-items: center; }
.mc-getthere__media { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.mc-getthere__img img, .mc-getthere__img .mc-ph { border: 3px solid var(--mc-ink); border-radius: var(--mc-radius); width: 100%; aspect-ratio: 3/4; object-fit: cover; box-shadow: var(--mc-bsh-sm); }

/* ---------- Accordion ---------- */
.mc-program__cols { display: grid; gap: 28px; grid-template-columns: 1fr; }
.mc-accordion-col__title { font-size: 18px; font-weight: 700; margin-bottom: 14px; }
.mc-accordion { display: flex; flex-direction: column; gap: 12px; }
.mc-accordion__item { background: var(--mc-white); color: var(--mc-ink); border: var(--mc-border) solid var(--mc-ink); border-radius: var(--mc-radius-sm); overflow: hidden; box-shadow: var(--mc-bsh-sm); }
.mc-dark .mc-accordion__item { background: var(--mc-dark-card); color: var(--mc-cream); box-shadow: 4px 4px 0 #000; }
.mc-accordion__head { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; background: none; border: 0; color: inherit; font-family: var(--font-display); font-weight: 600; font-size: 16px; text-align: left; padding: 18px 20px; cursor: pointer; }
.mc-accordion__icon { position: relative; width: 34px; height: 34px; flex: 0 0 auto; border: 2.5px solid var(--mc-ink); border-radius: 50%; background: var(--mc-white); transition: background .25s; }
.mc-accordion__icon::before, .mc-accordion__icon::after { content: ""; position: absolute; top: 50%; left: 50%; background: var(--mc-ink); transition: transform .3s var(--mc-ease); }
.mc-accordion__icon::before { width: 14px; height: 2.5px; transform: translate(-50%,-50%); }
.mc-accordion__icon::after { width: 2.5px; height: 14px; transform: translate(-50%,-50%); }
.mc-accordion__item.is-open .mc-accordion__icon { background: var(--mc-coral); border-color: var(--mc-ink); }
.mc-accordion__item.is-open .mc-accordion__icon::before, .mc-accordion__item.is-open .mc-accordion__icon::after { background: #fff; }
.mc-accordion__item.is-open .mc-accordion__icon::after { transform: translate(-50%,-50%) scaleY(0); }
.mc-accordion__panel { overflow: hidden; height: 0; transition: height .35s var(--mc-ease); }
.mc-accordion__inner { padding: 0 20px 20px; color: var(--mc-muted); font-size: 15px; }
.mc-dark .mc-accordion__inner { color: rgba(247,243,236,.72); }
.mc-accordion--faq { max-width: 860px; margin-inline: auto; }

/* ---------- Dates ---------- */
.mc-dates__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.mc-datecard { background: var(--mc-white); color: var(--mc-ink); border: var(--mc-border) solid var(--mc-ink); border-radius: var(--mc-radius); padding: 22px; text-align: center; box-shadow: var(--mc-bsh-sm); transition: transform .2s var(--mc-ease); }
.mc-datecard:hover { transform: translate(-2px,-2px) rotate(-1.5deg); }
.mc-datecard__day { display: block; font-family: var(--font-display); font-weight: 800; font-size: 26px; }
.mc-datecard__label { font-size: 13px; color: var(--mc-muted); }
.mc-dates__banner { margin-top: 24px; background: var(--mc-yellow); color: var(--mc-ink); border: 3px solid var(--mc-ink); display: flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--font-display); font-weight: 700; padding: 16px; border-radius: var(--mc-radius); box-shadow: var(--mc-bsh-sm); }

/* ---------- Pricing ---------- */
.mc-pricing__grid { display: grid; gap: 20px; grid-template-columns: 1fr; align-items: start; }
.mc-plan { background: var(--mc-white); color: var(--mc-ink); border: 3px solid var(--mc-ink); border-radius: var(--mc-radius-lg); padding: 32px; position: relative; box-shadow: var(--mc-bsh); transition: transform .2s var(--mc-ease), box-shadow .2s var(--mc-ease); }
.mc-plan:hover { transform: translate(-3px,-3px); box-shadow: 8px 8px 0 var(--mc-shadow); }
.mc-plan--featured { background: var(--mc-yellow); }
.mc-plan__badge { position: absolute; top: -14px; right: 22px; background: var(--mc-purple); color: var(--mc-white); border: 2.5px solid var(--mc-ink); font-family: var(--font-display); font-weight: 700; font-size: 12px; padding: 6px 14px; border-radius: var(--mc-pill); }
.mc-plan__price { font-family: var(--font-display); font-weight: 800; font-size: 46px; }
.mc-plan__period { color: var(--mc-muted); margin-bottom: 18px; }
.mc-plan__features { list-style: none; padding: 0; margin: 0 0 26px; display: flex; flex-direction: column; gap: 12px; }
.mc-plan__features li { display: flex; gap: 10px; font-size: 15px; }
.mc-plan__features li::before { content: "✓"; color: var(--mc-purple); font-weight: 800; }
.mc-plan__btn { width: 100%; }

/* ---------- FAQ ---------- */
.mc-faq__inner { max-width: 920px; margin-inline: auto; }

/* ---------- Footer ---------- */
.mc-footer { background: var(--mc-ink); color: var(--mc-cream); padding: 64px clamp(0px,1vw,0px) 28px; position: relative; overflow: hidden; }
.mc-footer__walk { position: absolute; top: 18px; left: 0; width: 100%; height: 72px; pointer-events: none; z-index: 2; }
.mc-footer__mascot { position: absolute; bottom: 0; left: 0; width: 66px; height: auto; animation: mc-walk 24s linear infinite, mc-bob .45s ease-in-out infinite alternate; }
@keyframes mc-walk { from { left: -90px; } to { left: calc(100% + 90px); } }
@keyframes mc-bob { from { transform: translateY(0) rotate(-3deg); } to { transform: translateY(-7px) rotate(3deg); } }
@media (prefers-reduced-motion: reduce) { .mc-footer__mascot { animation: none; left: 24px; } }
.mc-footer__inner { display: grid; gap: 32px; }
.mc-footer__brand p { color: rgba(247,243,236,.7); margin: 12px 0; }
.mc-footer__email { color: var(--mc-yellow); font-weight: 600; }
.mc-footer__menu, .mc-footer__socials { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.mc-footer__menu a:hover, .mc-footer__socials a:hover { color: var(--mc-yellow); }
.mc-footer__bottom { display: flex; flex-direction: column; gap: 12px; margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(247,243,236,.12); font-size: 14px; color: rgba(247,243,236,.6); }
.mc-footer__legal { display: flex; gap: 18px; }
.mc-footer__legal a:hover { color: var(--mc-cream); }

/* ---------- Sticky mobile CTA ---------- */
.mc-sticky-cta {
	position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90;
	display: flex; align-items: center; justify-content: center;
	background: var(--mc-yellow); color: var(--mc-ink); font-family: var(--font-display);
	font-weight: 700; font-size: 17px; padding: 16px; border-radius: var(--mc-pill);
	border: 3px solid var(--mc-ink); box-shadow: var(--mc-bsh-sm);
	transform: translateY(150%); transition: transform .4s var(--mc-ease);
}
.mc-sticky-cta.is-visible { transform: translateY(0); }

/* ---------- Placeholders ---------- */
.mc-ph { background: repeating-linear-gradient(45deg, rgba(0,0,0,.05), rgba(0,0,0,.05) 12px, rgba(0,0,0,.02) 12px, rgba(0,0,0,.02) 24px); border: 3px solid var(--mc-ink); border-radius: var(--mc-radius); aspect-ratio: 4/3; width: 100%; }
.mc-ph--tall { aspect-ratio: 3/4; }
.mc-form-missing { background: rgba(255,255,255,.15); padding: 20px; border-radius: var(--mc-radius); }

/* ---------- Forms (plugin) ---------- */
.mcf-form { background: var(--mc-white); color: var(--mc-ink); border: 3px solid var(--mc-ink); border-radius: var(--mc-radius-lg); padding: clamp(22px, 4vw, 34px); box-shadow: 7px 7px 0 var(--mc-shadow); }
.mcf-form__title { font-family: var(--font-display); font-size: 22px; font-weight: 800; margin-bottom: 18px; }
.mcf-field { margin-bottom: 16px; display: flex; flex-direction: column; gap: 6px; }
.mcf-field label, .mcf-consent span { font-size: 14px; font-weight: 500; }
.mcf-field input, .mcf-field textarea { font: inherit; padding: 13px 16px; border: 2.5px solid var(--mc-ink); border-radius: var(--mc-radius-sm); background: var(--mc-cream); transition: box-shadow .15s; width: 100%; }
.mcf-field input:focus, .mcf-field textarea:focus { outline: none; box-shadow: 3px 3px 0 var(--mc-purple); }
.mcf-consent { display: flex; gap: 10px; align-items: flex-start; margin: 6px 0 18px; font-size: 13px; line-height: 1.5; }
.mcf-consent input { margin-top: 3px; flex: 0 0 auto; width: 18px; height: 18px; }
.mcf-consent a { color: var(--mc-purple); text-decoration: underline; font-weight: 600; }
.mcf-submit { width: 100%; }
.mcf-feedback { margin: 14px 0 0; font-weight: 600; font-size: 14px; min-height: 1em; }
.mcf-feedback.is-success { color: #1c8a4e; }
.mcf-feedback.is-error { color: #d23f00; }

/* ---------- Reveal animations ---------- */
[data-mc-reveal] { opacity: 0; transform: translateY(28px); }
[data-mc-reveal].is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; }
	[data-mc-reveal] { opacity: 1 !important; transform: none !important; }
}

/* ---------- Eyebrow color variants ---------- */
.mc-eyebrow--yellow { background: var(--mc-yellow); }
.mc-eyebrow--white  { background: var(--mc-white); }
.mc-eyebrow--green  { background: var(--mc-green); color: #fff; }
.mc-eyebrow--coral  { background: var(--mc-coral); color: #fff; }
.mc-eyebrow--purple { background: var(--mc-purple); color: #fff; }

/* ---------- Stat icon tiles (extracted images) ---------- */
.mc-stat__icon { width: 84px; height: 84px; margin-bottom: 16px; }
.mc-stat__icon img { width: 100%; height: 100%; object-fit: contain; border-radius: 16px; }

/* ---------- Care icon tiles (CSS tile + emoji), cycling colors ---------- */
.mc-care .mc-card__icon { display: inline-flex; width: 52px; height: 52px; border: 2.5px solid var(--mc-ink); border-radius: 14px; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 18px; }
.mc-care__grid .mc-card:nth-child(3n+1) .mc-card__icon { background: var(--mc-yellow); }
.mc-care__grid .mc-card:nth-child(3n+2) .mc-card__icon { background: var(--mc-green-soft); }
.mc-care__grid .mc-card:nth-child(3n)   .mc-card__icon { background: var(--mc-coral); }

/* ---------- Program (colored headers + badges + circular toggle) ---------- */
.mc-prog-head { display: flex; align-items: center; gap: 14px; border: 3px solid var(--mc-ink); border-radius: 16px; padding: 13px 18px; box-shadow: var(--mc-bsh-sm); font-family: var(--font-display); font-weight: 800; color: var(--mc-ink); margin-bottom: 16px; }
.mc-prog-head--purple { background: var(--mc-purple); color: var(--mc-cream); }
.mc-prog-head--green  { background: var(--mc-green-soft); }
.mc-prog-head__icon { width: 36px; height: 36px; border: 2.5px solid var(--mc-ink); border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; flex: 0 0 auto; }
.mc-accordion__head { gap: 14px; }
.mc-accordion__badge { width: 38px; height: 38px; border-radius: 50%; border: 2.5px solid var(--mc-ink); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.mc-accordion__badge--purple { background: var(--mc-purple); }
.mc-accordion__badge--green  { background: var(--mc-green); }
.mc-accordion__head-text { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.mc-accordion__head-text strong { font-weight: 700; font-size: 16px; }
.mc-accordion__head-sub { font-family: var(--font-body); font-weight: 400; font-size: 14px; color: var(--mc-muted); }
.mc-accordion__item.is-open .mc-accordion__head-sub { display: none; }

/* ---------- Date cards + banner ---------- */
.mc-datecard { text-align: left; }
.mc-datecard__tag { display: block; font-family: var(--font-display); font-weight: 700; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--mc-purple); margin-bottom: 8px; }
.mc-datecard__label { margin-top: 6px; }
.mc-dates__banner { justify-content: flex-start; gap: 18px; flex-wrap: wrap; text-align: left; padding: 22px 26px; }
.mc-dates__banner-icon { width: 52px; height: 52px; border: 2.5px solid var(--mc-ink); border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; flex: 0 0 auto; }
.mc-dates__banner-body { flex: 1 1 220px; }
.mc-dates__banner-title { font-family: var(--font-display); font-weight: 800; font-size: 20px; }
.mc-dates__banner-text { font-weight: 500; font-size: 15px; opacity: .8; }
.mc-dates__banner-date { background: var(--mc-green-soft); border: 2.5px solid var(--mc-ink); border-radius: var(--mc-pill); padding: 10px 18px; font-family: var(--font-display); font-weight: 800; font-size: 15px; }

/* ---------- Pricing featured = purple, soft-green secondary button ---------- */
.mc-plan--featured { background: var(--mc-purple); color: var(--mc-cream); }
.mc-plan--featured .mc-plan__period { color: rgba(247,243,236,.72); }
.mc-plan--featured .mc-plan__features li::before { color: var(--mc-cream); }
.mc-plan__pricelabel { color: var(--mc-muted); font-size: 16px; font-weight: 500; }
.mc-plan--featured .mc-plan__pricelabel { color: rgba(247,243,236,.8); }
.mc-plan__features li::before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: var(--mc-green-soft); border: 2px solid var(--mc-ink); flex: 0 0 auto; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23141414' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round' d='M5 12l4 4 10-10'/%3E%3C/svg%3E"); background-size: 14px; background-repeat: no-repeat; background-position: center; }
.mc-btn--green { background: var(--mc-green-soft); }

/* ---------- Location list with circular icon badges ---------- */
.mc-loclist { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-direction: column; gap: 16px; }
.mc-loclist li { display: flex; align-items: center; gap: 14px; font-weight: 500; }
.mc-loclist__ic { width: 44px; height: 44px; border: 2.5px solid var(--mc-ink); border-radius: 50%; background: var(--mc-white); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex: 0 0 auto; box-shadow: 3px 3px 0 var(--mc-shadow); }

/* ---------- Photo polaroid badge + rotated mountain photos ---------- */
.mc-photo { position: relative; }
.mc-photo__badge { position: absolute; top: 14px; left: 14px; background: var(--mc-yellow); border: 2.5px solid var(--mc-ink); border-radius: var(--mc-pill); padding: 6px 14px; font-family: var(--font-display); font-weight: 700; font-size: 13px; box-shadow: var(--mc-bsh-sm); }
.mc-getthere__img:first-child { transform: rotate(-3deg); z-index: 2; }
.mc-getthere__img:last-child { transform: rotate(3deg); margin-top: 36px; }

/* ---------- Person role badge ---------- */
.mc-person__role { display: inline-block; background: var(--mc-purple); color: #fff; border: 2px solid var(--mc-ink); border-radius: var(--mc-pill); padding: 4px 12px; font-family: var(--font-display); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; opacity: 1; }

/* ---------- Footer link columns ---------- */
.mc-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mc-footer__col h4 { color: var(--mc-purple); font-family: var(--font-display); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 14px; }
.mc-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.mc-footer__col a:hover { color: var(--mc-yellow); }
.mc-footer__made { color: rgba(247,243,236,.6); }
.mc-footer__made .mc-heart { color: var(--mc-purple); }
.mc-footer__logo-img { height: 30px; width: auto; margin-bottom: 8px; }

/* ==========================================================================
   Feedback round 2 — per-section corrections
   ========================================================================== */

/* Stats: tighter pill gap, +30% icon tiles */
.mc-stats .mc-section__head { margin-bottom: clamp(16px, 2.5vw, 26px); }
.mc-stat__icon { width: 110px; height: 110px; margin-bottom: 18px; }

/* Metodo (workflow): centered head, white cards with black text */
.mc-workflow .mc-section__head { margin-inline: auto; text-align: center; }
.mc-workflow .mc-card { background: var(--mc-white); color: var(--mc-ink); border-color: var(--mc-ink); box-shadow: var(--mc-bsh); }
.mc-workflow .mc-card__text { color: var(--mc-muted); }
.mc-workflow .mc-card:hover { box-shadow: 8px 8px 0 var(--mc-shadow); }

/* Care: subtitle + 3D shadow on icon tiles */
.mc-care .mc-card__icon { box-shadow: var(--mc-bsh-sm); }

/* People: white card body, role badge colors, pink chips */
.mc-person__body { background: var(--mc-white); }
.mc-people__grid .mc-person:nth-child(odd)  .mc-person__role { background: var(--mc-purple); color: #fff; }
.mc-people__grid .mc-person:nth-child(even) .mc-person__role { background: var(--mc-coral); color: #fff; }
.mc-chiplist li { background: #FFE3DE; border-color: var(--mc-ink); }

/* Polaroid (CSS): user uploads a normal image, theme frames + tilts it */
.mc-photo--polaroid { background: var(--mc-white); border: 3px solid var(--mc-ink); border-radius: 8px; padding: 12px 12px 44px; box-shadow: var(--mc-bsh); transform: rotate(-4deg); width: 100%; }
.mc-photo--polaroid img, .mc-photo--polaroid .mc-ph { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border: 0; border-radius: 3px; display: block; box-shadow: none; }
.mc-photo--polaroid .mc-photo__badge { top: 24px; left: 24px; }
.mc-photo--polaroid.mc-photo--tilt-r { transform: rotate(3deg); }

/* Get-there: two equally-sized polaroids, opposite tilt, slight overlap */
.mc-getthere__media { gap: 0; position: relative; align-items: start; }
.mc-getthere__img.mc-photo--polaroid { transform: rotate(-4deg); margin: 0; position: relative; z-index: 2; }
.mc-getthere__img.mc-photo--polaroid.mc-photo--tilt-r { transform: rotate(4deg); margin: 26px 0 0 -30px; z-index: 1; }
/* Get-there tags: black text on white */
.mc-getthere .mc-taglist li { color: var(--mc-ink); }

/* Docenti: name + role inline */
.mc-person__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.mc-person__name { margin: 0; }
.mc-person__role { display: inline-block; }

/* Form select */
.mcf-field select.mcf-select { font: inherit; padding: 13px 16px; border: 2.5px solid var(--mc-ink); border-radius: var(--mc-radius-sm); background: var(--mc-cream); width: 100%; }
.mcf-field select.mcf-select:focus { outline: none; box-shadow: 3px 3px 0 var(--mc-purple); }

/* Form sections: decorative grass / flower / cloud */
.mc-formsec { overflow: hidden; }
.mc-formsec__deco { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.mc-formsec__deco img { position: absolute; }
.mc-formsec__cloud { top: 24px; left: 6%; width: 120px; }
.mc-formsec__flower { bottom: 0; left: 8%; width: 70px; }
.mc-formsec .mc-grass { position: absolute; left: 0; right: 0; bottom: -1px; height: 46px; background: url(../img/grass.png) repeat-x bottom left; background-size: auto 46px; }
.mc-formsec .mc-container { position: relative; z-index: 1; }

/* Pricing: tags, date line, divider, purple secondary buttons */
.mc-plan__tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.mc-plan__tag { border: 2.5px solid var(--mc-ink); border-radius: var(--mc-pill); padding: 6px 14px; font-family: var(--font-display); font-weight: 600; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.mc-price-note { display: inline-block; margin-top: 18px; background: var(--mc-coral); color: #fff; border: 2.5px solid var(--mc-ink); border-radius: var(--mc-pill); padding: 9px 18px; font-family: var(--font-display); font-weight: 600; font-size: 14px; box-shadow: var(--mc-bsh-sm); }
.mc-plan__tag--yellow { background: var(--mc-yellow); color: var(--mc-ink); }
.mc-plan__tag--white  { background: #fff; color: var(--mc-ink); }
.mc-plan__tag--black  { background: var(--mc-ink); color: #fff; }
.mc-plan__date { font-weight: 600; font-size: 15px; margin-bottom: 16px; }
.mc-plan--featured .mc-plan__date { color: rgba(247,243,236,.85); }
.mc-plan__divider { height: 2px; background: rgba(0,0,0,.12); border: 0; margin: 0 0 22px; }
.mc-plan--featured .mc-plan__divider { background: rgba(247,243,236,.28); }
.mc-btn--purple { background: var(--mc-purple); color: var(--mc-cream); }

/* Locked pricing box: greyed out, not selectable */
.mc-plan--locked { filter: grayscale(1); opacity: .58; pointer-events: none; }
.mc-plan--locked:hover { transform: none; box-shadow: var(--mc-bsh); }
.mc-btn--locked { background: #cfcfcf; border-color: #7a7a7a; color: #555; box-shadow: 4px 4px 0 #7a7a7a; cursor: not-allowed; }

/* Footer: 3 menus aligned right */
.mc-footer__cols { justify-content: flex-end; text-align: left; }

/* ---------- Gallery ---------- */
.mc-gallery__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.mc-gallery__item { margin: 0; border: 3px solid var(--mc-ink); border-radius: var(--mc-radius); overflow: hidden; box-shadow: var(--mc-bsh-sm); aspect-ratio: 4/3; }
.mc-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--mc-ease); }
.mc-gallery__item:hover img { transform: scale(1.06); }

/* ---------- Community ---------- */
.mc-community__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.mc-community__card { background: var(--mc-white); color: var(--mc-ink); border: 2.5px solid var(--mc-ink); border-radius: var(--mc-radius); box-shadow: var(--mc-bsh-sm); padding: 22px 16px; text-align: center; transition: transform .2s var(--mc-ease), box-shadow .2s var(--mc-ease); }
.mc-community__card:hover { transform: translate(-3px,-3px); box-shadow: 6px 6px 0 var(--mc-shadow); }
.mc-community__card--empty { background: var(--mc-yellow); border-style: dashed; }
.mc-community__avatar { width: 74px; height: 74px; border-radius: 50%; border: 2.5px solid var(--mc-ink); background: var(--mc-cream); margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; overflow: hidden; font-family: var(--font-display); font-weight: 800; font-size: 26px; }
.mc-community__img { width: 100%; height: 100%; object-fit: cover; }
.mc-community__plus { font-size: 34px; font-weight: 800; }
.mc-community__name { font-family: var(--font-display); font-weight: 700; font-size: 16px; }
.mc-community__role { font-size: 13px; color: var(--mc-muted); }

/* ---------- Testimonials ---------- */
.mc-testi__grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.mc-testi__card { margin: 0; background: var(--mc-white); border: 2.5px solid var(--mc-ink); border-radius: var(--mc-radius); box-shadow: var(--mc-bsh); padding: 28px; display: flex; flex-direction: column; gap: 18px; transition: transform .2s var(--mc-ease), box-shadow .2s var(--mc-ease); }
.mc-testi__card:hover { transform: translate(-3px,-3px); box-shadow: 8px 8px 0 var(--mc-shadow); }
.mc-testi__quote { margin: 0; font-size: 17px; line-height: 1.5; font-weight: 500; }
.mc-testi__author { display: flex; align-items: center; gap: 12px; }
.mc-testi__avatar { width: 48px; height: 48px; border-radius: 50%; border: 2.5px solid var(--mc-ink); overflow: hidden; background: var(--mc-yellow); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; flex: 0 0 auto; }
.mc-testi__avatar img { width: 100%; height: 100%; object-fit: cover; }
.mc-testi__name { display: block; font-family: var(--font-display); font-weight: 700; }
.mc-testi__role { display: block; font-size: 13px; color: var(--mc-muted); }

/* ---------- Pricing: not-included ---------- */
.mc-plan-excludes { max-width: 680px; margin: 40px auto 0; background: var(--mc-dark-card); border: 2px solid rgba(255,255,255,.12); border-radius: var(--mc-radius); padding: 24px 28px; text-align: center; }
.mc-plan-excludes__title { font-family: var(--font-display); font-size: 16px; font-weight: 800; margin-bottom: 14px; color: var(--mc-cream); }
.mc-plan-excludes__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; justify-content: center; }
.mc-plan-excludes__list li { color: rgba(247,243,236,.72); font-size: 14px; display: flex; align-items: center; gap: 8px; }
.mc-plan-excludes__list li::before { content: "\2715"; color: var(--mc-coral); font-weight: 800; }

/* ==========================================================================
   Breakpoints
   ========================================================================== */
@media (min-width: 700px) {
	.mc-stats__grid { grid-template-columns: repeat(4,1fr); }
	.mc-workflow__grid { grid-template-columns: repeat(2,1fr); }
	.mc-care__grid { grid-template-columns: repeat(3,1fr); }
	.mc-people__grid { grid-template-columns: repeat(2,1fr); }
	.mc-program__cols { grid-template-columns: 1fr 1fr; }
	.mc-dates__grid { grid-template-columns: repeat(4,1fr); }
	.mc-pricing__grid { grid-template-columns: repeat(3,1fr); }
	.mc-gallery__grid { grid-template-columns: repeat(3,1fr); }
	.mc-community__grid { grid-template-columns: repeat(4,1fr); }
	.mc-testi__grid { grid-template-columns: repeat(3,1fr); }
	.mc-footer__inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 60px; }
	.mc-footer__brand { max-width: 420px; }
	.mc-footer__cols { display: flex; gap: 48px; }
	.mc-footer__bottom { flex-direction: row; justify-content: space-between; align-items: center; }
}

/* Mobile hero mascot placement (kept last to override base .mc-hero__visual) */
@media (max-width: 959px) {
	.mc-hero__visual { display: none !important; }
	.mc-hero__mascot-mobile { display: block; width: clamp(150px, 48vw, 220px); height: auto; margin: 8px 0; align-self: center; }
}

@media (min-width: 960px) {
	.mc-menu { display: flex; }
	.mc-header__cta { display: inline-flex; }
	.mc-burger, .mc-mobile-nav { display: none; }
	.mc-workflow__grid { grid-template-columns: repeat(4,1fr); }
	.mc-hero__inner { grid-template-columns: 1.05fr .95fr; }
	.mc-formsec__inner { grid-template-columns: 1fr 1fr; }
	.mc-inclusive__inner { grid-template-columns: .9fr 1.1fr; }
	.mc-location__inner { grid-template-columns: 1fr 1fr; }
	.mc-getthere__inner { grid-template-columns: 1fr 1fr; }
	.mc-sticky-cta { display: none; }
}

/* ==========================================================================
   Iubenda cookie banner — brand (neo-brutalist) styling
   ========================================================================== */
#iubenda-cs-banner { font-family: "Poppins", "Inter", system-ui, sans-serif !important; }
#iubenda-cs-banner .iubenda-cs-content {
	background: #F7F3EC !important; color: #141414 !important;
	border: 3px solid #141414 !important; border-radius: 22px !important;
	box-shadow: 6px 6px 0 #111 !important;
}
#iubenda-cs-banner .iubenda-banner-content,
#iubenda-cs-banner .iubenda-cs-rationale,
#iubenda-cs-banner p, #iubenda-cs-banner span, #iubenda-cs-banner div { color: #141414 !important; }
#iubenda-cs-banner a { color: #BE62F4 !important; text-decoration: underline !important; font-weight: 600 !important; }
#iubenda-cs-banner .iubenda-cs-accept-btn,
#iubenda-cs-banner .iubenda-cs-reject-btn,
#iubenda-cs-banner .iubenda-cs-customize-btn,
#iubenda-cs-banner button {
	font-family: "Poppins", system-ui, sans-serif !important; font-weight: 600 !important; font-size: 14px !important;
	border: 2.5px solid #141414 !important; border-radius: 100px !important;
	box-shadow: 3px 3px 0 #111 !important; padding: 11px 20px !important; text-transform: none !important;
	transition: transform .15s ease, box-shadow .15s ease !important;
}
#iubenda-cs-banner .iubenda-cs-accept-btn { background: #FFD23F !important; color: #141414 !important; }
#iubenda-cs-banner .iubenda-cs-reject-btn,
#iubenda-cs-banner .iubenda-cs-customize-btn { background: #FFFFFF !important; color: #141414 !important; }
#iubenda-cs-banner button:hover { transform: translate(-2px,-2px) !important; box-shadow: 5px 5px 0 #111 !important; }
#iubenda-cs-banner button:active { transform: translate(3px,3px) !important; box-shadow: 0 0 0 #111 !important; }

/* ==========================================================================
   Gallery lightbox
   ========================================================================== */
.mc-gallery__item { padding: 0; background: none; cursor: zoom-in; display: block; -webkit-appearance: none; appearance: none; }
.mc-lightbox {
	position: fixed; inset: 0; z-index: 1000; display: none;
	align-items: center; justify-content: center; padding: 24px;
	background: rgba(20,20,20,.92);
}
.mc-lightbox.is-open { display: flex; }
.mc-lightbox__stage { margin: 0; display: flex; align-items: center; justify-content: center; max-width: 92vw; max-height: 86vh; }
.mc-lightbox__img { max-width: 92vw; max-height: 86vh; display: block; border: 3px solid var(--mc-ink); border-radius: 12px; box-shadow: 8px 8px 0 #000; background: #fff; }
.mc-lightbox__close {
	position: fixed; top: 20px; right: 20px; width: 50px; height: 50px; border-radius: 50%;
	background: var(--mc-yellow); border: 3px solid var(--mc-ink); box-shadow: 4px 4px 0 #000;
	font-family: var(--font-display); font-size: 26px; line-height: 1; cursor: pointer; color: var(--mc-ink);
	transition: transform .15s var(--mc-ease), box-shadow .15s var(--mc-ease);
}
.mc-lightbox__nav {
	position: fixed; top: 50%; transform: translateY(-50%); width: 58px; height: 58px; border-radius: 50%;
	background: #fff; border: 3px solid var(--mc-ink); box-shadow: 4px 4px 0 #000;
	font-family: var(--font-display); font-size: 34px; line-height: 1; cursor: pointer; color: var(--mc-ink);
	display: flex; align-items: center; justify-content: center;
	transition: transform .15s var(--mc-ease), box-shadow .15s var(--mc-ease);
}
.mc-lightbox__prev { left: 24px; }
.mc-lightbox__next { right: 24px; }
.mc-lightbox__close:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 #000; }
.mc-lightbox__nav:hover { transform: translateY(-50%) scale(1.06); box-shadow: 6px 6px 0 #000; }
.mc-lightbox--single .mc-lightbox__nav { display: none; }
@media (max-width: 600px) {
	.mc-lightbox__nav { width: 46px; height: 46px; font-size: 26px; }
	.mc-lightbox__prev { left: 10px; }
	.mc-lightbox__next { right: 10px; }
	.mc-lightbox__close { width: 44px; height: 44px; top: 12px; right: 12px; }
}

/* ==========================================================================
   Motion pack — kinetic details
   ========================================================================== */
/* Hero title word mask */
.mc-hero__title .mc-word { display: inline-block; overflow: hidden; vertical-align: bottom; }
.mc-hero__title .mc-word__in { display: inline-block; will-change: transform; }

/* Icon wiggle on card hover */
@keyframes mc-wiggle { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-9deg) scale(1.08); } 60% { transform: rotate(7deg) scale(1.05); } }
.mc-card:hover .mc-card__icon,
.mc-stat:hover .mc-stat__icon,
.mc-loclist li:hover .mc-loclist__ic,
.mc-dates__banner:hover .mc-dates__banner-icon { animation: mc-wiggle .5s var(--mc-ease); }

/* Polaroids straighten on hover */
.mc-photo--polaroid { transition: transform .35s var(--mc-ease), box-shadow .35s var(--mc-ease); }
.mc-photo--polaroid:hover { transform: rotate(0) scale(1.015); box-shadow: 8px 8px 0 var(--mc-shadow); }
.mc-photo--polaroid.mc-photo--tilt-r:hover { transform: rotate(0) scale(1.015); }

/* Accordion springy open + icon spin */
.mc-accordion__panel { transition: height .45s cubic-bezier(.34,1.4,.64,1); }
.mc-accordion__icon { transition: background .25s, transform .35s var(--mc-ease); }
.mc-accordion__item.is-open .mc-accordion__icon { transform: rotate(180deg); }

/* Datecard playful hover already tilts; add day pop */
.mc-datecard:hover .mc-datecard__day { color: var(--mc-purple); transition: color .2s; }

/* Chips bounce on hover */
.mc-chiplist li, .mc-taglist li { transition: transform .2s var(--mc-ease); }
.mc-chiplist li:hover, .mc-taglist li:hover { transform: translateY(-3px) rotate(-1.5deg); }

/* Community avatars pop */
.mc-community__card:hover .mc-community__avatar { transform: scale(1.08) rotate(-3deg); transition: transform .25s var(--mc-ease); }
.mc-community__avatar { transition: transform .25s var(--mc-ease); }

@media (prefers-reduced-motion: reduce) {
	.mc-card:hover .mc-card__icon, .mc-stat:hover .mc-stat__icon { animation: none; }
	.mc-photo--polaroid:hover { transform: none; }
}

/* ---------- Location map ---------- */
.mc-location__map { margin-top: clamp(32px, 5vw, 56px); }
.mc-location__map-frame {
	position: relative; border: var(--mc-border) solid var(--mc-ink);
	border-radius: var(--mc-radius); overflow: hidden; box-shadow: var(--mc-bsh);
	background: #e9e4dc;
}
.mc-location__map-frame iframe { display: block; width: 100%; height: clamp(280px, 42vw, 460px); border: 0; }
.mc-location__map-bar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 16px; margin-top: 20px;
}
.mc-location__map-addr {
	font-family: var(--font-display); font-weight: 600; font-size: 17px; color: var(--mc-ink);
}
.mc-location__map-cta { font-size: 16px; padding: 13px 24px; }
@media (max-width: 600px) {
	.mc-location__map-bar { flex-direction: column; align-items: stretch; }
	.mc-location__map-cta { width: 100%; }
}

/* ---------- Schedule (4 giorni in baita) ---------- */
.mc-schedule__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: clamp(18px, 2.4vw, 28px);
}
.mc-daycard {
	background: var(--mc-white); border: var(--mc-border) solid var(--mc-ink);
	border-radius: var(--mc-radius); box-shadow: var(--mc-bsh); overflow: hidden;
	display: flex; flex-direction: column;
}
.mc-daycard__head {
	background: var(--mc-purple); color: var(--mc-cream);
	padding: 18px 20px; border-bottom: var(--mc-border) solid var(--mc-ink);
	display: flex; flex-direction: column; gap: 2px;
}
.mc-daycard__dow { font-family: var(--font-display); font-weight: 800; font-size: 22px; letter-spacing: -.01em; }
.mc-daycard__date { font-family: var(--font-display); font-weight: 600; font-size: 15px; opacity: .9; }
.mc-daycard__note {
	margin-top: 8px; align-self: flex-start; background: var(--mc-yellow); color: var(--mc-ink);
	font-family: var(--font-display); font-weight: 600; font-size: 12px;
	padding: 4px 12px; border-radius: var(--mc-pill); border: 2px solid var(--mc-ink);
}
.mc-daycard__list { list-style: none; margin: 0; padding: 8px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.mc-slot {
	display: flex; flex-direction: column; gap: 6px;
	padding: 12px 14px; border-radius: var(--mc-radius-sm);
	border: 2px solid var(--mc-ink); background: var(--mc-cream);
}
.mc-slot__time {
	align-self: flex-start; font-family: var(--font-display); font-weight: 700; font-size: 13px;
	letter-spacing: .01em; color: var(--mc-ink);
	background: var(--mc-white); padding: 3px 12px; border-radius: var(--mc-pill);
	border: 2px solid var(--mc-ink);
}
.mc-slot__body { display: flex; align-items: flex-start; gap: 8px; }
.mc-slot__ic { font-size: 17px; line-height: 1.3; flex: none; }
.mc-slot__text { font-family: var(--font-body); font-size: 15px; line-height: 1.45; font-weight: 500; }
/* Kind accents */
.mc-slot--work { background: #F1E6FB; }
.mc-slot--work .mc-slot__time { background: var(--mc-purple); color: #fff; }
.mc-slot--food { background: #E3F7EC; }
.mc-slot--food .mc-slot__time { background: var(--mc-green); color: #fff; }
.mc-slot--fun  { background: #FFF6D6; }
.mc-slot--fun  .mc-slot__time { background: var(--mc-yellow); color: var(--mc-ink); }
.mc-daycard:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 var(--mc-shadow); transition: transform .2s var(--mc-ease), box-shadow .2s var(--mc-ease); }

/* ---------- Program accordion — schedule rows ---------- */
.mc-sched { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mc-sched__row { display: flex; gap: 14px; align-items: baseline; }
.mc-sched__t {
	flex: 0 0 116px; width: 116px; box-sizing: border-box; text-align: center;
	font-family: var(--font-display); font-weight: 700; font-size: 12.5px; letter-spacing: .01em;
	color: #fff; background: var(--mc-ink); padding: 5px 8px; border-radius: var(--mc-pill);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mc-sched--purple .mc-sched__t { background: var(--mc-purple); }
.mc-sched--green .mc-sched__t { background: var(--mc-green); }
.mc-sched__x { font-family: var(--font-body); font-size: 15px; line-height: 1.5; font-weight: 500; padding-top: 1px; }
/* Highlighted note row (check-in / check-out) — full yellow bar, no bullet */
.mc-sched__row--note { display: block; }
.mc-sched__note {
	display: block; background: var(--mc-yellow); color: var(--mc-ink);
	font-family: var(--font-display); font-weight: 700; font-size: 14px;
	padding: 8px 16px; border-radius: var(--mc-pill); border: 2px solid var(--mc-ink);
}
@media (max-width: 480px) {
	.mc-sched__t { flex-basis: 96px; width: 96px; font-size: 11.5px; }
}

/* ---------- Auto-alternated bands: keep card text readable ---------- */
/* A light section flipped onto an existing dark band inherits `color: cream`
   from .mc-purple / .mc-dark. The section header stays cream (good), but text
   INSIDE white/light cards must be forced back to dark ink or it vanishes. */
.mc-band-alt .mc-person__body,
.mc-band-alt .mc-person__name,
.mc-band-alt .mc-person__bio,
.mc-band-alt .mc-stat,
.mc-band-alt .mc-card,
.mc-band-alt .mc-plan,
.mc-band-alt .mc-testi__card,
.mc-band-alt .mc-datecard,
.mc-band-alt .mc-accordion,
.mc-band-alt .mc-sched__x,
.mc-band-alt .mc-taglist li,
.mc-band-alt .mc-chiplist li { color: var(--mc-ink); }
/* Section-level text (not inside a card) stays light on the flipped band. */
.mc-band-alt .mc-loclist > li,
.mc-band-alt .mc-location__map-addr { color: var(--mc-cream); }

/* ---------- Floating sparkles in the side gutters (never over content) ---------- */
.mc-stars { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.mc-star { position: absolute; display: block; opacity: 1; will-change: transform; }
.mc-star svg, .mc-star img { width: 100%; height: 100%; display: block; }
/* keep all section content above the sparkle layer */
.mc-section > .mc-container { position: relative; z-index: 1; }

/* ==========================================================================
   Interactivity v2 — cursor glow, sheen, magnetic CTA, burst, progress, spy
   ========================================================================== */
/* Cursor glow — soft brand light that follows the pointer */
.mc-cursor-glow {
	position: fixed; top: 0; left: 0; width: 440px; height: 440px;
	margin: -220px 0 0 -220px; border-radius: 50%; pointer-events: none; z-index: 60;
	opacity: .32; filter: blur(10px); will-change: transform; mix-blend-mode: screen;
	background: radial-gradient(circle, rgba(190,98,244,.55), rgba(255,210,63,.28) 42%, transparent 68%);
}
@media (hover: none) { .mc-cursor-glow { display: none; } }

/* Sheen — elements light up where the cursor passes over them */
.mc-illum { position: relative; }
.mc-illum::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	opacity: 0; transition: opacity .3s var(--mc-ease); z-index: 2; mix-blend-mode: soft-light;
	background: radial-gradient(120px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.55), transparent 60%);
}
.mc-illum:hover::after { opacity: 1; }

.mc-btn--primary { will-change: transform; }

/* Star burst layer */
.mc-burst { position: fixed; inset: 0; pointer-events: none; z-index: 1200; }
.mc-burst__star { position: absolute; will-change: transform, opacity; }

/* Scroll progress bar */
.mc-progress {
	position: fixed; top: 0; left: 0; height: 4px; width: 100%;
	transform-origin: 0 50%; transform: scaleX(0); z-index: 200;
	background: linear-gradient(90deg, var(--mc-purple), var(--mc-yellow), var(--mc-green));
}

/* Scrollspy active menu item */
.mc-menu a.is-current { color: var(--mc-purple); }
.mc-menu a.is-current::after { width: 100%; }

@media (prefers-reduced-motion: reduce) {
	.mc-cursor-glow, .mc-progress { display: none; }
	.mc-illum::after { display: none; }
}

/* Anchor landing offset for the sticky topbar + header (native fallback) */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: calc(var(--mc-topbar-h) + 84px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Community: teachers centered on top, participants 4/row ---------- */
.mc-community__teachers { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-bottom: 16px; }
.mc-community__teachers .mc-community__card { width: calc((100% - 16px) / 2); }
@media (min-width: 700px) {
	.mc-community__teachers .mc-community__card { width: calc((100% - 3 * 16px) / 4); }
}
.mc-community__card--teacher .mc-community__avatar { background: var(--mc-green); color: #fff; }

/* "Il tuo posto" card is a link to pricing (keep the card's own ink text) */
a.mc-community__card { display: block; cursor: pointer; text-decoration: none; }
a.mc-community__card--empty:hover { transform: translate(-3px,-3px); box-shadow: 6px 6px 0 var(--mc-shadow); }

/* ==========================================================================
   Pricing v2 — includes/excludes left, stacked auto-active boxes right (dark)
   ========================================================================== */
.mc-pricing__layout { display: grid; gap: 40px; }
@media (min-width: 900px) {
	.mc-pricing__layout { grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: start; }
}
.mc-pricing .mc-section__title { font-size: clamp(30px, 4vw, 46px); }
/* Solid panel so the lists stay readable over the textured dark background */
.mc-pricing__info {
	background: #1d1d1d; border: 2px solid rgba(255,255,255,.1); border-radius: var(--mc-radius);
	padding: clamp(28px, 4vw, 44px);
}
.mc-pricing__info .mc-section__text { margin-bottom: 8px; color: rgba(247,243,236,.85); }
.mc-pricing__listtitle { font-family: var(--font-display); font-weight: 800; font-size: 22px; margin: 30px 0 14px; color: var(--mc-cream); }
.mc-pricing__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 11px; }
.mc-pricing__list li { position: relative; padding-left: 32px; font-size: 17px; line-height: 1.4; color: rgba(247,243,236,.9); }
.mc-pricing__list li::before { position: absolute; left: 0; top: 0; font-weight: 800; }
.mc-pricing__list--in li::before { content: "\2713"; color: var(--mc-green); }
.mc-pricing__list--out li::before { content: "\2715"; color: var(--mc-coral); }

.mc-pricing__boxes { display: flex; flex-direction: column; gap: 20px; }
.mc-pricebox {
	background: var(--mc-dark-card); border: 2px solid rgba(255,255,255,.14); border-radius: 20px; padding: 24px 28px;
	color: var(--mc-cream);
	transition: border-color .2s var(--mc-ease), box-shadow .2s var(--mc-ease), transform .2s var(--mc-ease);
}
.mc-pricebox.is-active { border: 3px solid var(--mc-purple); box-shadow: 6px 6px 0 #000; }
/* Locked boxes: solid (no transparency), muted brand tones */
.mc-pricebox.is-locked { background: #242424; border-color: rgba(255,255,255,.08); }
.mc-pricebox.is-locked .mc-pricebox__price { color: #74747c; }
.mc-pricebox.is-locked .mc-pricebox__label,
.mc-pricebox.is-locked .mc-pricebox__date { color: #6a6a72; }
.mc-pricebox.is-locked .mc-plan__tag { background: #34343a; color: #9a9aa2; border-color: rgba(255,255,255,.12); }
.mc-pricebox__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.mc-pricebox__price { font-family: var(--font-display); font-weight: 900; font-size: 46px; line-height: 1; letter-spacing: -.02em; color: var(--mc-cream); }
.mc-pricebox__label { font-family: var(--font-body); font-size: 17px; font-weight: 600; color: rgba(247,243,236,.6); letter-spacing: 0; }
.mc-pricebox__date { margin-top: 12px; font-family: var(--font-display); font-weight: 600; font-size: 15px; color: rgba(247,243,236,.6); }
.mc-pricebox__btn { display: inline-flex; margin-top: 20px; }
.mc-pricebox__deposit { margin-top: 12px; font-family: var(--font-body); font-size: 14px; color: rgba(247,243,236,.7); }

.mc-pricebox__tag2 { background: var(--mc-purple); color: #fff; border-color: var(--mc-ink); }

.mc-pricebox__price2 { margin-top: 8px; font-family: var(--font-display); font-weight: 600; font-size: 17px; color: rgba(247,243,236,.85); }
.mc-pricebox__price2 strong { color: var(--mc-purple); font-weight: 800; }
.mc-pricebox.is-locked .mc-pricebox__price2 { color: #6a6a72; }
.mc-pricebox.is-locked .mc-pricebox__price2 strong { color: #8a8a92; }

.mc-pricebox__ml { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.mc-pricebox__ml .mc-pricebox__price2 { margin-top: 0; }

/* Mascot GIF replaced by a chroma-keyed canvas — keep aspect ratio */
canvas.mc-hero__mascot { height: auto; }
canvas.mc-hero__mascot-mobile { height: auto; }
