/* Media queries migrated from style.css; order preserved. */

@media (max-width: 1040px) {
	.org-diagram__columns {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "generation" "permanent";
		gap: 20px;
		padding-top: 24px;
	}

	.org-diagram__holding-arms,
	.org-diagram__flow--development,
	.org-diagram__flow--treasury {
		display: none;
	}

	.home .org-diagram__level .org-card--link {
		pointer-events: auto;
		cursor: pointer;
	}
}

@media (prefers-reduced-motion: reduce) {
	.org-diagram__holding-arms,
	.org-diagram__holding-arms::before,
	.org-diagram__holding-arms::after,
	.org-diagram__flow--development::before,
	.org-diagram__flow--treasury::before {
		animation: none;
	}
}

@media (max-width: 1040px) {
	.org-diagram__columns {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"generation"
			"permanent";
		gap: 24px;
		padding-top: 24px;
	}

	.org-diagram__holding-arms,
	.org-diagram__flow--development,
	.org-diagram__flow--treasury {
		display: none;
	}
}

@media (max-width: 1040px) {
	.org-diagram__columns {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"transfer"
			"generation"
			"permanent";
		gap: 24px;
		margin-top: 30px;
	}

	.org-diagram__transfer {
		min-height: 58px;
	}

	.org-diagram__family-card {
		padding: 14px;
	}
}

@media (max-width: 920px) {
	.companies-platform-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.companies-platform-grid--four,
	.companies-platform-grid--one {
		grid-template-columns: minmax(0, 1fr);
		max-width: none;
	}

	.companies-platform-tile {
		min-height: 300px;
	}
}

@media (max-width: 720px) {
	.lio-404 {
		padding: 64px 0 88px;
	}

	.lio-404__inner {
		grid-template-columns: 1fr;
		gap: 64px;
	}

	.lio-404__copy {
		max-width: none;
		padding-top: 0;
		transform: none;
	}

	.lio-404__copy h1 {
		font-size: clamp(3rem, 15vw, 5rem);
	}

	.lio-404__wheel-wrap {
		width: min(100%, 460px);
		height: min(460px, calc(100vw - 36px));
	}

	.lio-404__result {
		width: min(100%, 460px);
	}

	.lio-404__segment span {
		font-size: 9px;
	}
}

@media (max-width: 900px) {
	.contact-page__intro-inner,
	.contact-page__press-inner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: none;
		gap: 36px;
	}

	.contact-page__heading,
	.contact-page__address,
	.contact-page__map {
		grid-area: auto;
	}

	.contact-page__map {
		min-height: 320px;
	}
}

@media (max-width: 560px) {
	.contact-page__intro {
		padding-top: 48px;
		padding-bottom: 56px;
	}

	.contact-page__heading h1 {
		margin-top: 14px;
	}

	.contact-page__intro-inner,
	.contact-page__press-inner {
		gap: 28px;
	}

	.contact-page__map {
		min-height: 260px;
	}

	.contact-page__press {
		padding-top: 68px;
		padding-bottom: 96px;
	}
}
	.company-page--capital .capital-people-strip {
		margin-top: 48px;
	}
}

@media (max-width: 1040px) {
	.company-page--capital .capital-photo--detail {
		height: auto;
		min-height: 360px;
	}
}

@media (max-width: 720px) {
	.company-page--capital .capital-hero__overlay {
		padding: 32px var(--container-padding) 42px;
	}
}

