/* ==========================================================================
   Sousa Football Agents — responsive.css
   Breakpoints: 1200 / 991 / 767 / 480 (max-width, mobile-aware)
   ========================================================================== */

/* ---------- <= 1200px : large tablets / small laptops ---------- */
@media (max-width: 1200px) {
	.site-header__bar { gap: 1rem; }
	.site-nav__list { gap: 0.8rem; }
	.site-nav__list a { font-size: 0.8rem; }
	.site-header__cta { padding-inline: 1rem; font-size: 0.8rem; }
	.pillars { grid-template-columns: repeat(2, 1fr); }
	.pillar:nth-child(2) { border-right: 0; }
	.team-grid,
	.posts-grid { grid-template-columns: repeat(2, 1fr); }
	.who-page-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- <= 1100px : switch to off-canvas nav before items crowd ---------- */
@media (max-width: 1100px) {
	.site-nav { display: none; }
	.menu-trigger { display: inline-flex; grid-column: 1; grid-row: 1; justify-self: start; width: 40px; }
}

/* ---------- <= 991px : tablets — switch to off-canvas nav ---------- */
@media (max-width: 991px) {
	:root { --header-h: 72px; }
	.site-header__bar { grid-template-columns: 1fr auto 1fr; }
	.site-header__brand { grid-column: 2; }
	.site-logo { width: 130px; height: 50px; }
	.site-header__tools { grid-column: 3; grid-row: 1; justify-self: end; gap: 0.35rem; }
	.header-instagram { width: 36px; }
	.header-language-toggle { min-width: 48px; height: 32px; padding-inline: 0.5rem; }
	.header-instagram svg { width: 24px; height: 24px; }
	.site-header .header-language-toggle img {
		flex: 0 0 17px;
		width: 17px !important;
		height: 17px !important;
		border-radius: 50%;
		object-fit: contain;
	}
	.menu-overlay { width: 100%; max-width: none; padding: calc(var(--header-h) + 2rem) 2rem 2rem; }
	.menu-overlay__inner { grid-template-columns: 1fr; align-items: start; gap: 3rem; height: auto; min-height: 100%; }
	.menu-overlay__about { padding-bottom: 2rem; }
	.who-story { min-height: auto; }
	.who-story__statement-row,
	.who-story__detail-row,
	.who-story__principles-row { grid-template-columns: 120px minmax(0, 1fr); gap: 2rem; }
	.who-kickoff__inner {
		grid-template-columns: 1fr;
		margin-top: -100svh;
	}
	.who-kickoff__sticky {
		position: relative;
		top: auto;
	}
	.who-kickoff__chapters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding-top: clamp(5rem, 14vh, 8rem);
	}
	.who-kickoff__chapter {
		min-height: 210px;
	}
	.services-intro__grid { grid-template-columns: 1fr 1.35fr; gap: 3rem; }
	.services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.service-card:nth-child(3) { display: none; }
	.services-carousel__arrow--prev { left: -12px; }
	.services-carousel__arrow--next { right: -12px; }
	.team-showcase__container { gap: 5rem; }
	.site-footer__main { grid-template-columns: 1fr 1fr; }
	.site-footer__statement { grid-column: 1 / -1; }
	.site-footer__statement > p { max-width: 18ch; }

	/* Layout stacking */
	.who { grid-template-columns: 1fr; }
	.who__media { aspect-ratio: 16 / 10; order: -1; }
	.map { grid-template-columns: 1fr; }
	.alliance { grid-template-columns: 1fr; }
	.alliance__brand { min-height: 320px; }
	.alliance--flip .alliance__media { order: 0; }
	.alliance--compact .alliance__media { justify-self: center; }
	.alliance--compact .alliance__brand { min-height: 0; }
	.contact { grid-template-columns: 1fr; }
	.who-page-storyline__grid,
	.who-page-journey__grid,
	.who-page-team__grid { grid-template-columns: 1fr; }
	.who-page-journey__intro { position: relative; top: auto; }
	.who-page-value-grid { grid-template-columns: 1fr; }
	.who-page-storyline__media { aspect-ratio: 16 / 10; }
	.who-page-team__media {
		order: -1;
		max-width: 520px;
	}
	.team-card { filter: drop-shadow(0 20px 38px rgba(122, 108, 77, 0.35)); }
	.team-card--green { filter: drop-shadow(0 20px 38px rgba(8, 37, 12, 0.38)); }
	.team-card__shape,
	.team-card--flip .team-card__shape {
		clip-path: none;
		border-radius: 1.8rem;
	}
	.team-card__inner,
	.team-card--flip .team-card__inner {
		flex-direction: column;
		justify-content: flex-end;
		min-height: 0;
		padding-top: 1.8rem;
	}
	.team-card__media,
	.team-card--flip .team-card__media {
		position: static;
		width: min(64%, 300px);
	}
	.team-card__media img { height: auto; }
	.team-card__content,
	.team-card--flip .team-card__content {
		width: 100%;
		align-items: center;
		text-align: center;
		padding: 1.6rem 1.4rem 2.4rem;
	}
	.team-card__name,
	.team-card--flip .team-card__name {
		align-items: center;
		font-size: clamp(1.9rem, 7vw, 3.4rem);
	}
	.team-card__name-outline,
	.team-card--flip .team-card__name-outline {
		margin-right: 0;
		margin-left: 0;
	}
	.team-card__role {
		margin-top: 1rem;
		max-width: 34ch;
	}
	.team-card__link { margin-top: 1.4rem; }
	.team-card-row {
		grid-template-columns: 1fr;
		gap: clamp(2.5rem, 6vw, 5rem);
	}
	.team-card-row .team-card__inner,
	.team-card-row .team-card--flip .team-card__inner {
		flex-direction: column;
		justify-content: flex-end;
		min-height: 0;
		padding-top: 1.8rem;
	}
	.team-card-row .team-card__media,
	.team-card-row .team-card--flip .team-card__media {
		position: static;
		width: min(64%, 300px);
	}
	.team-card-row .team-card__content,
	.team-card-row .team-card--flip .team-card__content {
		width: 100%;
		align-items: center;
		text-align: center;
		padding: 1.6rem 1.4rem 2.4rem;
	}
	.team-card-row .team-card__name,
	.team-card-row .team-card--flip .team-card__name {
		align-items: center;
		font-size: clamp(1.9rem, 7vw, 3.4rem);
	}
	.team-card-row .team-card__name-outline,
	.team-card-row .team-card--flip .team-card__name-outline {
		margin-right: 0;
		margin-left: 0;
	}
	.blog-feature__link { grid-template-columns: 1fr; }
	.blog-feature__media { min-height: 0; aspect-ratio: 16 / 9; }
	.split,
	.ruben-hero { grid-template-columns: 1fr; }
	.ruben-profile__layout { grid-template-columns: 1fr; }
	.ruben-profile__sticky { position: relative; top: 0; width: min(100%, 520px); margin-inline: auto; }
	.ruben-profile__card { min-height: 620px; }
	.ruben-profile__story { padding-top: 1rem; }
	.ruben-hero { min-height: auto; }
	.ruben-hero__media { aspect-ratio: 4 / 3; }
	.services-anchor-nav__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: min(520px, calc(100vw - 1.2rem));
		border-radius: 20px;
	}
	.services-anchor-nav a {
		min-width: 0;
		padding: 0.7rem 0.6rem;
		font-size: 0.68rem;
	}
	.service-block__inner { grid-template-columns: 1fr; }
	.service-block--reverse .service-block__media { order: 0; }
	/* Show each service image whole (they range from tall portraits to wide
	   landscapes); a fixed ratio + object-fit:cover was cropping them. */
	.service-block__media { aspect-ratio: auto; }
	.service-block__media img { height: auto; object-fit: contain; }
	.service-block__bg-icon {
		width: clamp(15rem, 48vw, 24rem);
	}
	.service-block--icon-left .service-block__bg-icon { left: -8rem; }
	.service-block--icon-right .service-block__bg-icon { right: -8rem; }
}

