/* =========================================================
   DC Native 1.9 — Di cosa mi occupo
   Hub clinico autonomo /di-cosa-mi-occupo/
   ========================================================= */

.dc-practice-page {
	background: var(--ivory);
	overflow: hidden;
}

.dc-practice-page .eyebrow--light {
	color: #efb79f;
}

.dc-practice-shell {
	margin-inline: auto;
	max-width: 1180px;
	width: min(calc(100% - 3rem), 1180px);
}

.dc-practice-hero {
	background: var(--sage);
}

.dc-practice-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(330px, .72fr);
	min-height: 600px;
}

.dc-practice-hero__copy {
	align-self: center;
	padding: clamp(4.5rem, 7vw, 7.2rem) clamp(3rem, 7vw, 6rem) clamp(4.5rem, 7vw, 7.2rem) 0;
}

.dc-practice-hero h1 {
	font-size: clamp(3rem, 5.2vw, 5rem);
	line-height: 1.01;
	max-width: 790px;
}

.dc-practice-hero h1::after {
	background: var(--accent);
	content: "";
	display: block;
	height: 2px;
	margin-top: 1.4rem;
	width: 56px;
}

.dc-practice-lead {
	color: var(--forest-dark);
	font-family: var(--serif);
	font-size: clamp(1.17rem, 1.8vw, 1.48rem);
	line-height: 1.5;
	margin: 0;
	max-width: 720px;
}

.dc-practice-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	margin-top: 2rem;
}

.dc-practice-text-link,
.dc-practice-inline-link {
	border-bottom: 1px solid rgba(52, 72, 61, .34);
	color: var(--forest);
	font-size: .88rem;
	font-weight: 600;
	padding-bottom: .2rem;
}

.dc-practice-text-link span,
.dc-practice-inline-link span {
	color: var(--accent);
	margin-left: .35rem;
}

.dc-practice-text-link:hover,
.dc-practice-inline-link:hover {
	border-color: var(--accent);
	color: var(--accent-dark);
}

.dc-practice-orient {
	background: var(--forest-dark);
	color: rgba(255, 255, 255, .78);
	padding: clamp(3.5rem, 6vw, 5.6rem) clamp(2.3rem, 4.5vw, 4rem);
}

.dc-practice-orient > p:not(.eyebrow) {
	font-family: var(--serif);
	font-size: 1.06rem;
	line-height: 1.6;
	margin-bottom: 2.1rem;
}

.dc-practice-orient nav {
	border-top: 1px solid rgba(255, 255, 255, .2);
	display: grid;
}

.dc-practice-orient nav a {
	align-items: baseline;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	color: var(--ivory);
	display: grid;
	font-size: .82rem;
	gap: .9rem;
	grid-template-columns: 30px 1fr;
	line-height: 1.45;
	padding: .9rem 0;
}

.dc-practice-orient nav a span {
	color: #efb79f;
	font-family: var(--serif);
}

.dc-practice-orient nav a:hover {
	color: #efb79f;
}

.dc-practice-intro {
	background: var(--paper);
	padding: clamp(4.5rem, 7vw, 6.6rem) 0;
}

.dc-practice-intro__grid {
	display: grid;
	gap: clamp(3rem, 8vw, 7rem);
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.dc-practice-intro h2 {
	font-size: clamp(2.3rem, 4vw, 3.8rem);
	max-width: 620px;
}

.dc-practice-prose {
	align-self: end;
	max-width: 690px;
}

.dc-practice-prose p {
	font-size: 1.03rem;
	line-height: 1.78;
}

.dc-practice-areas {
	background: var(--ivory);
	padding: clamp(4.5rem, 7vw, 7rem) 0;
	scroll-margin-top: 110px;
}

.dc-practice-section-head {
	align-items: end;
	display: grid;
	gap: clamp(2.5rem, 7vw, 6.5rem);
	grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr);
	margin-bottom: 3.5rem;
}

.dc-practice-section-head h2 {
	font-size: clamp(2.45rem, 4.2vw, 4rem);
	margin-bottom: 0;
	max-width: 760px;
}

.dc-practice-section-head > p {
	color: var(--muted);
	font-size: .96rem;
	line-height: 1.72;
	margin: 0 0 .25rem;
	max-width: 500px;
}

.dc-practice-area-list {
	border-top: 1px solid var(--forest);
}

.dc-practice-area {
	border-bottom: 1px solid var(--forest);
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(150px, .35fr) minmax(0, 1.65fr);
	padding: clamp(2.8rem, 4.8vw, 4.4rem) 0;
	scroll-margin-top: 110px;
}

