/* The official R, a readable wordmark and the full recovery tagline. */
.site-header{grid-template-columns:270px minmax(0,1fr)}
.site-header .brand{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:270px;max-width:270px;min-width:0;text-decoration:none;color:#252321;overflow:visible;padding:4px 0;animation:brand-arrive .75s cubic-bezier(.2,.7,.2,1) both}
.site-header .brand-lockup{display:flex;align-items:center;gap:5px;min-width:0}
.site-header .brand img{display:block;flex:none;width:60px;height:60px;mix-blend-mode:normal;border-radius:0;box-shadow:none;object-fit:contain}
.site-header .brand-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-self:stretch;min-width:0}
.site-header .brand-name{font-family:Arial,Helvetica,sans-serif;font-size:2rem;font-weight:900;line-height:1;letter-spacing:.055em;color:#252321;text-shadow:0 1px 0 #fff8}
.site-header .brand-descriptor{position:absolute;left:0;top:calc(50% + 23px);font-size:.63rem;font-weight:700;line-height:1.25;letter-spacing:.17em;color:#514b45;white-space:nowrap}
.site-header .brand-tagline{font-size:.79rem;font-weight:800;line-height:1.3;letter-spacing:.025em;color:#35302b;white-space:nowrap;border-left:3px solid #46c9dc;padding-left:9px}
.site-header .brand::after{content:none}
@keyframes brand-arrive{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
@supports(background-clip:text){
 .site-header .brand-name{background:linear-gradient(110deg,#252321 0%,#252321 39%,#24889c 46%,#8057a0 50%,#24889c 54%,#252321 61%,#252321 100%);background-size:300% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;animation:brand-letter-shine 4.5s .2s ease-in-out infinite}
}
@keyframes brand-letter-shine{0%,2%{background-position:100% 0}38%,100%{background-position:0% 0}}
.motion-is-paused .site-header .brand-name,.motion-is-paused .site-header .brand::after{content:none}
/* Open the compact menu before the larger lockup competes with navigation. */
@media(max-width:1360px){
 .site-header{grid-template-columns:minmax(0,1fr) auto;gap:18px}
 .site-header #menu{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 18px;border:1px solid #c7b6a1;border-radius:14px;background:linear-gradient(145deg,#fff9f0,#e9ddce);color:#34302b;font-weight:700}
 .site-header #nav{display:none;grid-column:1/-1;width:100%;padding:16px 0 0;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .site-header #nav.open{display:grid}
 .site-header #nav>a{justify-content:flex-start;white-space:normal;gap:12px;padding:14px 18px;min-height:54px;border:1px solid #d6c4b3;background:linear-gradient(145deg,#fffaf4,#e9dfd1);box-shadow:inset 0 1px #fff}
 .site-header #nav>a.nav-open-app{grid-column:1/-1;margin:0;justify-content:space-between;background:linear-gradient(145deg,#51dce6,#29778e 65%,#193a48);color:#fffaf4}
}
@media(max-width:520px){
 .site-header{padding:16px 20px;gap:12px;min-height:108px}
 .site-header .brand{width:100%;max-width:232px;gap:9px}
 .site-header .brand-lockup{gap:4px}
 .site-header .brand img{width:46px;height:46px;border-radius:0}
 .site-header .brand-name{font-size:1.55rem;letter-spacing:.035em}
 .site-header .brand-descriptor{top:calc(50% + 18px);font-size:.51rem;letter-spacing:.12em}
 .site-header .brand-tagline{font-size:.65rem;letter-spacing:.015em;padding-left:7px}
 .site-header #menu{padding:9px 12px;gap:7px;font-size:.85rem}
 .site-header #nav{grid-template-columns:1fr 1fr}
 .site-header #nav>a{padding:13px 12px;gap:9px}
}
@media(max-width:360px){.site-header .brand-name{font-size:1.4rem}.site-header .brand img{width:42px;height:42px}.site-header .brand-tagline{font-size:.61rem}.site-header #menu{padding-inline:10px}}
/* Keep the explicitly requested, gentle brand light sweep visible.
   Reduced motion still removes the entrance slide; the page motion control pauses the sweep. */
@media(prefers-reduced-motion:reduce){.site-header .brand{animation:none}}
