/* DC Native 1.95 — Psicoterapia a Milano: stili limitati alla nuova pagina. */
.dc-therapy-page {
	background: var(--ivory);
	color: var(--forest-dark);
}

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

.dc-therapy-page section[id] {
	scroll-margin-top: 120px;
}

body.admin-bar .dc-therapy-page section[id] {
	scroll-margin-top: 152px;
}

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

/* Hero: la stanza rende subito concreto il contesto del percorso. */
.dc-therapy-hero {
	background: var(--paper);
}

.dc-therapy-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
	align-items: center;
	min-height: 590px;
}

.dc-therapy-hero__copy {
	align-self: center;
	padding: clamp(3.7rem, 5.5vw, 5.4rem) clamp(2.8rem, 5.5vw, 5rem) clamp(3.7rem, 5.5vw, 5.4rem) 0;
}

.dc-therapy-hero h1 {
	max-width: 720px;
	font-size: clamp(2.9rem, 4.55vw, 4.35rem);
	line-height: 1.03;
}

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

.dc-therapy-lead {
	max-width: 700px;
	color: var(--forest-dark);
	font: 400 clamp(1.17rem, 1.65vw, 1.42rem)/1.54 var(--serif);
}

.dc-therapy-intro {
	max-width: 650px;
	color: var(--muted);
	font-size: .98rem;
	line-height: 1.75;
}

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

.dc-therapy-text-link {
	color: var(--forest);
	border-bottom: 1px solid var(--line);
	font-size: .85rem;
	font-weight: 700;
	padding-bottom: .3rem;
}

.dc-therapy-text-link span {
	color: var(--accent);
	margin-left: .4rem;
}

.dc-therapy-hero__media {
	position: relative;
	display: grid;
	grid-template-rows: auto auto;
	align-self: center;
	min-width: 0;
	margin: 0;
	overflow: hidden;
}

.dc-therapy-picture--hero {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.dc-therapy-picture--hero img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.dc-therapy-hero__media::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 14px;
	background: rgba(185, 87, 50, .84);
	z-index: 1;
}

.dc-therapy-hero__media figcaption {
	position: relative;
	display: grid;
	gap: .22rem;
	background: rgba(40, 58, 50, .92);
	padding: .9rem 1.2rem .95rem 1.35rem;
	color: var(--ivory);
	font-size: .78rem;
	line-height: 1.45;
}

.dc-therapy-hero__media figcaption span {
	color: #efb79f;
	font-size: .67rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.dc-therapy-hero__media figcaption strong {
	font-weight: 500;
}

/* Indice orizzontale: soglia tra la domanda iniziale e il percorso. */
.dc-therapy-index {
	background: var(--forest-dark);
	padding-block: 2.2rem 2.5rem;
}

.dc-therapy-index nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: .3rem;
	border-top: 1px solid rgba(255, 255, 255, .2);
}

.dc-therapy-index nav a {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: center;
	gap: .65rem;
	min-height: 58px;
	padding: .8rem .65rem;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	color: var(--ivory);
	font-size: .82rem;
	line-height: 1.45;
}

.dc-therapy-index nav a:not(:nth-child(3n + 1)) {
	border-left: 1px solid rgba(255, 255, 255, .14);
}

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

/* Sistema delle sezioni. */
.dc-therapy-section {
	padding-block: clamp(3.8rem, 6.2vw, 5.8rem);
}

.dc-therapy-section--paper {
	background: var(--paper);
}

.dc-therapy-section--sage {
	background: var(--sage);
}

.dc-therapy-section--dark {
	background: var(--forest-dark);
	color: var(--ivory);
}

.dc-therapy-split {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(2.6rem, 6.5vw, 6rem);
}

.dc-therapy-heading h2,
.dc-therapy-section-head h2 {
	font-size: clamp(2.15rem, 3.65vw, 3.4rem);
	line-height: 1.11;
}

.dc-therapy-heading h2 {
	max-width: 600px;
}

.dc-therapy-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, .66fr);
	align-items: end;
	gap: clamp(2.3rem, 6vw, 5.7rem);
	margin-bottom: 2.5rem;
}

.dc-therapy-section-head > p,
.dc-therapy-prose p,
.dc-therapy-consultation-copy p,
.dc-therapy-collaboration > p,
.dc-therapy-method-grid p,
.dc-therapy-integration-note p,
.dc-therapy-studio__copy > p {
	color: var(--muted);
	font-size: 1.01rem;
	line-height: 1.8;
}

.dc-therapy-section--sage :is(
	.dc-therapy-section-head > p,
	.dc-therapy-prose p,
	.dc-therapy-consultation-copy p,
	.dc-therapy-collaboration > p,
	.dc-therapy-consultation-grid p
) {
	color: #59645c;
}

