:root {
	--di-content-width: 1200px;
	--di-gutter: clamp(1rem, 4vw, 3rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #171613; }
body { margin: 0; }
img, svg, video { display: block; max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.site-header, .site-footer { padding-inline: var(--di-gutter); }
.site-main > .entry-content:not(:has(> [class])) { width: min(var(--di-content-width), calc(100% - 2 * var(--di-gutter))); margin-inline: auto; }
.site-navigation ul { display: flex; flex-wrap: wrap; gap: 1rem; padding: 0; margin: 0; list-style: none; }


.di-site-information{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1.5rem;padding-block:1.5rem}.di-site-information-item{display:flex;flex-direction:column;gap:.4rem}.di-site-information-label{font-weight:600}.di-site-information-logo{max-width:220px;max-height:110px;width:auto;height:auto;object-fit:contain;object-position:left center}

/* Shared navigation stays visible while page content enters and leaves. */
body > header.header, body > header.site-header {
 position: sticky; top: var(--di-navigation-offset, 0px); z-index: 1000;
 isolation: isolate; background-color: var(--ink, #171613);
}
html { scroll-padding-top: calc(var(--di-navigation-offset, 0px) + 120px); }
@view-transition { navigation: auto; }
@media (prefers-reduced-motion: no-preference) {
 body > header.header, body > header.site-header { view-transition-name: di-navigation; }
 body > .notice { view-transition-name: di-utility; }
 /* Keep utility above content and header throughout the document handoff. */
 ::view-transition-group(di-utility) { animation: none; top: var(--di-navigation-offset, 0px); left: 0; transform: none; z-index: 3; }
 ::view-transition-old(di-utility),
 ::view-transition-new(di-utility) { animation: none; opacity: 1; mix-blend-mode: normal; }
 ::view-transition-group(di-navigation) { animation: none; top: var(--di-navigation-snapshot-top, 0px); left: var(--di-navigation-snapshot-left, 0px); width: var(--di-navigation-snapshot-width, 100%); height: var(--di-navigation-snapshot-height, auto); transform: none; z-index: 2; }
 ::view-transition-old(di-navigation) { animation: none; opacity: 1; mix-blend-mode: normal; }
 ::view-transition-new(di-navigation) { animation: none; opacity: 1; mix-blend-mode: normal; }
 ::view-transition-old(root) { animation: di-page-out 160ms cubic-bezier(0.4, 0, 0.2, 1) both; }
 ::view-transition-new(root) { animation: di-page-in 360ms ease-out both; }
}
@keyframes di-page-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes di-page-out { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
 @view-transition { navigation: none; }
 html { scroll-behavior: auto; }
}

/* Restore an offscreen utility before capture; keep its named snapshot alive. */
body > .notice.di-navigation-outro-utility { view-transition-name: di-utility; position: fixed; top: var(--di-navigation-offset, 0px); left: 0; width: 100%; z-index: 1001; pointer-events: none; }

/* The clone owns the utility snapshot until pageshow restores the real bar. */
html.di-navigation-handoff body > .notice:not(.di-navigation-outro-utility) { visibility: hidden; view-transition-name: none; }

/* Rich-text paragraphs inherit the testimonial width instead of the body-copy cap. */
.quote-feature blockquote > p { max-width: none; margin-inline: auto; }
.quote-feature blockquote > p + p { margin-top: .6em; }

/* Strengthen chapter labels and keep disclosure icons independent of text glyphs. */
.chapter-number { font-weight: 900; }
.header .nav-group > summary::after,
body .faq > summary::after {
 content: "";
 display: inline-block;
 flex: 0 0 10px;
 width: 10px;
 height: 10px;
 color: var(--gold, #c49a45);
 background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
             linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
}
.header .nav-group[open] > summary::after,
body .faq[open] > summary::after {
 content: "";
 background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
}

/* FAQ toggles share the same drawn marks as navigation disclosures. */
body .faq > summary::after {
 flex-basis: 12px;
 width: 12px;
 height: 12px;
 align-self: center;
 color: #8b671f;
}

/* Gold labels on paper need a darker shade at small text sizes. */
.offer-grid .chapter-number, .service-rows .chapter-number { color: #80601e; }
.dark-section .service-rows .chapter-number { color: #c49a45; }
/* Keep the native password visibility control easy to tap. */
body .di-client-portal form.woocommerce-form-login .woocommerce-form-row .show-password-input {
 width: 44px; height: 44px; min-width: 44px; min-height: 44px;
 padding: 0; top: 50%; right: 4px; transform: translateY(-50%);
 display: grid; place-items: center;
}
body .di-client-portal .password-input input { padding-right: 52px; }



/* Navigation stays stationary; only page content participates in entry fades. */
body > header.header, body > header.site-header, body > .notice { animation: none; }

/* Form first in the reading order; retain the partner column on wide screens. */
.contact-grid > .di-contact-inquiry { grid-column: 2; grid-row: 1; min-width: 0; }
.contact-grid > .di-contact-partner { grid-column: 1; grid-row: 1; min-width: 0; }
@media (max-width: 950px) {
 .contact-grid > .di-contact-inquiry { grid-column: 1; grid-row: 1; }
 .contact-grid > .di-contact-partner { grid-column: 1; grid-row: 2; }
}
