/* DPG Gutenberg theme — native blocks first, custom CSS only for the visual system/effects. */
:root {
  --dpg-gutter: var(--wp--preset--spacing--gutter);
  --dpg-rule-night: oklch(96% 0.01 250 / .18);
  --dpg-glass-paper: oklch(98% 0.005 250 / .82);
  --dpg-glass-stroke: oklch(21% 0.035 258 / .1);
  --dpg-radius-sm: .4rem;
  --dpg-ease-out: cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body:not(.wp-admin){background:var(--wp--preset--color--paper)}
::selection{background:var(--wp--preset--color--orange);color:var(--wp--preset--color--night)}
:focus-visible{outline:2px solid var(--wp--preset--color--orange);outline-offset:3px}

.smallcaps,.dpg-smallcaps{font-size:var(--wp--preset--font-size--xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.dpg-muted{color:var(--wp--preset--color--muted)}
.dpg-section{padding-left:var(--dpg-gutter)!important;padding-right:var(--dpg-gutter)!important}
.dpg-section>.wp-block-group__inner-container{width:100%}

/* Header / Navigation ----------------------------------------------------- */
.dpg-site-header{
  position:fixed;z-index:1000;top:0;left:0;right:0;
  padding:.95rem var(--dpg-gutter)!important;color:var(--wp--preset--color--night-ink);
  transition:background-color .3s var(--dpg-ease-out),color .3s var(--dpg-ease-out),border-color .3s var(--dpg-ease-out),backdrop-filter .3s var(--dpg-ease-out);
  border-bottom:1px solid transparent;
}
.dpg-site-header.is-solid,.single .dpg-site-header,.archive .dpg-site-header,.blog .dpg-site-header,.page:not(.home) .dpg-site-header{
  color:var(--wp--preset--color--ink);background:var(--dpg-glass-paper);border-color:var(--dpg-glass-stroke);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.dpg-site-header .wp-block-group{min-width:0}
.dpg-brand{position:relative;width:10.6rem;min-width:10.6rem}
.dpg-brand .wp-block-image{margin:0}
.dpg-brand img{display:block;width:auto;height:2.35rem}
.dpg-logo-positive{display:none}
.dpg-site-header.is-solid .dpg-logo-positive,.single .dpg-logo-positive,.archive .dpg-logo-positive,.blog .dpg-logo-positive,.page:not(.home) .dpg-logo-positive{display:block}
.dpg-site-header.is-solid .dpg-logo-reverse,.single .dpg-logo-reverse,.archive .dpg-logo-reverse,.blog .dpg-logo-reverse,.page:not(.home) .dpg-logo-reverse{display:none}
.dpg-site-header .wp-block-navigation{font-size:.875rem;font-weight:600}
.dpg-site-header .wp-block-navigation-item__content{color:inherit;padding:.35rem .1rem;position:relative}
.dpg-site-header .wp-block-navigation-item__content::after{content:"";position:absolute;left:.1rem;right:.1rem;bottom:.05rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--dpg-ease-out)}
.dpg-site-header .wp-block-navigation-item__content:hover::after{transform:scaleX(1)}
.dpg-nav-cta .wp-block-button__link{color:inherit;border-color:currentColor;background:transparent}
.dpg-nav-cta .wp-block-button__link:hover{background:currentColor;color:var(--wp--preset--color--night)}
.dpg-site-header.is-solid .dpg-nav-cta .wp-block-button__link:hover{color:var(--wp--preset--color--paper)}
.dpg-site-header .wp-block-navigation__responsive-container-open,.dpg-site-header .wp-block-navigation__responsive-container-close{color:inherit}
.dpg-site-header .wp-block-navigation__responsive-container.is-menu-open{padding:1.5rem;background:var(--wp--preset--color--paper);color:var(--wp--preset--color--ink)}
.dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:5rem}
.dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start!important;gap:0!important}
.dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-family:var(--wp--preset--font-family--display);font-size:clamp(2rem,8vw,4rem);font-weight:400;line-height:1.05;padding:.45rem 0}