.dc-therapy-section--sage .eyebrow,
.dc-therapy-section--sage .dc-therapy-consultation-grid article > span {
	color: #a64627;
}

.dc-therapy-section-head > p,
.dc-therapy-prose > p:first-child,
.dc-therapy-consultation-copy > p:first-child,
.dc-therapy-integration-note > p:first-child,
.dc-therapy-studio__copy > p:first-child {
	margin-top: 0;
}

.dc-therapy-section-head > p,
.dc-therapy-prose > :last-child,
.dc-therapy-consultation-copy > :last-child,
.dc-therapy-integration-note > :last-child,
.dc-therapy-studio__copy > :last-child {
	margin-bottom: 0;
}

.dc-therapy-prose strong,
.dc-therapy-section-head strong {
	color: var(--forest-dark);
	font-weight: 650;
}

.dc-therapy-links-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	border-top: 1px solid var(--line);
	padding-top: 1.3rem;
	margin-top: 2rem;
}

.dc-therapy-links-row a {
	color: var(--forest);
	font-size: .9rem;
	font-weight: 700;
	border-bottom: 1px solid var(--line);
	padding-bottom: .3rem;
}

.dc-therapy-links-row span {
	color: var(--accent);
	margin-left: .5rem;
}

/* Consultazione: tre punti di osservazione, non una checklist. */
.dc-therapy-consultation-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(52, 72, 61, .28);
	border-bottom: 1px solid rgba(52, 72, 61, .28);
}

.dc-therapy-consultation-grid article {
	padding: 1.9rem clamp(1.25rem, 2.8vw, 2.25rem);
}

.dc-therapy-consultation-grid article:first-child {
	padding-left: 0;
}

.dc-therapy-consultation-grid article:last-child {
	padding-right: 0;
}

.dc-therapy-consultation-grid article + article {
	border-left: 1px solid rgba(52, 72, 61, .25);
}

.dc-therapy-consultation-grid article > span,
.dc-therapy-method-grid article > span {
	display: block;
	margin-bottom: 1.2rem;
	color: var(--accent-dark);
	font: 400 1.05rem/1 var(--serif);
}

.dc-therapy-consultation-grid h3,
.dc-therapy-method-grid h3 {
	font-size: clamp(1.42rem, 2vw, 1.78rem);
	line-height: 1.25;
}

.dc-therapy-consultation-grid p {
	margin-bottom: 0;
	color: var(--muted);
	font-size: .94rem;
	line-height: 1.72;
}

.dc-therapy-consultation-copy {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.8rem, 4.5vw, 4rem);
	margin-top: 2.5rem;
}

.dc-therapy-collaboration {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(1.8rem, 5vw, 4.5rem);
	margin-top: 2.6rem;
	background: rgba(255, 252, 247, .7);
	border-top: 2px solid var(--accent);
	padding: clamp(1.6rem, 3.3vw, 2.5rem);
}

.dc-therapy-collaboration h3 {
	max-width: 500px;
	font-size: clamp(1.45rem, 2.1vw, 1.9rem);
	line-height: 1.3;
	margin-bottom: 0;
}

.dc-therapy-collaboration > p {
	margin-bottom: 0;
}

/* Percorso: la direzione condivisa diventa una sequenza leggibile. */
.dc-therapy-section-head--dark h2,
.dc-therapy-section--dark h3 {
	color: var(--ivory);
}

.dc-therapy-section-head--dark > p {
	color: rgba(255, 255, 255, .76);
}

.dc-therapy-path-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, .22);
}

