/* Homepage editorial hierarchy. Scoped classes also support the block editor. */
.dgp-page-hero.is-business-home .dgp-page-hero__overlay {
	background: linear-gradient(90deg, rgba(18,23,25,.68), rgba(18,23,25,.44) 62%, rgba(18,23,25,.20));
	opacity: 1;
}
.dgp-page-hero.is-business-home .dgp-page-hero__content { top: 0; padding-block: 24px; }
body.page-id-13554 .dgp-page-hero.is-business-home .dgp-page-hero__title { max-width: 920px; white-space: pre-line; font-size: clamp(36px, 4.2vw, 64px); line-height: 1.09; }
.dgp-home-eyebrow { margin: 0 0 24px; color: #fff; font: 400 12px/1.5 "Surt Text", sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.dgp-home-eyebrow::before { content: ''; display: inline-block; width: 28px; height: 3px; margin-right: 12px; vertical-align: middle; background: #ffda00; }
.dgp-page-hero.is-business-home .dgp-page-hero__subtitle { max-width: 57ch; margin-top: 24px; font-size: clamp(18px, 1.45vw, 21px); line-height: 1.6; font-weight: 400; }
.dgp-home-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
.dgp-page-hero__actions { margin-top: 36px; }
.dgp-action, .dgp-contact-actions .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: space-between; gap: 24px;
	min-height: 56px; border: 1px solid transparent; border-radius: 0; padding: 16px 24px;
	font: 400 16px/1.4 "Surt Text", sans-serif; text-decoration: none; box-sizing: border-box;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.dgp-action--primary, .dgp-contact-actions .wp-block-button__link { color: #27282b; background: #ffda00; }
.dgp-action--outline, .dgp-contact-actions .is-style-outline .wp-block-button__link { color: #fff; background: transparent; border: 1px solid #fff; }
.dgp-action--primary:hover, .dgp-contact-actions .wp-block-button__link:hover { background: #ffe651; color: #27282b; }
.dgp-action--outline:hover, .dgp-contact-actions .is-style-outline .wp-block-button__link:hover { background: #fff; color: #27282b; }
.dgp-action:focus-visible, .dgp-contact-focus a:focus-visible { outline: 3px solid #ffda00; outline-offset: 5px; }
.dgp-action--primary:focus-visible, .dgp-contact-actions .wp-block-button__link:focus-visible { outline-color: #fff; }

/* Categories remain visible; the only disclosure is the existing service detail. */
.dgp-services-grouped .dgp-services-intro { margin-bottom: 48px; }
.dgp-service-category { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 2fr); gap: 48px; margin: 0; padding: 40px 0; border-top: 1px solid #bcbdbf; }
.dgp-service-category:last-child { padding-bottom: 0; }
.dgp-service-category > .dgp-service-category__heading { margin: 0; align-self: start; }
.dgp-service-category__index { margin: 0 0 12px; font: 400 13px/1.4 "Surt Text", sans-serif; color: #525556; }
.dgp-service-category__heading h3 { margin: 0; max-width: 15ch; font-family: "Surt Display", sans-serif; font-size: clamp(24px, 2vw, 30px); line-height: 1.2; font-weight: 500; }
.dgp-service-category > .dgp-service-category__items { min-width: 0; margin: 0; }
.dgp-services-grouped .dgp-service-overview { grid-template-columns: 48px minmax(0,1fr); gap: 24px; padding-block: 24px; }
.dgp-services-grouped .dgp-service-overview:first-child { border-top: 0; padding-top: 0; }
.dgp-services-grouped .dgp-service-overview:last-child { border-bottom: 0; padding-bottom: 0; }
.dgp-services-grouped .dgp-service-overview__icon, .dgp-services-grouped .dgp-service-overview__icon img { width: 48px; height: 48px; }
.dgp-services-grouped .dgp-service-overview__title { font-size: 21px; margin-right: 155px; }
.dgp-services-grouped .dgp-service-overview__summary { margin-right: 155px; }
.dgp-services-grouped .dgp-service-overview__details > summary { top: 24px; }
.dgp-services-grouped .dgp-service-overview:first-child .dgp-service-overview__details > summary { top: 0; }

/* Two primary facts; programme evidence sits on a separate, quieter tier. */
.dgp-experience .dgp-experience__metrics--primary { grid-template-columns: repeat(2, minmax(0,1fr)); margin-bottom: 0; }
.dgp-experience__metrics--primary .dgp-experience__number { font-size: clamp(54px, 6vw, 84px); }
.dgp-experience__metrics--primary .dgp-experience__metric { padding: 32px; }
.dgp-experience__metrics--primary .dgp-experience__metric-label { min-height: 0; font-size: 20px; }
.dgp-experience .dgp-experience-programmes { display: grid; grid-template-columns: minmax(180px,.8fr) 1fr 1fr; gap: 36px; align-items: start; padding-block: 32px; margin: 0 0 40px; border-bottom: 1px solid #d8d8d8; }
.dgp-experience-programmes .dgp-experience-programmes__heading { margin: 0; font: 500 20px/1.35 "Surt Text", sans-serif; }
.dgp-experience-programmes .dgp-experience__metric { padding: 0; border: 0; margin: 0; }
.dgp-experience-programmes .dgp-experience__metric::after { display: none; }
.dgp-experience-programmes .dgp-experience__number { font-size: 36px; margin-bottom: 12px; }
.dgp-experience-programmes .dgp-experience__metric-label { min-height: 0; }
.dgp-experience .dgp-experience-programmes__note { grid-column: 1/-1; margin: -8px 0 0; max-width: 85ch; font-size: 14px; color: #525556; }

/* New contact uses native Groups, avoiding the old spacer-column geometry. */
body.page-id-13554 #kontaktt.dgp-contact-focus { display: block; min-height: 0; padding: 0; color: #fff; }
#kontaktt.dgp-contact-focus > .dgp-section__overlay { background: rgba(0,0,0,.46); opacity: 1; }
@media (min-width: 768px) {
	#kontaktt.dgp-contact-focus > .dgp-section__overlay { background: linear-gradient(to right, rgba(0,0,0,.46) 0 50%, #27282b 50% 100%); }
}
.dgp-contact-focus .dgp-contact-layout { display: grid; grid-template-columns: 1.05fr 1fr; max-width: 1280px; margin: 0 auto; }
.dgp-contact-layout > .dgp-contact-lead, .dgp-contact-layout > .dgp-contact-office { margin: 0; padding: clamp(48px,6vw,88px) clamp(24px,4.5vw,64px); min-width: 0; }
.dgp-contact-layout > .dgp-contact-office { background: #27282b; }
.dgp-contact-lead h2 { max-width: 16ch; margin: 0 0 28px; color: #fff; font: 700 clamp(32px,3.2vw,46px)/1.12 "Surt Display",sans-serif; letter-spacing: -.02em; }
.dgp-contact-focus p { color: #ffffff; font: 400 17px/1.65 "Surt Text",sans-serif; }
.dgp-contact-lead > p { max-width: 43ch; margin: 0 0 28px; }
.dgp-contact-focus .dgp-contact-actions { gap: 16px; margin: 32px 0 28px; }
.dgp-contact-focus a:not(.wp-block-button__link) { color: #fff; text-underline-offset: .2em; }
.dgp-contact-focus a:not(.wp-block-button__link):hover { color: #ffda00; }
.dgp-contact-focus .dgp-contact-direct { font-size: 16px; margin: 0; overflow-wrap: anywhere; }
.dgp-contact-office h3 { margin: 0 0 24px; color: #fff; font: 500 26px/1.25 "Surt Display",sans-serif; }
.dgp-contact-office > p { margin: 0 0 24px; }
.dgp-contact-office .dgp-contact-address { font-size: 21px; line-height: 1.5; }
.dgp-contact-office > p:last-child { margin-bottom: 0; font-size: 15px; color: #e5e5e5; }
.dgp-site-footer__registry { max-width: var(--dgp-container,1140px); margin: 0 auto; padding: 24px 0 0; color: #b7b6b6; font: 400 13px/1.6 "Surt Text",sans-serif; }

@media (max-width: 1100px) {
	.dgp-service-category { grid-template-columns: minmax(160px,.7fr) minmax(0,2fr); gap: 32px; }
	.dgp-services-grouped .dgp-service-overview__title, .dgp-services-grouped .dgp-service-overview__summary { margin-right: 0; }
	.dgp-services-grouped .dgp-service-overview__details > summary { position: static; justify-content: space-between; margin-top: 8px; padding-left: 0; }
}
@media (max-width: 767px) {
	.dgp-page-hero.is-business-home { padding-top: 116px; padding-bottom: 96px; }
	.dgp-page-hero.is-business-home .dgp-page-hero__content { padding: 0; }
	.dgp-page-hero.is-business-home .dgp-page-hero__overlay { background: rgba(18,23,25,.62); }
	.dgp-home-eyebrow { margin-bottom: 20px; font-size: 11px; }
	.dgp-page-hero__actions { gap: 12px; margin-top: 28px; }
	.dgp-page-hero__actions .dgp-action { width: 100%; }
	.dgp-service-category { grid-template-columns: 1fr; gap: 28px; padding-block: 32px; }
	.dgp-service-category__heading h3 { max-width: none; font-size: 26px; }
	.dgp-services-grouped .dgp-service-overview { grid-template-columns: 40px minmax(0,1fr); gap: 16px; }
	.dgp-services-grouped .dgp-service-overview__icon, .dgp-services-grouped .dgp-service-overview__icon img { width: 40px; height: 40px; }
	.dgp-experience__metrics--primary .dgp-experience__metric { padding: 24px 16px; }
	.dgp-experience__metrics--primary .dgp-experience__metric-label { font-size: 17px; }
	.dgp-experience .dgp-experience-programmes { grid-template-columns: 1fr 1fr; gap: 24px; }
	.dgp-experience-programmes .dgp-experience-programmes__heading { grid-column: 1/-1; }
	.dgp-contact-focus .dgp-contact-layout { grid-template-columns: 1fr; }
	.dgp-contact-layout > .dgp-contact-lead, .dgp-contact-layout > .dgp-contact-office { padding: 48px var(--dgp-gutter,24px); }
	.dgp-contact-office h3 { font-size: 24px; }
}
@media (max-width: 380px) {
	.dgp-action { padding-inline: 18px; gap: 12px; font-size: 15px; }
	.dgp-experience .dgp-experience__metrics--primary { grid-template-columns: 1fr; }
	.dgp-experience__metrics--primary .dgp-experience__metric { border-right: 0; padding-inline: 0; }
	.dgp-experience__metrics--primary .dgp-experience__metric + .dgp-experience__metric { border-top: 1px solid #d8d8d8; }
	.dgp-experience .dgp-experience-programmes { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .dgp-action, .dgp-contact-actions .wp-block-button__link { transition: none; } }
