/* Rudd Consulting: shared site styles (base reset + site header) */
*,*:before,*:after{box-sizing:content-box}
div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,code,img,b,u,i,center,table,tr,th,td,video{margin:0;padding:0;border:0}
sup{line-height:0;font-size:smaller;vertical-align:super}
sub{line-height:0;font-size:smaller;vertical-align:sub}
html,body{margin:0;padding:0}
body{background-color:#f9f7ef;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Montserrat","Helvetica Neue",Arial,sans-serif}
#main-content{display:block}

/* Skip link */
.rudd-skip{position:absolute;left:-9999px;top:8px;z-index:2000;padding:10px 16px;background:#252525;color:#fff;font:600 14px "Montserrat",Arial,sans-serif;text-decoration:none}
.rudd-skip:focus{left:16px}

/* Site header */
.rudd-site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:100px;background:#fff;font-family:"Playfair Display",Georgia,serif}
.rudd-site-header *{box-sizing:border-box}
.rsh-inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 40px}
.rsh-logo{display:flex;align-items:center;height:100%}
.rsh-logo img{display:block;max-height:80px;width:auto}
.rsh-menu{display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none}
.rsh-item{position:relative;margin:0;padding:0}
.rsh-top{display:inline-flex;align-items:center;gap:10px;height:100px;padding:0;border:0;background:none;color:#373d36;font:600 16px/1 "Playfair Display",Georgia,serif;text-decoration:none;cursor:pointer}
.rsh-top:hover,.rsh-top:focus-visible{color:#786A43}
.rsh-caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .2s ease}
.rsh-sub{position:absolute;top:100%;left:-20px;min-width:250px;margin:0;padding:12px 20px 14px;list-style:none;background:#fff;box-shadow:0 10px 24px rgba(37,37,37,.08);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.rsh-sub a{display:block;padding:7px 0;color:#373d36;font:600 14px/1.35 "Playfair Display",Georgia,serif;text-decoration:none;white-space:nowrap}
.rsh-sub a:hover,.rsh-sub a:focus-visible,.rsh-sub a[aria-current="page"]{color:#786A43}
.rsh-item.has-sub:hover .rsh-sub,.rsh-item.has-sub:focus-within .rsh-sub,.rsh-item.is-open .rsh-sub{opacity:1;visibility:visible;transform:none}
.rsh-cta a{display:inline-block;padding:13px 30px;background:#786A43;color:#fff;font:600 14px/1 "Playfair Display",Georgia,serif;text-decoration:none;transition:background .2s ease}
.rsh-cta a:hover,.rsh-cta a:focus-visible{background:#252525}
.rsh-burger{display:none;width:44px;height:44px;padding:12px 8px;border:0;background:none;cursor:pointer}
.rsh-burger span{display:block;height:2px;margin:0 0 6px;background:#998859;transition:transform .2s ease,opacity .2s ease}
.rsh-burger span:last-child{margin:0}
.rudd-site-header.is-open .rsh-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.rudd-site-header.is-open .rsh-burger span:nth-child(2){opacity:0}
.rudd-site-header.is-open .rsh-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media (max-width:980px){
  body{padding-top:64px}
  .rudd-site-header{height:64px}
  .rsh-inner{padding:0 16px}
  .rsh-logo img{max-height:48px}
  .rsh-burger{display:block}
  .rsh-nav{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;overflow-y:auto;padding:8px 24px 32px;background:#fff;border-top:1px solid #ece6d8}
  .rudd-site-header.is-open .rsh-nav{display:block}
  .rsh-menu{flex-direction:column;align-items:stretch;gap:0}
  .rsh-item{border-bottom:1px solid #ece6d8}
  .rsh-top{justify-content:space-between;width:100%;height:auto;padding:18px 0;font-size:18px}
  .rsh-sub{position:static;display:none;min-width:0;padding:0 0 14px 12px;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}
  .rsh-item.has-sub:hover .rsh-sub,.rsh-item.has-sub:focus-within .rsh-sub{display:none}
  .rsh-item.has-sub.is-open .rsh-sub,.rsh-item.has-sub.is-open:hover .rsh-sub,.rsh-item.has-sub.is-open:focus-within .rsh-sub{display:block}
  .rsh-item.is-open .rsh-caret{transform:rotate(180deg)}
  .rsh-sub a{padding:9px 0;font-size:16px;white-space:normal}
  .rsh-cta{border-bottom:0;padding-top:24px}
  .rsh-cta a{display:block;text-align:center;padding:16px}
  body.rsh-locked{overflow:hidden}
}

/* =========================================
   Accessibility layer (2026-10-28)
   Darker muted text, stronger cream on dark,
   minimum 12px labels and 500 weight for small text.
========================================= */
[class^="rudd-"],[class*=" rudd-"]{--muted:#4F4A43 !important}
:root{--article-muted:#4F4A43 !important}
[class*="rudd-"] .eyebrow,.articles-main .eyebrow{font-size:13px !important}
[class*="rudd-"] .label,[class*="rudd-"] .num,[class*="rudd-"] .step-num,[class*="rudd-"] .service-num,[class*="rudd-"] .expertise-num,[class*="rudd-"] .journey-step,[class*="rudd-"] .layer-label,[class*="rudd-"] .dim-num,[class*="rudd-"] .engagement-label,[class*="rudd-"] .expertise-label,.article-body .agent-label,.article-body .art-chain-num{font-size:12px !important}
[class*="rudd-"] .micro{font-size:14px !important;font-weight:500 !important}
.rudd-footer .footer-heading,.rudd-footer .footer-tag{font-size:12px !important;color:#D1B37A !important}
.rudd-footer .footer-bottom,.rudd-footer .footer-legal a{font-size:13px !important;font-weight:500 !important}
.rudd-footer .footer-links a{font-weight:500 !important}
.articles-main .article-meta,.articles-main time,.articles-main .back-link,.articles-main .article-row-copy p,.articles-main .related-grid p{font-weight:500 !important}
.articles-main .article-meta,.articles-main time{font-size:14px !important}
.article-body .agent-fig figcaption{font-size:14px !important;font-weight:500 !important}
.article-body .agent-fig span,.article-body .agent-fig li,.article-body .agent-fig td,.article-body .agent-fig p,.article-body .art-myths p,.article-body .art-costs li,.article-body .art-rule span,.article-body .art-test p{font-weight:500}
.article-body .agent-fig td,.article-body .agent-fig li>span,.article-body .agent-fig span:not(.agent-label):not(.agent-letter):not(.art-chain-num){font-size:max(14px,1em)}
.rudd-footer .footer-links a{font-size:14px !important}

/* =========================================
   Visual layer (2026-10-28): brand motifs + subtle motion
   Decorative only. Hidden on small screens, removed if they
   would touch text, and no motion for reduced-motion users.
========================================= */
section.hero,section.dark{position:relative}
.rudd-hero-motif,.rudd-section-motif{position:absolute;pointer-events:none;user-select:none;z-index:0;height:auto;display:none}
section.hero>.wrap,section.dark>.wrap{position:relative;z-index:1}
@media (min-width:1100px){
  .rudd-hero-motif{display:block;width:clamp(220px,20vw,300px);right:max(40px,calc((100vw - 1180px)/2));bottom:80px}
  .rudd-section-motif{display:block;width:240px;top:56px;opacity:.55}
  .rudd-section-motif.is-right{right:max(24px,calc((100vw - 1180px)/2 - 200px))}
  .rudd-section-motif.is-left{left:max(24px,calc((100vw - 1180px)/2 - 200px))}
}
.rudd-motif-hidden{display:none !important}
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
  .rv.rv-in{opacity:1;transform:none}
  .rudd-hero-motif{animation:rudd-fade-in 1s ease .2s both}
  @keyframes rudd-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .related-grid a,.articles-list a,.rudd-home .path-specialized a.text-link{transition:transform .2s ease}
  .related-grid a:hover{transform:translateY(-3px)}
}
