/* Quiet, progressively enhanced carousels; content stays available without JS. */
html body .dmg-carousel { min-width:0; max-width:100%; }
html body .dmg-carousel .dmg-track { display:flex!important; grid-template-columns:none!important; gap:16px!important; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.dmg-track::-webkit-scrollbar { display:none; }
html body .dmg-carousel .dmg-track>article { flex:0 0 calc((100% - 32px)/3); scroll-snap-align:start; opacity:1!important; transform:none!important; visibility:visible!important; min-width:0; }
html body .principles-section .dmg-carousel { width:min(calc(100% - 48px),1200px); margin:auto; }
html body .principles-section .dmg-track { width:100%; margin:0; }
html body .principles-section .dmg-track>article { flex-basis:calc((100% - 16px)/2); }
html body #atuacao .dmg-track .practice-card { padding:24px!important; }
html body #atuacao .dmg-track .practice-card p { font-size:1rem!important; line-height:1.6!important; }
html body #atuacao .dmg-track .practice-card h3 { line-height:1.25!important; }
.dmg-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding:16px 0 6px; }
.dmg-controls button { border:1px solid currentColor; border-radius:50%; background:transparent; color:inherit; min-width:44px; height:44px; cursor:pointer; font:inherit; transition:background .2s; }
.dmg-controls button:hover { background:rgba(128,128,128,.12); }
.dmg-controls button:focus-visible,.dmg-track:focus-visible { outline:2px solid #9a783a; outline-offset:4px; }
.dmg-controls .dmg-pause { border-radius:4px; padding:0 14px; font-size:.875rem; }
.dmg-count { font-size:.875rem; font-variant-numeric:tabular-nums; margin-right:auto; }
html body .office-section .office-grid { align-items:start; }
html body .office-section .office-copy>p { margin:0 0 20px; font-size:1rem; line-height:1.8; }
html body .office-section h2 { line-height:1.18; }
@media(max-width:900px) { html body .dmg-carousel .dmg-track>article { flex-basis:calc((100% - 16px)/2); } }
@media(max-width:600px) { html body .dmg-carousel .dmg-track>article,html body .principles-section .dmg-track>article { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { html body .dmg-track { scroll-behavior:auto!important; } html body .reveal { opacity:1!important; transform:none!important; transition:none!important; } }
/* Consistent alignment and predictable carousel dimensions on every route. */
html body main p,
html body main address,
html body main .office-copy,
html body main .lp-info-copy,
html body .site-footer p { text-align:left!important; text-align-last:auto!important; word-spacing:normal!important; }
html body main h2,html body main h3 { text-align:left; word-break:normal; overflow-wrap:break-word; hyphens:none; line-height:1.25; }
html body .hero-main .hero-intro,html body .hero-main .hero-note { text-align:center!important; }
html body .dmg-carousel .dmg-track { width:100%!important; max-width:100%!important; min-width:0!important; flex-wrap:nowrap!important; justify-content:flex-start!important; position:relative; }
html body .dmg-carousel .dmg-track>article { box-sizing:border-box!important; max-width:none!important; margin:0!important; }
html body .office-section .office-grid>div { min-width:0; }
html body .office-section .dmg-carousel { margin-top:28px; }
html body .office-section .office-values.dmg-track { margin:0!important; border:0!important; gap:16px!important; }
html body .office-section .office-values.dmg-track>.office-value { flex:0 0 100%!important; display:flex!important; flex-direction:column; justify-content:center; align-items:flex-start; min-height:164px; padding:24px!important; border:1px solid rgba(70,60,40,.22)!important; border-radius:4px; background:rgba(255,255,255,.22); cursor:default; }
html body .office-section .office-value h3 { margin:0 0 12px; font-size:1.35rem; line-height:1.3; text-align:left!important; }
html body .office-section .office-value p { margin:0; font-size:1rem; line-height:1.6; }
html body .lp-services .dmg-track>.lp-service { text-align:left!important; }
html body .lp-services .dmg-track>.lp-service h3 { line-height:1.3!important; }
html body .lp-services .dmg-track>.lp-service p { font-size:1rem!important; line-height:1.65!important; }
/* DMG signature: emerald focal card, fine gold rule, softly recessed neighbors. */
html body .dmg-featured { position:relative; padding-top:12px; }
html body .dmg-featured .dmg-track { display:grid!important; grid-template-columns:minmax(0,1fr)!important; overflow:hidden!important; gap:0!important; padding:20px 0 28px!important; scroll-snap-type:none; touch-action:pan-y; }
html body .dmg-featured .dmg-track>article { grid-area:1/1; width:58%!important; max-width:560px!important; min-width:0!important; justify-self:center; align-self:stretch; margin:0!important; padding:30px!important; display:flex!important; flex-direction:column; align-items:flex-start; justify-content:center; gap:16px; border:1px solid rgba(165,139,80,.25)!important; border-radius:18px!important; background:#f2eee5!important; color:#173d33!important; box-shadow:none; transition:transform .45s ease,opacity .45s ease,filter .45s ease,background .45s ease!important; }
html body .dmg-featured .dmg-track>article.is-current { opacity:1!important; transform:translateX(0) scale(1)!important; filter:none; z-index:3; background:linear-gradient(135deg,#123e34,#1b5143)!important; color:#fff!important; box-shadow:0 16px 30px rgba(15,50,40,.12); border-top:3px solid #c3a15b!important; }
html body .dmg-featured .dmg-track>article.is-before { transform:translateX(-82%) scale(.88)!important; opacity:.38!important; filter:blur(1px); z-index:1; }
html body .dmg-featured .dmg-track>article.is-after { transform:translateX(82%) scale(.88)!important; opacity:.38!important; filter:blur(1px); z-index:1; }
html body .dmg-featured .dmg-track>article.is-away { opacity:0!important; visibility:hidden!important; transform:scale(.8)!important; pointer-events:none; }
html body .dmg-featured .dmg-track>article h2,html body .dmg-featured .dmg-track>article h3 { color:inherit!important; text-align:left!important; margin:0 0 12px!important; font-size:clamp(1.25rem,2vw,1.75rem)!important; line-height:1.3!important; }
html body .dmg-featured .dmg-track>article p { color:inherit!important; text-align:left!important; margin:0!important; font-size:1rem!important; line-height:1.65!important; }
html body .dmg-featured .dmg-track>article.is-current small,html body .dmg-featured .dmg-track>article.is-current .practice-top,html body .dmg-featured .dmg-track>article.is-current>span { color:#e1c481!important; }
html body .dmg-featured .practice-top { flex-direction:row!important; gap:12px!important; }
html body .dmg-featured .dmg-controls { justify-content:space-between; gap:16px; padding:4px 0 12px; }
.dmg-dots { display:flex; flex-wrap:wrap; justify-content:center; gap:2px; }
html body .dmg-dots button { width:28px; min-width:28px; height:36px; border:0; position:relative; background:transparent; }
.dmg-dots button::after { content:''; position:absolute; width:7px; height:7px; border-radius:50%; background:#bcc7bf; left:50%; top:50%; transform:translate(-50%,-50%); transition:width .3s,background .3s; }
.dmg-dots button[aria-current="true"]::after { width:19px; border-radius:5px; background:#a5843e; }
html body .office-section .dmg-featured .dmg-track>.office-value { width:88%!important; min-height:200px; }
@media(max-width:600px) { html body .dmg-featured .dmg-track>article { width:84%!important; padding:24px!important; border-radius:12px!important; } html body .office-section .dmg-featured .dmg-track>.office-value { width:88%!important; } }
@media(prefers-reduced-motion:reduce) { html body .dmg-featured .dmg-track>article { transition:none!important; } }
html body .office-section .office-values.dmg-track>.office-value.is-current { background:linear-gradient(135deg,#123e34,#1b5143)!important; color:#fff!important; border-top:3px solid #c3a15b!important; }