/* Hero -------------------------------------------------------------------- */
.dpg-hero{position:relative;isolation:isolate;min-height:clamp(34rem,92dvh,64rem);display:flex;align-items:flex-end;overflow:clip;background:var(--wp--preset--color--night) url('../video/hero-poster.jpg') center/cover no-repeat;color:var(--wp--preset--color--night-ink);padding:calc(4.25rem + var(--wp--preset--spacing--lg)) var(--dpg-gutter) var(--wp--preset--spacing--2xl)!important}
.dpg-hero .wp-block-cover__video-background{object-fit:cover;z-index:-2}
.dpg-hero::before{background:linear-gradient(180deg,oklch(15% .035 258 / .22) 0%,oklch(15% .035 258 / .08) 45%,oklch(15% .035 258 / .68) 100%)!important;z-index:-1}
.dpg-hero>.wp-block-cover__inner-container{width:100%;max-width:none!important}
.dpg-hero-main{align-items:end!important;gap:var(--wp--preset--spacing--3xl)!important;padding-top:var(--wp--preset--spacing--3xl)}
.dpg-hero-title{font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--display)!important;line-height:.97!important;letter-spacing:-.024em;max-width:12ch;text-wrap:balance;color:inherit!important}
.dpg-hero-lede{font-size:var(--wp--preset--font-size--md);line-height:1.45;max-width:38ch;color:var(--wp--preset--color--night-muted);padding-bottom:var(--wp--preset--spacing--xs)}
.dpg-hero-foot{margin-top:var(--wp--preset--spacing--2xl)!important;padding-top:var(--wp--preset--spacing--md);border-top:1px solid var(--dpg-rule-night);color:var(--wp--preset--color--night-muted)}
.dpg-hero-scroll{color:inherit!important;font-size:var(--wp--preset--font-size--xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.dpg-hero-scroll:hover{color:var(--wp--preset--color--white)!important}

/* Section heads ----------------------------------------------------------- */
.dpg-section-head{padding-top:0;padding-bottom:var(--wp--preset--spacing--xl);border-top:0;border-bottom:1px solid var(--wp--preset--color--rule);align-items:end!important;gap:var(--wp--preset--spacing--3xl)!important}
.dpg-section-title{font-size:var(--wp--preset--font-size--display-sm)!important;line-height:1.02!important;letter-spacing:-.022em;max-width:18ch;text-wrap:balance}
.dpg-section-intro{font-size:var(--wp--preset--font-size--md);line-height:1.5;max-width:46ch;color:var(--wp--preset--color--ink-2)}

/* Clients ----------------------------------------------------------------- */
.dpg-clients{padding-top:var(--wp--preset--spacing--2xl)!important;padding-bottom:var(--wp--preset--spacing--2xl)!important;border-bottom:1px solid var(--wp--preset--color--rule);overflow:clip}
.dpg-clients-head{padding-bottom:var(--wp--preset--spacing--lg);border-bottom:0}
.dpg-client-marquee{display:flex!important;width:calc(100% + 2 * var(--dpg-gutter))!important;max-width:none!important;overflow:hidden;gap:var(--wp--preset--spacing--2xl)!important;margin:0 calc(-1 * var(--dpg-gutter))!important;padding:0!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.dpg-client-marquee:hover{animation-play-state:paused}
.dpg-client-track{display:flex!important;align-items:center;flex:0 0 auto;flex-wrap:nowrap!important;width:max-content!important;gap:var(--wp--preset--spacing--2xl)!important;padding-left:var(--wp--preset--spacing--2xl)!important;animation:dpg-marquee 48s linear infinite}
.dpg-client-card{display:grid;place-items:center;min-width:13rem;height:5rem;padding:0 var(--wp--preset--spacing--lg)!important;border:1px solid var(--wp--preset--color--rule);border-radius:4px;background:var(--wp--preset--color--paper-2);color:var(--wp--preset--color--muted);text-align:center}
.dpg-client-card p{margin:0}
@keyframes dpg-marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.dpg-liquid-rule{height:3px!important;border:0!important;max-width:none!important;margin:0!important;background:linear-gradient(90deg,transparent,var(--wp--preset--color--blue),var(--wp--preset--color--green),var(--wp--preset--color--orange),transparent);background-size:220% 100%;animation:dpg-flow 12s linear infinite}
@keyframes dpg-flow{to{background-position:-220% 0}}

/* Directors --------------------------------------------------------------- */
.dpg-directors{padding-top:var(--wp--preset--spacing--3xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
.dpg-director-grid{gap:var(--wp--preset--spacing--lg)!important;margin-top:var(--wp--preset--spacing--2xl)!important}
.dpg-director-card{min-width:0}
.dpg-director-figure{position:relative;aspect-ratio:3/4;min-height:0;overflow:hidden;border-radius:var(--dpg-radius-sm);background:linear-gradient(145deg,var(--wp--preset--color--paper-2),var(--wp--preset--color--paper-3));isolation:isolate}
.dpg-director-placeholder{position:absolute;inset:0;display:grid!important;place-items:center;padding:2rem!important;background:linear-gradient(145deg,oklch(90% .01 250),oklch(83% .018 250));color:var(--wp--preset--color--muted);text-align:center;transition:transform 1.2s var(--dpg-ease-out)}
.dpg-director-figure:hover .dpg-director-placeholder{transform:scale(1.025)}
.dpg-track-record{position:absolute!important;z-index:2;inset:0;margin:0!important;padding:0!important;border:0!important;color:var(--wp--preset--color--night-ink);pointer-events:none}
.dpg-track-record summary{position:absolute;right:1rem;bottom:1rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;overflow:hidden;border:1px solid var(--dpg-rule-night);border-radius:50%;background:oklch(15% .035 258 / .45);backdrop-filter:blur(9px);font-size:0;color:transparent;cursor:pointer;pointer-events:auto}
.dpg-track-record summary::after{content:"+";font-family:var(--wp--preset--font-family--body);font-size:1.25rem;color:var(--wp--preset--color--night-ink);font-weight:300}
.dpg-track-record[open] summary::after{content:"–"}
.dpg-track-record>ul{position:absolute;inset:0;margin:0!important;padding:clamp(1.25rem,3vw,2rem)!important;display:grid;align-content:end;gap:.75rem;list-style:none;background:linear-gradient(180deg,oklch(15% .035 258 / .06),oklch(15% .035 258 / .9) 48%);transform:translateY(102%);transition:transform .45s var(--dpg-ease-out);pointer-events:none}
.dpg-track-record>ul li{padding-top:.75rem;border-top:1px solid var(--dpg-rule-night);font-size:.875rem;line-height:1.45}
.dpg-track-record[open]>ul{transform:none}
.dpg-director-name{font-size:var(--wp--preset--font-size--xl)!important;letter-spacing:-.015em;margin-top:var(--wp--preset--spacing--lg)!important}
.dpg-director-role{margin-top:.2rem!important;color:var(--wp--preset--color--orange-deep);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.dpg-director-bio{margin-top:var(--wp--preset--spacing--md)!important;color:var(--wp--preset--color--ink-2);font-size:.95rem;line-height:1.6}

/* Testimonial ------------------------------------------------------------- */
.dpg-testimonial{min-height:clamp(34rem,72vh,52rem);display:flex;align-items:center;justify-content:center;background:var(--wp--preset--color--night) url('../video/field-poster.jpg') center/cover no-repeat;color:var(--wp--preset--color--night-ink);padding:var(--wp--preset--spacing--3xl) var(--dpg-gutter)!important}
.dpg-testimonial::before{background:linear-gradient(180deg,oklch(15% .035 258 / .25),oklch(15% .035 258 / .48))!important}
.dpg-testimonial-inner{max-width:70rem!important;text-align:center}
.dpg-testimonial .wp-block-quote{margin:0;border:0;padding:0}
.dpg-testimonial .wp-block-quote p{font-family:var(--wp--preset--font-family--display);font-size:clamp(2rem,4vw,4.2rem);font-weight:400;line-height:1.04;letter-spacing:-.025em;text-wrap:balance;color:inherit}
.dpg-testimonial-cite{margin-top:var(--wp--preset--spacing--xl)!important;gap:.2rem!important}
.dpg-testimonial-name{font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--md)}

/* Place ------------------------------------------------------------------- */
.dpg-place{padding-top:var(--wp--preset--spacing--4xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
.dpg-place-grid{gap:var(--wp--preset--spacing--lg)!important;margin-top:var(--wp--preset--spacing--2xl)!important}
.dpg-place-cover{aspect-ratio:3/2;min-height:0;border-radius:var(--dpg-radius-sm);overflow:hidden;align-items:flex-end!important;padding:var(--wp--preset--spacing--md)!important}
.dpg-place-cover .wp-block-cover__image-background{transition:transform 1.5s var(--dpg-ease-out)}
.dpg-place-cover:hover .wp-block-cover__image-background{transform:scale(1.025)}
.dpg-place-cover::before{background:linear-gradient(180deg,transparent 52%,oklch(15% .035 258 / .7))!important}
.dpg-place-caption{position:relative;z-index:2;margin:0!important;color:var(--wp--preset--color--night-muted);font-size:var(--wp--preset--font-size--xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.dpg-place-tall{aspect-ratio:3/4;min-height:0}
.dpg-place-facts{height:100%;display:flex!important;flex-direction:column;justify-content:flex-end}
.dpg-place-fact{padding:var(--wp--preset--spacing--md) 0!important;border-top:1px solid var(--wp--preset--color--rule)}
.dpg-place-fact:last-child{border-bottom:1px solid var(--wp--preset--color--rule)}
.dpg-place-fact .dpg-smallcaps{color:var(--wp--preset--color--muted)}
.dpg-place-fact-value{margin-top:.25rem!important;font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--md);line-height:1.3}

/* Insights / Query Loop --------------------------------------------------- */
.dpg-insights{padding-top:var(--wp--preset--spacing--4xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important;background:var(--wp--preset--color--paper-2)}
.dpg-latest-query,.dpg-more-query{max-width:78rem!important;margin-left:auto!important;margin-right:auto!important}
.dpg-latest-post{padding-top:var(--wp--preset--spacing--xl);border-top:1px solid var(--wp--preset--color--rule)}
.dpg-post-meta{gap:.7rem!important;color:var(--wp--preset--color--muted);font-size:var(--wp--preset--font-size--xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.dpg-post-meta a{color:inherit}
.dpg-post-title{font-size:clamp(2.4rem,5vw,5.5rem)!important;line-height:.98!important;letter-spacing:-.03em;max-width:16ch}
.dpg-post-standfirst{font-size:var(--wp--preset--font-size--lg);line-height:1.4;max-width:46rem;color:var(--wp--preset--color--ink-2)}
.dpg-article-layout{margin-top:var(--wp--preset--spacing--2xl)!important;gap:var(--wp--preset--spacing--3xl)!important;align-items:start!important}
.dpg-article-aside{font-size:var(--wp--preset--font-size--sm);color:var(--wp--preset--color--ink-2)}
.dpg-article-aside .wp-block-post-author{align-items:center}
.dpg-article-content{max-width:52rem!important}
.dpg-article-content>*+*{margin-top:var(--wp--preset--spacing--lg)}
.dpg-article-content p{font-size:1.2rem;line-height:1.58;color:var(--wp--preset--color--ink-2)}
.dpg-article-content>p:first-of-type::first-letter{float:left;font-family:var(--wp--preset--font-family--display);font-size:4.25em;line-height:.74;padding:.14em .09em 0 0;color:var(--wp--preset--color--ink)}
.dpg-article-content h2,.dpg-article-content h3{font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--2xl);font-weight:400;line-height:1.06;letter-spacing:-.015em;margin-top:var(--wp--preset--spacing--2xl)}
.dpg-article-content blockquote{margin:var(--wp--preset--spacing--2xl) 0!important;padding:var(--wp--preset--spacing--lg) 0!important;border-top:1px solid var(--wp--preset--color--orange);border-bottom:1px solid var(--wp--preset--color--orange)}
.dpg-article-content blockquote p{font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--2xl);line-height:1.12;color:var(--wp--preset--color--ink)}
.dpg-more-head{margin-top:var(--wp--preset--spacing--4xl)!important;padding-bottom:var(--wp--preset--spacing--md);border-bottom:1px solid var(--wp--preset--color--rule)}
.dpg-more-query .wp-block-post{padding:var(--wp--preset--spacing--lg) 0;border-bottom:1px solid var(--wp--preset--color--rule)}
.dpg-more-query .wp-block-post-title{font-size:var(--wp--preset--font-size--xl);line-height:1.1}
.dpg-more-query .wp-block-post-title a:hover{color:var(--wp--preset--color--orange-deep)}
.dpg-more-query .wp-block-post-excerpt__excerpt{color:var(--wp--preset--color--ink-2);max-width:60ch}
.dpg-read-more a,.dpg-link-cta{font-size:.875rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.1rem}
.dpg-read-more a:hover,.dpg-link-cta:hover{color:var(--wp--preset--color--orange-deep)}

/* Capabilities ------------------------------------------------------------ */
.dpg-capabilities{padding-top:var(--wp--preset--spacing--4xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
.dpg-capability{padding:var(--wp--preset--spacing--lg) 0!important;border-top:1px solid var(--wp--preset--color--rule);align-items:start!important;gap:var(--wp--preset--spacing--xl)!important}
.dpg-capability:last-child{border-bottom:1px solid var(--wp--preset--color--rule)}
.dpg-capability h3{font-size:var(--wp--preset--font-size--xl);line-height:1.12;transition:color .2s var(--dpg-ease-out)}
.dpg-capability:hover h3{color:var(--wp--preset--color--orange-deep)}
.dpg-capability p{color:var(--wp--preset--color--ink-2);max-width:54ch}

/* Footer ------------------------------------------------------------------ */
.dpg-footer{position:relative;isolation:isolate;overflow:hidden;padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;background:var(--wp--preset--gradient--night-field);color:var(--wp--preset--color--night-ink)}
.dpg-footer::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,oklch(15% .035 258 / .52),oklch(15% .035 258 / .08) 55%,oklch(15% .035 258 / .72));pointer-events:none}
.dpg-footer-liquid{position:absolute;z-index:-2;inset:0;width:100%;height:100%}
.dpg-footer-line{font-family:var(--wp--preset--font-family--display);font-size:clamp(2.2rem,4.6vw + .4rem,4.8rem)!important;line-height:.98!important;letter-spacing:-.024em;max-width:17ch;text-wrap:balance;color:inherit!important}
.dpg-footer-contact{padding-top:var(--wp--preset--spacing--xl);border-top:1px solid var(--dpg-rule-night);gap:var(--wp--preset--spacing--xl)!important}
.dpg-footer-label{color:var(--wp--preset--color--night-muted)}
.dpg-footer-value{font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--lg);line-height:1.3;color:inherit!important}
.dpg-footer-copy{font-size:var(--wp--preset--font-size--base);line-height:1.55;color:var(--wp--preset--color--night-muted)}
.dpg-footer-meta{padding-top:var(--wp--preset--spacing--lg);border-top:1px solid var(--dpg-rule-night);color:var(--wp--preset--color--night-muted);font-size:var(--wp--preset--font-size--xs)}
.dpg-footer-mark img{height:7.25rem;width:auto}

/* Archive / single / generic pages --------------------------------------- */
.dpg-page-shell{padding:calc(5.5rem + var(--wp--preset--spacing--2xl)) var(--dpg-gutter) var(--wp--preset--spacing--4xl)!important}
.dpg-page-title{font-size:var(--wp--preset--font-size--display-sm)!important;letter-spacing:-.025em;max-width:18ch}
.dpg-archive-list{margin-top:var(--wp--preset--spacing--2xl)!important}
.dpg-archive-list .wp-block-post{padding:var(--wp--preset--spacing--xl) 0;border-top:1px solid var(--wp--preset--color--rule)}
.dpg-archive-list .wp-block-post-title{font-size:var(--wp--preset--font-size--2xl);line-height:1.08}
.dpg-archive-list .wp-block-post-excerpt{max-width:60ch;color:var(--wp--preset--color--ink-2)}
.dpg-pagination{margin-top:var(--wp--preset--spacing--2xl)!important}

@media (min-width:60rem){
  .dpg-article-aside{position:sticky;top:7rem}
  .dpg-place-facts{padding-left:var(--wp--preset--spacing--lg)!important}
}
@media (max-width:59.99rem){
  .dpg-nav-cta{display:none!important}
  .dpg-hero-main,.dpg-section-head,.dpg-article-layout{gap:var(--wp--preset--spacing--xl)!important}
}
@media (max-width:48rem){
  .dpg-hero{min-height:clamp(32rem,88dvh,48rem);padding-bottom:var(--wp--preset--spacing--xl)!important}
  .dpg-hero-title{font-size:clamp(2.5rem,11vw,4rem)!important}
  .dpg-hero-foot .dpg-hero-location{display:none}
  .dpg-director-figure{min-height:27rem}
  .dpg-section-head{padding-top:var(--wp--preset--spacing--2xl);padding-bottom:var(--wp--preset--spacing--xl)}
  .dpg-article-content p{font-size:1.08rem}
  .dpg-footer{padding-top:var(--wp--preset--spacing--3xl)!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}
  .dpg-client-marquee,.dpg-liquid-rule{animation:none!important}
  .dpg-hero video,.dpg-testimonial video{display:none!important}
}


/* 1:1 parity refinements from supplied static DPG build ------------------- */
@media (min-width:60rem){
  .dpg-hero-main>.wp-block-column:first-child,
  .dpg-section-head>.wp-block-column:first-child{flex-basis:58.333%!important}
  .dpg-hero-main>.wp-block-column:last-child,
  .dpg-section-head>.wp-block-column:last-child{flex-basis:41.667%!important}
  .dpg-place-grid:first-of-type>.wp-block-column:first-child{flex-basis:66.667%!important}
  .dpg-place-grid:first-of-type>.wp-block-column:last-child{flex-basis:33.333%!important}
  .dpg-place-grid:nth-of-type(2)>.wp-block-column:first-child{flex-basis:58.333%!important}
  .dpg-place-grid:nth-of-type(2)>.wp-block-column:last-child{flex-basis:41.667%!important}
}
.dpg-clients .dpg-smallcaps{margin-top:0;margin-bottom:0}
.dpg-section-head .dpg-section-title,
.dpg-section-head .dpg-section-intro{margin-top:0;margin-bottom:0}
.dpg-capability h3,.dpg-capability p{margin-top:0;margin-bottom:0}
.dpg-director-name,.dpg-director-role,.dpg-director-bio{margin-bottom:0}


/* v1.0.6 — visual parity correction from live homepage review ------------- */
@media (min-width:60rem){
  .dpg-hero{min-height:clamp(46rem,100dvh,70rem);padding-top:8rem!important;padding-bottom:var(--wp--preset--spacing--2xl)!important}
  .dpg-hero-main{padding-top:clamp(8rem,20vh,15rem)}
  .dpg-hero-title{font-size:clamp(4.2rem,6.4vw,7.2rem)!important;max-width:10ch}
  .dpg-hero-lede{font-size:clamp(1.1rem,1.35vw,1.4rem);max-width:32ch}
  .dpg-directors,.dpg-place,.dpg-insights,.dpg-capabilities{padding-top:clamp(5rem,8vw,8rem)!important}
  .dpg-section-head{padding-bottom:clamp(2.5rem,4vw,4rem)}
  .dpg-director-grid,.dpg-place-grid{margin-top:clamp(2.5rem,4vw,4rem)!important}
}
.dpg-section-title{font-size:clamp(2.5rem,4.25vw,4.8rem)!important}
.dpg-section-intro{font-size:clamp(1rem,1.25vw,1.25rem)}
.dpg-director-name{font-size:clamp(1.7rem,2.25vw,2.4rem)!important}
.dpg-director-bio{font-size:clamp(.95rem,1vw,1.08rem);line-height:1.65}
.dpg-capability h3{font-size:clamp(1.5rem,2vw,2rem)}
.dpg-capability p{font-size:clamp(1rem,1.1vw,1.125rem);line-height:1.55}
.dpg-footer-line{font-size:clamp(3rem,5vw,5.5rem)!important}


/* ========================================================================
   v1.0.7 — SOURCE PARITY LAYER
   Exact layout values ported from the supplied DPG static tokens.css/site.css.
   Gutenberg owns the content; this layer maps the original presentation system.
   ======================================================================== */

:root{
  --dpg-nav-height:4.25rem;
  --dpg-rule-2:oklch(90.5% 0.01 252);
  --dpg-glass-paper:oklch(98% 0.005 250 / .74);
}

/* Logged-in WordPress must not hide the fixed site header under the admin bar. */
body.admin-bar .dpg-site-header{top:var(--wp-admin--admin-bar--height,32px)}

/* Header: exact N9 proportions from the static build. */
.dpg-site-header{
  min-height:var(--dpg-nav-height);
  padding:0 var(--dpg-gutter)!important;
  gap:var(--wp--preset--spacing--xl)!important;
  border-bottom:0;
}
.dpg-site-header .wp-block-navigation{margin-left:auto;font-size:var(--wp--preset--font-size--sm);font-weight:500;letter-spacing:.01em}
.dpg-site-header .wp-block-navigation__container{gap:var(--wp--preset--spacing--xl)!important}
.dpg-nav-cta .wp-block-button__link{
  border-radius:2px!important;
  padding:var(--wp--preset--spacing--xs) var(--wp--preset--spacing--md)!important;
  font-size:var(--wp--preset--font-size--sm)!important;
  line-height:1!important;
}
.home .dpg-site-header:not(.is-solid){background:transparent!important;color:var(--wp--preset--color--night-ink)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.home .dpg-site-header:not(.is-solid) .dpg-logo-positive{display:none!important}
.home .dpg-site-header:not(.is-solid) .dpg-logo-reverse{display:block!important}
body:not(.home) .dpg-site-header,
.home .dpg-site-header.is-solid{
  color:var(--wp--preset--color--ink)!important;
  background:var(--dpg-glass-paper)!important;
  -webkit-backdrop-filter:blur(18px) saturate(140%)!important;
  backdrop-filter:blur(18px) saturate(140%)!important;
  box-shadow:0 1px 0 var(--dpg-glass-stroke);
}
body:not(.home) .dpg-logo-positive,.home .dpg-site-header.is-solid .dpg-logo-positive{display:block!important}
body:not(.home) .dpg-logo-reverse,.home .dpg-site-header.is-solid .dpg-logo-reverse{display:none!important}

/* Hero: direct port of .hero / .hero__grid / .hero__display / .hero__lede. */
.dpg-hero{
  min-height:clamp(34rem,92dvh,64rem)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:stretch!important;
  padding:calc(var(--dpg-nav-height) + var(--wp--preset--spacing--lg)) var(--dpg-gutter) var(--wp--preset--spacing--2xl)!important;
}
.dpg-hero>.wp-block-cover__inner-container{align-self:end;width:100%;max-width:none!important}
.dpg-hero-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:var(--wp--preset--spacing--xl)!important;
  align-items:end!important;
  padding-top:var(--wp--preset--spacing--3xl)!important;
  margin:0!important;
}
.dpg-hero-main>.wp-block-column{width:auto!important;flex-basis:auto!important}
.dpg-hero-title{
  font-size:var(--wp--preset--font-size--display)!important;
  line-height:.97!important;
  letter-spacing:-.024em!important;
  max-width:12ch!important;
  margin:0!important;
}
.dpg-hero-lede{
  max-width:38ch!important;
  font-size:var(--wp--preset--font-size--md)!important;
  line-height:1.45!important;
  margin:0!important;
  padding:0!important;
  color:var(--wp--preset--color--night-muted)!important;
}
.dpg-hero-foot{
  margin-top:var(--wp--preset--spacing--2xl)!important;
  padding-top:var(--wp--preset--spacing--md)!important;
}
.dpg-hero-foot p{margin:0!important}

/* Clients: exact band height, pill and striped plates. */
.dpg-clients{
  padding-top:var(--wp--preset--spacing--2xl)!important;
  padding-bottom:var(--wp--preset--spacing--2xl)!important;
  border-bottom:1px solid var(--wp--preset--color--rule)!important;
}
.dpg-clients-head{padding-bottom:var(--wp--preset--spacing--lg)!important}
.dpg-clients-head>.dpg-muted{
  color:var(--wp--preset--color--ink-2)!important;
  border:1px solid var(--wp--preset--color--rule);
  border-radius:999px;
  padding:.35em .9em!important;
}
.dpg-client-marquee{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:var(--wp--preset--spacing--2xl)!important;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.dpg-client-track{
  gap:var(--wp--preset--spacing--2xl)!important;
  padding:0!important;
  animation:dpg-marquee 42s linear infinite!important;
}
.dpg-client-card{
  min-width:10rem;
  width:auto;
  height:5rem!important;
  min-height:5rem!important;
  padding:0 var(--wp--preset--spacing--lg)!important;
  border-radius:4px!important;
  background:
    repeating-linear-gradient(135deg,oklch(21% .035 258 / .04) 0 1px,transparent 1px 9px),
    var(--wp--preset--color--paper)!important;
}
.dpg-client-card:nth-child(3n+1){min-width:10rem}
.dpg-client-card:nth-child(3n+2){min-width:13rem}
.dpg-client-card:nth-child(3n){min-width:16rem}
.dpg-liquid-rule{
  height:3px!important;
  background:linear-gradient(90deg,var(--wp--preset--color--blue),var(--wp--preset--color--green),var(--wp--preset--color--orange),var(--wp--preset--color--blue))!important;
  background-size:300% 100%!important;
  animation:dpg-flow 24s linear infinite!important;
}

/* Shared section furniture — exact static source. */
.dpg-section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:var(--wp--preset--spacing--lg)!important;
  align-items:end!important;
  padding-top:0!important;
  padding-bottom:var(--wp--preset--spacing--xl)!important;
  border-top:0!important;
  border-bottom:1px solid var(--wp--preset--color--rule)!important;
  margin:0!important;
}
.dpg-section-head>.wp-block-column{width:auto!important;flex-basis:auto!important}
.dpg-section-title{
  font-size:var(--wp--preset--font-size--display-sm)!important;
  line-height:1.02!important;
  letter-spacing:-.022em!important;
  max-width:18ch!important;
}
.dpg-section-intro{
  max-width:46ch!important;
  font-size:var(--wp--preset--font-size--md)!important;
  line-height:1.5!important;
}

/* Directors — exact section spacing + diagonal placeholder + hint treatment. */
.dpg-directors{
  padding-top:var(--wp--preset--spacing--3xl)!important;
  padding-bottom:var(--wp--preset--spacing--4xl)!important;
}
.dpg-director-grid{
  margin-top:var(--wp--preset--spacing--2xl)!important;
  gap:var(--wp--preset--spacing--2xl)!important;
}
.dpg-director-figure{
  aspect-ratio:3/4!important;
  min-height:0!important;
  border-radius:2px!important;
  background:var(--wp--preset--color--paper-2)!important;
}
.dpg-director-placeholder{
  border:1px solid var(--wp--preset--color--rule);
  border-radius:inherit;
  background:
    repeating-linear-gradient(135deg,transparent 0 14px,var(--dpg-rule-2) 14px 15px),
    var(--wp--preset--color--paper-2)!important;
}
.dpg-track-record summary{
  right:var(--wp--preset--spacing--md)!important;
  bottom:var(--wp--preset--spacing--md)!important;
  width:2.1rem!important;
  height:2.1rem!important;
  border:1px solid var(--wp--preset--color--ink)!important;
  background:var(--wp--preset--color--paper)!important;
  color:transparent!important;
  backdrop-filter:none!important;
}
.dpg-track-record summary::after{color:var(--wp--preset--color--ink)!important;font-size:.95rem!important}
.dpg-track-record>ul{
  padding:var(--wp--preset--spacing--md) var(--wp--preset--spacing--lg) var(--wp--preset--spacing--lg)!important;
  background:var(--dpg-glass-paper)!important;
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  color:var(--wp--preset--color--ink)!important;
}
.dpg-director-name{
  margin-top:var(--wp--preset--spacing--lg)!important;
  font-size:var(--wp--preset--font-size--xl)!important;
  letter-spacing:-.015em!important;
}
.dpg-director-role{
  margin-top:var(--wp--preset--spacing--2xs)!important;
  font-size:var(--wp--preset--font-size--xs)!important;
  letter-spacing:.14em!important;
}
.dpg-director-bio{
  margin-top:var(--wp--preset--spacing--md)!important;
  font-size:var(--wp--preset--font-size--base)!important;
  line-height:1.6!important;
}

/* Testimonial: source uses an inset vertical rhythm around a 62dvh field. */
.dpg-testimonial{
  min-height:clamp(26rem,62dvh,42rem)!important;
  padding:var(--wp--preset--spacing--3xl) var(--dpg-gutter)!important;
  margin-top:var(--wp--preset--spacing--3xl)!important;
  margin-bottom:var(--wp--preset--spacing--4xl)!important;
}
.dpg-testimonial-inner{max-width:46rem!important}
.dpg-testimonial .wp-block-quote p{
  font-weight:300!important;
  font-size:clamp(1.8rem,2.6vw + .7rem,3.2rem)!important;
  line-height:1.16!important;
  letter-spacing:-.02em!important;
}
.dpg-testimonial .wp-block-quote p::before{content:"“"}
.dpg-testimonial .wp-block-quote p::after{content:"”"}
.dpg-testimonial-cite{margin-top:var(--wp--preset--spacing--xl)!important}
.dpg-testimonial-cite::after{
  content:"Placeholder · client quote to be supplied";
  display:inline-block;
  margin-top:var(--wp--preset--spacing--lg);
  padding:.35em .9em;
  border:1px solid var(--dpg-rule-night);
  border-radius:999px;
  color:var(--wp--preset--color--night-muted);
  font-size:var(--wp--preset--font-size--xs);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Where we work — direct 12-column static grid, no guessed card heights. */
.dpg-place{
  padding-top:0!important;
  padding-bottom:var(--wp--preset--spacing--4xl)!important;
}
.dpg-place-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:var(--wp--preset--spacing--md)!important;
  margin-top:var(--wp--preset--spacing--2xl)!important;
}
.dpg-place-grid>.wp-block-column{width:auto!important;flex-basis:auto!important}
.dpg-place-cover{
  aspect-ratio:3/2!important;
  min-height:0!important;
  border-radius:2px!important;
}
.dpg-place-tall{aspect-ratio:3/4!important}
.dpg-place-caption{
  left:var(--wp--preset--spacing--md);
  right:var(--wp--preset--spacing--md);
  bottom:var(--wp--preset--spacing--md);
  font-size:var(--wp--preset--font-size--xs)!important;
  font-weight:500!important;
  letter-spacing:.06em!important;
}
.dpg-place-facts{
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  align-content:end;
  gap:0!important;
}
.dpg-place-fact{padding:var(--wp--preset--spacing--md) 0!important}
.dpg-place-fact-value{
  margin-top:var(--wp--preset--spacing--2xs)!important;
  font-size:var(--wp--preset--font-size--md)!important;
  line-height:1.3!important;
}

/* Insights — direct static section + editorial article proportions. */
.dpg-insights{
  padding-top:var(--wp--preset--spacing--4xl)!important;
  padding-bottom:var(--wp--preset--spacing--4xl)!important;
  background:var(--wp--preset--color--paper-2)!important;
}
.dpg-insights .dpg-section-head{margin-bottom:var(--wp--preset--spacing--2xl)!important}
.dpg-latest-query,.dpg-more-query{max-width:78rem!important}
.dpg-latest-post{
  padding-top:0!important;
  border-top:0!important;
}
.dpg-latest-post>.dpg-post-meta{
  margin-bottom:var(--wp--preset--spacing--2xl)!important;
}
.dpg-latest-post>.dpg-post-title{
  font-size:clamp(2.4rem,4.4vw + .5rem,4.8rem)!important;
  line-height:.98!important;
  letter-spacing:-.026em!important;
  max-width:15ch!important;
}
.dpg-latest-post>.dpg-post-standfirst{
  font-family:var(--wp--preset--font-family--display)!important;
  font-size:var(--wp--preset--font-size--lg)!important;
  line-height:1.3!important;
  max-width:30ch!important;
}
.dpg-article-layout{
  padding-top:var(--wp--preset--spacing--2xl)!important;
  margin-top:var(--wp--preset--spacing--2xl)!important;
  border-top:1px solid var(--wp--preset--color--rule);
}
.dpg-article-content{max-width:64ch!important;font-family:var(--wp--preset--font-family--display)!important}
.dpg-article-content p{font-size:1.2rem!important;line-height:1.55!important}
.dpg-article-content>p:first-of-type::first-letter{font-size:4.3em!important;line-height:.8!important;padding:.06em .12em 0 0!important}
.dpg-more-head{
  margin-top:var(--wp--preset--spacing--3xl)!important;
  padding-top:var(--wp--preset--spacing--xl)!important;
  padding-bottom:0!important;
  border-top:1px solid var(--wp--preset--color--rule);
  border-bottom:0!important;
}
.dpg-more-query{margin-top:var(--wp--preset--spacing--lg)!important}

/* Capabilities — original 5/7 hairline list. */
.dpg-capabilities{
  padding-top:var(--wp--preset--spacing--4xl)!important;
  padding-bottom:var(--wp--preset--spacing--4xl)!important;
}
.dpg-capability{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:var(--wp--preset--spacing--xs) var(--wp--preset--spacing--2xl)!important;
  padding:var(--wp--preset--spacing--lg) 0!important;
  margin:0!important;
}
.dpg-capability:first-of-type{border-top:0!important}
.dpg-capability>.wp-block-column{width:auto!important;flex-basis:auto!important}
.dpg-capability h3{
  font-size:var(--wp--preset--font-size--lg)!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
}
.dpg-capability p{
  font-size:var(--wp--preset--font-size--base)!important;
  line-height:1.55!important;
  max-width:54ch!important;
}

/* Footer: full-bleed Ft5 statement, exact padding and columns. */
.dpg-footer{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
}
.dpg-footer-line{
  font-size:clamp(2.2rem,4.6vw + .4rem,4.8rem)!important;
  line-height:.98!important;
  letter-spacing:-.024em!important;
  max-width:17ch!important;
}
.dpg-footer-contact{
  padding-top:var(--wp--preset--spacing--xl)!important;
  gap:var(--wp--preset--spacing--xl)!important;
}
.dpg-footer-value,.dpg-footer-value a{color:var(--wp--preset--color--night-ink)!important}
.dpg-footer-copy,.dpg-footer-meta{color:var(--wp--preset--color--night-muted)!important}
.dpg-footer-mark img{height:7.25rem!important;width:auto!important}

/* Desktop source breakpoints. */
@media (min-width:40rem){
  .dpg-director-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wp--preset--spacing--lg)!important}
  .dpg-footer-contact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:60rem){
  .dpg-hero-main{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--wp--preset--spacing--3xl)!important}
  .dpg-hero-lede{justify-self:end;padding-bottom:var(--wp--preset--spacing--xs)!important}
  .dpg-section-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--wp--preset--spacing--3xl)!important}
  .dpg-director-grid{gap:var(--wp--preset--spacing--xl)!important}
  .dpg-place-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--wp--preset--spacing--lg)!important}
  .dpg-place-grid:first-of-type>.wp-block-column:first-child{grid-column:1 / span 8}
  .dpg-place-grid:first-of-type>.wp-block-column:last-child{grid-column:9 / span 4}
  .dpg-place-grid:nth-of-type(2)>.wp-block-column:first-child{grid-column:1 / span 7}
  .dpg-place-grid:nth-of-type(2)>.wp-block-column:last-child{grid-column:8 / span 5;padding-left:var(--wp--preset--spacing--lg)}
  .dpg-article-layout{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--wp--preset--spacing--3xl)!important}
  .dpg-capability{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .dpg-footer-contact{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr))}
}
@media (max-width:40rem){
  .dpg-hero{min-height:clamp(30rem,88dvh,46rem)!important;padding-bottom:var(--wp--preset--spacing--xl)!important}
  .dpg-hero-title{font-size:clamp(2.4rem,10vw,3.4rem)!important;max-width:11ch!important}
  .dpg-hero-lede{font-size:var(--wp--preset--font-size--base)!important}
}