@media (max-width:1200px) { .company-team-panel { grid-template-columns:repeat(4,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-1 { grid-template-columns:repeat(1,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-4, .company-team-panel.company-team-panel--count-5 { grid-template-columns:repeat(4,minmax(0,1fr)); } }

@media (max-width:900px) { .company-team-panel { grid-template-columns:repeat(3,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-1 { grid-template-columns:repeat(1,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-3, .company-team-panel.company-team-panel--count-4, .company-team-panel.company-team-panel--count-5 { grid-template-columns:repeat(3,minmax(0,1fr)); } }

@media (max-width:560px) { .company-team-strip { align-items:flex-start; flex-direction:column; margin-top:48px; } .company-team-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; } .company-team-panel.company-team-panel--count-1 { grid-template-columns:repeat(1,minmax(0,1fr)); } .company-team-panel.company-team-panel--count-2, .company-team-panel.company-team-panel--count-3, .company-team-panel.company-team-panel--count-4, .company-team-panel.company-team-panel--count-5 { grid-template-columns:repeat(2,minmax(0,1fr)); } .company-team-strip__names { gap:14px 18px; } }

@media (max-width:700px) { .company-team-panel--stacked .company-team-card { grid-template-columns:minmax(0,1fr); row-gap:18px; } .company-team-panel--stacked .company-team-card__portrait, .company-team-panel--stacked .company-team-card__content { grid-column:1; grid-row:auto; } }

@media (max-width: 1040px) {
	.ssg-hero__grid,
	.ssg-work-grid,
	.ssg-inside-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ssg-hero__content {
		max-width: 48rem;
	}

	.ssg-hero__art {
		justify-items: start;
	}

	.ssg-hero__art img {
		width: min(100%, 680px);
	}

	.ssg-thesis {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
	}

	.ssg-formula-wrap {
		min-height: auto;
	}

	.ssg-inside__art {
		justify-items: start;
	}
}

@media (max-width: 720px) {
	.ssg-hero__grid {
		min-height: 0;
	}

	.ssg-hero__title {
		max-width: 22ch;
	}

	.ssg-deploy-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.ssg-inside__art {
		justify-items: center;
	}

	.ssg-inside__art img {
		width: min(70%, 680px);
		min-width: 220px;
	}

	.ssg-inside__copy h2 {
		white-space: normal;
	}

	.ssg-people-strip {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px 20px;
	}

	.ssg-people-strip__names {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.ssg-people-strip .text-link {
		grid-column: 2;
		grid-row: 1;
	}
}

@media (max-width: 1040px) {
	.capital-craft-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.capital-photo--detail {
		min-height: 360px;
	}
}

@media (max-width: 720px) {
	.company-page--capital .capital-craft-section h2 .line-box,
	.company-page--capital .capital-craft-section h2 .line {
		white-space: normal;
	}

	.company-page--capital .capital-lhove-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.capital-hero {
		min-height: 82svh;
	}

	.capital-hero__overlay {
		padding-bottom: 42px;
	}

	.capital-hero__title {
		max-width: 22ch;
	}

	.capital-gallery__item:nth-child(even),
	.capital-gallery__item:nth-child(odd) {
		padding-left: 0;
		padding-right: 0;
	}

	.capital-photo--coast,
	.capital-photo--lakes,
	.capital-photo--cities,
	.capital-photo--islands {
		min-height: 62svh;
	}

	.capital-craft-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.capital-people-strip {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px 20px;
	}

	.capital-people-strip__names {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.capital-people-strip .text-link {
		grid-column: 2;
		grid-row: 1;
	}
}

@media (max-width: 1040px) {
	.industries-hero__grid,
	.industries-inside-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.industries-hero__content {
		max-width: 48rem;
	}

	.industries-hero__title {
		max-width: 22ch;
	}

	.industries-hero__copy {
		max-width: 48rem;
	}

	.industries-hero__art {
		justify-items: start;
	}

	.industries-hero__art img {
		width: min(100%, 620px);
	}

	.industries-inside__art {
		justify-items: start;
	}
}

@media (max-width: 920px) {
	.industries-ask-run-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
}

@media (max-width: 720px) {
	.industries-hero__grid {
		min-height: 0;
	}

	.industries-hero__title {
		max-width: 14ch;
	}

	.industries-hero__copy {
		margin-top: 26px;
	}

	.industries-look-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.industries-inside__art {
		justify-items: center;
	}

	.industries-inside__art img {
		width: min(70%, 420px);
		min-width: 220px;
	}

	.industries-people-strip {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px 20px;
	}

	.industries-people-strip__names {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.industries-people-strip .text-link {
		grid-column: 2;
		grid-row: 1;
	}

	.company-page--industries .industries-closing__people {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 14px;
	}

	.industries-closing__roster {
		gap: 16px;
	}
}

@media (max-width: 560px) {
	.company-page--industries .industries-closing__people {
		grid-template-columns: minmax(0, 1fr);
	}

	.company-page--industries .industries-closing__people .text-link {
		justify-self: start;
	}

	.industries-closing__roster {
		flex-wrap: wrap;
	}
}

@media (max-width: 1200px) {
	.industries-team-panel {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.industries-team-panel {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.industries-team-panel {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 14px;
	}
}

@media (min-width: 921px) {
	.home .hero-home > .container.hero-home__grid > .hero-home__art {
		transform: scale(1.08);
		transform-origin: right bottom;
	}

	.home .site-main > .hero-home:first-child {
		display: flex;
		align-items: center;
		min-height: calc(100svh - 76px);
		padding-top: 0;
		padding-bottom: 0;
	}

	.home .site-main > .hero-home:first-child > .container.hero-home__grid {
		width: 100%;
	}

	.home .site-main > .hero-home:first-child .hero-home__art {
		align-self: center;
		align-items: center;
		transform: none;
	}
}

@media (min-width: 921px) {
	.site-header__brand {
		margin-left: 0;
	}

	.site-header__nav {
		margin-right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-scroll-cue__arrow {
		animation: none;
	}

	.org-diagram__transfer-arrow path {
		animation: none;
	}
}

@media print {
	.site-header,
	.site-footer,
	.site-header__toggle,
	.reveal,
	.textify-animation .line-box,
	.textify-animation .line {
		transform: none !important;
		opacity: 1 !important;
	}

	.site-header,
	.site-footer {
		display: none !important;
	}

	.model-page-sequence__card,
	.model-page-framework__column,
	.model-editorial-section,
	.model-page-framework-section {
		break-inside: avoid;
		box-shadow: none !important;
	}

	.model-page-sequence__card {
		border-color: #999;
	}

	.model-page-sequence__card:not(:last-child)::after {
		color: #333;
	}
}

@media (min-width: 1041px) {
	.model-editorial-body .model-editorial-quote {
		max-width: none;
		white-space: nowrap;
	}
}

@media (max-width: 920px) {
	.group-story-hero__inner,
	.group-story-pair__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 48px;
	}

	.group-story-block .section-title {
		white-space: normal;
	}

	.group-story-hero__title {
		white-space: normal;
	}

	.group-story-timeline {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0 0 0 28px;
	}

	.group-story-timeline__line {
		top: 0;
		bottom: 0;
		left: 8px;
		right: auto;
		width: 1px;
		height: auto;
	}

	.group-story-timeline__item {
		padding: 24px 0 32px;
	}

	.group-story-timeline__item::before {
		top: 32px;
		left: -28px;
	}
}

@media (min-width: 921px) {
	.dc-inside__grid {
		grid-template-columns: minmax(0, 1.35fr) minmax(300px, .95fr);
		gap: clamp(28px, 5vw, 84px);
	}
}

@media (max-width: 920px) {
	.dc-hero__grid,
	.dc-essay__body,
	.dc-anatomy__header-grid,
	.dc-anatomy__module,
	.dc-inside__grid {
		grid-template-columns: 1fr;
	}

	.dc-hero__art {
		order: 2;
	}

	.dc-essay__copy,
	.dc-formulas,
	.dc-editorial__body {
		max-width: none;
	}

	.dc-workloads__copy {
		grid-template-columns: 1fr;
	}

	.dc-placeholder--anatomy {
		min-height: 0;
		height: auto;
	}

	.dc-people__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.dc-lifecycle {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
		padding: 24px 0 0 20px;
		border-top: 0;
		border-left: 1px solid rgba(0, 69, 80, .35);
	}

	.dc-lifecycle i {
		width: 1px;
		height: 22px;
		flex: none;
	}

	.dc-lifecycle b {
		top: auto;
		bottom: 0;
		right: auto;
		left: 16px;
	}
}

@media (min-width: 721px) {
	.site-footer__column--contact {
		grid-template-columns: auto max-content;
		width: max-content;
		max-width: 100%;
	}

	.site-footer__column--contact .site-footer__contact-list p {
		white-space: nowrap;
	}

	.site-footer__column--contact > .site-footer__title {
		transform: translateY(2px);
	}
}

@media (max-width: 720px) {
	.site-footer__grid {
		align-items: start;
	}

	.site-footer__column--contact {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		justify-self: stretch;
	}

	.site-footer__column--contact .site-footer__contact-list {
		display: grid;
		flex-wrap: wrap;
		gap: 6px;
	}

	.site-footer__column--contact .site-footer__contact-list p + p {
		padding-left: 0;
		border-left: 0;
	}

	.site-footer__column--contact .site-footer__contact-list p:not(:last-child) {
		padding-right: 0;
	}

}

@media (max-width: 1180px) {
	.company-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.companies-page__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.companies-deep-dive__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.org-scroll__sticky,
	.companies-deep-dive__intro,
	.companies-deep-dive__grid,
	.companies-deep-dive__footer {
		opacity: 1;
		transform: none;
		filter: none;
	}

	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.org-card-grid--three {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.people-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.people-committee__roster {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1366px) and (min-width: 1041px) {
	.hero-home > .container.hero-home__grid {
		grid-template-columns: minmax(500px, 1.08fr) minmax(340px, 0.92fr);
		gap: 28px;
	}

	.model-page-intro.hero-home__grid {
		grid-template-columns: minmax(520px, 1.06fr) minmax(320px, 0.94fr);
		gap: 32px;
	}

	.home-hero__content {
		max-width: 100%;
	}

	.home-hero__content .hero-display {
		max-width: min(100%, 17.6ch);
	}

	.home-hero__content .hero-support {
		width: 100%;
		max-width: min(100%, 57ch);
	}

	.home-hero__content .hero-support .line-box {
		display: inline;
		overflow: visible;
		width: auto;
		white-space: normal;
	}

	.home-hero__content .hero-support .line {
		display: inline;
		position: static;
		transform: none;
		opacity: 1;
	}

	.hero-home > .container.hero-home__grid .hero-home__art {
		width: min(100%, 640px);
		justify-self: end;
	}

	.model-page-intro__title {
		max-width: min(100%, 16.8ch);
	}

	.model-page-intro .hero-support {
		max-width: 56ch;
	}

	.acapo-laptop {
		display: block;
	}

	.org-scroll__grid {
		grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
		gap: 36px;
	}

	.org-diagram {
		padding: 28px 22px;
	}

	.org-diagram__level {
		gap: 16px;
	}

	.org-diagram__level + .org-diagram__level {
		margin-top: 34px;
	}

	.org-diagram__columns {
		gap: 14px;
		margin-top: 30px;
		padding-top: 16px;
	}

	.org-diagram__columns::after {
		left: 25%;
		right: 25%;
		top: -8px;
		height: 18px;
		border-left: 1px solid rgba(16, 16, 16, 0.12);
		border-right: 1px solid rgba(16, 16, 16, 0.12);
		border-top-left-radius: 16px;
		border-top-right-radius: 16px;
	}

	.org-diagram__branch {
		padding-top: 14px;
	}

	.org-diagram__label {
		padding: 7px 12px;
		font-size: 11px;
	}

	.org-card-grid {
		gap: 12px;
	}

	.org-card {
		padding: 12px 15px 13px;
		min-height: 82px;
	}

	.org-card--primary {
		max-width: 300px;
	}

	.org-card__kicker {
		font-size: 10px;
	}

	.org-card__logo--holding .org-card__logo-svg {
		height: 30px;
	}

	.org-card__logo-svg {
		height: 24px;
	}

	.org-card__text {
		margin-top: 14px;
		font-size: 13px;
		line-height: 1.42;
	}

	.org-card:not(.org-card--primary) .org-card__logo {
		margin-top: 10px;
	}

	.org-card__brand {
		width: min(100%, 152px);
		margin-top: 14px;
		margin-left: 50px;
	}

	.org-scroll__steps {
		gap: 24px;
		padding-bottom: 80px;
	}

	.org-step {
		min-height: 72vh;
		padding-right: 0;
	}

	.org-step__title {
		margin-bottom: 18px;
		max-width: 19ch;
		font-size: clamp(1.86rem, 2.62vw, 2.42rem);
	}

	.org-step__title .line-box {
		padding-right: 0.12em;
	}

	.org-step__body {
		gap: 18px;
	}

	.org-step__text {
		max-width: 100%;
		font-size: clamp(1.12rem, 1.4vw, 1.26rem);
		line-height: 1.34;
	}

	.org-step__text .line-box {
		overflow: visible;
		white-space: normal;
		padding-bottom: 0.04em;
	}
}

@media (max-width: 1040px) {
	.hero-home__grid,
	.split-callout,
	.contact-panel,
	.org-scroll__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.companies-deep-dive__intro {
		grid-template-columns: minmax(0, 1fr);
	}

	.group-page-copy {
		grid-template-columns: minmax(0, 1fr);
	}

	.group-page-details {
		grid-template-columns: minmax(0, 1fr);
	}

	.model-page-bridge__copy,
	.model-page-sequence,
	.model-page-framework__grid,
	.model-page-method__grid,
	.model-editorial-grid,
	.energy-origin-grid,
	.energy-chain-grid,
	.energy-inside-grid,
	.energy-gas-grid,
	.energy-section-heading,
	.energy-stats__grid,
	.energy-overview-grid,
	.dc-overview-grid,
	.dc-why-grid,
	.capital-intro-grid,
	.capital-edge-grid,
	.capital-people-bridge,
	.capital-track-record__grid,
	.ssg-overview-grid,
	.ssg-stats-grid,
	.ssg-principles-grid,
	.ssg-investment-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.model-editorial-lead {
		gap: 42px;
	}

	.people-section__heading {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 24px;
	}

	.people-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.energy-technology-rows {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.model-bridge-section .model-editorial-lead,
	.model-why-italy-section .model-editorial-lead {
		padding-right: 0;
		padding-bottom: 24px;
		border-right: 0;
		border-bottom: 1px solid #d3e4ec;
	}

	.capital-edge-item {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 16px;
	}

	.capital-edge-item__content {
		padding-left: 18px;
	}

	.model-page-framework__logos--three,
	.model-page-framework__logos--two {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: none;
	}

	.model-page-framework__grid::after {
		display: none;
	}

	.model-page-intro__title {
		max-width: min(100%, 14.8ch);
	}

	.model-page-intro .hero-support {
		max-width: none;
	}

	.hero-home__content {
		max-width: 100%;
	}

	.energy-page-hero {
		grid-template-columns: minmax(0, 1fr);
	}

	.energy-page-hero__title,
	.energy-page-hero__support {
		max-width: 100%;
	}

	.energy-overview-grid__focus {
		gap: 24px;
	}

	.dc-overview-grid__art {
		order: -1;
	}

	.dc-overview-grid__art img {
		width: min(100%, 520px);
	}

	.ssg-overview-grid__visual {
		order: -1;
		padding-top: 0;
	}

	.ssg-dark-panel {
		min-height: 280px;
	}

	.contact-page-layout,
	.contact-form__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.contact-page-details {
		max-width: none;
	}

	.hero-home__art {
		width: min(100%, 880px);
		margin-top: 8px;
		justify-self: start;
	}

	.hero-home__art--team {
		width: 100%;
	}

	.energy-focus-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.team-card__header {
		grid-template-columns: 84px minmax(0, 1fr) 34px;
		gap: 14px;
	}

	.hero-home__art img {
		transform: scale(1.14);
		transform-origin: center top;
	}

	.contact-panel {
		align-items: flex-start;
	}

	.org-scroll__sticky {
		position: static;
	}

	.org-step {
		min-height: auto;
		padding-right: 0;
	}

	.org-card-grid--three,
	.org-card-grid--two,
	.org-card-grid--operations,
	.org-card-grid--treasury {
		grid-template-columns: minmax(0, 1fr);
		max-width: none;
	}

	.org-diagram__columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding-top: 0;
	}

	.org-diagram__columns::after,
	.org-diagram__branch::before {
		display: none;
	}

	.org-diagram__branch {
		padding-top: 0;
	}

	.org-scroll__steps {
		gap: 56px;
		margin-top: 18px;
	}
}

@media (max-width: 920px) {
	:root {
		--header-height: 78px;
		--container-padding: 18px;
	}

	.site-header__toggle {
		display: block;
	}

	.site-header__nav {
		position: absolute;
		top: calc(100% + 1px);
		left: 0;
		right: 0;
		padding: 18px;
		background: var(--color-surface);
		border-bottom: 1px solid var(--color-border);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity var(--transition-default), transform var(--transition-default), visibility var(--transition-default);
	}

	.site-header.is-open .site-header__nav {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.site-header__menu,
	.site-header__submenu {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.site-header__item {
		width: 100%;
		padding: 10px 0;
		border-bottom: 1px solid var(--color-border);
	}

	.site-header__item:last-child {
		border-bottom: 0;
	}

	.site-header__submenu {
		position: static;
		min-width: 0;
		margin-top: 12px;
		padding: 0 0 0 14px;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity var(--transition-default), transform var(--transition-default), visibility var(--transition-default);
	}

	.site-header__item.is-open .site-header__submenu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.site-header__submenu-logo {
		height: 22px;
		max-width: 150px;
	}

	.site-header__inner {
		width: 100%;
	}
}

@media (max-width: 720px) {
	.companies-deep-dive__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.model-page-sequence {
		grid-template-columns: minmax(0, 1fr);
	}

	.model-page-sequence__card,
	.model-page-sequence__card:nth-child(2),
	.model-page-sequence__card:nth-child(3),
	.model-page-sequence__card:nth-child(4) {
		width: 100%;
	}

	.model-page-sequence__card:not(:last-child)::after {
		top: auto;
		right: 50%;
		bottom: -18px;
		transform: translate(50%, 50%) rotate(90deg);
	}

	body {
		font-size: 16px;
	}

	.testo-80 {
		font-size: clamp(2.9rem, 10.8vw, 4.2rem);
	}

	.testo-30 {
		font-size: clamp(1.45rem, 5.2vw, 2rem);
	}

	.hero-home__content {
		gap: 22px;
	}

	.hero-support {
		max-width: 14ch;
	}

	.hero-home__art {
		width: calc(100% + 28px);
		margin-left: -14px;
		margin-right: -14px;
	}

	.hero-home__art img {
		transform: scale(1.18);
	}

	.contact-form-card {
		padding: 22px 18px;
		border-radius: 28px;
	}

	.contact-form__field input,
	.contact-form__field select,
	.contact-form__field textarea {
		padding: 16px 18px;
		border-radius: 20px;
	}

	.glance-kpis {
		grid-template-columns: 1fr;
	}

	.glance-kpis__cta {
		justify-content: flex-start;
		min-height: 0;
		padding-top: 4px;
	}

	.company-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.companies-page__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.energy-feature {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.energy-feature__icon {
		width: 88px;
		height: 88px;
	}

	.energy-focus-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dc-bullet-item {
		grid-template-columns: 12px minmax(0, 1fr);
		gap: 14px;
	}

	.dc-why-card {
		min-height: auto;
		padding: 24px 20px;
	}

	.ssg-stat-card,
	.ssg-investment-card {
		min-height: auto;
	}

	.ssg-quote-card {
		padding: 28px 24px;
	}

	.team-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.team-card {
		padding: 18px;
	}

	.team-card__header {
		grid-template-columns: 72px minmax(0, 1fr) 32px;
		gap: 12px;
	}

	.team-card__toggle {
		width: 32px;
		height: 32px;
	}

	.site-footer__grid,
	.site-footer__bottom {
		grid-template-columns: minmax(0, 1fr);
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 920px) {
	.group-independence__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.careers-manifesto__grid,
	.careers-openings__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.careers-manifesto__label {
		min-height: 48px;
	}

	.careers-openings__title {
		max-width: 12ch;
	}

	.careers-hero__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.careers-hero__art {
		width: 100%;
		justify-self: start;
	}

	.careers-hero__title .line {
		white-space: normal;
	}

	.careers-principles__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.careers-principle,
	.careers-principle + .careers-principle {
		min-height: auto;
		padding: 28px;
		border-left: 1px solid var(--color-border);
	}
}

@media (max-width: 720px) {
	.energy-portfolio-board {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.energy-portfolio-stat-grid strong {
		font-size: clamp(1.2rem, 6.2vw, 1.75rem);
	}

	.energy-technology-rows {
		grid-template-columns: minmax(0, 1fr);
	}

	.energy-portfolio-stat-grid em {
		font-size: 0.72rem;
	}

	.energy-map-placeholder {
		width: 100%;
		min-height: 520px;
	}

	.energy-technology-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.energy-technology-row--open {
		margin-top: 16px;
		padding-top: 30px;
	}

	.energy-chain-placeholder {
		gap: 4px;
		padding-top: 28px;
		padding-bottom: 0;
	}

	.energy-chain-grid {
		gap: 24px;
	}

	.energy-chain-section {
		padding-bottom: 32px !important;
	}

	.energy-chain-line {
		top: 39px;
	}

	.energy-chain-station {
		gap: 14px;
	}

	.energy-chain-station span {
		width: 22px;
		height: 22px;
		box-shadow: 0 0 0 5px rgba(153, 204, 153, 0.18);
	}

	.energy-chain-station small {
		font-size: 7px;
		letter-spacing: 0.03em;
		white-space: nowrap;
	}

	.energy-people-strip {
		flex-wrap: wrap;
	}

	.energy-people-strip .text-link {
		margin-left: 0;
		width: 100%;
	}

	.energy-people-strip {
		grid-template-columns: 1fr;
		align-items: flex-start;
	}

	.energy-people-strip .text-link {
		grid-column: 1;
		width: auto;
	}

	.people-committee__roster {
		grid-template-columns: minmax(0, 1fr);
	}

	.people-card-grid {
		gap: 28px 14px;
	}

	.people-section__heading {
		margin-bottom: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.org-diagram__holding-arms,
	.org-diagram__holding-arms::before,
	.org-diagram__holding-arms::after,
	.org-diagram__flow--development::before,
	.org-diagram__flow--treasury::before,
	.org-diagram__holding-arrow { animation: none; }
}

@media (max-width: 1040px) {
	.org-diagram__columns { grid-template-columns: minmax(0, 1fr); grid-template-areas: "generation" "permanent"; gap: 20px; padding-top: 24px; }
	.org-diagram__holding-arms,
	.org-diagram__flow--development,
	.org-diagram__flow--treasury { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.org-diagram__holding-transfer svg path,
	.org-diagram__flow--development::before,
	.org-diagram__flow--treasury::before { animation: none; }
}

@media (max-width: 1040px) {
	.org-diagram__holding-transfer { display: none; }
	.org-diagram__columns { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
	.org-diagram__family-card { width: 100%; }
}

@media (max-width: 1040px) {
	.org-diagram__columns {
		grid-template-rows: auto auto auto;
		grid-template-areas:
			"generation"
			"investment"
			"permanent";
		padding-top: 28px;
		padding-bottom: 12px;
	}

	.org-diagram__family-card {
		width: 100%;
	}
}

@media (max-width: 1040px) {
	.org-diagram__flow--treasury { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.org-diagram__flow--treasury::before,
	.org-diagram__flow--treasury::after { animation: none; }
}

/* Short desktop viewports: keep the complete Home organisation diagram inside
 * the visible sticky area without changing the normal desktop composition. */
@media (min-width: 1041px) and (max-height: 820px) {
	.org-scroll__sticky {
		top: calc(var(--header-height) + 12px);
	}

	.org-diagram {
		padding: 18px;
		border-radius: 28px;
	}

	.org-diagram__level {
		gap: 10px;
	}

	.org-diagram__level + .org-diagram__level {
		margin-top: 24px;
	}

	.org-diagram__columns {
		gap: 8px 12px;
		margin-top: 16px;
	}

	.org-diagram__family-card {
		padding: 8px;
		border-radius: 22px;
	}

	.org-diagram__family-card--generation,
	.org-diagram__family-card--investment {
		padding-bottom: 14px;
	}

	.org-diagram__family-card--generation .org-diagram__branch {
		gap: 7px;
	}

	.org-diagram__label {
		min-height: 26px;
		padding: 4px 7px;
		border: 0;
		box-shadow: 0 0 0 6px var(--color-surface);
		font-size: 9px;
	}

	.org-card-grid,
	.org-diagram__family-card .org-card-grid--operations,
	.org-diagram__family-card .org-card-grid--treasury {
		gap: 7px;
	}

	.org-card {
		min-height: 62px;
		padding: 8px 10px;
		border-radius: 20px;
	}

	.org-card__kicker {
		font-size: 9px;
	}

	.org-card__logo-svg {
		height: 22px;
	}

	.org-card__logo--holding .org-card__logo-svg {
		height: 28px;
	}

	.org-card:not(.org-card--primary) .org-card__logo {
		margin-top: 6px;
	}

	.org-card__brand {
		margin-top: 8px;
	}

	.org-diagram__holding-transfer {
		min-height: 38px;
		margin-top: 4px;
		margin-bottom: 0;
	}

	.org-diagram__holding-transfer-caption {
		font-size: 9px;
	}

	.org-diagram__holding-transfer svg {
		height: 34px;
	}

	.org-diagram__flow-column {
		z-index: 4;
	}

	.org-diagram__flow-line {
		left: -18px;
		right: -18px;
		width: calc(100% + 36px);
		z-index: 1;
	}

	.org-diagram__flow--development span {
		z-index: 5;
		padding: 3px 6px;
		background: var(--color-surface);
	}

	.org-diagram__flow--development i {
		right: -19px;
		z-index: 6;
	}

	.org-diagram__treasury-flow {
		bottom: -46px;
		width: 100%;
		height: 44px;
	}

	.org-diagram__treasury-flow span {
		max-width: 100%;
		font-size: 8px;
		letter-spacing: 0.1em;
		white-space: nowrap;
	}

	.org-diagram__treasury-flow i {
		top: 14px;
	}
}

/* At short desktop widths up to 1394px, give the diagram priority so its
 * cards remain single-line while preserving the right-hand copy. */
@media (min-width: 1041px) and (max-width: 1394px) and (max-height: 820px) {
	.home .org-scroll__grid {
		grid-template-columns: minmax(660px, 1.42fr) minmax(260px, .58fr);
		gap: 20px;
	}

	.home .org-diagram__columns {
		grid-template-columns: minmax(0, 1.38fr) minmax(96px, .28fr) minmax(0, .74fr);
		column-gap: 10px;
	}

	.home .org-diagram__family-card--generation,
	.home .org-diagram__family-card--investment {
		width: calc(100% - 4px);
	}

	.home .org-diagram__family-card--permanent {
		width: calc(100% - 4px);
	}

	.home .org-diagram__flow-column {
		z-index: 8;
	}

	.home .org-diagram__flow-line {
		left: -12px;
		right: -12px;
		width: calc(100% + 24px);
		z-index: 1;
	}

	.home .org-diagram__flow--development span {
		z-index: 3;
		white-space: nowrap;
	}

	.home .org-diagram__flow--development i {
		right: -13px;
		z-index: 4;
	}

	.home .org-diagram__family-card {
		width: calc(100% - 12px);
		padding-right: 5px;
		padding-left: 5px;
	}

	.home .org-card {
		padding-right: 6px;
		padding-left: 6px;
	}

	.home .org-card__kicker {
		white-space: nowrap;
	}

	.home .org-card__brand {
		margin-left: 34px;
	}
}

/* Keep the Energy hero illustration fully visible in narrower desktop views. */
@media (min-width: 721px) {
	.company-page--energy .energy-page-hero__art {
		width: min(100%, 820px);
	}

	.company-page--energy .energy-page-hero__art img {
		transform: scale(1.04);
		transform-origin: center center;
	}
}

@media (max-width: 720px) {
	.company-page--energy .energy-page-hero__art img {
		transform: scale(1.02);
		transform-origin: center center;
	}
}

@media (max-width: 720px) {
	.contact-page__press-kit--wide {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.contact-page__press-kit-action {
		justify-items: start;
	}
}

@media (min-width: 721px) {
	.company-page--capital .capital-hero__art {
		width: min(100%, 820px);
	}

	.company-page--capital .capital-hero__art img {
		transform: scale(1.04);
		transform-origin: center center;
	}
}

@media (max-width: 720px) {
	.company-page--capital .capital-hero__art img {
		transform: scale(1.02);
		transform-origin: center center;
	}
}

@media (min-width: 721px) {
	.company-page--ssg .ssg-hero__art img {
		width: min(100%, 840px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.org-diagram__treasury-route-line { animation: none; }
}

@media (max-width: 1040px) {
	.org-diagram__columns {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		grid-template-areas:
			"generation"
			"investment"
			"permanent";
	}

	.org-diagram__flow-column { display: none; }
}

@media (max-width: 1040px) {
	.people-page .people-card-grid--committee {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.people-page .people-card-grid--committee {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 1040px) {
	.org-diagram__columns {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		grid-template-areas:
			"generation"
			"investment"
			"permanent";
	}

	.org-diagram__family-card--generation,
	.org-diagram__family-card--investment,
	.org-diagram__family-card--permanent {
		width: 100%;
	}

	.org-diagram__flow-column,
	.org-diagram__treasury-flow {
		display: none;
	}
}

@media (max-width: 1040px) {
	.org-diagram {
		padding: 18px;
	}

	.org-diagram__columns {
		gap: 8px;
		padding-top: 4px;
		padding-bottom: 4px;
	}

	.org-diagram__family-card--generation,
	.org-diagram__family-card--investment,
	.org-diagram__family-card--permanent {
		padding: 9px 12px 10px;
		border-radius: 24px;
	}

	.org-diagram__family-card--generation .org-diagram__branch {
		gap: 8px;
	}

	.org-card-grid--operations,
	.org-card-grid--treasury {
		gap: 6px;
	}

	.org-card {
		min-height: 60px;
		padding: 7px 11px 8px;
		border-radius: 20px;
	}

	.org-card__kicker {
		font-size: 9px;
	}

	.org-card:not(.org-card--primary) .org-card__logo {
		margin-top: 4px;
	}

	.org-card__logo-svg {
		height: 21px;
	}

	.org-diagram__label {
		min-height: 30px;
		padding: 6px 10px;
		font-size: 10px;
	}

	.org-diagram__treasury-flow {
		display: flex;
	}

	.org-diagram__treasury-flow span {
		font-size: 9px;
	}
}

@media (max-width: 640px) {
	.org-diagram {
		padding: 14px;
		border-radius: 26px;
	}

	.org-diagram__family-card--generation,
	.org-diagram__family-card--investment,
	.org-diagram__family-card--permanent {
		padding: 7px 9px 8px;
		border-radius: 21px;
	}

	.org-card {
		min-height: 54px;
		padding: 6px 9px 7px;
		border-radius: 18px;
	}

	.org-card__kicker {
		font-size: 8px;
		letter-spacing: 0.12em;
	}

	.org-card__logo-svg {
		height: 19px;
	}

	.org-diagram__label {
		min-height: 28px;
		padding: 5px 8px;
		font-size: 9px;
		letter-spacing: 0.12em;
	}
}

/*
 * Lio Holding responsive overrides.
 *
 * Keep viewport-specific layout changes here so the approved base layout in
 * style.css remains readable and stable. The mobile organisation diagram will
 * be implemented as a dedicated, non-scroll-driven composition in this file.
 */

@media (max-width: 920px) {
	.home .site-main > .hero-home:first-child {
		padding-top: 62px;
	}

	.home .site-main > .hero-home:first-child .hero-display {
		width: 100%;
		max-width: 100%;
		font-size: clamp(2.65rem, 9.8vw, 3.8rem);
	}

	.home .site-main > .hero-home:first-child .hero-display .line-box,
	.home .site-main > .hero-home:first-child .hero-display .line {
		width: 100%;
		max-width: 100%;
		overflow: visible;
		white-space: normal;
	}

	.home .glance-grid > .hero-home__art {
		display: none;
	}

	.home .glance-grid > .hero-home__content {
		width: 100%;
	}
}

/* Mobile typography baseline shared by every page. */
@media (max-width: 720px) {
	.home .site-main > .hero-home:first-child {
		padding-bottom: 112px;
	}

	.home-scroll-cue {
		bottom: -14px;
	}

	:root {
		--mobile-body-size: 1rem;
		--mobile-title-size: clamp(2.2rem, 9vw, 3.2rem);
	}

	body {
		font-size: var(--mobile-body-size);
	}

	.testo-30,
	.hero-support,
	.section-copy,
	.section-copy p,
	.people-section__intro,
	.industries-plain-section__copy {
		font-size: var(--mobile-body-size) !important;
		line-height: 1.5;
	}

	.testo-80,
	.section-title,
	.section-title--small {
		max-width: 100%;
		font-size: var(--mobile-title-size) !important;
		line-height: 1;
	}

	.hero-support,
	.hero-home__content .hero-support {
		display: block !important;
		max-width: 100%;
		min-width: 0;
		width: 100% !important;
	}

	.company-intro .hero-support,
	.company-intro .hero-support .line-box,
	.company-intro .hero-support .line {
		width: 100% !important;
		max-width: none !important;
	}

	.company-intro .hero-support .nowrap {
		white-space: normal !important;
	}

	.hero-home__content,
	.hero-home__body,
	.hero-home__grid,
	.glance-grid {
		min-width: 0;
		max-width: 100%;
	}

	/* The Home company-intro keeps a narrow desktop editorial measure. */
	.home .company-intro .hero-home__content,
	.home .company-intro .hero-home__body {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		justify-self: stretch;
	}

	.home .company-intro.hero-home__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.home .company-intro .hero-display,
	.home .company-intro .hero-support {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	/* Mobile diagram: one static composition, fully visible after reveal. */
	.org-scroll__sticky {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
	}

	.org-diagram__level:not(.is-active) .org-card,
	.org-diagram__level:not(.is-active) .org-card__kicker,
	.org-diagram__level:not(.is-active) .org-card__title,
	.org-diagram__level:not(.is-active) .org-card__text,
	.org-diagram__level:not(.is-active) .org-card__logo {
		opacity: 1 !important;
		background: #fff;
	}

	.org-diagram__holding-transfer,
	.org-diagram__holding-arms,
	.org-diagram__flow-column,
	.org-diagram__treasury-flow,
	.org-diagram__columns::after,
	.org-diagram__branch::before {
		display: none !important;
	}

	.org-diagram .org-card {
		border: 0 !important;
	}

	.org-diagram .org-card--primary {
		background: transparent !important;
		box-shadow: none !important;
	}

	.org-diagram .org-card:not(.org-card--primary) .org-card__logo {
		justify-content: center;
	}

	.org-diagram .org-card:not(.org-card--primary) .org-card__brand {
		margin-left: 0;
		justify-content: center;
		transform: translateX(-10px);
	}

	.org-diagram .org-card:not(.org-card--primary) .org-card__logo-svg {
		height: 24px;
	}

	/* Align the shared Lio mark, not the different-length company names. */
	.org-diagram .org-card-grid--operations > .org-card:nth-child(1) .org-card__logo-svg {
		transform: translateX(0);
	}

	.org-diagram .org-card-grid--operations > .org-card:nth-child(2) .org-card__logo-svg {
		transform: translateX(12px);
	}

	.org-diagram .org-card-grid--operations > .org-card:nth-child(3) .org-card__logo-svg {
		transform: translateX(13px);
	}

	.org-diagram .org-card-grid--operations > .org-card:nth-child(1) .org-card__logo-svg,
	.org-diagram .org-card-grid--operations > .org-card:nth-child(2) .org-card__logo-svg,
	.org-diagram .org-card-grid--operations > .org-card:nth-child(3) .org-card__logo-svg,
	.org-diagram .org-card-grid--treasury .org-card__logo-svg {
		transform-origin: left center;
	}

	.org-diagram__family-card--investment .org-card-grid--operations .org-card__logo-svg {
		transform: translateX(5px);
	}

	.org-diagram .org-card-grid--treasury .org-card__logo-svg {
		transform: translateX(22px);
	}

	/* Compact mobile footer: address on row one, coffee and email on row two. */
	.site-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.site-footer__column--brand {
		padding-right: 0;
	}

	.site-footer__logo {
		width: 72px;
	}

	.site-footer__column--contact {
		gap: 8px;
	}

	.site-footer__title {
		font-size: 11px;
	}

	.site-footer__column--contact .site-footer__contact-list {
		grid-template-columns: max-content max-content;
		gap: 4px 18px;
		width: 100%;
		justify-content: start;
	}

	.site-footer__column--contact .site-footer__contact-list p {
		font-size: 13px;
		line-height: 1.35;
		max-width: none;
	}

	.site-footer__column--contact .site-footer__contact-list p:first-child {
		grid-column: 1 / -1;
		white-space: nowrap;
	}

	.site-footer__column--contact .site-footer__contact-list p:nth-child(2) {
		grid-column: 1;
	}

	.site-footer__column--contact .site-footer__contact-list p:last-child {
		grid-column: 2;
		justify-self: start;
		text-align: left;
		white-space: nowrap;
	}

	.site-footer__bottom {
		gap: 6px;
		margin-top: 12px;
	}

	.org-scroll__steps {
		padding-bottom: 24px;
	}

	.companies-deep-dive {
		padding-top: 24px;
	}

	.site-main > .companies-deep-dive.section-shell {
		padding-top: 0 !important;
	}

	.companies-deep-dive::before {
		display: none;
	}

	.people-page .people-card-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px;
	}

	.company-page--industries .industries-team-panel {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px;
	}

	.textify-animation .line-box,
	.textify-animation .line,
	.hero-support .line-box,
	.hero-support .line {
		width: 100%;
		max-width: 100%;
		overflow: visible;
		white-space: normal !important;
		overflow-wrap: break-word;
		word-break: normal;
	}

	/*
	 * Paragraphs are animated through line-box/line wrappers on desktop, but
	 * those block wrappers create artificial narrow columns on small screens.
	 * Let mobile paragraphs wrap as ordinary text while keeping the title
	 * line animation intact.
	 */
	.textify-animation:not(.hero-display) .line-box {
		display: contents;
		width: auto !important;
		max-width: none !important;
		height: auto !important;
		overflow: visible !important;
		white-space: normal !important;
	}

	.textify-animation:not(.hero-display) .line {
		display: inline;
		position: static;
		width: auto !important;
		max-width: none !important;
		transform: none !important;
		opacity: 1 !important;
		overflow: visible !important;
		white-space: normal !important;
		transition: none !important;
	}

	.textify-animation .nowrap {
		white-space: normal !important;
	}
}

/* Lio DC lifecycle: keep the complete sequence visible at every viewport size. */
.dc-lifecycle {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(24px, .45fr) minmax(0, 1fr) minmax(24px, .45fr) minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 0;
	padding: 20px 18px 0;
	border: 0;
}

.dc-lifecycle > span,
.dc-lifecycle > i,
.dc-lifecycle > b {
	display: flex;
}

.dc-lifecycle > span,
.dc-lifecycle > i {
	grid-row: 1;
}

.dc-lifecycle > span.is-active {
	grid-column: auto;
}

.dc-lifecycle > b {
	display: none;
}

@media (max-width: 720px) {
	.model-editorial-body .model-editorial-quote {
		width: 100%;
		max-width: none;
	}

	.dc-lifecycle {
		grid-template-columns: minmax(0, 1fr) minmax(4px, .18fr) minmax(0, 1fr) minmax(4px, .18fr) minmax(0, 1fr);
		gap: 4px;
		padding: 16px 0 0;
	}

	.dc-lifecycle span {
		gap: 8px;
		font-size: clamp(7px, 2vw, 9px);
		letter-spacing: .06em;
	}

	.dc-lifecycle span::before {
		width: 14px;
		height: 14px;
		box-shadow: 0 0 0 4px rgba(0, 69, 80, .08);
	}

	.dc-lifecycle i {
		display: block;
		width: 100%;
		height: 1px;
		margin: 0;
		flex: none;
	}
}

/* Tablet: keep the organisation diagram fully revealed like the mobile composition. */
@media (min-width: 721px) and (max-width: 1040px) {
	.org-scroll__sticky {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
	}

	.org-diagram__level:not(.is-active) .org-card,
	.org-diagram__level:not(.is-active) .org-card__kicker,
	.org-diagram__level:not(.is-active) .org-card__title,
	.org-diagram__level:not(.is-active) .org-card__text,
	.org-diagram__level:not(.is-active) .org-card__logo,
	.org-diagram__level:not(.is-active) .org-diagram__label {
		opacity: 1 !important;
	}
}

/* Laptop-only tuning for the Home organisation diagram. */
@media (min-width: 1041px) and (max-width: 1600px) {
	.org-diagram__holding-transfer {
		display: flex;
		min-height: 64px;
		margin-top: 8px;
	}

	.org-diagram__holding-transfer-caption {
		display: block !important;
		order: 2;
		margin-top: -30px;
		margin-bottom: 0;
	}

	.org-diagram__holding-transfer svg {
		order: 1;
	}

	.org-diagram__flow-column {
		display: none !important;
	}

	.org-diagram__columns {
		--org-column-gap: clamp(10px, 1.4vw, 20px);
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"generation permanent"
			"investment permanent";
		gap: 10px var(--org-column-gap);
	}

	.org-diagram__family-card--generation,
	.org-diagram__family-card--investment,
	.org-diagram__family-card--permanent {
		width: 100%;
	}

	.org-diagram__flow-column {
		min-width: 0;
	}

	/* Let the deep-dive paragraphs wrap inside the narrower laptop column. */
	.org-scroll__steps .org-step__text .line-box,
	.org-scroll__steps .org-step__text .line {
		white-space: normal;
		overflow-wrap: normal;
		word-break: normal;
	}

	.energy-portfolio-map-title-row {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 12px;
	}

	.energy-portfolio-map-title-row h3 {
		max-width: none;
	}

	.energy-filter-row--map {
		justify-content: flex-start;
		align-self: flex-start;
	}
}

/* Home organisation diagram: compact inner cards between 1041px and 1400px. */
@media (min-width: 1041px) and (max-width: 1400px) {
	.org-diagram__family-card .org-card-grid {
		width: calc(100% - 24px);
		margin-inline: auto;
	}

	.org-diagram__family-card .org-card {
		min-height: 62px;
		padding: 10px 12px;
	}

	.org-diagram__family-card .org-card__kicker {
		font-size: 10px;
	}

	.org-diagram__family-card .org-card__logo-svg {
		height: 18px;
	}

	.org-diagram__family-card .org-diagram__label {
		max-width: 100%;
		padding: 6px 8px;
		font-size: clamp(8px, 0.75vw, 10px);
		letter-spacing: 0.11em;
	}

	.org-diagram__treasury-flow span {
		font-size: 8px;
		letter-spacing: 0.12em;
	}

	.org-diagram__family-card--permanent .org-card__brand {
		width: 100%;
		margin-left: 0;
		justify-content: center;
	}

	.org-diagram__family-card--permanent .org-card__logo {
		justify-content: center;
	}
}

/* Model intro: keep “to” with the first phrase on narrow viewports. */
@media (min-width: 921px) and (max-width: 1800px) {
	.group-story-hero__title {
		font-size: clamp(2.1rem, 4.2vw, 4.1rem);
	}
}

@media (max-width: 1040px) {
	.model-page-intro__title {
		max-width: none !important;
	}

	.model-page-intro__title .line-box:first-child {
		white-space: nowrap !important;
	}
}

@media (max-width: 420px) {
	.model-page-intro__title {
		font-size: 2rem !important;
	}
}

/* Energy regional map: stack the heading and filters below the desktop width. */
@media (max-width: 1040px) {
	.energy-portfolio-map-title-row {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 12px;
	}

	.energy-portfolio-map-title-row h3 {
		max-width: none;
	}

	.energy-filter-row--map {
		justify-content: flex-start;
		align-self: flex-start;
	}
}

@media (min-width: 1367px) and (max-width: 1600px) {
	.company-page--ssg .ssg-hero__title {
		max-width: 24ch;
		font-size: 3.5rem;
	}
}

/* Final page-specific alignment and spacing pass. */
@media (min-width: 921px) {
	.group-story-hero__inner {
		justify-items: center;
	}

	.group-story-hero__copy {
		width: 100%;
	}

	.ssg-work-grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
		align-items: center;
		gap: clamp(44px, 7vw, 112px);
	}

	.company-page--industries .industries-hero__copy {
		margin-top: 34px;
	}

	.company-page--ssg .ssg-hero__copy {
		margin-top: 34px;
	}

	.company-page--ssg .ssg-hero__title em {
		font-family: "Saol", serif;
		font-style: italic;
		font-weight: 400;
	}
}

@media (max-width: 720px) {
	.company-page--dc .dc-anatomy__header-grid .dc-anatomy__intro {
		line-height: 1.5;
	}

	.company-page--energy .energy-page-hero__support {
		line-height: 1.5;
	}

	.company-page--ssg .ssg-thesis__lead {
		font-size: 1.05rem;
		line-height: 1.7;
	}

	.company-page--dc .dc-essay__copy .section-copy,
	.company-page--dc .dc-editorial__body .section-copy {
		margin-bottom: 20px;
	}

	.company-page--dc .dc-essay__copy .section-copy--lead {
		margin-bottom: 20px;
	}

	.company-page--dc .dc-editorial__body {
		margin-top: 28px;
	}

	.company-page--ssg .ssg-hero__copy,
	.company-page--industries .industries-hero__copy {
		margin-top: 30px;
	}
}

@media (max-width: 720px) {
	.company-page--dc .dc-market .dc-editorial {
		gap: 40px;
	}

	.company-page--dc .dc-market .dc-lifecycle {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 4px;
		padding: 48px 0 16px;
	}

	.company-page--dc .dc-market .dc-lifecycle::before {
		top: 62px;
		left: 4%;
		right: 4%;
	}

	.company-page--dc .dc-market .dc-lifecycle span {
		gap: 12px;
		font-size: clamp(7px, 2vw, 9px);
		letter-spacing: .06em;
	}

	.company-page--dc .dc-market .dc-lifecycle span::before {
		width: 22px;
		height: 22px;
		box-shadow: 0 0 0 5px rgba(0, 69, 80, .08);
	}
}

/* Keep the title-to-intro spacing identical across every company hero. */
.company-page--dc .dc-hero__title {
	margin-bottom: calc(28px + var(--shared-hero-copy-gap));
}

.company-page--ssg .ssg-hero__copy,
.company-page--industries .industries-hero__copy {
	margin-top: calc(28px + var(--shared-hero-copy-gap));
}

/* Keep the same three-column Home diagram on medium desktop widths after the
 * generic laptop layout rules have been applied. */
@media (min-width: 1395px) and (max-width: 1600px) {
	.home .org-diagram__holding-transfer-caption {
		display: none !important;
	}

	.home .org-diagram__columns {
		grid-template-columns: minmax(0, 1fr) minmax(150px, .34fr) minmax(0, 1fr);
		grid-template-areas:
			"generation flow-column permanent"
			"investment flow-column permanent";
		column-gap: clamp(18px, 2.4vw, 38px);
	}

	.home .org-diagram__flow-column {
		display: grid !important;
		grid-area: flow-column;
		grid-row: 1 / span 2;
		grid-template-rows: subgrid;
		min-width: 0;
	}

	.home .org-diagram__flow--development {
		display: flex !important;
		grid-row: 1;
		min-width: 0;
	}

	.home .org-diagram__flow--development > span {
		width: 8ch;
		max-width: 8ch;
		white-space: normal;
	}

	.home .org-diagram__flow-break {
		display: block;
	}

	.home .org-diagram__flow-line {
		left: 0;
		right: 0;
		width: 100%;
	}

	.home .org-diagram__family-card--permanent,
	.home .org-diagram__family-card--permanent .org-card {
		min-width: 0;
	}
}

@media (min-width: 1395px) {
	.company-page--capital .capital-lhove__intro {
		max-width: none;
		white-space: nowrap;
	}
}

@media (max-width: 1040px) {
	.company-page--capital .capital-craft__closing {
		white-space: normal;
	}

	.company-page--capital .capital-lhove h2,
	.company-page--capital .capital-lhove h2 .line-box,
	.company-page--capital .capital-lhove h2 .line {
		display: block !important;
		width: 100% !important;
		max-width: 100%;
		overflow: visible !important;
		white-space: normal !important;
	}

	.company-page--capital .capital-lhove h2 {
		overflow: visible !important;
	}

	.company-page--capital .capital-lhove__intro {
		max-width: none;
		white-space: normal !important;
		overflow: visible !important;
	}
}

/* Final override for the short, narrow desktop Home composition: restore the
 * dedicated middle connector column after the generic laptop layout rules. */
@media (min-width: 1041px) and (max-width: 1394px) and (max-height: 820px) {
	.home .org-diagram__holding-transfer {
		min-height: 32px;
		margin-top: 0;
		margin-bottom: 0;
	}

	.home .org-diagram__holding-transfer svg {
		height: 28px;
	}

	.home .org-diagram__holding-transfer-caption {
		display: none !important;
	}

	.home .org-diagram__columns {
		grid-template-columns: minmax(0, 1fr) minmax(120px, .28fr) minmax(0, 1fr);
		grid-template-areas:
			"generation flow-column permanent"
			"investment flow-column permanent";
		column-gap: 12px;
		padding-top: 0;
	}

	.home .org-diagram__flow-column {
		display: grid !important;
		grid-area: flow-column;
		grid-row: 1 / span 2;
		grid-template-rows: subgrid;
		min-width: 0;
	}

	.home .org-diagram__flow--development {
		display: flex !important;
		grid-row: 1;
		min-width: 0;
	}

	.home .org-diagram__flow--development > span {
		width: 8ch;
		max-width: 8ch;
		white-space: normal;
	}

	.home .org-diagram__flow-break {
		display: block;
	}

	.home .org-diagram__flow-line {
		left: 0;
		right: 0;
		width: 100%;
	}

	.home .org-diagram__family-card--permanent,
	.home .org-diagram__family-card--permanent .org-card {
		min-width: 0;
	}
}