@media (max-width: 560px) {
	.ruben-profile { padding-top: 0; }
	.ruben-profile__hero { padding: 5.5rem .8rem 0; }
	.ruben-profile__hero-stage { width: 100vw; height: min(68svh, 620px); }
	.ruben-profile__hero-photo { width: min(74vw, 390px); height: 88%; }
	.ruben-profile__hero-name { top: 21%; font-size: clamp(3.5rem, 18vw, 5.8rem); line-height: .82; }
	.ruben-profile__hero-name strong { -webkit-text-stroke-width: 1px; }
	.ruben-profile__facts { padding-block: 3.5rem; }
	.ruben-profile__facts-heading { display: block; margin-bottom: 2rem; }
	.ruben-profile__facts-kicker { margin-bottom: 1rem; }
	.ruben-profile__facts-heading h2.title-fill-loop,
	.ruben-profile__history-copy h2.title-fill-loop { font-size: clamp(2.55rem, 13vw, 4.4rem); }
	.ruben-profile__quote-section { padding-block: 4rem; }
	.ruben-profile__quote { display: block; padding-top: 4rem; }
	.ruben-profile__quote::before { left: 0; }
	.ruben-profile__quote-mark { display: block; margin: 0 0 1.25rem; font-size: 8rem; line-height: .5; text-align: left; }
	.ruben-profile__quote p { max-width: none; font-size: clamp(1.55rem, 7.5vw, 2.35rem); }
	.ruben-profile__facts-list { grid-template-columns: 1fr; gap: .75rem; overflow: visible; border: 0; background: transparent; }
	.ruben-profile__professional-heading { margin: 3.5rem 0 1.25rem; }
	.ruben-profile__professional-heading h3 { font-size: 1.55rem; }
	.ruben-profile__fact { display: block; min-height: 0; padding: 1.2rem; border: 1px solid rgba(11,62,19,.14); border-radius: 14px; box-shadow: 0 8px 24px rgba(11,62,19,.05); }
	.ruben-profile__fact dt { margin-bottom: 1rem; }
	.ruben-profile__fact dd { font-size: .88rem; }
	.ruben-profile__fact--detail { min-height: 0; }
	.ruben-profile__fact--detail li { font-size: inherit; }
	.ruben-profile__fact .ruben-profile__specialties { gap: .5rem; }
	.ruben-profile__fact .ruben-profile__specialties span { min-height: 2.4rem; padding: .45rem .75rem; font-size: inherit; }
	.ruben-profile__history { padding-block: 4rem; }
	.ruben-profile__history-inner { grid-template-columns: 1fr; gap: 3rem; }
	.ruben-profile__history-child-photo { width: min(100%, 520px); margin-inline: auto; }
	.ruben-profile__history-copy p { font-size: 1rem; line-height: 1.65; }
	.ruben-profile__history-copy .lead { font-size: 1.35rem; }
	.ruben-profile__hero-role { right: 8%; bottom: 7%; font-size: .72rem; }
	.ruben-profile__hero-credentials { margin-top: 1rem; font-size: .54rem; }
	.ruben-profile__scroll { display: none; }
	.ruben-profile__chapter { padding-bottom: 4.5rem; }
	.ruben-contact-dock { right: .65rem; bottom: max(.65rem, env(safe-area-inset-bottom)); left: .65rem; padding: 4px; border-radius: 18px; }
	.ruben-contact-dock__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ruben-contact-dock__label { display: none; }
	.ruben-contact-dock__action { min-height: 52px; padding: .65rem .5rem; border-radius: 14px; font-size: .62rem; letter-spacing: .045em; }
	.page-template-page-ruben { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}

/* WordPress uses a taller admin toolbar on tablets and phones. */
@media (max-width: 782px) {
	body.admin-bar .site-header,
	body.admin-bar .menu-overlay { top: 46px; }
	body.admin-bar .ruben-profile__anchor-nav { top: 46px; }
}

/* ---------- <= 767px : phones (landscape) ---------- */
@media (max-width: 767px) {
	:root { --space-section: clamp(4rem, 13vw, 5.5rem); }
	.container { padding-inline: clamp(1.15rem, 5vw, 2rem); }
	.hero__content { padding-block: calc(var(--header-h) + 1.25rem) 7rem; }
	.hero__media img { object-position: 46% center; }
	.hero__headline { font-size: clamp(1.65rem, 7.8vw, 2.35rem); line-height: 1.08; margin-bottom: 1rem; }
	.hero__flourish { width: min(58vw, 230px); margin-bottom: 1.25rem; }
	.hero__actions { gap: 0.7rem; }
	.hero__cta { min-height: 48px; padding: 0.82em 1.35em; font-size: 0.95rem; }
	.contact {
		grid-template-columns: 1fr;
	}
	.contact .section-head__title {
		max-width: 100%;
	}
	.form__row {
		grid-template-columns: 1fr;
	}
	.who-story { min-height: auto; }
	.who-story__sticky { position: relative; min-height: auto; padding-block: var(--space-section); overflow: visible; }
	.who-story__statement-row,
	.who-story__detail-row,
	.who-story__principles-row { grid-template-columns: 1fr; gap: 1.25rem; }
	.who-story__detail-row > [aria-hidden="true"],
	.who-story__principles-row > [aria-hidden="true"] { display: none; }
	.who-story__principles { grid-template-columns: 1fr; }
	.home-links__grid { grid-template-columns: 1fr; }
	.who-story__statement { font-size: clamp(1.75rem, 7.4vw, 2.55rem); line-height: 1.08; letter-spacing: 0; }
	.who-story__eyebrow { padding-top: 0; }
	.who-story__detail { justify-self: start; }
	.who-kickoff {
		min-height: auto;
	}
	.who-kickoff__media {
		position: absolute;
		inset: 0;
		height: auto;
	}
	.who-kickoff__inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2rem;
		margin-top: 0;
		padding-block: var(--space-section);
	}
	.who-kickoff__sticky {
		position: relative;
		top: auto;
	}
	.who-kickoff__sticky h2 {
		max-width: 12ch;
		font-size: clamp(2.1rem, 10vw, 3.3rem);
		line-height: 0.95;
	}
	.who-kickoff__chapters {
		grid-template-columns: 1fr;
		padding-top: 0;
	}
	.who-kickoff__chapter {
		min-height: auto;
	}
	.sfa-story-hero,
	.sfa-story-panel {
		min-height: auto;
	}
	.sfa-story-hero__media,
	.sfa-story-panel__backdrop {
		position: absolute;
		inset: 0;
		min-height: auto;
	}
	.sfa-story-hero__content,
	.sfa-story-panel__pin {
		position: relative;
		top: auto;
		min-height: auto;
	}
	.sfa-story-hero__content {
		margin-top: 0;
		padding-block: calc(var(--header-h) + 4rem) 5rem;
	}
	.sfa-story-hero h1 {
		font-size: clamp(2.25rem, 12vw, 4rem);
		line-height: 0.94;
	}
	.sfa-story-panel__pin,
	.sfa-story-panel__pin--flip {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding-block: var(--space-section);
	}
	.sfa-story-panel__copy h2,
	.sfa-story-panel__statement h2 {
		font-size: clamp(2rem, 10vw, 3.4rem);
	}
	.sfa-story-panel__image {
		max-width: min(100%, 340px);
	}
	.sfa-scroll-hero,
	.sfa-scroll-panel,
	.sfa-scroll-panel--photos {
		min-height: auto;
	}
	.sfa-scroll-hero__video,
	.sfa-scroll-hero__overlay,
	.sfa-scroll-panel__image-bg {
		position: absolute;
		inset: 0;
		height: 100%;
		min-height: 100%;
	}
	.sfa-scroll-hero__content,
	.sfa-scroll-panel__center {
		position: relative;
		top: auto;
		min-height: auto;
		padding-block: calc(var(--header-h) + 4rem) 5rem;
	}
	.sfa-scroll h1 {
		font-size: clamp(2.2rem, 11vw, 3.8rem);
		line-height: 0.94;
	}
	.sfa-scroll h2 {
		font-size: clamp(2rem, 9.8vw, 3.25rem);
		line-height: 0.96;
	}
	.sfa-scroll-sequence {
		min-height: clamp(330px, 82vw, 440px);
	}
	.sfa-scroll-sequence__line {
		max-width: min(22ch, 90vw) !important;
		width: min(100%, 90vw);
		font-size: clamp(1.3rem, 6.7vw, 2.15rem) !important;
	}
	.sfa-scroll-panel--principles {
		min-height: 210svh;
	}
	.sfa-principles {
		position: relative;
		min-height: 100svh;
	}
	.sfa-principles__content {
		min-height: 620px;
		padding-block: 5rem;
	}
	.sfa-principles__word {
		font-size: clamp(5rem, 22vw, 8rem);
		white-space: normal;
		text-align: center;
	}
	.sfa-principles__statement {
		width: min(92vw, 520px);
	}
	.sfa-principles__lead {
		font-size: clamp(1.2rem, 5.2vw, 1.7rem) !important;
		line-height: 1.3 !important;
	}
	.sfa-photo-board {
		position: relative;
		height: 680px;
		margin-top: 0;
		padding-block: 2rem;
	}
	.sfa-photo-card {
		width: min(50vw, 210px);
	}
	.sfa-photo-card--1 { left: 5%; top: 8%; width: min(56vw, 240px); }
	.sfa-photo-card--2 { right: 5%; top: 26%; width: min(52vw, 220px); }
	.sfa-photo-card--3 { left: 7%; bottom: 27%; width: min(56vw, 240px); }
	.sfa-photo-card--4 { right: 6%; bottom: 7%; width: min(52vw, 220px); }
	.sfa-photo-card--5,
	.sfa-photo-card--6 { display: none; }
	.who-story-editorial__inner { width: 100%; max-width: none; }
	.who-story-editorial__text { width: 100%; }
	.page-hero--who {
		min-height: min(590px, 78svh);
		background-position: 54% center;
	}
	.page-hero--who-simple,
	.page-hero--team {
		min-height: min(610px, 82svh);
	}
	.page-hero--who .page-hero__title,
	.page-hero--who-simple .page-hero__title,
	.page-hero--team .page-hero__title,
	.page-hero--alliances .page-hero__title,
	.who-page-storyline__copy h2,
	.who-page-section-head h2,
	.who-page-journey__intro h2,
	.who-page-team__content h2 {
		font-size: clamp(1.55rem, 8.4vw, 2.55rem);
		line-height: 1.04;
	}
	.page-hero--alliances .page-hero__title,
	.page-hero--alliances .page-hero__title .title-fill-loop {
		overflow-wrap: break-word;
		word-break: break-word;
	}
	.page-hero--who .page-hero__lead,
	.page-hero--team .page-hero__lead,
	.who-page-storyline__copy p,
	.who-story-editorial__lead,
	.who-story-read-more .accordion__panel-inner,
	.who-page-team__content > p {
		font-size: clamp(0.98rem, 4.2vw, 1.12rem);
	}
	.who-image-marquee__item {
		width: min(68vw, 280px);
	}
	.footer-marquee .who-image-marquee__item {
		width: min(52vw, 230px);
	}
	.who-story-editorial__icon {
		width: min(84vw, 24rem);
		opacity: 0.035;
	}
	.team-card__name,
	.team-card--flip .team-card__name,
	.team-card-row .team-card__name,
	.team-card-row .team-card--flip .team-card__name { font-size: clamp(1.7rem, 8.4vw, 2.6rem); }
	.who-page-storyline__icon {
		left: -9rem;
		width: min(72vw, 19rem);
		opacity: 0.075;
	}
	.who-page-value-card {
		min-height: auto;
	}
	.who-page-journey__step {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 0.7rem 1rem;
	}
	.who-page-journey__step p {
		grid-column: 2;
	}
	.who-page-team::after {
		right: -9rem;
		width: min(76vw, 20rem);
	}
	.who-cta { min-height: min(560px, 72svh); align-items: center; }
	.who-cta__background { object-position: 42% center; }
	.who-cta__content { padding-block: 6rem 4.5rem; }
	.who-cta__content > * { margin-left: 0; }
	.who-cta__eyebrow { margin-bottom: 0.85rem; }
	.who-cta h2 { max-width: 18ch; font-size: clamp(2rem, 8.7vw, 2.9rem); line-height: 1.04; }
	.who-cta p { max-width: 34ch; font-size: clamp(1.05rem, 4.6vw, 1.25rem); line-height: 1.5; }
	.who-cta__overlay {
		background:
			linear-gradient(180deg, #0B3E13 0%, rgba(11, 62, 19, 0.26) 18%, rgba(8, 37, 12, 0.46) 68%, #08250C 100%),
			linear-gradient(90deg, rgba(8, 37, 12, 0.58), rgba(11, 62, 19, 0.22));
	}
	.services-intro__eyebrow { margin-bottom: 1.25rem; }
	.services-intro__grid { grid-template-columns: 1fr; gap: 1.25rem; }
	.services-intro__lead h2 { max-width: 15ch; font-size: clamp(1.9rem, 8.2vw, 2.6rem); line-height: 1.06; }
	.services-intro__grid > p { max-width: 32ch; font-size: clamp(1.08rem, 4.8vw, 1.3rem); line-height: 1.5; }
	.services-carousel { margin-top: 2.25rem; }
	.services-grid { grid-template-columns: 1fr; }
	.service-card:nth-child(2),
	.service-card:nth-child(3) { display: none; }
	.service-card:nth-child(1),
	.service-card:nth-child(3) { margin-top: 0; }
	.service-card__media { aspect-ratio: 4 / 3; border-radius: 10px; }
	.service-card__body { padding-top: 1.25rem; }
	.service-card__title { margin-bottom: 0.65rem; font-size: clamp(1.9rem, 8.2vw, 2.55rem); line-height: 1.03; }
	.service-card__desc { max-width: 36ch; font-size: clamp(0.95rem, 4vw, 1.08rem); line-height: 1.55; }
	.service-card__cta { margin-top: 1.1rem; min-height: 46px; padding: 0.8rem 1.3rem; font-size: 0.78rem; }
	.services-carousel__arrow { top: calc((100vw - 2.3rem) * 0.375); width: 52px; height: 52px; font-size: 1.65rem; }
	.services-carousel__arrow--prev { left: -8px; }
	.services-carousel__arrow--next { right: -8px; }
	.page-hero--services {
		min-height: min(590px, 78svh);
		background-position: 54% center;
	}
	.page-hero--services .page-hero__title {
		font-size: clamp(1.9rem, 9vw, 3.4rem);
		overflow-wrap: break-word;
		word-break: break-word;
	}
	.page-hero--services .page-hero__title .title-fill-loop {
		overflow-wrap: break-word;
		word-break: break-word;
	}
	.form-cta__title {
		font-size: clamp(1.55rem, 7vw, 2.6rem);
		overflow-wrap: break-word;
		word-break: break-word;
	}
	.form-cta__title .title-fill-loop {
		overflow-wrap: break-word;
		word-break: break-word;
	}
	.services-anchor-nav.is-docked {
		display: none;
	}
	.services-anchor-nav__inner {
		border-radius: 18px;
		padding: 0.38rem;
	}
	.services-anchor-nav a {
		min-height: 42px;
		padding: 0.65rem 0.9rem;
		font-size: 0.66rem;
	}
	.service-block {
		scroll-margin-top: calc(var(--header-h) + 18px);
	}
	.service-block__media {
		aspect-ratio: auto;
		border-radius: 8px;
	}
	.service-block__top {
		margin-bottom: 0.8rem;
	}
	.service-block__bg-icon {
		top: 18%;
		width: min(68vw, 18rem);
		opacity: 0.045;
	}
	.service-block--cream .service-block__bg-icon { opacity: 0.075; }
	.service-block--icon-left .service-block__bg-icon { left: -7rem; }
	.service-block--icon-right .service-block__bg-icon { right: -7rem; }
	.service-block__title {
		font-size: clamp(1.4rem, 7vw, 2.45rem);
		line-height: 1.04;
		overflow-wrap: break-word;
		word-break: break-word;
	}
	.service-block__title .title-fill-loop {
		overflow-wrap: break-word;
		word-break: break-word;
	}
	.service-block__lead {
		font-size: clamp(0.98rem, 4.2vw, 1.12rem);
	}
	.team-showcase { min-height: 1050px; align-items: flex-start; padding-block: 6rem; }
	.team-showcase__container { grid-template-columns: 1fr; gap: 2.5rem; }
	.team-showcase__eyebrow { margin-bottom: 1rem; }
	.team-showcase__header h2 { max-width: 13ch; font-size: clamp(2.4rem, 10.5vw, 3.5rem); line-height: 1.02; }
	.alliance-globe { top: 74%; left: 56%; width: min(112vw, 680px); }
	.team-feature__intro { font-size: 1rem; }
	.team-showcase__logos { gap: 1.5rem; margin-bottom: 1.75rem; }
	.team-showcase__logo--ipso { height: 88px; }
	.team-showcase__logo--451 { height: 66px; }
	.site-footer__brandline { gap: 1.25rem; }
	.site-footer__brandline a { width: min(34vw, 145px); }
	.site-footer__main { grid-template-columns: 1fr; gap: 2.75rem; padding-block: 4rem; }
	.site-footer__statement { grid-column: auto; }
	.site-footer__statement > p { max-width: 15ch; font-size: clamp(2.2rem, 9.5vw, 3.25rem); line-height: 1.04; }
	.site-footer__cta { margin-top: 1.75rem; }
	.site-footer__column { padding-top: 0; }
	.site-footer__nav { display: grid; grid-template-columns: 1fr 1fr; }
	.site-footer__bottom { grid-template-columns: 1fr; gap: 0.8rem; }
	.site-footer__bottom p:last-child { text-align: left; }
	.team-grid,
	.posts-grid { grid-template-columns: 1fr; }
	.cols-3 { grid-template-columns: 1fr; }
	.pillars { grid-template-columns: 1fr; }
	.pillar { border-right: 0; border-bottom: 1px solid var(--color-line); }
	.pillar:last-child { border-bottom: 0; }
	.form__row { grid-template-columns: 1fr; }
	.alliance__brand { min-height: 280px; }
	.alliance__logo { width: min(72%, 290px); }
	.hero { align-items: center; }
	.hero__scroll { bottom: 1rem; left: 0; right: 0; gap: 0.25rem; }
	.hero__scroll-arrow { width: 30px; height: 46px; }
	.hero__scroll-text { font-size: 0.78rem; }

	/* Cursor never shows on touch (JS also guards this) */
	.custom-cursor { display: none !important; }

	/* WhatsApp label always collapsed on mobile to stay unobtrusive */
	.wa-float:hover .wa-float__text { max-width: 0; margin: 0; }
}

/* ---------- <= 480px : small phones ---------- */
@media (max-width: 480px) {
	:root { --space-section: 4rem; }
	.site-header__bar { gap: 0.5rem; padding-inline: 0.75rem; }
	.site-logo { width: 110px; height: 44px; }
	.site-header__tools { gap: 0.2rem; }
	.menu-trigger { width: 36px; }
	.header-instagram { width: 34px; }
	.header-instagram svg { width: 22px; height: 22px; }
	.header-language-toggle { min-width: 42px; padding-inline: 0.42rem; gap: 0.25rem; }
	.site-header .header-language-toggle img {
		flex-basis: 16px;
		width: 16px !important;
		height: 16px !important;
	}
	.menu-overlay { padding-inline: 1.25rem; }
	.menu-overlay__list a { font-size: 1.9rem; }
	.brand-text__full { display: none; }
	.hero__headline { font-size: clamp(2.1rem, 9.5vw, 3.2rem); }
	.btn { width: 100%; justify-content: center; }
	.hero__actions { width: 100%; }
	.hero__cta { width: min(100%, 300px); }
	.who-cta { min-height: 520px; }
	.who-cta h2 { font-size: clamp(1.95rem, 8.8vw, 2.55rem); }
	.who-cta p { font-size: 1.05rem; }
	.service-card__media { aspect-ratio: 1 / 1; }
	.services-carousel__arrow { top: calc((100vw - 2.3rem) / 2); width: 48px; height: 48px; }
	.site-footer__nav { gap: 0.75rem 1.25rem; }
	.alliance { padding-block: 0.5rem 1rem; gap: 1.25rem; }
	.alliance__brand { min-height: 230px; }
	.alliance__name { max-width: 100%; }
	.alliance__summary { font-size: 0.95rem; line-height: 1.55; }
	.service-card__body { padding: 1.4rem 0 0; }
	.single-post__nav { grid-template-columns: 1fr; }
	.single-post__nav-card--next { text-align: left; align-items: flex-start; }
}

/* ---------- Touch devices: disable hover-only transforms ---------- */
@media (hover: none) {
	.custom-cursor { display: none !important; }
}

/* Keep the experimental underline CTAs compact on small screens. */
@media (max-width: 767px) {
	.btn,
	.hero__cta,
	.service-card__cta {
		width: max-content;
		min-height: 44px;
		padding: 0.68rem 0.95rem 0.62rem;
		justify-content: flex-start;
		font-size: 0.74rem;
	}
}

@media (max-width: 767px) {
	/* Safety net: the wide display font can push a long single word past the
	   viewport, where body{overflow-x:hidden} would clip it. Allow such words
	   to break instead of being cut off. Only affects words that would overflow. */
	.page-hero__title,
	.hero__headline,
	.service-block__title,
	.form-cta__title,
	.final-cta__title,
	.section-head__title,
	.team-showcase__header h2,
	.who-cta h2,
	.who-story__statement,
	.blog-feature__title,
	.single-post__title {
		overflow-wrap: break-word;
		word-break: break-word;
	}
	/* Preloader text morphs into the hero headline (see preloader.js), so both
	   must share identical typography AND the same text column width, or the
	   lines wrap differently and the morph lands off-target. */
	.preloader__inner {
		font-size: clamp(2.25rem, 11vw, 3.4rem);
		line-height: 0.9;
		padding-inline: clamp(1.25rem, 4vw, 3rem);
	}
	/* Four explicit lines shared with the hero: no browser-generated wraps. */
	.preloader__line {
		white-space: nowrap;
		width: max-content;
		max-width: 100%;
		transition-duration: 0.38s, 0.25s, 0.35s;
	}
	.preloader__line--top,
	.preloader__line--bottom {
		transform: translateY(0) scale(1.06);
	}
	.preloader__panel { transition-duration: 0.8s; }
	.who-story::after {
		right: -38vw;
		top: 12%;
		width: 118vw;
		opacity: 0.08;
	}
	.hero__headline {
		font-size: clamp(2.25rem, 11vw, 3.4rem);
		line-height: 0.9;
		margin: 0 auto;
		text-transform: uppercase;
	}
	html[lang^="es"] .preloader__inner,
	html[lang^="es"] .hero__headline {
		font-size: clamp(2rem, 10vw, 3.1rem);
	}
	/* Match the preloader geometry so the hand-off lands cleanly. */
	.hero__headline-line {
		width: max-content;
		max-width: 100%;
		white-space: nowrap;
	}
	.who-cta h2,
	.services-intro__lead h2,
	.team-showcase__header h2,
	.site-footer__statement > p {
		letter-spacing: 0;
		line-height: 0.98;
	}
	.who-story__statement {
		font-size: clamp(1.25rem, 5.1vw, 1.85rem);
	}
	.who-cta h2,
	.services-intro__lead h2,
	.team-showcase__header h2 {
		font-size: clamp(1.25rem, 5.7vw, 1.95rem);
	}
	.service-card__title {
		font-size: clamp(1.15rem, 5.2vw, 1.7rem);
		line-height: 1.05;
	}
	.site-footer__statement > p {
		font-size: clamp(1.45rem, 6.2vw, 2.1rem);
	}
	.service-card {
		border-radius: 8px;
	}
	.service-card__media {
		border-radius: 0;
	}
	.service-card__body {
		padding: 1.2rem;
	}
}

@media (max-width: 480px) {
	.btn,
	.hero__cta,
	.service-card__cta {
		width: max-content;
		max-width: 100%;
		font-size: 0.7rem;
	}
}

.who-cta__content,
.services-intro {
	text-align: center;
}

.who-cta__content {
	align-items: center;
}

.who-cta__content > * {
	margin-left: 0;
	margin-right: 0;
}

.services-intro__grid {
	display: flex;
	justify-content: center;
	gap: 0;
}

.services-intro__lead h2 {
	margin-inline: auto;
	text-align: center;
}

.who-cta .who-cta__content {
	width: 100%;
	max-width: min(1180px, calc(100vw - 2.3rem));
	margin-inline: auto;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.who-cta h2#who-cta-title {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	font-size: clamp(1.85rem, 8.2vw, 4.1rem);
	line-height: 0.96;
	text-align: center;
}

.who-cta .btn {
	align-self: center;
}

/* Ruben profile — compact, app-like mobile experience. */
@media (max-width: 767px) {
	.ruben-profile .container { width: calc(100% - 1.5rem); }

	.ruben-profile__hero { min-height: clamp(390px, 56svh, 510px); padding: 4.75rem .5rem 0; }
	.ruben-profile__hero-stage {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
		width: 100%;
		height: clamp(320px, 48svh, 430px);
	}
	.ruben-profile__hero-name {
		top: auto;
		left: auto;
		align-self: center;
		padding-left: clamp(.35rem, 2vw, 1rem);
		font-size: clamp(2.1rem, 9.2vw, 4rem);
		letter-spacing: -.065em;
		line-height: .8;
		transform: translateX(-10%);
	}
	.ruben-profile__hero-name span { -webkit-text-stroke-width: 1.5px; }
	.ruben-profile__hero-photo { width: 108%; height: 94%; filter: drop-shadow(0 18px 22px rgba(0,0,0,.3)); transform: translateX(7%); }
	.ruben-profile__scroll { display: none; }

	.ruben-profile__facts { padding-block: 2.75rem 3.25rem; }
	.ruben-profile__facts-heading { display: block; margin-bottom: 1.5rem; padding-bottom: 1rem; }
	.ruben-profile__facts-heading h2.title-fill-loop,
	.ruben-profile__history-copy h2.title-fill-loop { font-size: clamp(2.4rem, 12vw, 4rem); }
	.ruben-profile__facts-list,
	.ruben-profile__facts-list--professional { grid-template-columns: 1fr; gap: .6rem; overflow: visible; border: 0; background: transparent; }
	.ruben-profile__fact { min-height: 0; padding: 1.15rem; border: 1px solid rgba(11,62,19,.13); border-radius: 12px; box-shadow: 0 7px 20px rgba(11,62,19,.045); }
	.ruben-profile__fact dt { gap: .65rem; margin-bottom: .8rem; font-size: .62rem; }
	.ruben-profile__fact dt svg { width: 1.65rem; height: 1.65rem; }
	.ruben-profile__fact dd { max-width: none; font-size: .86rem; line-height: 1.4; }
	.ruben-profile__languages { gap: .7rem !important; }
	.ruben-profile__language img { width: 2rem; height: 2rem; }
	.ruben-profile__professional-heading { margin: 2.75rem 0 1rem; }
	.ruben-profile__professional-heading h3 { font-size: clamp(1.25rem, 6.5vw, 1.65rem); line-height: 1; }
	.ruben-profile__fact--detail ul { gap: .55rem; }
	.ruben-profile__fact--detail li { padding-left: .9rem; font-size: .86rem; }
	.ruben-profile__fact--detail li::before { width: .3rem; height: .3rem; }
	.ruben-profile__fact .ruben-profile__specialties { gap: .45rem; }
	.ruben-profile__fact .ruben-profile__specialties span { min-height: 2rem; padding: .35rem .65rem; font-size: .7rem; }

	.ruben-profile__history { padding-block: 3.5rem; }
	.ruben-profile__history-inner { grid-template-columns: 1fr; gap: 2.25rem; }
	.ruben-profile__history-copy { order: 1; }
	.ruben-profile__history-child-photo { order: 2; width: min(100%, 520px); margin-inline: auto; }
	.ruben-profile__history-kicker { margin-bottom: 1rem; font-size: .62rem; }
	.ruben-profile__history-copy h2 { margin-bottom: 1.75rem; }
	.ruben-profile__history-copy .lead { margin-bottom: 1.1rem; font-size: 1.2rem; line-height: 1.38; }
	.ruben-profile__history-copy p { margin-bottom: 1rem; font-size: .9rem; line-height: 1.62; }

	.ruben-profile__quote-section { padding-block: 3.5rem; }
	.ruben-profile__quote { display: block; max-width: none; padding-top: 3rem; }
	.ruben-profile__quote::before { left: 0; width: 2.75rem; }
	.ruben-profile__quote-mark { display: block; width: auto; margin: 0 0 1rem; font-size: 7rem; line-height: .5; text-align: left; }
	.ruben-profile__quote p { max-width: none; font-size: clamp(1.4rem, 6.7vw, 2rem); line-height: 1.22; }
	.ruben-profile__quote footer { margin-top: 1.75rem; font-size: .62rem; }

	.ruben-contact-dock { right: .6rem; bottom: max(.6rem, env(safe-area-inset-bottom)); left: .6rem; max-width: none; border-radius: 17px; }
	.ruben-contact-dock__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ruben-contact-dock__label { display: none; }
	.ruben-contact-dock__action { min-height: 50px; padding: .6rem .45rem; border-radius: 13px; font-size: .6rem; letter-spacing: .035em; }
	.page-template-page-ruben,
	.page-template-page-ruben-php { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
	.ruben-profile__hero-stage { height: 320px; }
	.ruben-profile__hero-name { font-size: 2.1rem; }
	.ruben-profile__hero-photo { width: 108%; height: 92%; }
	.ruben-contact-dock__action { font-size: .56rem; }
}

/* Mobile contact form: keep the compact identity/contact fields paired while
   the message remains a large, full-width block. Placed last intentionally so
   it wins over the earlier generic one-column fallbacks. */
@media (max-width: 767px) {
	.preloader__line--desktop,
	.hero__headline-line--desktop { display: none; }
	.preloader__line--mobile,
	.hero__headline-line--mobile { display: block; }
	.page-template-page-contact .page-hero__title,
	.page-template-page-contact-php .page-hero__title {
		font-size: clamp(1.7rem, 7.5vw, 2.5rem);
		line-height: 1.02;
	}
	.page-template-page-contact .page-hero--services,
	.page-template-page-contact-php .page-hero--services {
		min-height: min(390px, 50svh);
		padding-top: calc(var(--header-h) + 1.5rem);
		padding-bottom: 1.5rem;
	}

	#sousa-contact-form .form__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.7rem;
	}
	#sousa-contact-form .form__field { min-width: 0; }
	#sousa-contact-form .form__row input {
		width: 100%;
		min-width: 0;
		padding-inline: 0.75rem;
		font-size: 0.9rem;
	}
	#sousa-contact-form [data-field="message"] {
		grid-column: 1 / -1;
		margin-top: 0.35rem;
	}
	#sousa-contact-form [data-field="message"] > label {
		font-size: clamp(1.2rem, 5.2vw, 1.55rem);
		font-weight: 800;
		line-height: 1.05;
	}
	#sousa-contact-form [data-field="message"] textarea {
		min-height: 150px;
	}

	.page-hero.page-hero--alliances {
		min-height: min(560px, 72svh);
		padding-top: calc(var(--header-h) + 2rem);
		padding-bottom: 2rem;
		overflow: hidden;
		overflow: clip;
	}
	.page-hero--alliances .alliance-globe {
		top: 54%;
		left: 58%;
		width: min(88vw, 520px);
	}
	.alliances-hero__scroll {
		position: absolute;
		bottom: max(1.1rem, env(safe-area-inset-bottom));
		left: 50%;
		z-index: 4;
		display: grid;
		place-items: center;
		width: 48px;
		height: 56px;
		color: var(--color-green);
		transform: translateX(-50%);
		animation: alliancesScrollCue 1.8s ease-in-out infinite;
	}
	.alliances-hero__scroll svg {
		width: 26px;
		height: 42px;
	}

	#alliances.section--cream {
		padding-block: clamp(4.5rem, 16vw, 6.5rem);
	}
	#alliances .alliance,
	#alliances .alliance--compact {
		padding-block: clamp(2.75rem, 11vw, 4rem);
		gap: clamp(2rem, 8vw, 3rem);
	}
	#alliances .alliance__media,
	#alliances .alliance--compact .alliance__media {
		width: min(82%, 360px);
		justify-self: center;
	}
	#alliances .alliance__brand {
		min-height: 210px;
	}
	#alliances .alliance__brand--photo {
		min-height: 0;
	}
	#alliances .alliance__photo,
	#alliances .alliance--flip .alliance__photo {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 360px;
		object-fit: contain;
	}
	#alliances .alliance--compact .alliance__brand {
		min-height: 0;
		aspect-ratio: 1 / 1;
	}
	#alliances .alliance--compact .alliance__photo,
	#alliances .alliance--compact.alliance--flip .alliance__photo {
		width: 100%;
		height: 100%;
		max-height: none;
		object-fit: cover;
	}

	/* Keep the close icon visible over the dark drawer, including Alliances
	   where the resting header normally forces the trigger to green. */
	body.nav-open .site-header .menu-trigger {
		color: var(--color-cream) !important;
	}
	body.nav-open .menu-trigger__lines i {
		height: 2px;
	}
	.menu-overlay__list {
		display: grid;
		gap: clamp(0.85rem, 3.5vh, 1.35rem);
	}
	.menu-overlay__list a {
		line-height: 1.08;
	}
}

