/*
Theme Name: Medin Marketing
Theme URI: https://medinmarketing.com
Author: Medin Marketing
Description: Custom block theme for Medin Marketing, built from the "medin/home-1440" Figma design.
Version: 1.2.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: medin
*/

/* ---------------------------------------------------------------------------
 * Tokens (mirrors the Figma variables)
 * ------------------------------------------------------------------------ */
:root {
	--m-ink: #111;
	--m-ink-hover: #2c2c2c;
	--m-white: #fff;
	--m-rose: #e8a092;
	--m-gold: #c39029;
	--m-body: #000;
	--m-body-strong: #000;
	--m-body-soft: #000;
	--m-muted: #6b6b6b;
	--m-muted-warm: #9b8b80;
	--m-meta: #8a8a8a;
	--m-list: #333;
	--m-quote: #1c1c1c;
	--m-quote-strong: #141414;
	--m-warm-tint: #faf6f3;
	--m-blush: #faf1ee;
	--m-sand: #f2ece3;
	--m-cta-gold-bg: #f9efed;
	--m-hover-warm: #fcf8f6;
	--m-input: #fcfaf9;
	--m-hairline: #ede6e0;
	--m-hairline-strong: #e4d9d1;
	--m-section-rule: #f0e9e4;
	--m-icon-square: #e8dcd5;
	--m-numeral: #c0b2a8;
	--m-image-stripe: #efe6e1;
	--m-image-placeholder: #f4eeea;
	--m-warm-label: #b09f95;
	--m-warm-label-alt: #a9988d;
	--m-pill-text: #7a6b62;
	--m-dot-inactive: #d8ccc4;
	--m-dark-eyebrow: #b3a79f;
	--m-dark-text: #f2ece8;
	--m-dark-body: #a9a099;
	--m-dark-body-bright: #c2b9b2;
	--m-dark-rule: #2b2723;
	--m-footer-muted: #c9c2bc;
	--m-footer-bg: #0f0e0d;
	--m-footer-rule: #2a2723;

	--m-serif: Haboro, "Helvetica Neue", Arial, sans-serif;
	--m-sans: "PMN Caecilia Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--m-mono: "PMN Caecilia Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	--m-gutter: 40px;
	--m-container: 1240px;
	--m-section: 130px;
	--m-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------------------------------------------------------------------------
 * Base
 * ------------------------------------------------------------------------ */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}
body {
	margin: 0;
	background: var(--m-white);
	color: var(--m-ink);
	font-family: var(--m-sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
[id] { scroll-margin-top: 100px; }
.medin-main p, .medin-main h1, .medin-main h2, .medin-main h3, .medin-main ul,
.medin-header p, .medin-footer p, .medin-footer ul { margin: 0; }
.medin-main ul, .medin-footer ul { padding: 0; list-style: none; }
.medin-main img { max-width: 100%; height: auto; }
.medin-main figure { margin: 0; }
h1 em, h2 em, h3 em { font-style: italic; color: var(--m-rose); }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--m-rose); outline-offset: 3px; }

.medin-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--m-container);
	margin-inline: auto;
	padding-inline: var(--m-gutter);
}

/* ---------------------------------------------------------------------------
 * Shared type styles
 * ------------------------------------------------------------------------ */
.medin-eyebrow {
	font-family: var(--m-mono);
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: var(--m-muted-warm);
}
.medin-label {
	font-family: var(--m-mono);
	font-size: 11px;
	line-height: 16.5px;
	letter-spacing: 1.76px;
	text-transform: uppercase;
	color: var(--m-gold);
}
.medin-numeral {
	font-family: var(--m-mono);
	font-size: 11px;
	line-height: 16.5px;
	letter-spacing: 1.1px;
	color: var(--m-numeral);
}
.medin-h2 {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(36px, 3.611vw, 52px);
	line-height: 1.06;
	letter-spacing: -0.02em;
	color: var(--m-ink);
}
.medin-h2-48 {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(34px, 3.333vw, 48px);
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.medin-h3-section {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(30px, 2.639vw, 38px);
	line-height: 1.5;
	letter-spacing: -0.02em;
}
.medin-body-lg {
	font-size: 18px;
	line-height: 30.6px;
	color: var(--m-body-strong);
}
.medin-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--m-image-stripe);
	font-family: var(--m-mono);
	font-size: 11.5px;
	line-height: 17.25px;
	letter-spacing: 1.15px;
	text-transform: uppercase;
	color: var(--m-warm-label);
	text-align: center;
}

/* ---------------------------------------------------------------------------
 * Buttons
 * ------------------------------------------------------------------------ */
.wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, gap .25s var(--m-ease);
}
.wp-block-button.is-size-nav .wp-block-button__link {
	padding: 12px 22px;
	border-radius: 12px;
	font-size: 14.5px;
	line-height: 21.75px;
}
.wp-block-button.is-size-cta .wp-block-button__link { padding-inline: 32px; }
.wp-block-button.is-style-light .wp-block-button__link {
	background: var(--m-white);
	color: var(--m-ink);
}
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--m-hairline); color: var(--m-ink); }
.wp-block-button.has-arrow .wp-block-button__link { padding: 16px 28px; }
.wp-block-button.has-arrow .wp-block-button__link::after { content: "→"; font-size: 17px; line-height: 17px; }