/* ========================================================================
   v1.0.8 — STRUCTURAL PARITY FIX
   Fixes Gutenberg Cover layers, centering, and footer outer/inner structure.
   ======================================================================== */

/* HERO: use Gutenberg's actual Cover background span as the static hero__scrim. */
.dpg-hero{
  position:relative!important;
  isolation:isolate!important;
}
.dpg-hero .wp-block-cover__video-background{
  z-index:-3!important;
  opacity:1!important;
}
.dpg-hero .wp-block-cover__background{
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  opacity:1!important;
  background:
    linear-gradient(
      180deg,
      color-mix(in oklch,var(--wp--preset--color--night) 42%,transparent) 0%,
      transparent 32%,
      color-mix(in oklch,var(--wp--preset--color--night) 62%,transparent) 100%
    ),
    linear-gradient(
      90deg,
      color-mix(in oklch,var(--wp--preset--color--night) 45%,transparent) 0%,
      transparent 60%
    )!important;
}
.dpg-hero>.wp-block-cover__inner-container{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:none!important;
  align-self:end!important;
}

/* TESTIMONIAL: exact static scrim + centered inner figure treatment. */
.dpg-testimonial{
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  place-items:center!important;
}
.dpg-testimonial .wp-block-cover__video-background{
  z-index:-2!important;
  opacity:1!important;
}
.dpg-testimonial .wp-block-cover__background{
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  opacity:1!important;
  background:
    radial-gradient(
      120% 90% at 50% 50%,
      transparent 0%,
      color-mix(in oklch,var(--wp--preset--color--night) 55%,transparent) 100%
    ),
    linear-gradient(
      180deg,
      color-mix(in oklch,var(--wp--preset--color--night) 40%,transparent) 0%,
      color-mix(in oklch,var(--wp--preset--color--night) 25%,transparent) 50%,
      color-mix(in oklch,var(--wp--preset--color--night) 55%,transparent) 100%
    )!important;
}
.dpg-testimonial>.wp-block-cover__inner-container{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
}
.dpg-testimonial-inner{
  width:min(100%,46rem)!important;
  max-width:46rem!important;
  margin:0 auto!important;
  display:grid!important;
  justify-items:center!important;
  gap:var(--wp--preset--spacing--xl)!important;
  text-align:center!important;
}
.dpg-testimonial-inner .wp-block-quote,
.dpg-testimonial-inner .wp-block-quote p,
.dpg-testimonial-cite,
.dpg-testimonial-cite p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.dpg-testimonial-cite{
  display:grid!important;
  justify-items:center!important;
  gap:var(--wp--preset--spacing--2xs)!important;
}

