/*
 * Maruttocare brand tone layer
 * Keeps existing page structures while unifying warmth, spacing and interaction.
 */
:root {
	--brand-ink: #10233f;
	--brand-muted: #586b7f;
	--brand-blue: #1689d5;
	--brand-blue-soft: #edf8ff;
	--brand-pink: #ef6f91;
	--brand-pink-soft: #fff2f5;
	--brand-orange: #f69a45;
	--brand-orange-soft: #fff7ed;
	--brand-green: #55ae88;
	--brand-cream: #fffdf9;
	--brand-border: rgba(52, 105, 145, .14);
	--radius: 22px;
	--radius-lg: 30px;
	--radius-xl: 42px;
	--shadow-card: 0 18px 50px rgba(28, 85, 125, .07);
	--shadow-hover: 0 24px 64px rgba(28, 85, 125, .12);
}

body {
	color: var(--brand-ink);
	font-feature-settings: "palt" 1;
}

p,
li,
dd,
.mc-prose {
	line-height: 1.95;
}

.mc-section {
	padding-block: clamp(80px, 8vw, 128px);
}

.mc-heading,
.mc-hero__title,
.mc-cta__title,
.mc-bottom-hub__title {
	color: var(--brand-ink);
	letter-spacing: -.035em;
	line-height: 1.25;
}

.mc-eyebrow {
	letter-spacing: .2em;
}

.mc-card,
.mc-faq,
.mc-bottom-card,
.mc-contact-channel {
	border-color: var(--brand-border);
	box-shadow: var(--shadow-card);
}

.mc-card,
.mc-bottom-card,
.mc-contact-channel,
.mc-faq,
.mc-recruit-story {
	border-radius: var(--radius-lg);
}

.mc-card img,
.mc-bottom-card__visual img,
.mc-recruit-story img,
.mc-prose img {
	border-radius: clamp(16px, 2vw, 28px);
}

.mc-button,
.mc-btn,
.mc-bottom-card__button,
.mc-top-contact__button,
.mc-member-recruit__button {
	min-height: 54px;
	padding-inline: 28px;
	border-radius: 999px;
	letter-spacing: .02em;
	transition: transform .25s ease, box-shadow .25s ease, color .25s ease, background-color .25s ease;
}

.mc-button:hover,
.mc-btn:hover,
.mc-bottom-card__button:hover,
.mc-top-contact__button:hover,
.mc-member-recruit__button:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(22, 137, 213, .18);
}

.mc-button:focus-visible,
.mc-btn:focus-visible,
.mc-bottom-card__button:focus-visible,
.mc-top-contact__button:focus-visible,
.mc-member-recruit__button:focus-visible,
.mc-faq__question:focus-visible {
	outline: 3px solid rgba(22, 137, 213, .35);
	outline-offset: 4px;
}

.mc-top-hero__copy > p:not(:first-child) {
	max-width: 760px;
	color: var(--brand-muted);
}

.mc-top-hero__copy .mc-btn-primary {
	background: var(--brand-blue) !important;
	color: #fff !important;
}

.mc-top-hero__copy .mc-btn-secondary {
	background: var(--brand-pink) !important;
	color: #fff !important;
}

.mc-bottom-hub,
.mc-top-contact {
	background-color: var(--brand-cream);
}

.mc-bottom-card__text,
.mc-top-contact__lead,
.mc-cta__description {
	color: var(--brand-muted);
	font-size: clamp(.98rem, 1.1vw, 1.08rem);
}

.mc-top-contact__header {
	max-width: 900px;
}

.mc-top-contact__title {
	max-width: 900px;
	line-height: 1.34;
}

.mc-top-contact__channels {
	gap: clamp(16px, 2vw, 28px);
}

.mc-contact-channel {
	padding: clamp(24px, 2.3vw, 36px);
	background: rgba(255, 255, 255, .92);
}

.mc-cta {
	background: linear-gradient(135deg, #0f477f, #155c94);
}

.mc-cta__description {
	color: rgba(255, 255, 255, .84);
}

.mc-faq-intro {
	max-width: 760px;
	margin: 0 0 clamp(32px, 5vw, 64px);
	color: var(--brand-muted);
	font-size: clamp(1rem, 1.2vw, 1.14rem);
}

.mc-faq-archive .mc-faq {
	overflow: clip;
	background: rgba(255, 255, 255, .94);
}

.mc-faq-archive .mc-faq__question {
	padding-block: 30px;
}

.mc-faq-archive .mc-faq[open] {
	background: linear-gradient(135deg, #fff, var(--brand-blue-soft));
}

.mc-recruit-concept {
	background: linear-gradient(180deg, #fffafb 0%, #fff 38%, #f8fcff 100%);
}

.mc-recruit-concept__hero,
.mc-recruit-story {
	overflow: clip;
}

.mc-recruit-concept__hero-copy p:last-child {
	color: var(--brand-muted);
	line-height: 1.95;
}

.mc-home-nursing-hero,
.mc-home-nursing-team,
.mc-home-nursing-flow {
	--section-space: clamp(88px, 9vw, 136px);
}

.mc-home-nursing-professional,
.mc-home-nursing-flow__step {
	border-radius: var(--radius-lg);
}

.site-footer {
	background: #103f75;
}

.site-footer,
.site-footer p,
.site-footer a {
	line-height: 1.8;
}

@media (max-width: 767px) {
	:root {
		--radius-lg: 24px;
		--radius-xl: 30px;
	}

	.mc-section {
		padding-block: 72px;
	}

	p,
	li,
	dd,
	.mc-prose {
		line-height: 1.85;
	}

	.mc-button,
	.mc-btn,
	.mc-bottom-card__button,
	.mc-top-contact__button,
	.mc-member-recruit__button {
		width: 100%;
		min-height: 56px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mc-button,
	.mc-btn,
	.mc-bottom-card__button,
	.mc-top-contact__button,
	.mc-member-recruit__button,
	.mc-card {
		transition: none;
	}
}