/* Arrow text link (link/arrow component) */
.wp-block-button.is-style-arrow .wp-block-button__link,
.medin-arrow-link a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 0;
	background: none;
	border-radius: 0;
	color: var(--m-ink);
	font-family: var(--m-sans);
	font-weight: 600;
	font-size: 15.5px;
	line-height: 23.25px;
	transition: gap .25s var(--m-ease), color .2s ease;
}
.wp-block-button.is-style-arrow .wp-block-button__link::after,
.medin-arrow-link a::after { content: "→"; font-size: 18px; line-height: 18px; }
.wp-block-button.is-style-arrow .wp-block-button__link:hover,
.medin-arrow-link a:hover { background: none; color: var(--m-gold); gap: 15px; }
.medin-arrow-link a { font-size: 14.5px; line-height: 21.75px; }
.medin-arrow-link a::after { font-size: 15px; line-height: 15px; }
.medin-arrow-link a:hover { gap: 14px; }

/* ---------------------------------------------------------------------------
 * Header / navigation
 * ------------------------------------------------------------------------ */
.medin-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: var(--m-white);
	transition: box-shadow .3s ease;
}
.medin-header.is-scrolled { box-shadow: 0 6px 24px rgba(17, 17, 17, .06); }
/* On phones the admin bar scrolls away with the page, so stick to the very top. */
@media (max-width: 600px) { .medin-header { top: 0; } }
.medin-nav { border-bottom: 1px solid var(--m-hairline); }
.medin-nav__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	min-height: 104px;
	padding-block: 10px;
	transition: min-height .3s ease;
}
.medin-nav__logo { flex: 0 0 auto; margin: 0; line-height: 0; }
.medin-nav__logo img { width: 112px; height: 86px; object-fit: contain; transition: width .3s ease, height .3s ease; }
.medin-header.is-scrolled .medin-nav__inner { min-height: 76px; padding-block: 6px; }
.medin-header.is-scrolled .medin-nav__logo img { width: 78px !important; height: 60px !important; }
.medin-nav__menu { flex: 1 1 auto; justify-content: center; }
.medin-nav__actions { flex: 0 0 auto; display: flex; align-items: center; }
.medin-nav__cta { gap: 12px; }
.medin-nav__menu .wp-block-navigation__container { gap: 40px; }
.wp-block-button.is-style-outline.medin-nav__secondary .wp-block-button__link {
	padding: 11px 22px;
	border: 1px solid var(--m-ink);
	background: transparent;
	color: var(--m-ink);
}
.wp-block-button.is-style-outline.medin-nav__secondary .wp-block-button__link:hover { background: var(--m-ink); color: var(--m-white); }
.medin-nav__menu .wp-block-navigation-item__content {
	font-family: var(--m-sans);
	font-weight: 500;
	font-size: 15.5px;
	line-height: 21.75px;
	letter-spacing: 0.145px;
	color: var(--m-body);
	transition: color .2s ease;
}
.medin-nav__menu .wp-block-navigation-item__content:hover { color: var(--m-gold); }
.medin-nav__menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: 32px 24px;
	background: var(--m-white);
}
.medin-nav__menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 24px; align-items: flex-start; }
.medin-nav__menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 48px; }
.medin-nav__menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.2;
	color: var(--m-ink);
}

/* ---------------------------------------------------------------------------
 * Hero
 * ------------------------------------------------------------------------ */
.medin-hero { padding-top: 80px; }
.medin-hero__inner { display: flex; align-items: center; gap: 64px; }
.medin-hero__copy { flex: 1 1 0; min-width: 0; padding-block: 86px 87px; }
.medin-availability {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 500;
	font-size: 13.5px;
	line-height: 18px;
	color: var(--m-body);
}
.medin-availability::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4cbc6b;
	box-shadow: 0 0 0 0 rgba(76, 188, 107, .45);
	animation: medin-pulse 2.4s ease-out infinite;
}
@keyframes medin-pulse {
	0% { box-shadow: 0 0 0 0 rgba(76, 188, 107, .45); }
	70%, 100% { box-shadow: 0 0 0 7px rgba(76, 188, 107, 0); }
}
.medin-hero__eyebrow { margin-top: 36px !important; letter-spacing: 2.64px; }
.medin-hero__title {
	margin-top: 36px !important;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(40px, 3.611vw, 52px);
	line-height: 1.06;
	letter-spacing: -0.02em;
}
.medin-hero__lead {
	max-width: 460px;
	margin-top: 48px !important;
	font-weight: 600;
	font-size: clamp(19px, 1.528vw, 22px);
	line-height: 30px;
	color: var(--m-ink);
}
.medin-pills {
	/* Two equal columns, each as wide as the longest pill. */
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 56px !important;
}
.medin-pills li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border: 1px solid var(--m-hairline);
	border-radius: 100px;
	background: var(--m-input);
	font-weight: 500;
	font-size: 13.5px;
	line-height: 20.25px;
	letter-spacing: -0.05px;
	color: var(--m-body);
	white-space: nowrap;
	transition: border-color .2s ease, background-color .2s ease;
}
.medin-pills li::before { content: "✓"; font-size: 12px; line-height: 12px; color: var(--m-gold); }
.medin-pills li:hover { border-color: var(--m-rose); background: var(--m-hover-warm); }
.medin-hero__actions { margin-top: 64px; }
.medin-hero__media {
	position: relative;
	flex: 0 0 600px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid var(--m-image-stripe);
	border-radius: 16px;
	background: #fff url("assets/images/hero-poster.jpg") center / cover no-repeat;
}
/* The source GIF is letterboxed with black bars (rows 0-45 and 354-399);
   clip them so the white frame from the poster shows, as in the design. */
.medin-hero__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.medin-sound {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	padding: 0 14px 0 12px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	background: rgba(17, 17, 17, .55);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: var(--m-white);
	font-family: var(--m-mono);
	font-size: 11px;
	line-height: 1;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}