/* FOOTER: full viewport background with all content inside a guttered inner wrapper. */
.dpg-footer{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:var(--wp--preset--color--night)!important;
  color:var(--wp--preset--color--night-ink)!important;
}
.dpg-footer::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(
    180deg,
    color-mix(in oklch,var(--wp--preset--color--night) 50%,transparent),
    color-mix(in oklch,var(--wp--preset--color--night) 10%,transparent) 55%,
    color-mix(in oklch,var(--wp--preset--color--night) 72%,transparent)
  )!important;
}
.dpg-footer-liquid{
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  width:100%!important;
  height:100%!important;
}
.dpg-footer-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:var(--wp--preset--spacing--3xl)!important;
}
.dpg-footer-line{
  margin:0!important;
  color:var(--wp--preset--color--night-ink)!important;
}
.dpg-footer-contact{
  margin:0!important;
  padding-top:var(--wp--preset--spacing--xl)!important;
  border-top:1px solid var(--dpg-rule-night)!important;
}
.dpg-footer-block{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:var(--wp--preset--spacing--xs)!important;
  align-content:start!important;
}
.dpg-footer-block>*{margin:0!important}
.dpg-footer-label{
  margin-bottom:var(--wp--preset--spacing--2xs)!important;
  color:var(--wp--preset--color--night-muted)!important;
}
.dpg-footer-value{
  font-family:var(--wp--preset--font-family--display)!important;
  font-size:var(--wp--preset--font-size--lg)!important;
  line-height:1.3!important;
}
.dpg-footer-value a{color:var(--wp--preset--color--night-ink)!important}
.dpg-footer-copy{
  font-family:var(--wp--preset--font-family--body)!important;
  font-size:var(--wp--preset--font-size--base)!important;
  line-height:1.55!important;
  color:var(--wp--preset--color--night-muted)!important;
}
.dpg-footer-meta{
  margin:0!important;
  padding-top:var(--wp--preset--spacing--lg)!important;
  border-top:1px solid var(--dpg-rule-night)!important;
}
.dpg-footer-meta p{margin:0!important}