.dc-therapy-path-grid article {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: .75rem;
	padding: 1.8rem clamp(1.2rem, 2.6vw, 2.1rem);
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.dc-therapy-path-grid article:first-child {
	padding-left: 0;
}

.dc-therapy-path-grid article:last-child {
	padding-right: 0;
}

.dc-therapy-path-grid article + article {
	border-left: 1px solid rgba(255, 255, 255, .16);
}

.dc-therapy-path-grid article > span {
	color: #efb79f;
	font-family: var(--serif);
}

.dc-therapy-path-grid h3 {
	font-size: clamp(1.38rem, 1.85vw, 1.68rem);
}

.dc-therapy-path-grid p {
	margin-bottom: 0;
	color: rgba(255, 255, 255, .74);
	font-size: .94rem;
	line-height: 1.74;
}

.dc-therapy-section--dark blockquote {
	max-width: 980px;
	margin: 2.4rem 0 0;
	border-left: 2px solid #efb79f;
	padding: .12rem 0 .12rem 1.35rem;
	color: var(--ivory);
	font: 400 clamp(1.4rem, 2.2vw, 1.92rem)/1.48 var(--serif);
}

/* Integrazione: tre prospettive dentro la stessa cornice. */
.dc-therapy-method-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.dc-therapy-method-grid article {
	display: flex;
	flex-direction: column;
	min-height: 330px;
	background: var(--sage-soft);
	border-top: 2px solid var(--forest);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.dc-therapy-method-grid p {
	color: #59645c;
	font-size: .94rem;
	line-height: 1.72;
}

.dc-therapy-method-grid strong {
	color: var(--forest-dark);
	font-weight: 650;
}

.dc-therapy-method-grid article > a {
	width: fit-content;
	max-width: 100%;
	margin-top: auto;
	border-bottom: 1px solid var(--line);
	padding: .5rem 0 .3rem;
	color: var(--forest);
	font-size: .8rem;
	font-weight: 700;
	line-height: 1.5;
	transition: border-color 150ms ease, color 150ms ease;
}

.dc-therapy-method-grid article > a b {
	display: inline-block;
	margin-left: .35rem;
	color: var(--accent);
	font-weight: 500;
	transition: transform 150ms ease;
}

.dc-therapy-method-grid article > a:is(:focus-visible, :active) {
	border-color: var(--accent);
	color: var(--accent-dark);
}

.dc-therapy-method-grid article > a:is(:focus-visible, :active) b {
	transform: translateX(4px);
}

.dc-therapy-method-grid article > a:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 4px;
}

.dc-therapy-integration-note {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 2rem;
	margin-top: 2.25rem;
	border-top: 1px solid var(--line);
	padding-top: 1.7rem;
}

.dc-therapy-integration-note p {
	max-width: 850px;
}

/* Verifica e conclusione. */
.dc-therapy-section--sage .dc-therapy-prose blockquote {
	margin: 2rem 0 0;
	border-left: 2px solid var(--accent);
	padding: .12rem 0 .12rem 1.3rem;
	color: var(--forest-dark);
	font: 400 clamp(1.35rem, 2vw, 1.78rem)/1.5 var(--serif);
}

/* Presenza: indirizzo concreto e informazioni essenziali, senza duplicare Contatti. */
.dc-therapy-studio {
	background: var(--ivory);
	padding-block: clamp(2.5rem, 3.7vw, 3.5rem);
}

.dc-therapy-studio__grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	align-items: stretch;
}

.dc-therapy-studio__address {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 360px;
	overflow: hidden;
	background: var(--forest-dark);
	border-left: 12px solid var(--accent);
	padding: clamp(2.2rem, 5vw, 4.2rem);
}

.dc-therapy-studio__address::after {
	content: "";
	position: absolute;
	right: -90px;
	bottom: -125px;
	width: 300px;
	height: 300px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 50%;
}

.dc-therapy-studio__address h2 {
	max-width: 520px;
	color: var(--ivory);
	font-size: clamp(2.25rem, 3.8vw, 3.45rem);
	line-height: 1.1;
}

.dc-therapy-studio__address > p:last-child {
	position: relative;
	z-index: 1;
	margin-bottom: 0;
	color: rgba(255, 255, 255, .76);
	font-size: .95rem;
}

.dc-therapy-studio__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: var(--paper);
	padding: clamp(2.2rem, 5vw, 4.2rem);
}

.dc-therapy-studio__copy dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 1.3rem 0 1.8rem;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.dc-therapy-studio__copy dl > div {
	padding: 1rem .9rem;
}

.dc-therapy-studio__copy dl > div:first-child {
	padding-left: 0;
}

.dc-therapy-studio__copy dl > div + div {
	border-left: 1px solid var(--line);
}