.medin-sound:hover { background: rgba(17, 17, 17, .75); border-color: var(--m-rose); }
.medin-sound:focus-visible { outline: 2px solid var(--m-rose); outline-offset: 3px; }
.medin-sound svg { width: 16px; height: 16px; flex: 0 0 auto; }
.medin-sound .medin-sound__on, .medin-sound.is-on .medin-sound__off { display: none; }
.medin-sound.is-on .medin-sound__on { display: block; }

/* ---------------------------------------------------------------------------
 * Who we are
 * ------------------------------------------------------------------------ */
.medin-who { padding-block: var(--m-section) 40px; }
.medin-who__inner { display: flex; align-items: center; gap: 160px; }
.medin-who__image {
	flex: 0 0 488px;
	height: 471px;
	overflow: hidden;
	border: 1px solid var(--m-image-stripe);
	border-radius: 16px;
	background: #fff;
}
.medin-who__image img { width: 100%; height: 100%; object-fit: contain; }
.medin-who__copy { flex: 1 1 0; min-width: 0; }
.medin-who__title {
	max-width: 560px;
	margin-top: 26px !important;
	margin-right: -48px !important;
	font-size: clamp(34px, 3.333vw, 48px);
	line-height: 1.08;
}
.medin-who__copy .medin-body-lg { max-width: 520px; }
.medin-who__title + .medin-body-lg { margin-top: 32px !important; }
.medin-who__copy .medin-body-lg + .medin-body-lg { margin-top: 16px !important; }
.medin-who__actions { margin-top: 32px; }

/* ---------------------------------------------------------------------------
 * Industries
 * ------------------------------------------------------------------------ */
.medin-industries { padding-block: 90px 40px; }
.medin-industries__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 44px;
}
.medin-industry {
	position: relative;
	box-sizing: border-box;
	min-height: 132px;
	padding: 30px 28px;
	border: 1px solid var(--m-hairline);
	border-radius: 14px;
	background: var(--m-blush);
	transition: transform .35s var(--m-ease), border-color .25s ease, background-color .25s ease;
}
.medin-industry h3 {
	margin-top: 14px !important;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 26px;
	line-height: 30.16px;
	letter-spacing: -0.26px;
}
.medin-industry::after {
	content: "→";
	position: absolute;
	right: 23px;
	bottom: 23px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	border: 1px solid var(--m-rose);
	border-radius: 15px;
	font-size: 15px;
	color: var(--m-rose);
	opacity: 0;
	transition: opacity .25s ease;
}
.medin-industry:hover {
	transform: translateY(-4px);
	border-color: var(--m-rose);
	background: var(--m-hover-warm);
}
.medin-industry:hover::after { opacity: 1; }

/* ---------------------------------------------------------------------------
 * CTA cards
 * ------------------------------------------------------------------------ */
.medin-cta-band { padding-top: 70px; }
.medin-cta-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	padding: 42px 48px;
	border-radius: 16px;
}
.medin-cta-card--blush { background: var(--m-blush); border: 1px solid #dea193; }
.medin-cta-card--sand { background: var(--m-sand); border: 1.5px solid var(--m-rose); }
.medin-cta-card__copy { max-width: 560px; }
.medin-cta-card h3 {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 26px;
	line-height: 30.16px;
	letter-spacing: -0.26px;
}
.medin-cta-card p { margin-top: 8px !important; font-size: 16px; line-height: 27.2px; color: var(--m-body); }

.medin-cta-dark { padding: 56px var(--m-gutter-outer, 0px); }
.medin-cta-dark__card {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: var(--m-container);
	margin-inline: auto;
	padding: 48px;
	border-radius: 20px;
	background: var(--m-ink);
}
.medin-cta-dark h3 {
	max-width: 620px;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(24px, 2.083vw, 30px);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--m-white);
}
.medin-cta-dark:not(.medin-cta-dark--wide) { padding-block: 58px; }
.medin-cta-dark__card--narrow {
	flex-direction: column;
	justify-content: center;
	max-width: 640px;
	text-align: center;
}
.medin-cta-dark__card--narrow h3 { max-width: 520px; font-size: clamp(28px, 2.361vw, 34px); line-height: 40px; }

.medin-cta-gold { padding-block: 56px; }
.medin-cta-gold__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
	max-width: var(--m-container);
	margin-inline: auto;
	padding: 40px 48px;
	border: 1.5px solid var(--m-gold);
	border-radius: 20px;
	background: var(--m-cta-gold-bg);
	text-align: center;
}
.medin-cta-gold h3 {
	max-width: 560px;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(26px, 2.222vw, 32px);
	line-height: 1.2;
	letter-spacing: -0.48px;
}

/* ---------------------------------------------------------------------------
 * Full-bleed bands
 * ------------------------------------------------------------------------ */
.medin-testimonials, .medin-method, .medin-how { padding-top: var(--m-section); }
.medin-band--warm {
	background: var(--m-warm-tint);
	border-block: 1px solid var(--m-section-rule);
}
.medin-band--dark { background: var(--m-ink); }

/* ---------------------------------------------------------------------------
 * Testimonials
 * ------------------------------------------------------------------------ */