/* Ensure full-width theme template parts do not get constrained by WP layout wrappers. */
.wp-site-blocks>footer,
.wp-site-blocks>.wp-block-template-part:last-child,
.wp-site-blocks>.wp-block-template-part:last-child>.dpg-footer{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Small structural alignment corrections visible in the comparison screenshots. */
.dpg-section-head .wp-block-column,
.dpg-capability .wp-block-column,
.dpg-place-grid .wp-block-column{
  min-width:0!important;
}
.dpg-section-head>*,
.dpg-capability>*{
  align-self:end;
}


/* ========================================================================
   v1.0.9 — final spacing/mobile pass + Canberra grid selector correction
   ======================================================================== */

/* WordPress block defaults can add margins that the static source did not. */
.dpg-section,
.dpg-section-head,
.dpg-director-grid,
.dpg-place-grid,
.dpg-capability,
.dpg-footer-inner,
.dpg-footer-contact,
.dpg-footer-meta{
  box-sizing:border-box;
}
.dpg-section>*,.dpg-footer-inner>*{max-width:none}
.dpg-section-head>*,
.dpg-director-grid>*,
.dpg-place-grid>*,
.dpg-capability>*{margin-top:0!important;margin-bottom:0!important}

/* Exact horizontal/vertical rhythm from the source tokens. */
.dpg-directors{padding-block:var(--wp--preset--spacing--3xl) var(--wp--preset--spacing--4xl)!important}
.dpg-place{padding-block:0 var(--wp--preset--spacing--4xl)!important}
.dpg-insights,.dpg-capabilities{padding-block:var(--wp--preset--spacing--4xl)!important}
.dpg-section-head{padding-bottom:var(--wp--preset--spacing--xl)!important}
.dpg-director-grid,.dpg-place-grid{margin-top:var(--wp--preset--spacing--2xl)!important}

/* The second Canberra row was being matched by nth-of-type against unrelated
   Gutenberg divs. Match rows by their contents instead. */
@media (min-width:60rem){
  .dpg-place-grid:has(.dpg-place-tall){
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
  }
  .dpg-place-grid:has(.dpg-place-tall)>.wp-block-column:first-child{
    grid-column:1 / span 8!important;
  }
  .dpg-place-grid:has(.dpg-place-tall)>.wp-block-column:last-child{
    grid-column:9 / span 4!important;
  }
  .dpg-place-grid:has(.dpg-place-facts){
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
  }
  .dpg-place-grid:has(.dpg-place-facts)>.wp-block-column:first-child{
    grid-column:1 / span 7!important;
  }
  .dpg-place-grid:has(.dpg-place-facts)>.wp-block-column:last-child{
    grid-column:8 / span 5!important;
    padding-left:var(--wp--preset--spacing--lg)!important;
  }
  .dpg-place-grid:has(.dpg-place-facts) .dpg-place-cover{
    aspect-ratio:16/9!important;
  }
}

/* Footer: source is left aligned inside the full-bleed field. */
.dpg-footer-inner{justify-items:stretch!important}
.dpg-footer-line{
  justify-self:start!important;
  text-align:left!important;
  margin:0!important;
}
.dpg-footer-contact,.dpg-footer-meta{width:100%!important}
.dpg-footer-meta{align-items:center!important}
.dpg-footer-mark{margin:0!important}

/* WordPress navigation should collapse at the same breakpoint as static DPG. */
@media (max-width:59.99rem){
  .dpg-site-header{min-height:var(--dpg-nav-height);padding-inline:var(--dpg-gutter)!important}
  .dpg-site-header .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container-open{
    display:flex!important;
    margin-left:auto!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    min-height:100dvh!important;
    padding:var(--dpg-gutter)!important;
    background:var(--dpg-glass-paper)!important;
    color:var(--wp--preset--color--ink)!important;
    -webkit-backdrop-filter:blur(24px) saturate(140%)!important;
    backdrop-filter:blur(24px) saturate(140%)!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    justify-content:center!important;
    align-items:stretch!important;
    padding-top:0!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    width:100%!important;
    align-items:stretch!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%!important;
    border-bottom:1px solid var(--wp--preset--color--rule);
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    width:100%!important;
    font-family:var(--wp--preset--font-family--display)!important;
    font-size:var(--wp--preset--font-size--2xl)!important;
    line-height:1.1!important;
    padding:var(--wp--preset--spacing--xs) 0!important;
  }
}

/* Source mobile treatment. */
@media (max-width:40rem){
  :root{--dpg-gutter:clamp(1.25rem,5vw,5.5rem)}
  .dpg-brand{width:9.75rem;min-width:9.75rem}
  .dpg-brand img{height:2.15rem}
  .dpg-hero{
    min-height:clamp(30rem,88dvh,46rem)!important;
    padding-bottom:var(--wp--preset--spacing--xl)!important;
  }
  .dpg-hero-main{
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--wp--preset--spacing--lg)!important;
    padding-top:var(--wp--preset--spacing--2xl)!important;
  }
  .dpg-hero-title{
    font-size:clamp(2.4rem,10vw,3.4rem)!important;
    max-width:11ch!important;
  }
  .dpg-hero-lede{
    font-size:var(--wp--preset--font-size--base)!important;
    max-width:34ch!important;
  }
  .dpg-hero-foot{justify-content:flex-end!important}
  .dpg-hero-foot>.dpg-hero-location{display:none!important}

  .dpg-clients{padding-block:var(--wp--preset--spacing--xl)!important}
  .dpg-clients-head{align-items:flex-start!important;gap:var(--wp--preset--spacing--sm)!important}
  .dpg-client-marquee{margin-inline:calc(-1 * var(--dpg-gutter))!important;width:calc(100% + 2 * var(--dpg-gutter))!important}
  .dpg-client-track{gap:var(--wp--preset--spacing--lg)!important}

  .dpg-directors{padding-block:var(--wp--preset--spacing--2xl) var(--wp--preset--spacing--3xl)!important}
  .dpg-section-head{
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--wp--preset--spacing--lg)!important;
    padding-bottom:var(--wp--preset--spacing--lg)!important;
  }
  .dpg-section-title{font-size:clamp(2rem,10vw,3rem)!important}
  .dpg-section-intro{font-size:var(--wp--preset--font-size--base)!important}
  .dpg-director-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--wp--preset--spacing--2xl)!important;
    margin-top:var(--wp--preset--spacing--xl)!important;
  }
  .dpg-director-figure{aspect-ratio:3/4!important}

  .dpg-testimonial{
    margin-block:var(--wp--preset--spacing--2xl) var(--wp--preset--spacing--3xl)!important;
    padding:var(--wp--preset--spacing--2xl) var(--dpg-gutter)!important;
    min-height:clamp(26rem,65dvh,36rem)!important;
  }
  .dpg-testimonial .wp-block-quote p{
    font-size:clamp(1.75rem,8vw,2.6rem)!important;
  }

  .dpg-place{padding-bottom:var(--wp--preset--spacing--3xl)!important}
  .dpg-place-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--wp--preset--spacing--md)!important;
    margin-top:var(--wp--preset--spacing--xl)!important;
  }
  .dpg-place-grid>.wp-block-column{
    grid-column:auto!important;
    padding-left:0!important;
  }
  .dpg-place-cover,.dpg-place-tall{aspect-ratio:3/2!important}
  .dpg-place-grid:has(.dpg-place-facts) .dpg-place-cover{aspect-ratio:16/9!important}

  .dpg-insights,.dpg-capabilities{padding-block:var(--wp--preset--spacing--3xl)!important}
  .dpg-article-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--wp--preset--spacing--xl)!important;
  }
  .dpg-article-content p{font-size:1.1rem!important}
  .dpg-article-content>p:first-of-type::first-letter{font-size:3.4em!important}

  .dpg-capability{
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--wp--preset--spacing--xs)!important;
    padding-block:var(--wp--preset--spacing--lg)!important;
  }

  .dpg-footer-inner{
    padding:var(--wp--preset--spacing--3xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
    gap:var(--wp--preset--spacing--2xl)!important;
  }
  .dpg-footer-line{
    font-size:clamp(2.2rem,11vw,3.4rem)!important;
  }
  .dpg-footer-contact{
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--wp--preset--spacing--xl)!important;
  }
  .dpg-footer-meta{
    align-items:flex-start!important;
    gap:var(--wp--preset--spacing--md)!important;
  }
}


/* ========================================================================
   v1.0.10 — spacing, Insights composition and footer parity
   ======================================================================== */

/* Hero content needs the same inner gutter as the static .hero__inner. */
.dpg-hero{
  padding-left:0!important;
  padding-right:0!important;
}
.dpg-hero>.wp-block-cover__inner-container{
  padding-left:var(--dpg-gutter)!important;
  padding-right:var(--dpg-gutter)!important;
  box-sizing:border-box!important;
}

/* Keep full-width sections full bleed while their content follows one gutter. */
.dpg-section{
  padding-left:var(--dpg-gutter)!important;
  padding-right:var(--dpg-gutter)!important;
}
.dpg-directors,.dpg-place,.dpg-insights,.dpg-capabilities{
  box-sizing:border-box!important;
}

/* Latest Insight: static source is a 12-column editorial composition, not a
   vertically-centred stack. */
@media (min-width:60rem){
  .dpg-latest-post{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    column-gap:var(--wp--preset--spacing--lg)!important;
    align-items:start!important;
  }
  .dpg-latest-post>.dpg-post-meta{
    grid-column:1 / -1!important;
    margin-bottom:var(--wp--preset--spacing--3xl)!important;
  }
  .dpg-latest-post>.dpg-post-title{
    grid-column:1 / span 7!important;
    margin:0!important;
    align-self:start!important;
  }
  .dpg-latest-post>.dpg-post-standfirst{
    grid-column:9 / -1!important;
    align-self:end!important;
    justify-self:start!important;
    margin:0 0 var(--wp--preset--spacing--xs)!important;
  }
  .dpg-latest-post>.dpg-article-layout{
    grid-column:1 / -1!important;
    width:100%!important;
  }
}

/* FOOTER
   Support both the new theme pattern structure and any footer template-part
   already saved in the WordPress database before that structural update. */
.dpg-footer{
  min-height:clamp(36rem,54vw,42rem)!important;
}
.dpg-footer-inner,
.dpg-footer:not(:has(.dpg-footer-inner)){
  box-sizing:border-box!important;
}

/* New structure. */
.dpg-footer-inner{
  min-height:clamp(36rem,54vw,42rem)!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr auto!important;
  align-content:stretch!important;
  justify-items:stretch!important;
  padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
  gap:0!important;
}
.dpg-footer-inner>*{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.dpg-footer-inner>.dpg-footer-line{
  justify-self:stretch!important;
  text-align:left!important;
}
.dpg-footer-inner>.dpg-footer-contact{
  margin-top:var(--wp--preset--spacing--3xl)!important;
}
.dpg-footer-inner>.dpg-footer-meta{
  align-self:end!important;
}

/* Old/saved template-part structure: give the footer itself the same inner
   container behaviour instead of relying on a wrapper that is not present. */
.dpg-footer:not(:has(.dpg-footer-inner)){
  display:grid!important;
  grid-template-rows:auto auto 1fr auto!important;
  align-content:stretch!important;
  justify-items:stretch!important;
  padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
  gap:0!important;
}
.dpg-footer:not(:has(.dpg-footer-inner))>*{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.dpg-footer:not(:has(.dpg-footer-inner))>.dpg-footer-line{
  justify-self:stretch!important;
  text-align:left!important;
  margin:0!important;
}
.dpg-footer:not(:has(.dpg-footer-inner))>.dpg-footer-contact{
  margin-top:var(--wp--preset--spacing--3xl)!important;
}
.dpg-footer:not(:has(.dpg-footer-inner))>.dpg-footer-meta{
  align-self:end!important;
}

/* Gutenberg constrained-layout utilities otherwise auto-centre these children. */
.dpg-footer .dpg-footer-line,
.dpg-footer .dpg-footer-contact,
.dpg-footer .dpg-footer-meta{
  margin-left:0!important;
  margin-right:0!important;
}
.dpg-footer .dpg-footer-line{
  width:100%!important;
  max-width:none!important;
  text-align:left!important;
}
.dpg-footer .dpg-footer-contact{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr))!important;
  gap:var(--wp--preset--spacing--xl)!important;
  padding-top:var(--wp--preset--spacing--xl)!important;
  border-top:1px solid var(--dpg-rule-night)!important;
}
.dpg-footer .dpg-footer-meta{
  padding-top:var(--wp--preset--spacing--lg)!important;
  border-top:1px solid var(--dpg-rule-night)!important;
  align-items:end!important;
}

/* Desktop section breathing room from the original page. */
@media (min-width:60rem){
  .dpg-directors{padding-top:var(--wp--preset--spacing--3xl)!important}
  .dpg-place{padding-top:0!important}
  .dpg-insights,.dpg-capabilities{padding-top:var(--wp--preset--spacing--4xl)!important}
  .dpg-section-head{margin-bottom:0!important}
}