/* The Spanish slogan contains wider words than its English counterpart.
   Keep the intro and its hero target on identical, viewport-safe geometry. */
@media (max-width: 767px) {
	body.translatepress-es_ES .preloader__inner,
	body.translatepress-es_ES .hero__headline {
		font-size: clamp(1.85rem, 7.8vw, 2.25rem);
		line-height: 1.04;
		letter-spacing: -0.025em;
	}
	body.translatepress-es_ES .preloader__line--mobile,
	body.translatepress-es_ES .hero__headline-line--mobile {
		margin-block: 0.045em;
	}
	body.translatepress-es_ES .preloader.is-entering .preloader__line {
		transform: translateY(0) scale(1.02);
	}
	.preloader.is-mobile-exit .preloader__line {
		opacity: 0;
		transform: translateY(0) scale(0.96);
		transition: opacity 0.24s ease, transform 0.34s ease;
	}
}

@keyframes alliancesScrollCue {
	0%, 100% { transform: translate(-50%, 0); opacity: 0.68; }
	50% { transform: translate(-50%, 7px); opacity: 1; }
}

/* Ruben profile — complete landing responsive layout. */
@media (max-width: 1100px) {
	.ruben-profile__hero-stage { grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); gap: 2.5rem; }
	.ruben-profile__hero-name { font-size: clamp(3.4rem, 6.6vw, 5.7rem); }
	.ruben-profile__value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
	.ruben-profile__value-card { min-height: 420px; }
	.ruben-profile__credentials-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ruben-profile__support-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.ruben-profile__support-showcase,
	.ruben-profile__support-showcase--coach { grid-template-columns: 1fr; min-height: 0; }
	.ruben-profile__support-showcase--coach .ruben-profile__support-visual,
	.ruben-profile__support-showcase--coach .ruben-profile__support-grid { grid-column: 1; grid-row: auto; }
	.ruben-profile__support-showcase--coach .ruben-profile__support-visual { order: 0; }
	.ruben-profile__support-showcase--coach .ruben-profile__support-grid { order: 1; }
	.ruben-profile__support-visual { min-height: 520px; }
	.ruben-profile__support-grid article { min-height: 255px; }
}

