/* Doniec Górecki & Partnerzy manual + editorial presentation. Shared chrome; homepage compositions.
   Keep original content, image assets and JS behaviour. Gold marks interaction. */
:root {
 --dgp-container:1170px;
 --dgp-brand-ink:#27282b;
 --dgp-brand-muted:#525556;
 --dgp-brand-silver:#b7b6b6;
 --dgp-brand-line:#e5e5e5;
 --dgp-brand-paper:#f7f7f7;
 --dgp-brand-accent:#ffd700;
 --dgp-space-section:clamp(64px,7.8vw,112px);
}

/* The same understated navigation and footer on Home, Know-how and legal pages. */
.dgp-primary-menu a { font-family:"Surt Text",Arial,sans-serif; font-size:14px; letter-spacing:.045em; }
/* A blue interaction accent for Argentina, shared by every header variant. */
.dgp-primary-menu a[href*="/plusultra-argentyna"] { --dgp-brand-accent:#2878b8; }
.dgp-primary-menu a:hover,.dgp-primary-menu a:focus-visible,
.dgp-site-header.is-overlay:not(.has-scrolled) .dgp-primary-menu a:hover,
.dgp-site-header.is-overlay:not(.has-scrolled) .dgp-primary-menu a:focus-visible { color:inherit; text-decoration:underline; text-decoration-color:var(--dgp-brand-accent); text-decoration-thickness:2px; text-underline-offset:8px; }
/* Mobile navigation: an editorial-scale menu, with a persistent logo/close row. */
@media (max-width:991px) {
 .dgp-site-header { --dgp-mobile-menu-top:calc(112px + env(safe-area-inset-top,0px)); --dgp-mobile-menu-gutter:clamp(20px,5vw,40px); --dgp-mobile-menu-surface:#e5e5e5; }
 .dgp-site-header.menu-is-open { color:var(--dgp-brand-ink); background:var(--dgp-mobile-menu-surface); }
 .dgp-site-header.menu-is-open .dgp-site-header__inner::before { content:""; position:absolute; inset:0 calc((100% - 100vw)/2) auto; height:var(--dgp-mobile-menu-top); background:var(--dgp-mobile-menu-surface); z-index:3; pointer-events:none; }
 .dgp-site-header.menu-is-open .dgp-site-header__inner { width:calc(100% - 2 * var(--dgp-mobile-menu-gutter)); min-height:var(--dgp-mobile-menu-top); padding-top:env(safe-area-inset-top,0px); box-sizing:border-box; }
 /* Retained dark PNG: 766 × 279, visible bounds x60/y61, 642 × 169.
    Clip transparent padding in CSS so the visible logo follows the text grid. */
 .dgp-site-header.menu-is-open .dgp-brand { display:block; width:clamp(166px,50vw,212px); max-width:calc(100% - 68px); max-height:none; min-height:0; aspect-ratio:642 / 169; overflow:hidden; }
 .dgp-site-header.menu-is-open .dgp-brand img { width:100%; height:auto; max-width:none; max-height:none; }
 .dgp-site-header.menu-is-open .dgp-brand .dgp-logo--dark { position:absolute; width:119.31464%; left:-9.34579%; top:-36.09467%; }
 .dgp-site-header .dgp-menu-panel { height:100dvh; box-sizing:border-box; padding:calc(var(--dgp-mobile-menu-top) + 24px) var(--dgp-mobile-menu-gutter) max(28px,env(safe-area-inset-bottom,0px)); gap:32px; overscroll-behavior-y:contain; background:var(--dgp-mobile-menu-surface); }
 body.admin-bar .dgp-site-header { top:var(--dgp-admin-bar-offset,32px); }
 .admin-bar .dgp-site-header .dgp-menu-panel { padding-top:calc(var(--dgp-mobile-menu-top) + 24px + var(--dgp-admin-bar-offset,46px)); }
 .dgp-site-header .dgp-menu-panel > nav { flex-shrink:0; }
 .dgp-site-header .dgp-primary-menu a { font-family:"Surt Text",Arial,sans-serif; font-weight:400; font-synthesis:none; font-size:clamp(26px,7.2vw,38px); line-height:1.3; letter-spacing:-.025em; text-transform:none; padding:12px 0; min-height:48px; overflow-wrap:break-word; }
 .dgp-site-header .dgp-primary-menu .sub-menu a { font-size:22px; }
 .dgp-site-header .dgp-primary-menu a:focus-visible { outline:2px solid var(--dgp-brand-ink); outline-offset:4px; }
 .dgp-site-header .dgp-header-socials { padding-top:24px; border-top:1px solid var(--dgp-brand-silver); }
 .dgp-site-header .dgp-header-socials a { color:var(--dgp-brand-ink); border-color:var(--dgp-brand-silver); border-radius:0; }
 .dgp-site-header .dgp-header-socials a:is(:hover,:focus-visible) { color:var(--dgp-brand-ink); border-color:var(--dgp-brand-accent); background:transparent; transform:none; }
 .dgp-site-header .dgp-header-socials a:focus-visible { outline:2px solid var(--dgp-brand-ink); outline-offset:4px; }
 .dgp-site-header .dgp-menu-toggle { flex:none; border:0; border-radius:0; box-shadow:none; transition:color 200ms ease; }
 .dgp-site-header .dgp-menu-toggle:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
 .dgp-site-header .dgp-menu-toggle__icon,
 .dgp-site-header .dgp-menu-toggle__icon::before,
 .dgp-site-header .dgp-menu-toggle__icon::after { width:28px; transition:transform 360ms cubic-bezier(.22,1,.36,1),background-color 180ms ease; }
}
@media (max-width:991px) and (prefers-reduced-motion:reduce) {
 .dgp-site-header .dgp-menu-panel,
 .dgp-site-header .dgp-menu-toggle,
 .dgp-site-header .dgp-menu-toggle__icon,
 .dgp-site-header .dgp-menu-toggle__icon::before,
 .dgp-site-header .dgp-menu-toggle__icon::after { transition:none!important; }
}
.dgp-site-footer__heading,.dgp-site-footer__eyebrow { color:#b7b6b6; font-family:"Surt Text",Arial,sans-serif; font-weight:400; letter-spacing:.1em; }
@media (max-width:782px) {
 body.admin-bar .dgp-site-header { top:var(--dgp-admin-bar-offset,46px); }
}
.dgp-site-footer a:hover,.dgp-site-footer a:focus-visible { color:#fff; text-decoration-color:var(--dgp-brand-accent); text-underline-offset:5px; }
.dgp-social-links a:hover,.dgp-social-links a:focus-visible { background:transparent; color:#fff; border-color:var(--dgp-brand-accent); }
.wp-element-button,.wp-block-button__link { font-family:"Surt Text",Arial,sans-serif; font-weight:400; }
.wp-element-button:hover,.wp-block-button__link:hover { background:var(--dgp-brand-ink); color:#fff; border-color:currentColor; box-shadow:inset 0 -3px var(--dgp-brand-accent); }
.wp-block-button.dgp-button { border:0; background:none; }
.dgp-business-services-cta .wp-block-button__link { border-width:1px; }
.dgp-business-services-cta .wp-block-button__link:hover { color:var(--dgp-brand-ink); background:#fff; border-color:#fff; }

/* Reading typography matches Know-how; expressive Surt is reserved for the hero. */
body.home .wp-block-post-content h2,
.dgp-plusultra .dgp-team-profile h2,
.dgp-contact-lead h2 { font-family:"Surt Text",Arial,sans-serif; font-weight:400; letter-spacing:-.025em; line-height:1.2!important; }
body.home .wp-block-post-content :is(h3,h4),
.dgp-featured-partner__name,.dgp-contact-office h3 { font-family:"Surt Text",Arial,sans-serif; font-weight:400; letter-spacing:-.015em; }
body.home .wp-block-post-content :is(p,li),.dgp-page-hero.is-business-home .dgp-page-hero__subtitle { font-family:"Surt Text",Arial,sans-serif; font-weight:400; letter-spacing:0; }
body.home .dgp-page-hero.is-business-home .dgp-page-hero__title { font-weight:400; font-size:clamp(36px,4.2vw,60px); line-height:1.12; letter-spacing:-.025em; max-width:960px; }
.dgp-page-hero.is-business-home .dgp-page-hero__subtitle { max-width:60ch; font-size:clamp(18px,1.4vw,20px); line-height:1.65; }
.dgp-home-eyebrow::before { background:#e5e5e5; height:1px; }
.dgp-page-hero.is-business-home .dgp-page-hero__background { filter:none; }

/* White primary controls remain unmistakable on dark photographic backgrounds. */
.dgp-action--primary,.dgp-contact-actions .wp-block-button__link { background:#fff; color:var(--dgp-brand-ink); border-color:#fff; }
.dgp-action--primary:hover,.dgp-contact-actions .wp-block-button__link:hover { background:#f7f7f7; color:var(--dgp-brand-ink); border-color:#fff; box-shadow:inset 0 -3px var(--dgp-brand-accent); }
.dgp-action--outline:hover,.dgp-contact-actions .is-style-outline .wp-block-button__link:hover { background:#fff; color:var(--dgp-brand-ink); box-shadow:inset 0 -3px var(--dgp-brand-accent); }
.dgp-action:focus-visible,.dgp-contact-focus a:focus-visible { outline:2px solid #fff; outline-offset:5px; box-shadow:inset 0 -3px var(--dgp-brand-accent); }
.dgp-contact-focus a:not(.wp-block-button__link):hover { color:#fff; text-decoration-color:var(--dgp-brand-accent); }
body.home .dgp-button:hover,body.home .wp-block-button__link:hover { box-shadow:inset 0 -3px var(--dgp-brand-accent); }

/* Dark introductions, silver portrait spreads and white reading areas. */
body.home .wp-block-post-content > :is(.dgp-business-services-intro,.dgp-team-intro) { background:var(--dgp-brand-ink); color:#fff; }
body.home .wp-block-post-content > .dgp-featured-partners { background:#e5e5e5; color:var(--dgp-brand-ink); padding-top:clamp(40px,5vw,72px); }
body.home :is(.dgp-business-services-intro,.dgp-team-intro) :is(h2,p) { color:#fff; }
body.home :is(.dgp-business-services-intro,.dgp-team-intro) p { max-width:58ch; font-size:clamp(18px,1.4vw,20px); line-height:1.7; }
.dgp-featured-partners > .dgp-section__inner.is-full { width:min(var(--dgp-container),calc(100% - 2 * var(--dgp-gutter))); }
.dgp-featured-partners__grid { gap:clamp(24px,4vw,56px)!important; background:none; }
.dgp-featured-partners__grid > .dgp-featured-partner { flex:1 1 0!important; width:auto; background:transparent; }
.dgp-featured-partner__caption { position:relative; padding:26px 44px 32px 0; background:none; color:var(--dgp-brand-ink); }
.dgp-featured-partner__name { font-size:clamp(25px,2.2vw,32px); line-height:1.2; }
.dgp-featured-partner__role { color:var(--dgp-brand-muted); font-family:"Surt Text",Arial,sans-serif; font-size:13px; letter-spacing:.025em; line-height:1.6; }
.dgp-featured-partner::after { right:0; bottom:42px; border-color:#b7b6b6; color:var(--dgp-brand-ink); }
.dgp-featured-partner:hover::after,.dgp-featured-partner:focus-within::after { background:transparent; border-color:var(--dgp-brand-accent); }
.dgp-featured-partner:focus-within { box-shadow:none; }
.dgp-featured-partner:focus-within .dgp-featured-partner__name a { outline:2px solid var(--dgp-brand-ink); outline-offset:4px; }

/* Services retain visible scope and a single disclosure level. */
body.home .wp-block-post-content > .dgp-services-grouped { background:#fff; }
.dgp-services-grouped .dgp-services-intro { margin-bottom:56px; max-width:65ch; font-size:18px; line-height:1.7; }
.dgp-service-category { gap:clamp(32px,4.5vw,64px); padding-block:44px; border-color:var(--dgp-brand-line); }
.dgp-service-category__heading h3 { font-family:"Surt Text",Arial,sans-serif; font-weight:400; font-size:clamp(25px,2.1vw,30px); }
.dgp-service-overview { border-color:var(--dgp-brand-line); }
.dgp-services-grouped .dgp-service-overview { padding-block:28px; }
.dgp-services-grouped .dgp-service-overview__details > summary { top:28px; }
.dgp-service-overview__summary { color:var(--dgp-brand-muted); }
.dgp-service-overview__details > summary:focus-visible { background:transparent; outline:2px solid var(--dgp-brand-ink); }
.dgp-service-overview__details > summary:hover { text-decoration-color:var(--dgp-brand-accent); text-decoration-thickness:2px; }
.dgp-service-overview__details > p { border-left-color:var(--dgp-brand-line); line-height:1.7; }

/* A small active edge replaces the full yellow tab. */
.dgp-experience { background:#e5e5e5; }
.dgp-experience :is(.dgp-experience__metrics,.dgp-experience__metric,.dgp-experience-programmes,.dgp-experience-sources) { border-color:#b7b6b6; }
.dgp-experience .dgp-experience__eyebrow::before { background:var(--dgp-brand-ink); height:1px; }
.dgp-experience .dgp-experience__number { font-family:"Surt Text",Arial,sans-serif; letter-spacing:-.045em; }
.dgp-experience .dgp-experience__portfolio { padding:40px; }
.dgp-experience-tab[aria-selected="true"] { background:var(--dgp-brand-muted); color:#fff; border-color:var(--dgp-brand-silver); box-shadow:inset 3px 0 var(--dgp-brand-accent); }
.dgp-experience-tab[aria-selected="true"] .dgp-experience-tab__number { color:#e5e5e5; }
.dgp-experience-tab:hover .dgp-experience-tab__number { color:#fff; }
.dgp-experience .dgp-experience-case__title { font-family:"Surt Text",Arial,sans-serif; line-height:1.25; }
.dgp-experience .dgp-experience-case__result { border-left:1px solid #b7b6b6; }
.dgp-experience-controls button:hover { background:#fff; color:var(--dgp-brand-ink); border-color:var(--dgp-brand-accent); }
.dgp-experience-case[open] > summary { color:#fff; text-decoration:underline; text-decoration-color:var(--dgp-brand-accent); text-underline-offset:6px; }
.dgp-experience-sources > summary:hover { color:var(--dgp-brand-ink); text-decoration:underline; text-decoration-color:var(--dgp-brand-accent); text-underline-offset:5px; }

/* All three city spreads share the same graphite background and white text. */
body.home .wp-block-post-content > .dgp-city { background:var(--dgp-brand-ink); color:#fff; }
body.home .wp-block-post-content > .dgp-city :is(h2,p,a) { color:inherit; }
body.home .dgp-city .dgp-column.dgp-bg-dark { background:transparent; }
body.home .wp-block-post-content > .dgp-city p { font-size:clamp(18px,1.4vw,20px); line-height:1.7; }
:is(body.home,.dgp-plusultra) .dgp-team-grid { padding-inline:0; column-gap:32px; row-gap:60px; }
body.home .wp-block-post-content > .dgp-team-section { background:#fff; }
:is(body.home,.dgp-plusultra) .dgp-team-card__summary { width:100%; max-width:250px; margin-inline:auto; text-align:left; padding-top:24px; }
:is(body.home,.dgp-plusultra) .dgp-team-card__name { color:var(--dgp-brand-ink); font-size:clamp(21px,1.6vw,24px); line-height:1.25; letter-spacing:-.015em; }
:is(body.home,.dgp-plusultra) .dgp-team-card__position { color:var(--dgp-brand-muted); font-size:14px; font-weight:400; line-height:1.55; }
body.home .wp-block-post-content > .dgp-billing-section { background:#e5e5e5; }
/* The billing introduction is prose, not a third-level heading. */
.dgp-billing-section p.dgp-billing-intro { max-width:700px; margin:32px 0 40px; font-family:"Surt Text",Arial,sans-serif; font-size:clamp(18px,1.4vw,20px); font-weight:400; line-height:1.65; letter-spacing:normal; }
/* Medium silver is reserved for this short trust-building interlude. */
body.home .wp-block-post-content > .dgp-home-testimonials { background:var(--dgp-brand-silver); color:var(--dgp-brand-ink); }
.dgp-home-testimonials :is(.dgp-testimonial__title,blockquote,figcaption,a) { color:var(--dgp-brand-ink); }
.dgp-home-testimonials .dgp-testimonials__control { color:var(--dgp-brand-ink); }
.dgp-home-testimonials .dgp-testimonials__control:hover { color:var(--dgp-brand-ink); background:#e5e5e5; }
.dgp-home-testimonials .dgp-testimonials__control:focus-visible { color:var(--dgp-brand-ink); outline:2px solid currentColor; outline-offset:2px; }
.dgp-home-testimonials .dgp-testimonial__content::before,
.dgp-home-testimonials .dgp-testimonial__content::after { background:var(--dgp-brand-muted); }
/* Active tabs remain readable and use a dark line, not a faint grey label. */
.dgp-tabs__tab:is(:hover,:focus-visible,.is-active) { color:var(--dgp-brand-ink); }
.dgp-tabs__tab:focus-visible { outline:2px solid var(--dgp-brand-ink); outline-offset:4px; }
.dgp-tabs__tab.is-active::after { background:var(--dgp-brand-ink); }
body.home .dgp-contact-focus .dgp-section__background { filter:none; }
/* Contact: the same section heading scale and reading rhythm as the home page. */
@media(min-width:768px) {
 .dgp-contact-focus .dgp-contact-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.dgp-contact-layout > .dgp-contact-lead,.dgp-contact-layout > .dgp-contact-office { padding-block:clamp(56px,6vw,88px); }
.dgp-contact-focus .dgp-contact-lead h2 { font-size:clamp(32px,2.8vw,40px); margin-bottom:24px; }
.dgp-contact-focus .dgp-contact-office h3 { font-size:clamp(24px,2vw,28px); line-height:1.3; margin-bottom:28px; }
.dgp-contact-focus .dgp-contact-lead > p,
.dgp-contact-focus .dgp-contact-office > p { font-size:18px; line-height:1.65; max-width:44ch; }
.dgp-contact-focus .dgp-contact-office > p { margin-bottom:24px; }
.dgp-contact-focus .dgp-contact-office .dgp-contact-address { font-size:18px; line-height:1.65; margin-bottom:28px; }
.dgp-contact-focus .dgp-contact-channels { display:grid; gap:0; margin:0 0 28px; }
.dgp-contact-focus .dgp-contact-channel { display:grid; grid-template-columns:1.5em minmax(0,1fr); align-items:baseline; gap:12px; margin:0; font-size:18px; line-height:1.65; }
.dgp-contact-channel__label { white-space:nowrap; }
.dgp-contact-focus .dgp-contact-channel a { justify-self:start; min-height:32px; display:inline-flex; align-items:center; max-width:100%; overflow-wrap:anywhere; }
.dgp-contact-focus .dgp-contact-office a { text-decoration:none; text-decoration-thickness:2px; text-underline-offset:.2em; }
.dgp-contact-focus .dgp-contact-office a:is(:hover,:focus-visible) { color:#fff; text-decoration-line:underline; text-decoration-color:var(--dgp-brand-accent); box-shadow:none; }
/* Compact rows on desktop; keep comfortable touch targets without extra gaps. */
@media (pointer:coarse) {
 .dgp-contact-focus .dgp-contact-channel a { min-height:44px; }
}
.dgp-contact-focus .dgp-contact-office > p:last-child { margin-bottom:0; }
.dgp-contact-focus .dgp-contact-actions { margin:32px 0 24px; }
@media(max-width:767px) {
 .dgp-contact-focus .dgp-contact-lead > p,
 .dgp-contact-focus .dgp-contact-office > p { font-size:17px; }
 .dgp-contact-focus .dgp-contact-channel { font-size:17px; }
}
.dgp-section__link-overlay:hover .dgp-section__link-prompt,
.dgp-section__link-overlay:focus-visible .dgp-section__link-prompt { background:var(--dgp-brand-ink); color:#fff; box-shadow:inset 0 -3px var(--dgp-brand-accent); }

@media(max-width:1100px) { .dgp-experience .dgp-experience__portfolio { padding:28px; } }
@media(max-width:767px) {
 .dgp-featured-partners__grid { gap:32px!important; }
 .dgp-featured-partners__grid > .dgp-featured-partner { flex-basis:auto!important; width:100%; }
 .dgp-featured-partner__caption { padding-block:24px; }
 .dgp-featured-partner::after { bottom:34px; }
 .dgp-services-grouped .dgp-services-intro { font-size:17px; margin-bottom:36px; }
 .dgp-service-category { gap:28px; padding-block:36px; }
 :is(body.home,.dgp-plusultra) .dgp-team-grid { gap:40px 24px; }
 .dgp-contact-layout > .dgp-contact-lead,.dgp-contact-layout > .dgp-contact-office { padding-block:56px; }
}
@media(max-width:480px) { .dgp-experience .dgp-experience__portfolio { padding:28px 20px; } }

/* Progressive entrances: visible without JS and static with reduced motion. */
@media(prefers-reduced-motion:no-preference) {
 .dgp-motion-ready .dgp-editorial-reveal {
  opacity:0; transform:translateY(36px);
  transition:opacity 750ms ease var(--dgp-reveal-delay,0ms),transform 850ms cubic-bezier(.2,.7,.2,1) var(--dgp-reveal-delay,0ms);
 }
 .dgp-motion-ready .dgp-editorial-reveal.is-visible,
 .dgp-motion-ready .dgp-editorial-reveal:focus-within { opacity:1; transform:none; }
 .dgp-service-overview__icon img { transition:transform 280ms ease; }
 .dgp-service-overview:hover .dgp-service-overview__icon img { transform:translateY(-3px); }
}
.dgp-service-overview:has(summary:hover) .dgp-service-overview__title { text-decoration:underline; text-decoration-color:var(--dgp-brand-accent); text-decoration-thickness:2px; text-underline-offset:5px; }
@media(prefers-reduced-motion:reduce) {
 .dgp-editorial-reveal { opacity:1!important; transform:none!important; transition:none!important; }
}