.medin-testimonials__inner { padding-block: 104px; }
.medin-testimonials__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
}
.medin-testimonials__header h2 { max-width: 620px; }
.medin-testimonials__controls { display: flex; gap: 12px; }
.medin-circle-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 1px solid var(--m-hairline-strong);
	border-radius: 25px;
	background: var(--m-white);
	font-family: var(--m-sans);
	font-size: 18px;
	line-height: 18px;
	color: var(--m-ink);
	cursor: pointer;
	transition: border-color .2s ease;
}
.medin-circle-btn:hover { border-color: var(--m-rose); }
.medin-testimonials__slides { display: grid; margin-top: 44px; }
.medin-testimonial {
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	gap: 64px;
	transition: opacity .5s ease, visibility .5s;
}
.medin-testimonials.is-ready .medin-testimonial:not(.is-active) { opacity: 0; visibility: hidden; }
.medin-testimonial__photo {
	flex: 0 0 300px;
	box-sizing: border-box;
	height: 300px;
	border: 1px solid var(--m-hairline-strong);
	border-radius: 16px;
	color: var(--m-warm-label-alt);
	overflow: hidden;
}
.medin-testimonial__photo figure { height: 100%; }
.medin-testimonial__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.medin-testimonial__content { flex: 1 1 0; min-width: 0; }
.medin-testimonial__quote {
	position: relative;
	max-width: 720px;
	min-height: 150px;
	padding-top: 52px;
	font-family: var(--m-serif);
	font-weight: 300;
	font-size: clamp(24px, 2.361vw, 34px);
	line-height: 1.34;
	letter-spacing: -0.015em;
	color: var(--m-quote);
}
.medin-testimonial__quote::before {
	content: "\201C";
	position: absolute;
	top: 0;
	left: 0;
	font-family: var(--m-serif);
	font-size: 120px;
	line-height: 120px;
	font-weight: 400;
	color: var(--m-rose);
}
.medin-testimonial__by {
	display: flex;
	flex-direction: column;
	margin-top: 30px;
	padding-left: 60px;
	position: relative;
}
.medin-testimonial__by::before {
	content: "";
	position: absolute;
	left: 0;
	top: 22px;
	width: 44px;
	height: 1px;
	background: var(--m-gold);
}
.medin-testimonial__name { font-weight: 600; font-size: 15.5px; line-height: 23.25px; color: var(--m-ink); }
.medin-testimonial__role { font-size: 14px; line-height: 21px; color: var(--m-meta); }
.medin-testimonials__dots {
	display: flex;
	gap: 9px;
	margin: 34px 0 0 364px;
}
.medin-testimonials__dots button {
	width: 6px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background: var(--m-dot-inactive);
	cursor: pointer;
	transition: width .3s var(--m-ease), background-color .3s ease;
}
.medin-testimonials__dots button[aria-current="true"] { width: 28px; background: var(--m-ink); }
/* Removed from the pattern; also hidden here for pages saved with the old content. */
.medin-testimonials__note { display: none !important; }

/* ---------------------------------------------------------------------------
 * Our work (case studies + modal)
 * ------------------------------------------------------------------------ */
.medin-work, .medin-services, .medin-why, .medin-principles, .medin-founders { padding-block: var(--m-section) 40px; }
.medin-section-head { max-width: 640px; }
.medin-section-head--680 { max-width: 680px; }
.medin-section-head .medin-h2 { margin-top: 24px !important; }
.medin-work__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
	margin-top: 56px;
}
.medin-case {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--m-hairline);
	border-radius: 16px;
	background: var(--m-white);
}
.medin-case__cover {
	position: relative;
	aspect-ratio: 567 / 319;
	border-bottom: 1px solid var(--m-hairline);
	background: var(--m-image-placeholder);
}
.medin-case__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.medin-case__service {
	position: absolute;
	z-index: 1;
	top: 16px;
	left: 18px;
	padding: 6px 11px;
	border-radius: 20px;
	background: var(--m-white);
	font-size: 10.5px;
	line-height: 15.75px;
	letter-spacing: 1.47px;
	color: var(--m-pill-text);
}
.medin-case__body { padding: 32px 30px 30px; }
.medin-case__title {
	max-width: 340px;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 26px;
	line-height: 30.16px;
	letter-spacing: -0.26px;
}
.medin-case__metric {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-top: 22px !important;
	font-weight: 600;
	font-size: 15px;
	line-height: 22.5px;
	color: var(--m-muted);
}
.medin-case__metric strong {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 52px;
	line-height: 52px;
	letter-spacing: -1.04px;
	color: var(--m-gold);
}
.medin-case__detail { display: none; }
.medin-case__open { margin-top: 26px !important; }

.medin-modal {
	box-sizing: border-box;
	width: min(780px, calc(100% - 32px));
	max-height: calc(100% - 32px);
	padding: 0;
	border: 1px solid var(--m-hairline);
	border-radius: 20px;
	background: var(--m-white);
	box-shadow: 0 40px 120px rgba(17, 17, 17, .28);
	overflow: auto;
}
.medin-modal::backdrop { background: rgba(17, 17, 17, .72); }
.medin-modal[open] { animation: medin-modal-in .35s var(--m-ease); }
@keyframes medin-modal-in { from { opacity: 0; transform: translateY(16px); } }
.medin-modal__cover {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	aspect-ratio: 780 / 341;
	border-bottom: 1px solid var(--m-hairline);
	background: var(--m-image-placeholder);
	font-family: var(--m-mono);
	font-size: 11.5px;
	letter-spacing: 1.15px;
	text-transform: uppercase;
	color: var(--m-warm-label);
	overflow: hidden;
}
.medin-modal__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.medin-modal__body { padding: 44px 48px 48px; }
.medin-modal__service { margin: 0; }
.medin-modal__title {
	margin: 16px 0 0;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(30px, 2.778vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.8px;
}
.medin-modal__metric {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 26px 0 0;
	padding-block: 24px;
	border-block: 1px solid var(--m-section-rule);
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--m-muted);
}
.medin-modal__metric strong {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 56px;
	line-height: 56px;
	letter-spacing: -1.4px;
	color: var(--m-gold);
}
.medin-modal__detail { margin: 26px 0 0; font-size: 17px; line-height: 29.24px; color: var(--m-body-strong); }
.medin-modal__close {
	position: absolute;
	top: 19px;
	right: 19px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--m-hairline-strong);
	border-radius: 20px;
	background: var(--m-white);
	font-size: 17px;
	color: var(--m-ink);
	cursor: pointer;
	transition: border-color .2s ease;
}
.medin-modal__close:hover { border-color: var(--m-rose); }
body.medin-modal-open { overflow: hidden; }