/* Mobile footer remains substantial, but stacks cleanly. */
@media (max-width:59.99rem){
  .dpg-footer,
  .dpg-footer-inner,
  .dpg-footer:not(:has(.dpg-footer-inner)){
    min-height:auto!important;
  }
  .dpg-footer-inner,
  .dpg-footer:not(:has(.dpg-footer-inner)){
    display:block!important;
    padding:var(--wp--preset--spacing--3xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
  }
  .dpg-footer .dpg-footer-contact{
    grid-template-columns:1fr 1fr!important;
    margin-top:var(--wp--preset--spacing--2xl)!important;
  }
  .dpg-footer .dpg-footer-meta{
    margin-top:var(--wp--preset--spacing--3xl)!important;
  }
}
@media (max-width:40rem){
  .dpg-footer .dpg-footer-contact{grid-template-columns:1fr!important}
  .dpg-footer .dpg-footer-line{font-size:clamp(2.25rem,11vw,3.5rem)!important}
  .dpg-latest-post>.dpg-post-title,
  .dpg-latest-post>.dpg-post-standfirst{margin-left:0!important;margin-right:0!important}
}


/* ========================================================================
   v1.0.11 — Gutenberg owns section vertical spacing
   The values below mirror the original static spacing scale. Horizontal
   gutters/layout/effects remain theme presentation.
   ======================================================================== */

/* Exact source values; these mirror the block attributes and neutralise older
   approximation rules earlier in this stylesheet. */
.dpg-clients{padding-top:var(--wp--preset--spacing--2xl)!important;padding-bottom:var(--wp--preset--spacing--2xl)!important}
.dpg-directors{padding-top:var(--wp--preset--spacing--3xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
.dpg-testimonial{
  padding-top:var(--wp--preset--spacing--3xl)!important;
  padding-bottom:var(--wp--preset--spacing--3xl)!important;
  margin-top:var(--wp--preset--spacing--3xl)!important;
  margin-bottom:var(--wp--preset--spacing--4xl)!important;
}
.dpg-place{padding-top:0!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
.dpg-insights,.dpg-capabilities{padding-top:var(--wp--preset--spacing--4xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
.dpg-section-head{padding-bottom:var(--wp--preset--spacing--xl)!important}
.dpg-director-grid,.dpg-place-grid{margin-top:var(--wp--preset--spacing--2xl)!important}
.dpg-capability{padding-top:var(--wp--preset--spacing--lg)!important;padding-bottom:var(--wp--preset--spacing--lg)!important}

/* Original source keeps these section spacings at mobile too; only hero/type
   change at <=40rem. Undo earlier mobile compression rules. */
@media (max-width:40rem){
  .dpg-clients{padding-top:var(--wp--preset--spacing--2xl)!important;padding-bottom:var(--wp--preset--spacing--2xl)!important}
  .dpg-directors{padding-top:var(--wp--preset--spacing--3xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
  .dpg-testimonial{
    padding-top:var(--wp--preset--spacing--3xl)!important;
    padding-bottom:var(--wp--preset--spacing--3xl)!important;
    margin-top:var(--wp--preset--spacing--3xl)!important;
    margin-bottom:var(--wp--preset--spacing--4xl)!important;
  }
  .dpg-place{padding-top:0!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
  .dpg-insights,.dpg-capabilities{padding-top:var(--wp--preset--spacing--4xl)!important;padding-bottom:var(--wp--preset--spacing--4xl)!important}
}

/* Footer source parity: no synthetic min-height and no expanding 1fr row.
   The original is padding + 6rem gaps between content rows. */
.dpg-footer,
.dpg-footer-inner,
.dpg-footer:not(:has(.dpg-footer-inner)){
  min-height:0!important;
}
.dpg-footer-inner,
.dpg-footer:not(:has(.dpg-footer-inner)){
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:none!important;
  align-content:start!important;
  gap:var(--wp--preset--spacing--3xl)!important;
}
.dpg-footer-inner{
  padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
}
.dpg-footer:not(:has(.dpg-footer-inner)){
  padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
}
.dpg-footer .dpg-footer-contact{
  margin-top:0!important;
  padding-top:var(--wp--preset--spacing--xl)!important;
}
.dpg-footer .dpg-footer-meta{
  margin-top:0!important;
  padding-top:var(--wp--preset--spacing--lg)!important;
  align-self:auto!important;
}
@media (max-width:59.99rem){
  .dpg-footer-inner,
  .dpg-footer:not(:has(.dpg-footer-inner)){
    display:grid!important;
    gap:var(--wp--preset--spacing--3xl)!important;
    padding:var(--wp--preset--spacing--4xl) var(--dpg-gutter) var(--wp--preset--spacing--xl)!important;
  }
  .dpg-footer .dpg-footer-contact{margin-top:0!important}
  .dpg-footer .dpg-footer-meta{margin-top:0!important}
}


/* ========================================================================
   v1.0.12 — exact hero Gutenberg wrapper mapping
   Original source:
   .hero { grid-template-rows:1fr auto; padding-bottom:4rem; }
   .hero__grid and .hero__foot are direct children.
   Gutenberg inserts .wp-block-cover__inner-container, so that wrapper must
   carry the source grid/padding relationship.
   ======================================================================== */
.dpg-hero{
  /* Gutenberg wrapper owns the vertical inset. */
  padding-top:0!important;
  padding-bottom:0!important;
}
.dpg-hero>.wp-block-cover__inner-container{
  min-height:clamp(34rem,92dvh,64rem)!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:1fr auto!important;
  align-self:stretch!important;
  align-items:stretch!important;
  padding:
    calc(var(--dpg-nav-height) + var(--wp--preset--spacing--lg))
    var(--dpg-gutter)
    var(--wp--preset--spacing--2xl)!important;
}
.dpg-hero-main{
  align-self:end!important;
  margin:0!important;
}
.dpg-hero-foot{
  align-self:end!important;
  margin-top:var(--wp--preset--spacing--2xl)!important;
  margin-bottom:0!important;
}

/* WordPress flow layout adds a default block gap between the two direct
   children; the original source uses only hero__foot's 4rem margin. */
.dpg-hero>.wp-block-cover__inner-container{
  row-gap:0!important;
}
.dpg-hero>.wp-block-cover__inner-container>*+*{
  margin-block-start:0!important;
}
.dpg-hero>.wp-block-cover__inner-container>.dpg-hero-foot{
  margin-top:var(--wp--preset--spacing--2xl)!important;
}

@media (max-width:40rem){
  .dpg-hero>.wp-block-cover__inner-container{
    min-height:clamp(30rem,88dvh,46rem)!important;
    padding-bottom:var(--wp--preset--spacing--xl)!important;
  }
}


/* ========================================================================
   v1.0.13 — FINAL STATIC-SOURCE SPACING OVERRIDES
   Literal values copied from original tokens.css/site.css.
   This block deliberately wins over Gutenberg and all earlier parity passes.
   ======================================================================== */

/* Original scale:
   lg  = 1.5rem / 24px
   xl  = 2.5rem / 40px
   2xl = 4rem   / 64px
   3xl = 6rem   / 96px
   4xl = 9rem   / 144px
*/

/* Kill Gutenberg's automatic flow margins inside the homepage sections. */
.dpg-main .dpg-clients,
.dpg-main .dpg-directors,
.dpg-main .dpg-testimonial,
.dpg-main .dpg-place,
.dpg-main .dpg-insights,
.dpg-main .dpg-capabilities,
.dpg-main .dpg-section-head,
.dpg-main .dpg-director-grid,
.dpg-main .dpg-place-grid,
.dpg-main .dpg-latest-query,
.dpg-main .dpg-more-head,
.dpg-main .dpg-more-query,
.dpg-main .dpg-capability {
  margin-block-start: 0 !important;
}

/* HERO — source .hero */
.dpg-hero {
  min-height: clamp(34rem, 92dvh, 64rem) !important;
  padding: 0 !important;
}
.dpg-hero > .wp-block-cover__inner-container {
  min-height: clamp(34rem, 92dvh, 64rem) !important;
  padding-top: calc(4.25rem + 1.5rem) !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-bottom: 4rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  row-gap: 0 !important;
}
.dpg-hero-main {
  padding-top: 6rem !important;
  margin: 0 !important;
}
.dpg-hero-foot {
  margin-top: 4rem !important;
  padding-top: 1rem !important;
  margin-bottom: 0 !important;
}

/* CLIENTS — source .clients */
.dpg-clients {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
}
.dpg-clients-head {
  padding-bottom: 1.5rem !important;
  margin: 0 !important;
}
.dpg-client-marquee {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* DIRECTORS — source .directors */
.dpg-directors {
  padding-top: 6rem !important;
  padding-bottom: 9rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
}
.dpg-section-head {
  padding-top: 0 !important;
  padding-bottom: 2.5rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.dpg-director-grid {
  margin-top: 4rem !important;
  margin-bottom: 0 !important;
}

/* TESTIMONIAL — source .testimonial */
.dpg-testimonial {
  min-height: clamp(26rem, 62dvh, 42rem) !important;
  padding-top: 6rem !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-bottom: 6rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  margin-top: 6rem !important;
  margin-bottom: 9rem !important;
}
.dpg-testimonial-inner {
  margin: 0 auto !important;
  gap: 2.5rem !important;
}

/* WHERE WE WORK — source .place */
.dpg-place {
  padding-top: 0 !important;
  padding-bottom: 9rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
}
.dpg-place-grid {
  margin-top: 4rem !important;
  margin-bottom: 0 !important;
}

/* INSIGHTS — source .insights */
.dpg-insights {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
}
.dpg-insights > .dpg-section-head {
  margin-bottom: 4rem !important;
}
.dpg-latest-query {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.dpg-latest-post > .dpg-post-meta {
  margin-bottom: 4rem !important;
}
.dpg-article-layout {
  margin-top: 4rem !important;
  padding-top: 4rem !important;
}
.dpg-more-head {
  margin-top: 6rem !important;
  padding-top: 2.5rem !important;
}
.dpg-more-query {
  margin-top: 1.5rem !important;
}

/* WHAT WE DO — source .capabilities */
.dpg-capabilities {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
}
.dpg-capability {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  margin: 0 !important;
}

/* FOOTER — source .foot / .foot__inner */
.dpg-footer {
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.dpg-footer-inner,
.dpg-footer:not(:has(.dpg-footer-inner)) {
  min-height: 0 !important;
  padding-top: 9rem !important;
  padding-right: clamp(1.25rem, 5vw, 5.5rem) !important;
  padding-bottom: 2.5rem !important;
  padding-left: clamp(1.25rem, 5vw, 5.5rem) !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: none !important;
  gap: 6rem !important;
  align-content: start !important;
}
.dpg-footer-line {
  margin: 0 !important;
  padding: 0 !important;
}
.dpg-footer-contact {
  margin: 0 !important;
  padding-top: 2.5rem !important;
}
.dpg-footer-meta {
  margin: 0 !important;
  padding-top: 1.5rem !important;
}

/* Gutenberg layout engines can inject margins on direct children. */
.dpg-directors > *,
.dpg-place > *,
.dpg-insights > *,
.dpg-capabilities > *,
.dpg-footer-inner > * {
  margin-block-start: 0 !important;
}

/* Original source only changes HERO bottom padding on small mobile.
   The major section spacing remains the desktop source spacing. */
@media (max-width: 40rem) {
  .dpg-hero {
    min-height: clamp(30rem, 88dvh, 46rem) !important;
  }
  .dpg-hero > .wp-block-cover__inner-container {
    min-height: clamp(30rem, 88dvh, 46rem) !important;
    padding-bottom: 2.5rem !important;
  }
}


/* ========================================================================
   v1.0.14 — interaction + editorial parity
   Directors, client rule, Canberra grid and Insights article/list styling.
   ======================================================================== */

/* 1. Directors: static build slides the track record up over the portrait. */
.dpg-director-figure{
  position:relative!important;
  overflow:hidden!important;
}
.dpg-director-placeholder{
  position:absolute!important;
  inset:0!important;
  transition:transform .5s cubic-bezier(.22,1,.36,1)!important;
}
.dpg-track-record{
  position:absolute!important;
  inset:0!important;
  margin:0!important;
  pointer-events:none!important;
}
.dpg-track-record summary{
  pointer-events:auto!important;
  z-index:4!important;
}
.dpg-track-record>ul{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  margin:0!important;
  padding:2.5rem 2rem 4.5rem!important;
  list-style:none!important;
  background:color-mix(in oklch,var(--wp--preset--color--paper) 92%,transparent)!important;
  color:var(--wp--preset--color--ink)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  transform:translateY(101%)!important;
  opacity:0!important;
  transition:
    transform .5s cubic-bezier(.22,1,.36,1),
    opacity .35s ease!important;
  pointer-events:none!important;
}
.dpg-track-record>ul li{
  padding:.8rem 0!important;
  border-bottom:1px solid var(--wp--preset--color--rule)!important;
  font-size:.95rem!important;
  line-height:1.45!important;
}
.dpg-track-record>ul li:first-child{border-top:1px solid var(--wp--preset--color--rule)!important}
.dpg-director-figure:hover .dpg-track-record>ul,
.dpg-track-record[open]>ul,
.dpg-track-record:focus-within>ul{
  transform:translateY(0)!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.dpg-director-figure:hover .dpg-director-placeholder{
  transform:scale(1.025)!important;
}
.dpg-track-record[open] summary::after,
.dpg-director-figure:hover .dpg-track-record summary::after{
  transform:rotate(45deg)!important;
}
.dpg-track-record summary::after{
  transition:transform .3s ease!important;
}

/* 2. Client underline: fixed source colour sweep, not animated. */
.dpg-liquid-rule{
  height:3px!important;
  min-height:3px!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  background:
    linear-gradient(
      90deg,
      var(--wp--preset--color--blue) 0%,
      var(--wp--preset--color--green) 52%,
      var(--wp--preset--color--orange) 100%
    )!important;
  background-size:100% 100%!important;
  animation:none!important;
}

/* 3. Where we work: first row sits 4rem below heading; second row is only
   1.5rem below the first, matching the static mosaic. */
.dpg-place>.dpg-place-grid:first-of-type{
  margin-top:4rem!important;
}
.dpg-place-grid+.dpg-place-grid{
  margin-top:1.5rem!important;
}
@media (min-width:60rem){
  .dpg-place-grid:has(.dpg-place-tall){
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:1.5rem!important;
  }
  .dpg-place-grid:has(.dpg-place-tall)>.wp-block-column:first-child{grid-column:1/span 8!important}
  .dpg-place-grid:has(.dpg-place-tall)>.wp-block-column:last-child{grid-column:9/span 4!important}

  .dpg-place-grid:has(.dpg-place-facts){
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:1.5rem!important;
  }
  .dpg-place-grid:has(.dpg-place-facts)>.wp-block-column:first-child{grid-column:1/span 7!important}
  .dpg-place-grid:has(.dpg-place-facts)>.wp-block-column:last-child{
    grid-column:8/span 5!important;
    padding-left:1.5rem!important;
  }
}

/* 4. Latest metadata: left aligned with the article title and orange Latest. */
.dpg-latest-post>.dpg-post-meta{
  justify-content:flex-start!important;
  align-items:center!important;
  gap:.75rem!important;
  color:var(--wp--preset--color--muted)!important;
  font-size:.75rem!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.dpg-latest-post>.dpg-post-meta>p:first-child{
  color:var(--wp--preset--color--orange)!important;
  margin:0!important;
}
.dpg-latest-post>.dpg-post-meta>*{margin:0!important}
@media (min-width:60rem){
  .dpg-latest-post>.dpg-post-meta{
    grid-column:1/span 7!important;
    justify-self:start!important;
    width:auto!important;
  }
}

/* 5. Article side metadata. */
.dpg-article-aside{
  display:grid!important;
  align-content:start!important;
  gap:1.5rem!important;
}
.dpg-article-meta-block{
  display:grid!important;
  gap:.25rem!important;
}
.dpg-article-meta-block>*{margin:0!important}
.dpg-article-meta-block .dpg-smallcaps{
  color:var(--wp--preset--color--muted)!important;
}
.dpg-article-meta-value{
  font-size:.875rem!important;
  line-height:1.45!important;
}
.dpg-article-meta-cta{
  margin-top:.5rem!important;
}
.dpg-article-meta-cta a,
.dpg-article-end a{
  display:inline-block!important;
  border-bottom:1px solid currentColor!important;
  padding-bottom:.2rem!important;
  font-family:var(--wp--preset--font-family--body)!important;
  font-size:.875rem!important;
  font-weight:600!important;
}

/* 6. First article typography. */
.dpg-article-content{
  max-width:58ch!important;
  font-family:var(--wp--preset--font-family--display)!important;
}
.dpg-article-content p{
  margin:0 0 1.5rem!important;
  font-size:1.18rem!important;
  line-height:1.55!important;
}
.dpg-article-content h2,
.dpg-article-content h3{
  margin:3rem 0 1rem!important;
  max-width:17ch!important;
  font-family:var(--wp--preset--font-family--display)!important;
  font-size:2rem!important;
  font-weight:500!important;
  line-height:1.02!important;
  letter-spacing:-.02em!important;
}
.dpg-article-content blockquote{
  margin:3rem 0!important;
  padding:.15rem 0 .15rem 1.5rem!important;
  border-left:2px solid var(--wp--preset--color--orange)!important;
}
.dpg-article-content blockquote p{
  max-width:18ch!important;
  margin:0!important;
  font-size:2rem!important;
  line-height:1.08!important;
}
.dpg-article-content strong{font-weight:700!important}
.dpg-article-content>p:first-of-type::first-letter{
  float:left!important;
  font-family:var(--wp--preset--font-family--display)!important;
  font-size:4.6em!important;
  line-height:.72!important;
  padding:.12em .13em 0 0!important;
}
.dpg-article-end{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:2rem!important;
  align-items:start!important;
  margin-top:4rem!important;
  padding-top:1.5rem!important;
  border-top:1px solid var(--wp--preset--color--rule)!important;
  font-family:var(--wp--preset--font-family--body)!important;
}
.dpg-article-end p{
  margin:0!important;
  font-family:var(--wp--preset--font-family--body)!important;
  font-size:.875rem!important;
}

/* 7. More insights: compact 3/9 editorial rows from the static build. */
.dpg-more-query .wp-block-post-template{
  margin:0!important;
  padding:0!important;
}
.dpg-more-query .wp-block-post{
  display:grid!important;
  grid-template-columns:minmax(0,3fr) minmax(0,9fr)!important;
  column-gap:3rem!important;
  row-gap:.5rem!important;
  align-items:start!important;
  padding:1.5rem 0!important;
  margin:0!important;
  border-top:1px solid var(--wp--preset--color--rule)!important;
}
.dpg-more-query .wp-block-post:last-child{
  border-bottom:1px solid var(--wp--preset--color--rule)!important;
}
.dpg-more-query .dpg-more-meta{
  grid-column:1!important;
  grid-row:1/span 2!important;
  display:grid!important;
  justify-items:start!important;
  gap:.55rem!important;
  color:var(--wp--preset--color--muted)!important;
}
.dpg-more-pill{
  display:inline-block!important;
  padding:.18rem .55rem!important;
  border:1px solid var(--wp--preset--color--muted)!important;
  border-radius:999px!important;
  color:var(--wp--preset--color--ink-2)!important;
  font-size:.7rem!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.dpg-more-date{
  font-size:.72rem!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.dpg-more-query .wp-block-post-title{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  font-family:var(--wp--preset--font-family--display)!important;
  font-size:1.9rem!important;
  line-height:1.05!important;
  letter-spacing:-.015em!important;
}
.dpg-more-query .wp-block-post-excerpt{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  max-width:46rem!important;
}
.dpg-more-query .wp-block-post-excerpt__excerpt{
  margin:0!important;
  font-size:1rem!important;
  line-height:1.5!important;
}

@media (max-width:40rem){
  .dpg-more-query .wp-block-post{
    grid-template-columns:1fr!important;
    gap:1rem!important;
    padding:2rem 0!important;
  }
  .dpg-more-query .dpg-more-meta,
  .dpg-more-query .wp-block-post-title,
  .dpg-more-query .wp-block-post-excerpt{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .dpg-article-end{grid-template-columns:1fr!important}
}


/* ========================================================================
   v1.0.15 — final detail parity
   ======================================================================== */

/* Directors: reveal is driven by a resettable class so the slide animation
   plays every time the pointer re-enters the card. */
.dpg-track-record>ul{
  transform:translateY(101%)!important;
  opacity:0!important;
}
.dpg-director-figure.is-revealed .dpg-track-record>ul{
  transform:translateY(0)!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.dpg-director-figure.is-revealed .dpg-director-placeholder{
  transform:scale(1.025)!important;
}
.dpg-director-figure.is-revealed .dpg-track-record summary::after{
  transform:rotate(45deg)!important;
}
/* Do not let the native open/focus state pin the desktop hover panel open. */
@media (hover:hover) and (pointer:fine){
  .dpg-track-record[open]:not(.dpg-touch-open)>ul,
  .dpg-track-record:focus-within>ul{
    transform:translateY(101%)!important;
    opacity:0!important;
  }
  .dpg-director-figure.is-revealed .dpg-track-record[open]>ul,
  .dpg-director-figure.is-revealed .dpg-track-record:focus-within>ul{
    transform:translateY(0)!important;
    opacity:1!important;
  }
}

/* Our clients rule must bleed across the full viewport section width, not
   stop at the section gutter. */
.dpg-clients>.dpg-liquid-rule{
  width:calc(100% + (2 * var(--dpg-gutter)))!important;
  max-width:none!important;
  margin-left:calc(-1 * var(--dpg-gutter))!important;
  margin-right:calc(-1 * var(--dpg-gutter))!important;
}

/* Hero: preserve a literal 4rem clear inset beneath the footer row. */
.dpg-hero>.wp-block-cover__inner-container{
  box-sizing:border-box!important;
  padding-bottom:4rem!important;
}

/* Latest metadata starts exactly on the title edge. Gutenberg's constrained
   Group otherwise auto-centres this small flex group. */
.dpg-latest-post>.dpg-post-meta{
  margin:0 0 4rem 0!important;
  margin-left:0!important;
  margin-right:0!important;
  max-width:none!important;
  width:max-content!important;
  justify-self:start!important;
  align-self:start!important;
}
@media (min-width:60rem){
  .dpg-latest-post>.dpg-post-meta{
    grid-column:1 / span 7!important;
    grid-row:1!important;
  }
  .dpg-latest-post>.dpg-post-title{
    grid-column:1 / span 7!important;
    grid-row:2!important;
  }
  .dpg-latest-post>.dpg-post-standfirst{
    grid-column:9 / -1!important;
    grid-row:2!important;
  }
  .dpg-latest-post>.dpg-article-layout{
    grid-row:3!important;
  }
}

/* Give the metadata rail a little more breathing room before the article. */
@media (min-width:60rem){
  .dpg-article-layout{
    display:grid!important;
    grid-template-columns:minmax(0,3fr) minmax(0,9fr)!important;
    column-gap:5rem!important;
  }
}
.dpg-article-aside{
  min-width:0!important;
}
.dpg-article-meta-value{
  max-width:18rem!important;
}

/* Quote in the source is left-rule only. Reset every other border edge that
   core/quote or theme.json may add. */
.dpg-article-content blockquote,
.dpg-article-content .wp-block-quote{
  border:0!important;
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:2px solid var(--wp--preset--color--orange)!important;
  border-radius:0!important;
  padding:.15rem 0 .15rem 1.5rem!important;
}

/* More insights: source header and rows share one clean editorial grid. */
.dpg-more-head{
  align-items:end!important;
  padding-bottom:1.5rem!important;
}
.dpg-more-head h3,
.dpg-more-head p{
  margin-top:0!important;
  margin-bottom:0!important;
}
.dpg-more-query{
  margin-top:0!important;
}
.dpg-more-query .wp-block-post{
  grid-template-columns:minmax(0,3fr) minmax(0,9fr)!important;
  column-gap:3rem!important;
  padding:1.5rem 0!important;
}
.dpg-more-query .wp-block-post-title{
  font-size:1.85rem!important;
  line-height:1.08!important;
}
.dpg-more-query .wp-block-post-excerpt__excerpt{
  max-width:42rem!important;
  color:var(--wp--preset--color--ink-2)!important;
}


/* ========================================================================
   v1.0.16 — repeated director hover + Insights container parity
   ======================================================================== */

/* Requested global separator behaviour. */
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  width: 100% !important;
}

/* Director desktop hover:
   keep Details content rendered and use only the parent reveal class to move it.
   This allows the transition to replay every single hover. */
@media (hover:hover) and (pointer:fine){
  .dpg-director-figure .dpg-track-record{
    pointer-events:none!important;
  }

  .dpg-director-figure .dpg-track-record > ul,
  .dpg-director-figure .dpg-track-record[open] > ul,
  .dpg-director-figure .dpg-track-record:focus-within > ul{
    display:block!important;
    transform:translateY(101%)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:
      transform .5s cubic-bezier(.22,1,.36,1),
      opacity .3s ease!important;
  }

  .dpg-director-figure.is-revealed .dpg-track-record > ul,
  .dpg-director-figure.is-revealed .dpg-track-record[open] > ul,
  .dpg-director-figure.is-revealed .dpg-track-record:focus-within > ul{
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .dpg-director-figure .dpg-track-record summary{
    pointer-events:auto!important;
  }
}

/* Remove Gutenberg constrained-layout inset from Insights internals.
   The section itself already owns the site gutter. */
.dpg-insights .dpg-latest-query,
.dpg-insights .dpg-latest-query > .wp-block-post-template,
.dpg-insights .dpg-latest-post,
.dpg-insights .dpg-more-head,
.dpg-insights .dpg-more-query,
.dpg-insights .dpg-more-query > .wp-block-post-template{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* WordPress applies content-size auto margins to children of constrained groups. */
.dpg-insights .dpg-latest-post > *,
.dpg-insights .dpg-more-query .wp-block-post-template > *,
.dpg-insights .dpg-more-query .wp-block-post{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Keep latest/meta/title aligned to the same left edge as the section heading. */
.dpg-latest-post{
  justify-items:stretch!important;
}
.dpg-latest-post > .dpg-post-meta{
  justify-self:start!important;
  margin-left:0!important;
}
.dpg-latest-post > .dpg-post-title{
  justify-self:start!important;
  margin-left:0!important;
}

/* More Insights rows must begin at the same site gutter, not an inner content width. */
.dpg-more-query .wp-block-post-template{
  padding-inline-start:0!important;
}
.dpg-more-query .wp-block-post{
  width:100%!important;
}


/* ========================================================================
   v1.0.17 — final desktop details + mobile parity
   ======================================================================== */

/* DIRECTORS -------------------------------------------------------------- */
.dpg-director-grid{
  border-top:1px solid var(--wp--preset--color--rule)!important;
  padding-top:3rem!important;
}
.dpg-director-figure{
  position:relative!important;
  overflow:hidden!important;
}
.dpg-track-record summary{
  display:grid!important;
  position:absolute!important;
  right:1rem!important;
  bottom:1rem!important;
  z-index:8!important;
  width:2.5rem!important;
  height:2.5rem!important;
  min-width:2.5rem!important;
  min-height:2.5rem!important;
  margin:0!important;
  padding:0!important;
  place-items:center!important;
  list-style:none!important;
  border:1px solid var(--wp--preset--color--ink)!important;
  border-radius:50%!important;
  background:color-mix(in oklch,var(--wp--preset--color--paper) 88%,transparent)!important;
  color:transparent!important;
  font-size:0!important;
  line-height:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.dpg-track-record summary::-webkit-details-marker{display:none!important}
.dpg-track-record summary::marker{content:""!important}
.dpg-track-record summary::after{
  content:"+"!important;
  display:block!important;
  color:var(--wp--preset--color--ink)!important;
  font-family:var(--wp--preset--font-family--body)!important;
  font-size:1.05rem!important;
  font-weight:400!important;
  line-height:1!important;
  transform:none!important;
  transition:transform .3s ease!important;
}
@media (hover:hover) and (pointer:fine){
  .dpg-director-figure .dpg-track-record>ul,
  .dpg-director-figure .dpg-track-record[open]>ul,
  .dpg-director-figure .dpg-track-record:focus-within>ul{
    display:block!important;
    transform:translateY(101%)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s ease!important;
  }
  .dpg-director-figure:hover .dpg-track-record>ul,
  .dpg-director-figure:hover .dpg-track-record[open]>ul,
  .dpg-director-figure:hover .dpg-track-record:focus-within>ul{
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .dpg-director-figure:hover .dpg-director-placeholder{transform:scale(1.025)!important}
  .dpg-director-figure:hover .dpg-track-record summary::after{transform:rotate(45deg)!important}
}

/* WHERE WE WORK ---------------------------------------------------------- */
.dpg-place-grid+.dpg-place-grid{margin-top:1.5rem!important}
@media (min-width:60rem){
  .dpg-place-grid:has(.dpg-place-tall){
    display:grid!important;
    grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;
    gap:1.5rem!important;
    align-items:stretch!important;
  }
  .dpg-place-grid:has(.dpg-place-tall)>.wp-block-column{
    grid-column:auto!important;
    min-width:0!important;
    align-self:stretch!important;
  }
  .dpg-place-grid:has(.dpg-place-tall) .dpg-place-cover{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
  .dpg-place-grid:has(.dpg-place-tall) .dpg-place-cover:not(.dpg-place-tall){
    aspect-ratio:auto!important;
  }
  .dpg-place-grid:has(.dpg-place-tall) .dpg-place-tall{
    aspect-ratio:3/4!important;
  }

  .dpg-place-grid:has(.dpg-place-facts){
    display:grid!important;
    grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important;
    gap:1.5rem!important;
    align-items:stretch!important;
  }
  .dpg-place-grid:has(.dpg-place-facts)>.wp-block-column{
    grid-column:auto!important;
    min-width:0!important;
  }
  .dpg-place-grid:has(.dpg-place-facts)>.wp-block-column:last-child{
    padding-left:1.5rem!important;
  }
}
.dpg-place-facts{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.dpg-place-fact{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:1.5rem 0!important;
  text-align:left!important;
  border-top:1px solid var(--wp--preset--color--rule)!important;
}
.dpg-place-fact:last-child{border-bottom:1px solid var(--wp--preset--color--rule)!important}
.dpg-place-fact>*{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}

/* MOBILE NAV ------------------------------------------------------------- */
.dpg-mobile-nav-contact,
.dpg-mobile-nav-detail{display:none!important}

@media (max-width:59.99rem){
  .dpg-site-header{
    padding:1.25rem var(--dpg-gutter)!important;
  }
  .dpg-site-header .dpg-nav-cta{display:none!important}

  .dpg-site-header .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center!important;
    gap:.55rem!important;
    padding:0!important;
    font-size:0!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container-open::before{
    content:"Menu";
    display:block;
    font-family:var(--wp--preset--font-family--body)!important;
    font-size:1rem!important;
    font-weight:600!important;
    line-height:1!important;
  }

  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    z-index:99999!important;
    display:block!important;
    padding:0!important;
    background:var(--wp--preset--color--paper)!important;
    color:var(--wp--preset--color--ink)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open::before{
    content:"";
    display:block;
    height:5.75rem;
    border-bottom:1px solid var(--wp--preset--color--rule);
  }

  .dpg-site-header .wp-block-navigation__responsive-container-close{
    top:2rem!important;
    right:var(--dpg-gutter)!important;
    width:auto!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:.65rem!important;
    padding:0!important;
    color:var(--wp--preset--color--ink)!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container-close::before{
    content:"Menu";
    font-family:var(--wp--preset--font-family--body)!important;
    font-size:1rem!important;
    font-weight:600!important;
    line-height:1!important;
  }

  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    padding:clamp(16rem,33vh,28rem) var(--dpg-gutter) 3rem!important;
    box-sizing:border-box!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    display:block!important;
    width:100%!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid var(--wp--preset--color--rule)!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    display:block!important;
    width:100%!important;
    padding:1rem 0!important;
    font-family:var(--wp--preset--font-family--display)!important;
    font-size:clamp(2.25rem,9vw,3.4rem)!important;
    font-weight:400!important;
    line-height:1.05!important;
    text-decoration:none!important;
  }

  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .dpg-mobile-nav-contact{
    display:block!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .dpg-mobile-nav-detail{
    display:block!important;
    border-bottom:0!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .dpg-mobile-nav-address{
    margin-top:2.5rem!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .dpg-mobile-nav-detail .wp-block-navigation-item__content{
    padding:.15rem 0!important;
    font-family:var(--wp--preset--font-family--body)!important;
    font-size:1rem!important;
    font-weight:400!important;
    line-height:1.45!important;
    color:var(--wp--preset--color--muted)!important;
  }
  .dpg-site-header .wp-block-navigation__responsive-container.is-menu-open .dpg-mobile-nav-email .wp-block-navigation-item__content{
    text-decoration:underline!important;
    text-underline-offset:.15em!important;
  }
}

/* MOBILE PAGE LAYOUT ----------------------------------------------------- */
@media (max-width:40rem){
  :root{--dpg-gutter:1.25rem!important}

  /* Hero: one-column source layout and sane viewport height. */
  .dpg-hero{
    min-height:100svh!important;
  }
  .dpg-hero>.wp-block-cover__inner-container{
    min-height:100svh!important;
    padding:6.25rem var(--dpg-gutter) 2.5rem!important;
    display:grid!important;
    grid-template-rows:1fr auto!important;
  }
  .dpg-hero-main{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1.5rem!important;
    align-self:end!important;
    padding-top:4rem!important;
  }
  .dpg-hero-main>.wp-block-column{
    flex-basis:auto!important;
    width:100%!important;
  }
  .dpg-hero-title{
    max-width:10ch!important;
    margin:0!important;
    font-size:clamp(2.8rem,13vw,4.25rem)!important;
    line-height:.94!important;
  }
  .dpg-hero-lede{
    max-width:31ch!important;
    margin:0!important;
    font-size:1rem!important;
    line-height:1.45!important;
  }
  .dpg-hero-foot{
    margin-top:2.5rem!important;
    padding-top:1rem!important;
  }

  /* Section headings and grids should never inherit desktop flex widths. */
  .dpg-section-head,
  .dpg-director-grid,
  .dpg-place-grid,
  .dpg-article-layout,
  .dpg-capability{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .dpg-section-head>.wp-block-column,
  .dpg-director-grid>.wp-block-column,
  .dpg-place-grid>.wp-block-column,
  .dpg-article-layout>.wp-block-column,
  .dpg-capability>.wp-block-column{
    width:100%!important;
    min-width:0!important;
    flex-basis:auto!important;
    grid-column:1!important;
    padding-left:0!important;
  }

  /* Directors */
  .dpg-director-grid{
    gap:3rem!important;
    margin-top:2.5rem!important;
    padding-top:2rem!important;
  }
  .dpg-director-figure{
    width:100%!important;
    aspect-ratio:3/4!important;
  }
  .dpg-track-record summary{
    right:.85rem!important;
    bottom:.85rem!important;
  }

  /* Canberra images stack full-width and keep a consistent 3:2 crop. */
  .dpg-place>.dpg-place-grid:first-of-type{margin-top:2.5rem!important}
  .dpg-place-grid,
  .dpg-place-grid+.dpg-place-grid{
    gap:1rem!important;
    margin-top:1rem!important;
  }
  .dpg-place-grid .dpg-place-cover,
  .dpg-place-grid .dpg-place-tall{
    width:100%!important;
    height:auto!important;
    aspect-ratio:3/2!important;
    min-height:0!important;
  }
  .dpg-place-facts{margin-top:.5rem!important}

  /* Insights featured story */
  .dpg-insights{
    padding-left:var(--dpg-gutter)!important;
    padding-right:var(--dpg-gutter)!important;
  }
  .dpg-insights>.dpg-section-head{
    margin-bottom:2.5rem!important;
  }
  .dpg-latest-post{
    display:block!important;
    width:100%!important;
  }
  .dpg-latest-post>.dpg-post-meta{
    width:100%!important;
    margin:0 0 2rem!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:.5rem .75rem!important;
  }
  .dpg-latest-post>.dpg-post-title{
    width:100%!important;
    max-width:none!important;
    margin:0 0 1.5rem!important;
    font-size:clamp(2.6rem,12vw,4rem)!important;
    line-height:.96!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .dpg-latest-post>.dpg-post-standfirst{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:1.25rem!important;
    line-height:1.35!important;
  }
  .dpg-article-layout{
    gap:2.5rem!important;
    margin-top:2.5rem!important;
    padding-top:2.5rem!important;
  }
  .dpg-article-content{
    width:100%!important;
    max-width:none!important;
  }

  /* More insights: override the later desktop 3/9 rule completely. */
  .dpg-more-head{
    display:block!important;
    width:100%!important;
    margin-top:4rem!important;
    padding-top:2rem!important;
    padding-bottom:1.5rem!important;
  }
  .dpg-more-head h3{
    margin:0 0 1.25rem!important;
    font-size:clamp(1.7rem,8vw,2.25rem)!important;
  }
  .dpg-more-query,
  .dpg-more-query .wp-block-post-template{
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }
  .dpg-more-query .wp-block-post{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    padding:1.75rem 0!important;
    margin:0!important;
  }
  .dpg-more-query .dpg-more-meta,
  .dpg-more-query .wp-block-post-title,
  .dpg-more-query .wp-block-post-excerpt{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .dpg-more-query .dpg-more-meta{
    margin-bottom:1.25rem!important;
  }
  .dpg-more-query .wp-block-post-title{
    margin:0 0 .75rem!important;
    font-size:clamp(1.8rem,9vw,2.45rem)!important;
    line-height:1.04!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .dpg-more-query .wp-block-post-excerpt{
    margin:0!important;
  }
  .dpg-more-query .wp-block-post-excerpt__excerpt{
    width:100%!important;
    max-width:none!important;
    font-size:1rem!important;
    line-height:1.5!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Footer stacks naturally on phone. */
  .dpg-footer-contact{
    grid-template-columns:1fr!important;
  }
}