.dc-practice-area__meta {
	align-self: start;
	position: sticky;
	top: 130px;
}

.dc-practice-area__meta span {
	color: var(--accent);
	display: block;
	font-family: var(--serif);
	font-size: 1.1rem;
	margin-bottom: .75rem;
}

.dc-practice-area__meta p {
	color: var(--muted);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .15em;
	margin: 0;
	text-transform: uppercase;
}

.dc-practice-area__body {
	max-width: 820px;
}

.dc-practice-area__body h3 {
	font-size: clamp(2rem, 3.5vw, 3.35rem);
	margin-bottom: 1.35rem;
}

.dc-practice-area__body > p {
	color: var(--muted);
	font-size: 1rem;
	line-height: 1.76;
	max-width: 720px;
}

.dc-practice-area__links {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem 1.8rem;
	margin-top: 1.6rem;
}

.dc-practice-area__links a {
	border-bottom: 1px solid rgba(185, 87, 50, .38);
	color: var(--forest);
	font-size: .82rem;
	font-weight: 700;
	padding-bottom: .2rem;
}

.dc-practice-area__links a span {
	color: var(--accent);
	margin-left: .35rem;
}

.dc-practice-area__links a:hover {
	border-color: var(--accent);
	color: var(--accent-dark);
}

.dc-practice-unnamed {
	background: var(--forest-dark);
	color: rgba(255, 255, 255, .8);
	padding: clamp(4.1rem, 6vw, 5.8rem) 0;
}

.dc-practice-unnamed__grid {
	display: grid;
	gap: clamp(3rem, 8vw, 7rem);
	grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
}

.dc-practice-unnamed h2 {
	color: var(--ivory);
	font-size: clamp(2.4rem, 4.2vw, 4rem);
	max-width: 700px;
}

.dc-practice-unnamed__copy {
	align-self: end;
	max-width: 620px;
}

.dc-practice-unnamed__copy p {
	font-size: 1rem;
	line-height: 1.78;
}

.dc-practice-unnamed__copy a {
	border-bottom: 1px solid rgba(239, 183, 159, .45);
	color: var(--ivory);
	display: inline-block;
	font-size: .84rem;
	font-weight: 700;
	margin-top: .9rem;
	padding-bottom: .2rem;
}

.dc-practice-unnamed__copy a span {
	color: #efb79f;
	margin-left: .35rem;
}

.dc-practice-unnamed__copy a:hover {
	border-color: #efb79f;
	color: #efb79f;
}

.dc-practice-final-cta {
	padding: clamp(3.5rem, 5.5vw, 4.8rem) max(1.25rem, 5vw);
}

.dc-practice-final-cta__note {
	font-size: .76rem !important;
	letter-spacing: .04em;
	margin-top: 1.2rem !important;
}

.dc-practice-final-cta__actions {
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}

@media (max-width: 979.98px) {
	.dc-practice-hero__grid {
		grid-template-columns: 1fr;
	}

	.dc-practice-hero__copy {
		padding-right: 0;
	}

	.dc-practice-orient {
		margin-inline: calc((100vw - 100%) / -2);
		padding-inline: max(1.5rem, calc((100vw - 90%) / 2));
	}

	.dc-practice-intro__grid,
	.dc-practice-section-head,
	.dc-practice-unnamed__grid {
		grid-template-columns: 1fr;
	}

	.dc-practice-prose,
	.dc-practice-unnamed__copy {
		max-width: 760px;
	}

	.dc-practice-area {
		grid-template-columns: 120px 1fr;
	}
}

@media (max-width: 699.98px) {
	.dc-practice-shell {
		width: min(calc(100% - 2.2rem), 1180px);
	}

	.dc-practice-hero__grid {
		min-height: 0;
	}

	.dc-practice-hero__copy {
		padding-block: 3.7rem 4rem;
	}

	.dc-practice-hero h1 {
		font-size: clamp(2.65rem, 12vw, 3.7rem);
	}

	.dc-practice-orient {
		padding-block: 3.2rem;
		padding-inline: 1.1rem;
	}

	.dc-practice-area {
		gap: 1.4rem;
		grid-template-columns: 1fr;
		padding-block: 3.2rem;
	}

	.dc-practice-area__meta {
		display: flex;
		gap: 1rem;
		position: static;
	}

	.dc-practice-area__meta span {
		margin-bottom: 0;
	}

	.dc-practice-area__meta p {
		padding-top: .22rem;
	}

	.dc-practice-area__body h3 {
		font-size: clamp(2rem, 9vw, 2.7rem);
	}

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

@media (prefers-reduced-motion: reduce) {
	.dc-practice-page * {
		scroll-behavior: auto;
	}
}