/* ---------------------------------------------------------------------------
 * Services
 * ------------------------------------------------------------------------ */
.medin-services__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 56px;
}
.medin-service {
	padding: 34px 30px;
	border: 1px solid var(--m-hairline);
	border-radius: 16px;
	background: var(--m-white);
}
.medin-service__top { display: flex; align-items: center; justify-content: space-between; }
.medin-icon-square {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 46px;
	height: 46px;
	margin: 0 !important;
	border: 1px solid var(--m-icon-square);
	border-radius: 12px;
}
.medin-icon-square img { display: block; }
.medin-service h3 {
	margin-top: 24px !important;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 25px;
	line-height: 37.5px;
	letter-spacing: -0.25px;
}
.medin-service .medin-dot-list {
	margin-top: 22px !important;
	padding-top: 22px;
	border-top: 1px solid var(--m-section-rule);
}
.medin-dot-list { display: flex; flex-direction: column; gap: 12px; }
.medin-dot-list li {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 15px;
	line-height: 24.75px;
	color: var(--m-list);
}
.medin-dot-list li::before {
	content: "";
	flex: 0 0 4px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--m-rose);
}

/* ---------------------------------------------------------------------------
 * Method (dark band)
 * ------------------------------------------------------------------------ */
.medin-method__inner { display: flex; align-items: flex-start; gap: 80px; padding-block: 120px; }
.medin-method__intro, .medin-method__steps { flex: 1 1 0; min-width: 0; }
.medin-method .medin-eyebrow { color: var(--m-dark-eyebrow); }
.medin-method__title {
	margin-top: 28px !important;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(42px, 4.306vw, 62px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--m-dark-text);
}
.medin-method__intro > p:not(.medin-eyebrow) {
	max-width: 420px;
	margin-top: 16px !important;
	font-size: 17px;
	line-height: 29.24px;
	color: var(--m-dark-body);
}
.medin-method__intro > p.medin-method__lead { margin-top: 30px !important; color: var(--m-dark-body-bright); }
.medin-method__step {
	display: flex;
	align-items: flex-start;
	gap: 26px;
	padding-block: 38px;
	border-top: 1px solid var(--m-dark-rule);
}
.medin-method__num {
	flex: 0 0 64px;
	font-family: var(--m-serif);
	font-size: 34px;
	line-height: 34px;
	color: var(--m-rose);
}
.medin-method__text { flex: 1 1 0; min-width: 0; }
.medin-method__text h3 {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 28px;
	line-height: 42px;
	letter-spacing: -0.28px;
	color: var(--m-dark-text);
}
.medin-method__text p {
	max-width: 420px;
	margin-top: 12px !important;
	font-size: 16px;
	line-height: 27.2px;
	color: var(--m-dark-body);
}

/* ---------------------------------------------------------------------------
 * Why stay
 * ------------------------------------------------------------------------ */
.medin-why__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-top: 56px;
}
.medin-why-card {
	padding: 36px 32px;
	border: 1px solid var(--m-hairline);
	border-radius: 16px;
	background: var(--m-white);
	transition: transform .35s var(--m-ease), border-color .25s ease;
}
.medin-why-card:not(.is-featured):hover { transform: translateY(-4px); border-color: var(--m-rose); }
.medin-why-card h3 {
	margin-top: 26px !important;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 26px;
	line-height: 30.16px;
	letter-spacing: -0.26px;
}
.medin-why-card p { margin-top: 12px !important; font-size: 15.5px; line-height: 25.11px; color: var(--m-body-soft); }
.medin-why-card.is-featured { background: var(--m-ink); border-color: var(--m-ink); }
.medin-why-card.is-featured .medin-icon-square { border-color: var(--m-rose); }
.medin-why-card.is-featured h3 { color: var(--m-white); }
.medin-why-card.is-featured p { color: var(--m-footer-muted); }

/* ---------------------------------------------------------------------------
 * How it works (accordion built on core/details)
 * ------------------------------------------------------------------------ */