@media (max-width: 767px) {
	.ruben-profile { --ruben-anchor-h: 38px; }
	.ruben-profile__anchor-nav-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
	.ruben-profile__anchor-nav a { padding: 0 .15rem; font-size: clamp(.43rem, 2.05vw, .54rem); letter-spacing: .025em; }
	.ruben-profile__anchor-nav a::after { right: 15%; left: 15%; }
	.ruben-profile__hero {
		min-height: 0;
		padding: 5.1rem 0 1.5rem;
	}
	.ruben-profile__hero-stage {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		width: 100%;
		height: auto;
	}
	.ruben-profile__hero-media { height: clamp(345px, 52svh, 470px); border-radius: 0; }
	.ruben-profile__hero-photo { position: static; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; transform: none; }
	.ruben-profile__hero-content { z-index: 4; margin: -2.2rem 0 0; padding: 1.35rem; border: 1px solid rgba(206,184,135,.4); background: rgba(4,27,8,.94); backdrop-filter: blur(14px); }
	.ruben-profile__hero-kicker { margin-bottom: .8rem; font-size: .56rem; }
	.ruben-profile__hero-kicker::before { width: 1.8rem; }
	.ruben-profile__hero-name {
		position: static;
		display: block;
		grid-column: auto;
		grid-row: auto;
		width: auto;
		padding: 0;
		font-size: clamp(2.75rem, 13vw, 4.2rem);
		line-height: .82;
		transform: none;
	}
	.ruben-profile__hero-name strong { display: block; }
	.ruben-profile__hero-role { gap: .35rem; margin-top: 1rem; font-size: .61rem; letter-spacing: .05em; }
	.ruben-profile__hero-role span { margin-inline: 0; font-size: 1rem; }
	.ruben-profile__hero-credential--fifa { width: min(44vw, 10rem); }
	.ruben-profile__hero-credential--ipso { width: min(13vw, 3.15rem); }
	.ruben-profile__hero-statement { margin-top: 1rem; padding-left: .8rem; font-size: 1.05rem; }
	.ruben-profile__hero-cta { width: 100%; justify-content: space-between; margin-top: 1.25rem; }

	.ruben-profile__history { padding-block: 4.5rem; }
	.ruben-profile__history-inner { grid-template-columns: 1fr; gap: 2.5rem; }
	.ruben-profile__history-copy { order: 1; }
	.ruben-profile__history-child-photo { order: 2; width: min(100%, 500px); margin-inline: auto; }
	.ruben-profile__history-kicker { margin-bottom: .65rem; font-size: 1.1rem; }
	.ruben-profile__history-copy h2 { max-width: 30ch; font-size: 1.4rem; line-height: 1.25; }
	.ruben-profile__history-copy .lead { font-size: 1.25rem; }
	.ruben-profile__history-copy p { font-size: .94rem; }

	.ruben-profile__section-heading { margin-bottom: 2.5rem; }
	.ruben-profile__section-heading > span,
	.ruben-profile__philosophy header > span { margin-bottom: .65rem; font-size: 1.1rem; }
	.ruben-profile__section-heading h2,
	.ruben-profile__philosophy h2 { max-width: 32ch; font-size: 1.3rem; line-height: 1.3; }

	.ruben-profile__value,
	.ruben-profile__credentials,
	.ruben-profile__support,
	.ruben-profile__network,
	.ruben-profile__philosophy,
	.ruben-profile__testimonial { padding-block: 4.5rem; }
	.ruben-profile__value-photos { grid-template-columns: 1fr 1fr; gap: .65rem; height: clamp(280px, 92vw, 390px); margin-bottom: -2rem; }
	.ruben-profile__value-photo::before { inset: .5rem; }
	.ruben-profile__value-photo--stadium img { object-position: 52% 28%; }
	.ruben-profile__value-photo--business img { object-position: 48% 24%; }
	.ruben-profile__value-photo figcaption { bottom: 3rem; left: .9rem; font-size: .48rem; letter-spacing: .08em; }
	.ruben-profile__value-photo figcaption::before { width: 1rem; margin-right: .35rem; }
	.ruben-profile__value-grid { display: grid; grid-template-columns: 1fr; }
	.ruben-profile__value-card { min-height: 400px; padding: 0; }
	.ruben-profile__value-face { padding: 1.45rem; }
	.ruben-profile__value-flow { top: 1.2rem; left: 1.2rem; width: 3.35rem; height: 3.35rem; }
	.ruben-profile__value-card h3 { font-size: 1.35rem; }
	.ruben-profile__value-card p { font-size: .9rem; }

	.ruben-profile__credentials-grid { grid-template-columns: 1fr; gap: .75rem; }
	.ruben-profile__credential-skill { padding: 1.8rem 0; }
	.ruben-profile__credential-skill:first-child { padding-top: 0; }
	.ruben-profile__credential-skill + .ruben-profile__credential-skill { border-top: 1px solid rgba(206,184,135,.38); border-left: 0; }
	.ruben-profile__credential-skill > svg { margin-bottom: 1rem; }
	.ruben-profile__credential-skill li { font-size: .8rem; }

	.ruben-profile__support-grid,
	.ruben-profile__support-grid--four { grid-template-columns: 1fr; gap: .7rem; }
	.ruben-profile__support-showcase,
	.ruben-profile__support-showcase--coach { gap: .7rem; }
	.ruben-profile__support-visual { min-height: clamp(390px, 125vw, 500px); }
	.ruben-profile__support-visual::before { inset: .7rem; }
	.ruben-profile__support-visual figcaption { right: 1.5rem; bottom: 1.5rem; left: 1.5rem; }
	.ruben-profile__support-visual figcaption strong { font-size: clamp(1.7rem, 8vw, 2.35rem); }
	.ruben-profile__support-grid article { min-height: 235px; }
	.ruben-profile__support-panel[data-ruben-support-panel="coaches"] .ruben-profile__support-grid article:last-child { grid-column: auto; }
	.ruben-profile__support-tabs { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
	.ruben-profile__support-tabs button { gap: .5rem; min-width: 0; padding-inline: .9rem; }
	.ruben-profile__support-tabs button small { display: none; }
	.ruben-profile__support-grid article { min-height: 220px; padding: 1.35rem; }
	.ruben-profile__support-grid article > span { margin-bottom: 2.2rem; }
	.ruben-profile__support-grid article > svg { margin-bottom: 2.5rem; }

	.ruben-profile__network-map { min-height: 530px; }
	.ruben-profile__network-map svg { left: -18%; width: 130%; max-width: none; }
	.ruben-profile__network-node text { font-size: 14px; }
	.ruben-profile__network-node--primary text { font-size: 16px; }
	.ruben-profile__network-sequence { right: .75rem; bottom: .75rem; left: .75rem; justify-content: center; gap: .4rem; padding: .7rem .6rem; }
	.ruben-profile__network-sequence span { font-size: .5rem; letter-spacing: .05em; }
	.ruben-profile__network-sequence i { width: .8rem; }

	.ruben-profile__philosophy-inner { grid-template-columns: 1fr; gap: 2.5rem; }
	.ruben-profile__philosophy header { position: static; }
	.ruben-profile__philosophy h2 { max-width: 9ch; }
	.ruben-profile__philosophy-copy .lead { font-size: 1.4rem; }
	.ruben-profile__philosophy-copy p { font-size: .94rem; }
	.ruben-profile__philosophy-copy .ruben-profile__philosophy-closing { font-size: 1.3rem; }

	.ruben-profile__testimonial-card { grid-template-columns: 1fr; }
	.ruben-profile__testimonial-brand { display: grid; grid-template-columns: auto 1fr; align-items: center; min-height: 0; padding: 1.25rem; border-right: 0; border-bottom: 1px solid rgba(206,184,135,.34); }
	.ruben-profile__testimonial-brand img { width: 92px; }
	.ruben-profile__testimonial-brand span { max-width: 18ch; }
	.ruben-profile__testimonial-quote { padding: 1.35rem 1.15rem 1.6rem; }
	.ruben-profile__testimonial-mark { top: .8rem; right: 1rem; font-size: 9rem; }
	.ruben-profile__testimonial-copy .lead { margin-bottom: 1.1rem; font-size: 1.3rem; }
	.ruben-profile__testimonial-copy p { font-size: .9rem; line-height: 1.65; }
	.ruben-profile__testimonial-more summary { min-height: 45px; font-size: .55rem; }

	.ruben-profile__section-heading h2.ruben-profile__section-title,
	.ruben-profile__history-copy h2.ruben-profile__section-title { max-width: 14ch; font-size: clamp(2.45rem, 12vw, 4rem); line-height: .9; }
	.ruben-profile__history-copy h2.ruben-profile__section-title { max-width: none; font-size: clamp(2rem, 9vw, 3.2rem); white-space: nowrap; }
	#ruben-value-title { max-width: none; font-size: clamp(1.65rem, 7vw, 3.2rem); white-space: nowrap; }
	.ruben-profile__section-subtitle { margin-top: .9rem; font-size: 1.05rem; line-height: 1.4; }

}

@media (max-width: 390px) {
	.ruben-profile__hero-media { height: 330px; }
	.ruben-profile__hero-content { padding: 1.1rem; }
	.ruben-profile__hero-name { font-size: 2.65rem; }
	.ruben-profile__hero-role span { display: none; }
	.ruben-profile__hero-role { max-width: 28ch; }
	.ruben-profile__network-sequence span { font-size: .45rem; }
}

/* Ruben landing — final mobile application pass. Kept last intentionally so
   every component shares one compact scale and no legacy mobile rule wins. */
@media (max-width: 767px) {
	body.page-template-page-ruben,
	body.page-template-page-ruben-php { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
	.ruben-profile { --ruben-anchor-h: 40px; width: 100%; max-width: 100vw; overflow: clip; }
	.ruben-profile .container { width: calc(100% - 2rem); max-width: 100%; padding-inline: 0; }
	.ruben-profile img,
	.ruben-profile svg { max-width: 100%; }
	.ruben-profile__history,
	.ruben-profile__value,
	.ruben-profile__credentials,
	.ruben-profile__support { scroll-margin-top: calc(var(--ruben-anchor-h) + 12px); }

	/* Fixed in-page navigation: readable at 320px without wrapping. */
	.ruben-profile__anchor-nav { height: var(--ruben-anchor-h); }
	.ruben-profile__anchor-nav-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; padding-right: env(safe-area-inset-right); padding-left: env(safe-area-inset-left); }
	.ruben-profile__anchor-nav a { padding: 0 .12rem; overflow: hidden; font-size: clamp(.46rem, 2vw, .55rem); letter-spacing: 0; white-space: nowrap; text-overflow: clip; }
	.ruben-profile__anchor-nav a::after { right: 12%; left: 12%; }

	/* Hero: full-bleed editorial portrait with content integrated into the image. */
	.ruben-profile__hero { min-height: 0; padding: var(--header-h) 0 0; background: #041b08; }
	.ruben-profile__hero > .container { width: 100vw; max-width: none; margin: 0; padding: 0; }
	.ruben-profile__hero-stage { position: relative; display: block; width: 100%; max-width: none; height: clamp(540px, 158vw, 650px); margin: 0; }
	.ruben-profile__hero-media { position: absolute; inset: 0; width: 100vw; max-width: none; height: auto; overflow: hidden; border: 0; border-radius: 0; box-shadow: none; }
	.ruben-profile__hero-media::after { z-index: 1; background: linear-gradient(180deg, rgba(4,27,8,.03) 0%, transparent 34%, rgba(4,27,8,.36) 57%, rgba(4,27,8,.92) 82%, #041b08 100%); }
	.ruben-profile__hero-photo { width: 100vw; max-width: none; height: 100%; object-fit: cover; object-position: 50% center; filter: saturate(.88) contrast(1.04); transform: none; }
	.ruben-profile__hero-content { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; margin: 0; padding: 1.25rem 1rem 1.35rem; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
	.ruben-profile__hero-scroll { position: static; display: flex; align-items: center; justify-content: flex-start; width: 2.75rem; height: 2.75rem; margin: .55rem 0 0 .45rem; border: 0; border-radius: 0; color: var(--color-cream); background: transparent; box-shadow: none; transform: none; }
	.ruben-profile__hero-scroll svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; animation: rubenHeroScrollCue 1.65s ease-in-out infinite; }
	@keyframes rubenHeroScrollCue { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }
	.ruben-profile__hero-name { position: static; display: block; width: 100%; margin: 0; padding: 0; overflow-wrap: normal; font-size: clamp(2.25rem, 11.2vw, 3.05rem); letter-spacing: -.065em; line-height: .84; transform: none; }
	.ruben-profile__hero-name span,
	.ruben-profile__hero-name strong { display: block; max-width: 100%; white-space: normal; }
	.ruben-profile__hero-role { flex-wrap: nowrap; gap: .4rem; max-width: 100%; margin-top: .8rem; }
	.ruben-profile__hero-role span { margin-inline: .05rem; font-size: .9rem; }
	.ruben-profile__hero-credential--ipso { width: 2.65rem; }
	.ruben-profile__hero-credential--fifa { width: min(8.9rem, 45vw); }
	.ruben-profile__hero-statement { max-width: 34ch; margin-top: .8rem; padding-left: .7rem; font-size: clamp(.8rem, 3.6vw, .92rem); line-height: 1.45; text-shadow: 0 2px 18px rgba(0,0,0,.38); }

	/* Shared mobile rhythm and type hierarchy. */
	.ruben-profile__history,
	.ruben-profile__value,
	.ruben-profile__credentials,
	.ruben-profile__support,
	.ruben-profile__testimonial { padding-block: 3.75rem; }
	.ruben-profile__section-heading { margin-bottom: 2rem; }
	.ruben-profile__section-heading h2.ruben-profile__section-title,
	.ruben-profile__history-copy h2.ruben-profile__section-title { max-width: 13ch; margin-inline: auto; font-size: clamp(2rem, 9.6vw, 2.75rem); line-height: .92; text-align: center; white-space: normal; }
	.ruben-profile__section-title { text-wrap: balance; }
	.ruben-profile__section-title > span { vertical-align: baseline; }
	.ruben-profile__section-title .ruben-profile__title-fill { display: inline-block; width: auto; padding: .015em .1em .065em; line-height: .94; vertical-align: .025em; white-space: nowrap; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
	.ruben-profile__hero-name > .ruben-profile__title-fill { box-sizing: border-box; width: max-content; max-width: 100%; padding: .025em .1em .075em; line-height: .9; }
	#ruben-support-title { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: .16em; max-width: none; line-height: 1; }
	#ruben-support-title > span { display: block; flex: 0 0 auto; margin: 0; line-height: 1; vertical-align: initial; }
	#ruben-support-title > .ruben-profile__title-fill { padding: .015em .1em .07em; line-height: .93; transform: translateY(-.015em); }
	.ruben-profile__section-subtitle { max-width: 30ch; margin: .7rem auto 0; font-size: clamp(.9rem, 4vw, .98rem); line-height: 1.4; text-align: center; }
	.ruben-profile__mobile-title-line { display: block; }
	.ruben-profile__mobile-title-line > .ruben-profile__title-fill { vertical-align: -.06em; }
	#ruben-value-title { max-width: 12ch; font-size: clamp(1.9rem, 8.6vw, 2.45rem); line-height: .94; white-space: normal; }

	/* About: readable copy first, compact visual second. */
	.ruben-profile__history-inner { display: flex; flex-direction: column; gap: 1.35rem; }
	.ruben-profile__history-copy { display: contents; }
	.ruben-profile__history-copy > * { order: 4; width: 100%; }
	.ruben-profile__history-copy h2.ruben-profile__section-title { order: 1; max-width: 12ch; margin-bottom: 0; font-size: clamp(1.95rem, 9vw, 2.55rem); white-space: normal; }
	#ruben-history-title { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: .14em; max-width: none; line-height: 1; }
	#ruben-history-title > span { display: block; flex: 0 0 auto; margin: 0; line-height: 1; vertical-align: initial; white-space: nowrap; }
	#ruben-history-title > .ruben-profile__title-fill { padding: .015em .1em .07em; line-height: .93; transform: translateY(-.015em); }
	.ruben-profile__history-copy .ruben-profile__section-subtitle { order: 2; margin: -.65rem auto .25rem; color: rgba(246,241,231,.76); }
	.ruben-profile__history-copy .lead { margin-bottom: 1rem; font-size: clamp(1.05rem, 4.8vw, 1.18rem); line-height: 1.42; }
	.ruben-profile__history-copy p { margin-bottom: .9rem; font-size: .9rem; line-height: 1.62; }
	.ruben-profile__history-more { order: 5; margin-top: -.35rem; }
	.ruben-profile__history-more summary { min-height: 44px; padding: .65rem .9rem; font-size: .6rem; }
	.ruben-profile__history-more-content { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 1.25rem; padding: 0; }
	.ruben-profile__history-child-photo { order: 3; width: 100%; margin: 0 auto .35rem; }

	/* My work: swipeable editorial photos and compact flip cards. */
	.ruben-profile__value { overflow: hidden; }
	.ruben-profile__value-photos { display: flex; gap: .75rem; width: calc(100% + 2rem); height: clamp(280px, 82vw, 330px); margin: 0 -1rem 1rem; padding: 0 1rem .7rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 1rem; overscroll-behavior-inline: contain; scrollbar-width: none; }
	.ruben-profile__value-photos::-webkit-scrollbar { display: none; }
	.ruben-profile__value-photo { flex: 0 0 min(82vw, 310px); height: 100%; scroll-snap-align: center; border-radius: 2px 2px 1.75rem 2px; }
	.ruben-profile__value-photo::before { inset: .55rem; }
	.ruben-profile__value-photo--stadium img { object-position: 50% 25%; }
	.ruben-profile__value-photo--business img { object-position: 50% 22%; }
	.ruben-profile__value-photo figcaption { right: 1rem; bottom: 1rem; left: 1rem; font-size: .52rem; letter-spacing: .08em; }
	.ruben-profile__value-grid { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
	.ruben-profile__value-card { min-height: clamp(320px, 92vw, 350px); }
	.ruben-profile__value-face { padding: 1.25rem; border-radius: 2px 2px 1.5rem 2px; }
	.ruben-profile__value-icon { width: 3.45rem; height: 3.45rem; margin-bottom: 2.25rem; }
	.ruben-profile__value-flow { top: 1.1rem; left: 1.1rem; width: 3.35rem; height: 3.35rem; }
	.ruben-profile__value-card h3 { margin-bottom: .6rem; font-size: clamp(1.2rem, 6vw, 1.42rem); line-height: 1.02; }
	.ruben-profile__value-card p { font-size: .86rem; line-height: 1.52; }
	.ruben-profile__value-toggle { min-height: 44px; padding-top: .75rem; font-size: .6rem; }
	.ruben-profile__value-back { top: 1rem; right: 1rem; width: 2.75rem; height: 2.75rem; }
	.ruben-profile__value-face--back h3 { margin-top: 2.3rem; font-size: 1.25rem; }
	.ruben-profile__value-face--back p { margin-bottom: .8rem; font-size: .9rem; line-height: 1.55; }

	/* Credentials: open skill matrix, no card-like whitespace. */
	.ruben-profile__credentials { padding-block: 3rem; }
	.ruben-profile__credentials .ruben-profile__section-heading { margin-bottom: 1.25rem; }
	.ruben-profile__credentials .ruben-profile__section-subtitle { width: auto; max-width: 30ch; margin-inline: auto; font-size: clamp(.62rem, 2.7vw, .74rem); letter-spacing: -.02em; line-height: 1.35; white-space: normal; }
	.ruben-profile__credentials-grid { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid rgba(206,184,135,.4); border-bottom: 1px solid rgba(206,184,135,.4); }
	.ruben-profile__credential-skill { display: block; padding: 0; }
	.ruben-profile__credential-skill:first-child { padding-top: 0; }
	.ruben-profile__credential-skill + .ruben-profile__credential-skill { border-top: 1px solid rgba(206,184,135,.32); }
	.ruben-profile__credential-skill > summary { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 2rem; align-items: center; gap: .7rem; min-height: 62px; padding: .65rem 0; cursor: pointer; }
	.ruben-profile__credential-skill > summary > svg { grid-column: 1; width: 2rem; height: 2rem; margin: 0; }
	.ruben-profile__credential-skill h3 { grid-column: 2; max-width: none; margin: 0; font-size: .92rem; line-height: 1.1; }
	.ruben-profile__credential-chevron { grid-column: 3; display: grid; place-items: center; width: 1.85rem; height: 1.85rem; border: 1px solid rgba(206,184,135,.48); border-radius: 50%; color: var(--color-gold-soft); transition: color .25s ease, background .25s ease, transform .35s var(--ease); }
	.ruben-profile__credential-chevron svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
	.ruben-profile__credential-skill[open] .ruben-profile__credential-chevron { color: var(--color-green); background: var(--color-gold-soft); transform: rotate(180deg); }
	.ruben-profile__credential-skill ul { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0 0 .75rem 2.7rem; }
	.ruben-profile__credential-skill li { min-height: 34px; padding: .42rem 0 .42rem .8rem; font-size: .74rem; line-height: 1.25; }
	.ruben-profile__credential-skill li::before { width: .28rem; height: .28rem; }
	.ruben-profile__credential-skill .ruben-profile__flag-list li { gap: .4rem; padding-left: 0; }
	.ruben-profile__credential-skill .ruben-profile__flag-list img { width: 1.1rem; height: 1.1rem; }

	/* How I Help: sticky app-style tabs and a compact two-column skill grid. */
	.ruben-profile__support { overflow: clip; }
	.ruben-profile__support-tabs { position: static; width: 100%; margin-bottom: 1rem; box-shadow: 0 10px 26px rgba(11,62,19,.1); }
	.ruben-profile__support-tabs button { gap: .45rem; min-height: 48px; padding: .55rem .6rem; }
	.ruben-profile__support-tabs button > svg { width: 1.25rem; height: 1.25rem; }
	.ruben-profile__support-tabs button > span { font-size: .65rem; letter-spacing: .08em; }
	.ruben-profile__support-showcase,
	.ruben-profile__support-showcase--coach { gap: .65rem; }
	.ruben-profile__support-visual { min-height: 0; height: clamp(130px, 40vw, 158px); border-radius: 2px 2px 1.45rem 2px; }
	.ruben-profile__support-visual::before { inset: .6rem; }
	.ruben-profile__support-visual::after { background: linear-gradient(90deg, rgba(4,27,8,.88) 0%, rgba(4,27,8,.54) 43%, transparent 74%); }
	.ruben-profile__support-visual picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
	.ruben-profile__support-visual img,
	.ruben-profile__support-showcase--coach .ruben-profile__support-visual img { object-fit: cover; object-position: center; transform: none; }
	.ruben-profile__support-visual figcaption { right: 42%; bottom: 1rem; left: 1rem; }
	.ruben-profile__support-visual figcaption span { margin-bottom: .35rem; font-size: .48rem; }
	.ruben-profile__support-visual figcaption span::before { width: 1.25rem; }
	.ruben-profile__support-visual figcaption strong { font-size: clamp(1rem, 4.7vw, 1.3rem); line-height: 1; }
	.ruben-profile__support-grid,
	.ruben-profile__support-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: .6rem; }
	.ruben-profile__support-grid article { min-height: 0; padding: .9rem .75rem; border-radius: 2px 2px 1.15rem 2px; }
	.ruben-profile__support-grid article > svg { width: 2.75rem; height: 2.75rem; margin-bottom: .9rem; padding: .56rem; }
	.ruben-profile__support-grid h3 { margin-bottom: .5rem; font-size: clamp(.66rem, 2.8vw, .74rem); letter-spacing: -.025em; line-height: 1.08; overflow-wrap: anywhere; word-break: normal; text-wrap: wrap; }
	.ruben-profile__support-grid p { font-size: .8rem; line-height: 1.4; }
	.ruben-profile__support-panel[data-ruben-support-panel="coaches"] .ruben-profile__support-grid article:last-child { grid-column: 1 / -1; min-height: 0; }

	/* Testimonial: summary-first reading with a full-width expansion target. */
	.ruben-profile__testimonial .ruben-profile__section-heading { margin-bottom: 1.7rem; }
	.ruben-profile__testimonial-card { grid-template-columns: minmax(0, 1fr); border-radius: 2px 2px 1.5rem 2px; }
	.ruben-profile__testimonial-brand { grid-template-columns: auto 1fr; gap: 1rem; padding: .9rem 1rem; }
	.ruben-profile__testimonial-brand img { width: 74px; }
	.ruben-profile__testimonial-brand span { font-size: .53rem; line-height: 1.35; }
	.ruben-profile__testimonial-quote { padding: 1.15rem 1rem 1.35rem; }
	.ruben-profile__testimonial-mark { top: .8rem; right: .8rem; font-size: 6.5rem; }
	.ruben-profile__testimonial-copy .lead { max-width: 28ch; margin-bottom: .9rem; font-size: clamp(1.08rem, 5.2vw, 1.25rem); line-height: 1.3; }
	.ruben-profile__testimonial-copy p { font-size: .84rem; line-height: 1.58; }
	.ruben-profile__testimonial-more summary { min-height: 48px; font-size: .53rem; letter-spacing: .09em; }
	.ruben-profile__testimonial-copy footer { margin-top: .9rem; }

	/* Contact close: the fixed dock becomes a larger in-section banner. */
	.ruben-profile__contact { padding-block: 3.75rem 4.25rem; }
	.ruben-profile__contact-inner { grid-template-columns: minmax(0, 1fr); width: calc(100% - 1.5rem); gap: 1.6rem; }
	.ruben-profile__contact-heading { text-align: center; }
	.ruben-profile__contact-heading > span { margin-bottom: .75rem; font-size: .52rem; }
	.ruben-profile__contact-heading h2 { max-width: 9ch; margin-inline: auto; font-size: clamp(2.4rem, 12vw, 3.3rem); line-height: .86; }
	.ruben-profile__contact-heading p { max-width: 30ch; margin: 1rem auto 0; font-size: .92rem; line-height: 1.5; }
	.ruben-profile__contact-slot { align-items: center; min-height: 126px; }
	.ruben-contact-dock.is-embedded { width: 100%; padding: 4px; border-radius: 17px; }
	.ruben-contact-dock.is-embedded .ruben-contact-dock__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
	.ruben-contact-dock.is-embedded .ruben-contact-dock__label { display: block; grid-column: 1 / -1; padding: .5rem .65rem .3rem; font-size: .52rem; line-height: 1; text-align: center; }
	.ruben-contact-dock.is-embedded .ruben-contact-dock__action { flex-direction: row; gap: .42rem; min-height: 66px; padding: .6rem .35rem; border-radius: 13px; font-size: .61rem; }
	.ruben-contact-dock.is-embedded .ruben-contact-dock__action svg { width: 1.08rem; height: 1.08rem; }

	/* Persistent actions: thumb-friendly, safe-area aware and unobtrusive. */
	.ruben-contact-dock { right: max(.5rem, env(safe-area-inset-right)); bottom: max(.5rem, env(safe-area-inset-bottom)); left: max(.5rem, env(safe-area-inset-left)); padding: 3px; border-radius: 16px; }
	.ruben-contact-dock__inner { gap: 3px; }
	.ruben-contact-dock__action { gap: .5rem; min-height: 50px; padding: .55rem .45rem; border-radius: 13px; font-size: .62rem; letter-spacing: .035em; }
	.ruben-contact-dock__action svg { width: 1.05rem; height: 1.05rem; }
	body.page-template-page-ruben,
	body.page-template-page-ruben-php { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	.ruben-profile__hero-scroll svg { animation: none; }
}

@media (max-width: 360px) {
	.ruben-profile .container { width: calc(100% - 1.5rem); }
	.ruben-profile__anchor-nav a { font-size: .43rem; }
	.ruben-profile__hero-stage { height: 540px; }
	.ruben-profile__hero-media { height: auto; }
	.ruben-profile__hero-content { margin: 0; padding: 1rem .85rem 1.15rem; }
	.ruben-profile__hero-name { font-size: clamp(2.05rem, 10.8vw, 2.4rem); }
	.ruben-profile__hero-role span { display: none; }
	.ruben-profile__value-photo { flex-basis: 86vw; }
	.ruben-profile__support-grid,
	.ruben-profile__support-grid--four { grid-template-columns: minmax(0, 1fr); }
	.ruben-profile__support-grid article { min-height: 0; }
	.ruben-profile__support-panel[data-ruben-support-panel="coaches"] .ruben-profile__support-grid article:last-child { grid-column: auto; }
}
