/* Jager's Design: sitewide shared components, 2026-10-09.
   Existing artwork, pricing copy, commerce bindings and forms are preserved. */
html:has(body.jd-sitewide){min-height:100%;background:#020913}
body.jd-sitewide{margin:0;min-width:0;color:#edf3f8}
body.jd-sitewide .jd-universal-shell{box-sizing:border-box;display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;max-width:none!important;min-height:100svh!important;margin:0!important;padding:0!important;border:0!important;isolation:isolate}
body.jd-sitewide .jd-universal-shell>.jd-brand-header{flex:none;width:auto;margin:0 clamp(22px,3vw,48px);padding-top:14px}
body.jd-sitewide .jd-universal-shell>.jd-brand-footer{display:block!important;position:relative!important;flex:none;width:100%!important;margin:0!important;inset:auto!important;grid-column:1/-1;align-self:stretch}
body.jd-sitewide .jd-universal-shell>.jd-universal-content{flex:1 1 auto;min-width:0;min-height:0}
body.jd-sitewide :is(.navigation-1,.navigation-2,.navigation-3,.navigation-4,.jd-retired-page-rebuild,.jd-retired-footer,.jd-shell-retired-footer){display:none!important}
body.jd-sitewide .jd-brand-header{overflow:visible!important;z-index:150}
body.jd-sitewide .jd-brand-header__identity{min-width:0}
body.jd-sitewide .jd-brand-header__name{min-width:0}
body.jd-sitewide .jd-brand-header__name>span{white-space:normal}
body.jd-sitewide .jd-brand-footer{overflow:visible;z-index:30}
body.jd-sitewide .jd-brand-footer__statement{min-width:0}
body.jd-sitewide .jd-brand-footer__customer a{overflow-wrap:anywhere}
/* The About-page brand gradient: apply only to identity, never prices or prose. */
body.jd-sitewide :is(.gradient-text,.jd-brand-gradient,.jd-brand-header__name>span,.jd-brand-footer__name){color:#a8dfff!important;background-image:linear-gradient(45deg,#8b5cf6,#ffa500,#ffff00,#00ff00,#00ffff,#0080ff,#8000ff)!important;background-size:400% 400%!important;background-repeat:no-repeat!important;background-position:0% 50%;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;animation:jdBrandGradientFlow 8s ease-in-out infinite!important}
@keyframes jdBrandGradientFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* Shared header/footer: the same color sweep as the original working identity.
   Use a unique animation name and leave background-position free of !important.
   This is an explicitly requested color-only effect: no moving/resizing text. */
body.jd-sitewide :is(.jd-brand-header__name>span,.jd-brand-footer__name){background-image:linear-gradient(90deg,#8b5cf6 0%,#ffa500 14%,#ffff00 28%,#00ff00 42%,#00ffff 57%,#0080ff 71%,#8000ff 86%,#8b5cf6 100%)!important;background-color:transparent!important;background-size:500% 100%!important;background-repeat:no-repeat!important;background-position:0% 50%;animation:jdSharedIdentityColorFlow 8s ease-in-out infinite!important;animation-play-state:running!important}
@keyframes jdSharedIdentityColorFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* Reusable short amber rule from About, without changing heading wording. */
body.jd-sitewide .jd-heading-rule::after{content:'';display:block;width:54px;height:2px;margin:11px 0 0;background:#f3a03d;box-shadow:0 0 8px rgba(243,160,61,.32)}
body.jd-sitewide .text-center>.jd-heading-rule::after,body.jd-sitewide .jd-heading-rule.text-center::after{margin-left:auto;margin-right:auto}
/* Full desktop shell, with long content contained between header and footer. */
@media(min-width:1001px) and (min-height:621px){
 html:has(body.jd-sitewide.jd-shell-fixed){height:100%;overflow:hidden!important}
 body.jd-sitewide.jd-shell-fixed{height:100dvh!important;min-height:0!important;max-height:100dvh;overflow:hidden!important}
 body.jd-sitewide.jd-shell-fixed .jd-universal-shell{height:100dvh!important;min-height:0!important;max-height:100dvh;overflow:visible!important}
 body.jd-sitewide.jd-shell-fixed .jd-universal-shell>.jd-universal-content{height:auto!important;max-height:none!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#346685 #07131f}
}
/* Existing client/access shells must not limit the shared component width. */
body.jd-sitewide :is(.jd-client-shell,.jd-access-shell).jd-universal-shell{max-width:none!important;background-size:cover!important}
body.jd-sitewide .jd-universal-content .jd-client-layout{margin-top:0}
body.jd-sitewide.jd-create-account-page .jd-create-main.jd-universal-shell{height:auto;max-height:none;padding:0!important}
body.jd-sitewide.jd-create-account-page .jd-create-shell{width:100%;max-width:none;margin:0;border-radius:0;min-height:0}
/* About keeps all existing copy and cards; reserve real space for its footer. */
body.jd-sitewide.jd-about-selected .jd-shell-frame{grid-template-rows:none!important;overflow:visible!important}
body.jd-sitewide.jd-about-selected main#jd-about-main{height:auto!important;overflow:auto!important;flex:1;min-height:0;padding:16px clamp(22px,3vw,48px) 20px!important}
body.jd-sitewide.jd-about-selected .jd-ab-board{height:auto!important;min-height:100%;grid-template-rows:auto auto auto!important;gap:14px}
body.jd-sitewide.jd-about-selected .jd-ab-hero{min-height:132px;grid-template-columns:minmax(0,1.6fr) minmax(160px,.6fr) minmax(120px,.55fr)}
body.jd-sitewide.jd-about-selected .jd-ab-portrait:empty{display:none!important}
body.jd-sitewide.jd-about-selected .jd-ab-title h1{font-size:clamp(36px,3.6vw,64px)!important;line-height:1.03!important}
body.jd-sitewide.jd-about-selected .jd-ab-title h1 .gradient-text{white-space:normal}
body.jd-sitewide.jd-about-selected .jd-ab-cards{min-height:0;align-items:stretch}
body.jd-sitewide.jd-about-selected .jd-ab-card{overflow:visible!important}
body.jd-sitewide.jd-about-selected .jd-ab-card-body{gap:10px;justify-content:flex-start!important}
body.jd-sitewide.jd-about-selected .jd-ab-card-body p{font-size:clamp(13px,.9vw,16px)!important;line-height:1.45!important}
body.jd-sitewide.jd-about-selected .jd-ab-card h2{font-size:clamp(19px,1.35vw,24px)!important;line-height:1.15!important}
/* Public coming-soon notice remains in place; do not change launch settings. */
body.jd-sitewide.jd-coming-soon .jd-frame>.jd-brand-header{width:auto;margin:0 clamp(22px,3vw,48px);padding-top:14px}
body.jd-sitewide.jd-coming-soon .jd-frame>.jd-brand-footer{margin-top:20px}
/* Small screens and zoom: the entire page can grow, never clip the footer. */
@media(max-width:1000px),(max-height:620px){
 html:has(body.jd-sitewide){height:auto!important;overflow-x:hidden!important;overflow-y:auto!important}
 body.jd-sitewide{height:auto!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important}
 body.jd-sitewide .jd-universal-shell{height:auto!important;max-height:none!important;min-height:100svh!important;overflow:visible!important}
 body.jd-sitewide .jd-universal-shell>.jd-universal-content{height:auto!important;max-height:none!important;overflow:visible!important;flex:none}
 body.jd-sitewide .jd-universal-shell>.jd-brand-footer{margin-top:auto!important}
 body.jd-sitewide .jd-universal-shell>.jd-brand-header{margin-inline:22px}
 body.jd-sitewide.jd-about-selected main#jd-about-main{overflow:visible!important;height:auto!important;max-height:none!important}
 body.jd-sitewide.jd-about-selected .jd-ab-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-height:0}
 body.jd-sitewide.jd-about-selected .jd-ab-quote{text-align:left;margin:0}
 body.jd-sitewide.jd-about-selected .jd-ab-quote::after{margin-left:0}
 body.jd-sitewide.jd-about-selected .jd-ab-identity{border-left:0;padding-left:0}
 body.jd-sitewide.jd-about-selected .jd-ab-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 body.jd-sitewide.jd-about-selected .jd-ab-together{height:auto;display:flex;flex-wrap:wrap;gap:14px}
 body.jd-sitewide.jd-about-selected .jd-ab-card-body p{font-size:15px!important;line-height:1.55!important}
 body.jd-sitewide.jd-about-selected .jd-ab-title h1{font-size:clamp(34px,7vw,56px)!important}
}
@media(max-width:600px){
 body.jd-sitewide.jd-about-selected .jd-ab-cards{grid-template-columns:1fr}
 body.jd-sitewide.jd-about-selected .jd-ab-disciplines{font-size:10px!important;letter-spacing:.12em;line-height:1.6}
 body.jd-sitewide.jd-about-selected .jd-ab-eyebrow{font-size:11px!important;line-height:1.5}
 body.jd-sitewide .jd-brand-header__identity{gap:12px}
 body.jd-sitewide .jd-brand-header__name>small{letter-spacing:.12em;white-space:normal}
 body.jd-sitewide .jd-brand-header__name>span{font-size:clamp(23px,6vw,32px)}
}
/* Keep reduced motion elsewhere; do not freeze the requested identity color cycle. */
@media(prefers-reduced-motion:reduce){body.jd-sitewide :is(.gradient-text,.jd-brand-gradient):not(.jd-brand-footer__name):not(.jd-brand-header__name>span){animation:none!important;background-position:35% 50%!important}}
@media(forced-colors:active){body.jd-sitewide :is(.gradient-text,.jd-brand-gradient,.jd-brand-header__name>span,.jd-brand-footer__name){background:none!important;-webkit-text-fill-color:CanvasText!important;color:CanvasText!important}}
@media print{html:has(body.jd-sitewide),body.jd-sitewide,.jd-universal-shell,.jd-universal-content{height:auto!important;max-height:none!important;overflow:visible!important}body.jd-sitewide .jd-brand-header__navigation,body.jd-sitewide .jd-brand-header__toggle{display:none!important}body.jd-sitewide :is(.gradient-text,.jd-brand-gradient,.jd-brand-header__name>span,.jd-brand-footer__name){background:none!important;color:#000!important;-webkit-text-fill-color:#000!important;animation:none!important}.jd-brand-footer{break-inside:avoid}}

/* Sitewide final integration fixes: retain readable forms and a single header. */
body.jd-sitewide.jd-shell-flow{height:auto!important;max-height:none!important;overflow-y:auto!important}
body.jd-sitewide.jd-shell-flow .jd-universal-shell{height:auto!important;max-height:none!important;overflow:visible!important}
body.jd-sitewide.jd-about-selected .jd-ab-portrait:not(:has(img)){display:none!important}
body.jd-sitewide .jd-universal-content :is(input.form-control,textarea.form-control,select.form-select){color:#edf3f8!important;color-scheme:dark}
body.jd-sitewide .jd-universal-content :is(input.form-control,textarea.form-control)::placeholder{color:#afc4d6!important;opacity:1}
body.jd-sitewide .jd-universal-content .notifications .alert{color:#edf3f8;background-color:#091c2b}
body.jd-sitewide .jd-universal-content .notifications .alert-danger{color:#ffd2c7;border-color:#bd6854}
body.jd-sitewide .jd-universal-content .notifications .alert-success{color:#c8f2da;border-color:#438765}
body.jd-sitewide .jd-universal-content .notifications .alert-primary{color:#cdeaff;border-color:#4489b5}