.medin-how__inner {
	max-width: 1040px;
	padding-block: 110px;
	text-align: center;
}
.medin-how__inner > .medin-h2 { margin-top: 22px !important; }
.medin-accordion {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 56px;
	text-align: left;
	counter-reset: medin-step;
}
.medin-step {
	counter-increment: medin-step;
	overflow: hidden;
	border: 1px solid var(--m-hairline);
	border-radius: 14px;
	background: var(--m-white);
	transition: background-color .3s ease;
}
.medin-step[open] { background: var(--m-hover-warm); }
.medin-step summary {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 26px 30px;
	list-style: none;
	cursor: pointer;
	font-family: var(--m-serif);
	font-size: 24px;
	line-height: 34.5px;
	letter-spacing: -0.24px;
	color: var(--m-ink);
}
.medin-step summary::-webkit-details-marker { display: none; }
.medin-step summary::before {
	content: "Step " counter(medin-step);
	flex: 0 0 96px;
	font-family: var(--m-mono);
	font-size: 11.5px;
	line-height: 17.25px;
	letter-spacing: 1.61px;
	text-transform: uppercase;
	color: var(--m-gold);
}
.medin-step summary::after {
	content: "+";
	flex: 0 0 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 34px;
	height: 34px;
	margin-left: auto;
	border: 1px solid var(--m-hairline-strong);
	border-radius: 17px;
	font-family: var(--m-sans);
	font-size: 18px;
	line-height: 18px;
	transition: transform .35s var(--m-ease), border-color .2s ease;
}
.medin-step summary:hover::after { border-color: var(--m-rose); }
.medin-step[open] summary::after { transform: rotate(45deg); }
.medin-step > :not(summary) { margin-inline: 126px 30px !important; }
.medin-step > :not(summary) + :not(summary) { margin-top: 16px !important; }
.medin-step > :last-child { margin-bottom: 30px !important; }
.medin-step > p { font-size: 16px; line-height: 27.2px; color: var(--m-body-strong); }
.medin-step .medin-dot-list { gap: 9px; }
.medin-step .medin-dot-list li { font-size: 15.5px; line-height: 25.11px; color: var(--m-body); }
.medin-step__meta, .medin-step__placeholder {
	font-family: var(--m-mono);
	font-size: 11.5px !important;
	line-height: 17.25px !important;
	letter-spacing: 1.61px;
	text-transform: uppercase;
	color: var(--m-muted-warm) !important;
}

/* ---------------------------------------------------------------------------
 * Guiding principles
 * ------------------------------------------------------------------------ */
.medin-principles__quote { max-width: 940px; margin-inline: auto; text-align: center; }
.medin-principles__text {
	margin-top: 34px !important;
	font-family: var(--m-serif);
	font-weight: 300;
	font-size: clamp(30px, 3.333vw, 48px);
	line-height: 1.22;
	letter-spacing: -0.02em;
	color: var(--m-quote-strong);
}
.medin-principles__credit { margin-top: 26px !important; font-weight: 600; font-size: 15px; line-height: 22.5px; color: var(--m-gold); }
.medin-principles__pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 26px;
	margin-top: 76px;
}
.medin-principle {
	padding: 44px 40px;
	border: 1px solid var(--m-hairline);
	border-radius: 16px;
	background: var(--m-white);
}
.medin-principle.is-tinted { background: var(--m-hover-warm); }
.medin-principle__lead {
	margin-top: 18px !important;
	font-family: var(--m-serif);
	font-weight: 300;
	font-size: 22px;
	line-height: 32.12px;
	color: var(--m-quote);
}
.medin-principle p:last-child:not(.medin-principle__lead) {
	margin-top: 16px !important;
	font-size: 16.5px;
	line-height: 26.73px;
	color: var(--m-body-soft);
}
.medin-principles__pair + .medin-label { margin-top: 76px !important; }
.medin-values {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 26px;
}
.medin-value { padding-top: 22px; border-top: 1px solid var(--m-hairline-strong); }
.medin-value h3 {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: 23px;
	line-height: 34.5px;
	letter-spacing: -0.23px;
}
.medin-value p { margin-top: 10px !important; font-size: 14.5px; line-height: 23.2px; color: var(--m-body-soft); }

/* ---------------------------------------------------------------------------
 * Founders
 * ------------------------------------------------------------------------ */
.medin-founders__intro { max-width: 760px; }
.medin-founders__intro .medin-h2 { margin-top: 24px !important; }
.medin-founders__intro .medin-h2 + .medin-body-lg { margin-top: 30px !important; }
.medin-founders__intro .medin-body-lg + .medin-body-lg { margin-top: 16px !important; }
.medin-founder { display: flex; align-items: center; gap: 64px; margin-top: 72px; }
.medin-founder + .medin-founder { margin-top: 88px; }
.medin-founder.is-reversed { flex-direction: row-reverse; }
.medin-founder__portrait {
	position: relative;
	flex: 0 0 548px;
	box-sizing: border-box;
	aspect-ratio: 548 / 685;
	border: 1px solid var(--m-image-stripe);
	border-radius: 16px;
	overflow: hidden;
}
.medin-founder__portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.medin-founder__index {
	position: absolute;
	z-index: 1;
	left: 19px;
	bottom: 18px;
	padding: 4px 10px;
	border-radius: 100px;
	background: var(--m-white);
	font-size: 11px;
	line-height: 16.5px;
	letter-spacing: 1.1px;
}
.medin-founder__bio { flex: 1 1 0; min-width: 0; }
.medin-founder__bio h3 {
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(36px, 3.056vw, 44px);
	line-height: 1.04;
	letter-spacing: -0.02em;
}
.medin-founder__role { margin-top: 10px !important; font-weight: 600; font-size: 15px; line-height: 22.5px; color: var(--m-gold); }
.medin-founder__bio > p:not(.medin-founder__role) {
	max-width: 480px;
	margin-top: 20px !important;
	font-size: 17px;
	line-height: 29.24px;
	color: var(--m-body-strong);
}

/* ---------------------------------------------------------------------------
 * Contact
 * ------------------------------------------------------------------------ */