.dc-therapy-studio__copy dt {
	margin-bottom: .25rem;
	color: var(--accent-dark);
	font-size: .67rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.dc-therapy-studio__copy dd {
	margin: 0;
	color: var(--forest-dark);
	font: 400 1rem/1.5 var(--serif);
}

/* CTA locale: questa pagina non carica home-v1.css. */
.dc-therapy-final {
	padding: clamp(4rem, 8vw, 6.5rem) max(1.25rem, 7vw);
}

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

.dc-therapy-final .dc-final-cta__actions {
	display: flex;
	min-width: 0;
	align-items: flex-start;
	flex-direction: column;
	gap: 1rem;
	margin-top: 2rem;
	position: relative;
	z-index: 2;
}

.dc-therapy-final .button-light {
	margin: 0;
}

@media (hover: hover) and (pointer: fine), (any-hover: hover) and (any-pointer: fine) {
	.dc-therapy-method-grid article > a:hover {
		border-color: var(--accent);
		color: var(--accent-dark);
	}

	.dc-therapy-method-grid article > a:hover b {
		transform: translateX(4px);
	}
}

@media (max-width: 980px) {
	.dc-therapy-hero__grid,
	.dc-therapy-split,
	.dc-therapy-section-head,
	.dc-therapy-collaboration,
	.dc-therapy-studio__grid {
		grid-template-columns: 1fr;
	}

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

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

	.dc-therapy-hero__media {
		width: 100%;
		max-width: 720px;
		min-height: 0;
		margin-inline: auto;
	}

	.dc-therapy-index nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dc-therapy-index nav a:not(:nth-child(3n + 1)) {
		border-left: 0;
	}

	.dc-therapy-index nav a:nth-child(even) {
		border-left: 1px solid rgba(255, 255, 255, .14);
	}

	.dc-therapy-split,
	.dc-therapy-section-head {
		gap: 1.7rem;
	}

	.dc-therapy-consultation-grid,
	.dc-therapy-path-grid,
	.dc-therapy-method-grid {
		grid-template-columns: 1fr;
	}

	.dc-therapy-consultation-grid article,
	.dc-therapy-consultation-grid article:first-child,
	.dc-therapy-consultation-grid article:last-child,
	.dc-therapy-path-grid article,
	.dc-therapy-path-grid article:first-child,
	.dc-therapy-path-grid article:last-child {
		padding-inline: 0;
	}

	.dc-therapy-consultation-grid article + article,
	.dc-therapy-path-grid article + article {
		border-left: 0;
	}

	.dc-therapy-consultation-grid article + article {
		border-top: 1px solid rgba(52, 72, 61, .2);
	}

	.dc-therapy-method-grid article {
		min-height: 0;
	}

	.dc-therapy-integration-note {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.dc-therapy-studio__address {
		min-height: 300px;
	}
}

@media (min-width: 780px) {
	.dc-therapy-final .dc-final-cta__actions {
		margin-top: 0;
		margin-left: 3rem;
	}
}

@media (min-width: 780px) and (max-width: 1179.98px) {
	.dc-therapy-final .dc-final-cta__actions {
		margin-left: 0;
	}
}

@media (max-width: 700px) {
	.dc-therapy-shell {
		width: calc(100% - 2rem);
	}

	.dc-therapy-hero__copy {
		padding-block: 3.2rem;
	}

	.dc-therapy-hero h1 {
		font-size: clamp(2.35rem, 10.3vw, 3.15rem);
	}

	.dc-therapy-index nav,
	.dc-therapy-consultation-copy,
	.dc-therapy-studio__copy dl {
		grid-template-columns: 1fr;
	}

	.dc-therapy-index nav a:nth-child(even) {
		border-left: 0;
	}

	.dc-therapy-studio__address {
		min-height: 280px;
		border-left-width: 8px;
	}

	.dc-therapy-studio__copy dl > div,
	.dc-therapy-studio__copy dl > div:first-child {
		padding-inline: 0;
	}

	.dc-therapy-studio__copy dl > div + div {
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.dc-therapy-page section[id] {
		scroll-margin-top: 100px;
	}

	body.admin-bar .dc-therapy-page section[id] {
		scroll-margin-top: 146px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dc-therapy-page *,
	.dc-therapy-page *::before,
	.dc-therapy-page *::after {
		scroll-behavior: auto;
		transition-duration: .01ms !important;
	}
}

/* 1.95 — Hero più ampia e strutturale sui desktop larghi. */
@media (min-width: 1180px) {
	.dc-therapy-hero {
		--dc-therapy-hero-gutter: clamp(1.5rem, calc(10vw - 5.875rem), 6.5rem);
		--dc-therapy-hero-rule: clamp(16px, 1.2vw, 24px);
	}

	.dc-therapy-hero .dc-therapy-shell {
		width: min(calc(100% - var(--dc-therapy-hero-gutter)), 2000px);
		max-width: none;
		margin-inline-start: auto;
		margin-inline-end: 0;
	}

	.dc-therapy-hero__grid {
		grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
	}

	.dc-therapy-hero__copy {
		padding-right: clamp(3rem, 4.25vw, 5.25rem);
	}

	.dc-therapy-hero__media {
		justify-self: stretch;
		width: 100%;
	}

	.dc-therapy-hero__media::before {
		width: var(--dc-therapy-hero-rule);
	}

	.dc-therapy-hero__media figcaption {
		padding-left: calc(var(--dc-therapy-hero-rule) + 1rem);
	}
}
