/* Shared palette, distinct compositions. Restrained motion respects system preferences. */
body .button,body .button:not(.secondary),body .align-cta,body .portal,body .header-contact,body .button.primary{background:linear-gradient(120deg,#4cb8c51c,#aad88714)!important;border:1px solid #addd9b99!important;color:#e4f6d6!important;box-shadow:inset 0 1px #d4f6dd18,0 5px 22px #00101b44!important;backdrop-filter:blur(10px);transition:background .3s,transform .3s,box-shadow .3s}
body .button:hover,body .button:not(.secondary):hover,body .align-cta:hover,body .portal:hover{background:linear-gradient(120deg,#3ea9bd38,#a4d7822b)!important;box-shadow:0 0 26px #5ebbad25!important;transform:translateY(-2px)}
body .align-cta small{color:#d4e6db}.button:focus-visible,.portal:focus-visible{outline:2px solid #cef5aa;outline-offset:5px}
body header .brand img{width:64px!important;height:64px!important;max-height:none;object-fit:contain;flex-shrink:0}body header .brand small{letter-spacing:.06em;line-height:1.45}body header .brand span{line-height:1.15}
body[data-firm="dja"] .brand-intro .brand-emblem-stage{width:min(88vw,510px)!important;max-width:510px!important;margin:0 auto 12px!important;padding:0}
body[data-firm="dja"] .brand-intro .brand-emblem-stage img{width:min(88vw,510px)!important;max-width:100%!important;height:auto;animation:premium-mark-drift 8s ease-in-out infinite!important;transform-origin:center}
body[data-firm="dja"] .brand-intro{padding-top:30px;padding-bottom:64px}
body[data-firm="dja"] .brand-center .strategy-brand-name{font:600 clamp(36px,4.5vw,60px)/1.08 Georgia,serif;letter-spacing:-.04em;margin:0 0 12px;color:#f0f4f0;border:0!important;text-decoration:none!important}
body[data-firm="dja"] .strategy-brand-name::after{display:none!important}
body[data-firm="dja"] .brand-center .brand-service-line{font-size:clamp(13px,1.4vw,17px)!important;letter-spacing:.11em!important;line-height:1.6;color:#b5d8e6!important}
body main h1,body main h2{filter:drop-shadow(0 2px 12px #72b3c21c)}
body main .title-accent,body .headline-glow em{background-image:linear-gradient(110deg,#d3eebe 10%,#b1e69a 30%,#73d7df 55%,#c3ecb6 80%)!important;background-size:240% 100%!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;animation:premium-type-flow 14s ease-in-out infinite!important}
body .strategy-headline{color:#e6eff4!important;background:none!important;-webkit-text-fill-color:initial!important}
body[data-firm="agp"] .hero-wordmark .wordmark-glow{font-weight:600;letter-spacing:.035em}
body .institution-section>.eyebrow,body .priority-heading>.eyebrow{display:flex;align-items:center;gap:13px}
body .institution-section>.eyebrow::before,body .priority-heading>.eyebrow::before{content:"";width:24px;height:3px;background:linear-gradient(90deg,#80d8e4,#badc83);box-shadow:0 0 10px #89d9d03d}
body[data-firm="dja"]{background-image:radial-gradient(ellipse at 5% 20%,#147aad38,transparent 43%),radial-gradient(ellipse at 94% 63%,#65b68b2b,transparent 44%),linear-gradient(145deg,#05192e,#0b273b 54%,#06172a)}
body[data-firm="agp"]{background-image:radial-gradient(ellipse at 90% 8%,#0c9d944d,transparent 45%),radial-gradient(ellipse at 8% 65%,#1873bc3d,transparent 45%),linear-gradient(125deg,#041728,#092635 55%,#061529)}
.strategy-architecture{max-width:1200px;margin:30px auto 60px;padding:48px 34px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:5%;background:radial-gradient(ellipse at 72% 50%,#0879a529,transparent 66%);border-top:1px solid #81b9c333;border-bottom:1px solid #81b9c333}
.strategy-architecture h2{font:400 clamp(32px,4vw,52px)/1.13 Georgia,serif;letter-spacing:-.03em;margin:16px 0 22px}.strategy-architecture p{color:#bed1dd;line-height:1.8}.strategy-architecture .eyebrow{color:#bfdf9e;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.architecture-stage{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0}.architecture-stage::before{content:"";position:absolute;inset:15%;background:radial-gradient(ellipse,#44bbbc30,transparent 70%);filter:blur(26px);animation:architecture-breathe 7s ease-in-out infinite}.architecture-stage img{position:relative;display:block;width:100%;height:auto;filter:drop-shadow(0 12px 35px #167dae44);animation:architecture-drift 9s ease-in-out infinite}.architecture-points{display:flex;flex-wrap:wrap;gap:14px 24px;margin:24px 0;color:#bee3a2;font-size:14px}.architecture-points span{border-bottom:1px solid #83d1c44d;padding-bottom:6px}
@keyframes premium-type-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes premium-mark-drift{0%,100%{transform:translateY(0);filter:drop-shadow(0 0 20px #26aecd35)}50%{transform:translateY(-8px);filter:drop-shadow(0 0 30px #52c9ca50)}}
@keyframes architecture-drift{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes architecture-breathe{0%,100%{opacity:.45;transform:scale(.95)}50%{opacity:.9;transform:scale(1.08)}}
@media(max-width:760px){body header .brand img{width:48px!important;height:48px!important}body[data-firm="dja"] .brand-intro .brand-emblem-stage,body[data-firm="dja"] .brand-intro .brand-emblem-stage img{width:min(85vw,380px)!important}body[data-firm="dja"] .brand-center .strategy-brand-name{font-size:39px}body[data-firm="dja"] .brand-intro{padding-top:22px}.strategy-architecture{grid-template-columns:1fr;padding:32px 24px;gap:16px}.architecture-stage{grid-row:1;max-width:480px;width:100%;margin:auto}}
@media(prefers-reduced-motion:reduce){body main .title-accent,body .headline-glow em,body[data-firm="dja"] .brand-intro .brand-emblem-stage img,.architecture-stage img,.architecture-stage::before{animation:none!important;transform:none!important}body .button:hover{transform:none}}
@media(forced-colors:active){body main .title-accent,body .headline-glow em{background:none!important;-webkit-text-fill-color:CanvasText!important;color:CanvasText!important}}