.medin-contact { padding-bottom: var(--m-section); }
.medin-contact::before {
	content: "";
	display: block;
	max-width: var(--m-container);
	height: 1px;
	margin: 0 auto var(--m-section);
	background: var(--m-hairline);
}
.medin-contact__inner { display: flex; align-items: center; gap: 80px; }
.medin-contact__copy, .medin-contact__card { flex: 1 1 0; min-width: 0; }
.medin-contact__title {
	margin-top: 26px !important;
	font-family: var(--m-serif);
	font-weight: 400;
	font-size: clamp(42px, 4.167vw, 60px);
	line-height: 1.02;
	letter-spacing: -0.025em;
}
.medin-contact__copy .medin-body-lg { max-width: 420px; margin-top: 26px !important; }
.medin-contact__actions { margin-top: 32px; }
.medin-contact__card {
	box-sizing: border-box;
	padding: 44px 40px;
	border: 1px solid var(--m-hairline);
	border-radius: 20px;
	background: var(--m-white);
}
.medin-form { display: flex; flex-direction: column; gap: 22px; }
.medin-field { display: flex; flex-direction: column; gap: 9px; margin: 0; }
.medin-field label {
	font-weight: 600;
	font-size: 13px;
	line-height: 19.5px;
	letter-spacing: 0.13px;
	color: var(--m-body-strong);
}
.medin-field input, .medin-field textarea {
	box-sizing: border-box;
	width: 100%;
	height: 55px;
	padding: 15px 18px;
	border: 1px solid var(--m-hairline-strong);
	border-radius: 12px;
	background: var(--m-input);
	font-family: var(--m-sans);
	font-size: 15px;
	line-height: 24.75px;
	color: var(--m-ink);
	transition: border-color .2s ease;
}
.medin-field textarea { height: 96px; resize: vertical; }
.medin-field input::placeholder, .medin-field textarea::placeholder { color: var(--m-muted); opacity: 1; }
.medin-field input:focus, .medin-field textarea:focus { outline: none; border-color: var(--m-rose); }
.medin-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.medin-form__submit {
	padding: 16px;
	border: 0;
	border-radius: 12px;
	background: var(--m-ink);
	font-family: var(--m-sans);
	font-weight: 600;
	font-size: 15.5px;
	line-height: 23.25px;
	color: var(--m-white);
	cursor: pointer;
	transition: background-color .2s ease;
}
.medin-form__submit:hover { background: var(--m-ink-hover); }
.medin-form__notice { margin: 0; padding: 14px 18px; border-radius: 12px; font-size: 15px; line-height: 1.5; }
.medin-form__notice.is-success { background: #eef8f1; color: #1f6b37; }
.medin-form__notice.is-error { background: var(--m-blush); color: #9a3b2b; }

/* ---------------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------------ */
.medin-foot { background: var(--m-footer-bg); border-top: 1px solid var(--m-section-rule); color: var(--m-white); }
.medin-foot__inner { padding-block: 88px 40px; }
.medin-foot__columns { display: flex; gap: 56px; }
.medin-foot__brand { flex: 0 0 431.5px; }
.medin-foot__col { flex: 1 1 0; min-width: 0; }
.medin-foot__logo { margin: 0; line-height: 0; }
.medin-foot__logo img { width: 150px; height: 115px; object-fit: contain; }
.medin-foot__label {
	font-family: var(--m-mono);
	font-size: 11px;
	line-height: 16.5px;
	letter-spacing: 1.76px;
	text-transform: uppercase;
}
.medin-foot__links { display: flex; flex-direction: column; gap: 13px; margin-top: 20px !important; }
.medin-foot__links li { font-size: 15px; line-height: 24.75px; }
.medin-foot__links--social { display: grid; grid-template-columns: repeat(2, max-content); column-gap: 40px; }
.medin-foot a { text-decoration: none; transition: color .2s ease; }
.medin-foot__links a:hover { color: var(--m-rose); }
.medin-foot__email { margin-top: 26px !important; font-weight: 600; font-size: 15px; line-height: 22.5px; }
.medin-foot__email a { padding-bottom: 3px; border-bottom: 1px solid var(--m-gold); }
.medin-foot__email a:hover { color: var(--m-gold); }
.medin-foot__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 64px;
	padding-top: 26px;
	border-top: 1px solid var(--m-footer-rule);
}
.medin-foot__copyright { font-size: 13px; line-height: 19.5px; }
.medin-foot__tagline {
	font-family: var(--m-mono);
	font-size: 11px;
	line-height: 16.5px;
	letter-spacing: 1.76px;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------------------
 * Generic pages (privacy policy, posts, etc.)
 * ------------------------------------------------------------------------ */
.medin-page { padding: 80px var(--m-gutter) var(--m-section); }
.medin-page .medin-page__title { font-size: clamp(38px, 3.611vw, 52px); line-height: 1.1; margin-bottom: 32px; }
.medin-page p, .medin-page li { color: var(--m-body-strong); }
.medin-page .wp-block-post-content > * + * { margin-top: 1em; }
.medin-page .wp-block-post-content h2 { margin-top: 2em; font-size: clamp(24px, 2vw, 28px); line-height: 1.25; }
.medin-page .wp-block-post-content h3 { margin-top: 1.6em; font-size: 21px; line-height: 1.3; }
.medin-page .wp-block-post-content ul { padding-left: 1.4em; list-style: disc; }
.medin-page .wp-block-post-content ol { padding-left: 1.4em; }
.medin-page .wp-block-post-content li + li { margin-top: .4em; }
.medin-page .wp-block-post-content a { text-decoration: underline; text-decoration-color: var(--m-gold); text-underline-offset: 3px; }
.medin-page .wp-block-post-content a:hover { color: var(--m-gold); }

/* ---------------------------------------------------------------------------
 * Reveal-on-scroll (enabled by JS only, so content never hides without it)
 * ------------------------------------------------------------------------ */
.medin-js .medin-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s var(--m-ease); }
.medin-js .medin-reveal.is-visible { opacity: 1; transform: none; }

/* ---------------------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------------------ */
@media (max-width: 1279px) {
	.medin-who__inner { gap: 80px; }
	.medin-who__image { flex-basis: 42%; height: auto; aspect-ratio: 488 / 471; }
	.medin-who__title { margin-right: 0 !important; }
	.medin-hero__media { flex-basis: 44%; }
	.medin-cta-dark, .medin-cta-gold { padding-inline: var(--m-gutter); }
	.medin-founder__portrait { flex-basis: 46%; }
	.medin-foot__brand { flex-basis: 34%; }
}

/* The full menu row needs ~1240px; below that it collapses into the hamburger overlay. */
@media (max-width: 1239px) {
	.medin-nav__inner { gap: 24px; }
	.medin-nav__menu { order: 3; flex: 0 0 auto; }
	.medin-nav__actions { margin-left: auto; }
	.medin-nav__menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.medin-nav__menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

@media (max-width: 1023px) {
	:root { --m-section: 96px; }
	.medin-hero { padding-top: 32px; }
	.medin-hero__inner, .medin-who__inner, .medin-contact__inner, .medin-method__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 48px;
	}
	.medin-hero__copy { padding-block: 32px 0; }
	.medin-hero__media { flex-basis: auto; width: 100%; max-width: 640px; }
	.medin-who__image { flex-basis: auto; width: 100%; max-width: 560px; }
	.medin-method__inner { padding-block: 88px; }
	.medin-industries__grid, .medin-services__grid, .medin-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.medin-values { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
	.medin-testimonial { gap: 40px; }
	.medin-testimonial__photo { flex-basis: 220px; height: 220px; }
	.medin-testimonials__dots { margin-left: 260px !important; }
	.medin-founder, .medin-founder.is-reversed { flex-direction: column; align-items: stretch; gap: 40px; }
	.medin-founder__portrait { flex-basis: auto; width: 100%; max-width: 480px; }
	.medin-foot__columns { flex-wrap: wrap; row-gap: 48px; }
	.medin-foot__brand { flex-basis: 100%; }
}

@media (max-width: 781px) {
	:root { --m-gutter: 20px; --m-section: 80px; }
	.medin-nav .medin-nav__actions { display: none; }
	.medin-nav__inner { min-height: 80px; }
	.medin-nav__logo img { width: 84px !important; height: 64px !important; }
	.medin-header.is-scrolled .medin-nav__inner { min-height: 64px; }
	.medin-header.is-scrolled .medin-nav__logo img { width: 62px !important; height: 48px !important; }
	[id] { scroll-margin-top: 84px; }
	.medin-sound { right: 12px; bottom: 12px; height: 34px; padding: 0 12px 0 10px; }
	.medin-eyebrow { letter-spacing: 1.6px; }
	.medin-hero__actions .wp-block-button:not(.is-style-arrow) { flex: 1 1 100%; }
	.medin-hero__actions .wp-block-button:not(.is-style-arrow) .wp-block-button__link { width: 100%; box-sizing: border-box; }
	.medin-hero__title br { display: none; }
	.medin-pills li { white-space: normal; }
	.medin-industries__grid, .medin-services__grid, .medin-why__grid, .medin-work__grid, .medin-principles__pair, .medin-values { grid-template-columns: minmax(0, 1fr); }
	.medin-industry { min-height: 0; padding: 22px 24px; }
	.medin-industry h3 { margin-top: 8px !important; font-size: 23px; }
	.medin-cta-card { padding: 32px 24px; }
	.medin-cta-dark__card, .medin-cta-gold__card { padding: 36px 24px; }
	.medin-cta-dark, .medin-cta-gold { padding-block: 40px !important; }
	.medin-testimonials__inner { padding-block: 72px; }
	.medin-testimonials__header { flex-direction: column; align-items: flex-start; }
	.medin-testimonial { flex-direction: column; align-items: flex-start; gap: 28px; }
	.medin-testimonial__photo { flex-basis: auto; width: 160px; height: 160px; }
	.medin-testimonial__quote { min-height: 0; }
	.medin-testimonials__dots { margin-left: 0 !important; }
	.medin-case__body { padding: 26px 22px 24px; }
	.medin-case__metric strong { font-size: 44px; line-height: 44px; }
	.medin-method__step { gap: 16px; padding-block: 28px; }
	.medin-method__num { flex-basis: 44px; font-size: 28px; }
	.medin-method__text h3 { font-size: 24px; line-height: 1.3; }
	.medin-how__inner { padding-block: 72px; }
	.medin-step summary { flex-wrap: wrap; gap: 4px 12px; padding: 20px; font-size: 20px; line-height: 1.35; }
	.medin-step summary::before { flex-basis: 100%; order: -1; }
	.medin-step summary::after { position: absolute; right: 20px; top: 20px; }
	.medin-step { position: relative; }
	.medin-step summary { padding-right: 70px; }
	.medin-step > :not(summary) { margin-inline: 20px !important; }
	.medin-step > :last-child { margin-bottom: 24px !important; }
	.medin-principle { padding: 32px 24px; }
	.medin-principles__pair, .medin-principles__pair + .medin-label { margin-top: 56px !important; }
	.medin-founder { margin-top: 56px; }
	.medin-founder + .medin-founder { margin-top: 72px; }
	.medin-contact__card { padding: 32px 20px; }
	.medin-foot__inner { padding-top: 64px; }
	.medin-foot__col { flex-basis: calc(50% - 28px); }
	.medin-modal__body { padding: 32px 24px 36px; }
}

@media (max-width: 480px) {
	.medin-foot__columns { flex-direction: column; }
	.medin-foot__legal { flex-direction: column; align-items: flex-start; }
}

/* Phones: one column, every pill as wide as the longest one (not full width). */
@media (max-width: 480px) {
	.medin-pills { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
