/* Royal Heritage: a unified palette layered over the approved V13 layout. */
:root{--royal-bg:#0c141c;--royal-surface:#141f29;--royal-raised:#1a2732;--royal-text:#f3eadb;--royal-soft:#bcb8b0;--royal-gold:#c9a76c;--royal-line:#c9a76c38;--navy:#0c141c;--navy2:#141f29;--gold:#c9a76c;--ivory:#f3eadb}
html[data-soba-theme=light]{--royal-bg:#f6efe3;--royal-surface:#eee3d1;--royal-raised:#fffaf1;--royal-text:#30291f;--royal-soft:#665b4c;--royal-gold:#86602e;--royal-line:#86602e40}
body{background:var(--royal-bg);color:var(--royal-text)}
header{background:color-mix(in srgb,var(--royal-bg) 94%,transparent)!important;border-bottom:1px solid var(--royal-line);backdrop-filter:blur(18px)}
.nav{max-width:1560px;gap:20px}.brand strong{color:var(--royal-text)!important}.brand small,.links a{color:var(--royal-soft)!important}.brand img{object-fit:contain;box-shadow:0 0 0 5px #c9a76c0c}.links a:hover,.links a[aria-current=page]{color:var(--royal-gold)!important;border-color:var(--royal-gold)}
.hero{background:var(--royal-bg)!important;min-height:710px}.hero-image{inset:0 0 0 32%;background-position:68% 45%;filter:saturate(.55)}
.hero:after{background:linear-gradient(90deg,#0c141c 0%,#0c141cf5 27%,#0c141cb5 50%,#0c141c25 83%),linear-gradient(0deg,#0c141c 0%,transparent 40%)!important}
.hero-inner{padding-top:110px;padding-bottom:115px}.hero-copy{max-width:770px}.hero h1{font-weight:500;font-size:clamp(54px,5.9vw,92px);line-height:1.03;color:var(--royal-text);text-wrap:balance}.hero h1 em{color:var(--royal-gold)!important}.hero p{color:#dbd4c9;max-width:530px;font-size:21px;line-height:1.65}.hero .actions{margin-top:40px}
.btn{padding:17px 25px;border-color:var(--royal-gold);transition:background .3s,transform .3s,box-shadow .3s}.btn.gold{background:var(--royal-gold)!important;color:#0c141c!important;box-shadow:0 6px 25px #c9a76c15}.btn.outline{color:var(--royal-text)!important}.btn:hover{box-shadow:0 8px 30px #c9a76c20;transform:translateY(-3px)}
.stats{background:var(--royal-surface)!important;border-color:var(--royal-line)}.stat{border-color:var(--royal-line)}.stat strong{color:var(--royal-text)}.stat small,.stat .tag{color:var(--royal-gold)!important}.stat span{color:var(--royal-soft)!important}
.section,.page-section,.research-section,.v7-wrap,.contact{background:var(--royal-bg)!important;color:var(--royal-text)!important}.page-section:nth-of-type(odd),.dark-section,.contact{background:var(--royal-surface)!important}
.section h2,.page-section h2,.research-section h2,.v7-title{color:var(--royal-text)!important;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;text-wrap:balance}
.section p,.page-section p,.section-lead,.intro p,.research-card p,.research-note,.v7-intro,.v7-info p,.v7-note,.content-editor{color:var(--royal-soft)!important}
.section-label,.tag,.role,.v7-category,.yearline strong{color:var(--royal-gold)!important}
.heritage-panel,.member,.archive-card,.research-card,.v7-card,.note{background:var(--royal-raised)!important;border-color:var(--royal-line)!important;box-shadow:0 14px 40px #00000010}
.heritage-panel{padding:45px;border:1px solid var(--royal-line);background:radial-gradient(ellipse at top right,#c9a76c0c,transparent 70%),var(--royal-raised)!important}.heritage-panel blockquote,.member-info h3,.archive-card h3,.research-card h3,.v7-info h3{color:var(--royal-text)!important}.heritage-panel small,.heritage-panel:before{color:var(--royal-gold)}
.member-info a,.archive-card a,.research-card a,.v7-info a,.contact-grid a,.quicklinks a{color:var(--royal-gold)!important}.portrait,.chapter-art,.v7-media{background:radial-gradient(ellipse at 70% 20%,#c9a76c15,transparent 70%),var(--royal-surface)!important}.chapter-art{border-color:var(--royal-line)}.chapter-art span{color:var(--royal-gold)!important}
.page-hero{background:radial-gradient(ellipse at 90% 0,#c9a76c15,transparent 65%),var(--royal-bg)!important;border-bottom:1px solid var(--royal-line);color:var(--royal-text)!important}.page-hero p{color:var(--royal-soft)!important}
.soba-register{background:var(--royal-bg);border-color:var(--royal-line);color:var(--royal-text)}.soba-register-head p,.soba-register-entry p{color:var(--royal-soft)}.soba-register-number{-webkit-text-stroke-color:var(--royal-gold)}.soba-register-number.association,.soba-register-mobileyear{color:var(--royal-gold)}.soba-register-entry:before{background:var(--royal-bg);border-color:var(--royal-gold)}.soba-register-tag{color:var(--royal-gold);border-color:var(--royal-line)}
footer,.site-footer{background:var(--royal-bg)!important;color:var(--royal-soft)!important;border-top:1px solid var(--royal-line);padding-top:40px}.site-footer p{color:var(--royal-soft)!important}.site-footer a,footer span{color:var(--royal-gold)!important}
.soba-archive-photo,.v7-media img,.photo-strip img{object-position:50% 38%;filter:saturate(.65)}.intro>img{object-position:50% 38%;border:1px solid var(--royal-line)!important;box-shadow:0 20px 45px #0003!important}
.placeholder{background:var(--royal-surface)!important;color:var(--royal-soft);border-color:var(--royal-line)}.v7-batch a{background:var(--royal-raised)!important;border:1px solid var(--royal-line);color:var(--royal-gold)!important}.v7-filter{color:var(--royal-soft);border-color:var(--royal-line)}.v7-filter.active,.v7-filter:hover{background:var(--royal-gold);color:var(--royal-bg)}
.soba-theme-toggle,.menu{color:var(--royal-text)!important;border-color:var(--royal-line)!important}.links.open{background:var(--royal-bg)!important}.soba-opening{background:#0c141c}.soba-opening-year{color:var(--royal-gold)}
html[data-soba-theme=light] .hero:after{background:linear-gradient(90deg,#f6efe3 0%,#f6efe3f5 27%,#f6efe3d9 50%,#f6efe333 83%),linear-gradient(0deg,#f6efe3,transparent 50%)!important}html[data-soba-theme=light] .hero p{color:#514536}html[data-soba-theme=light] .btn.gold{color:#fffaf1!important}
@media(min-width:801px) and (max-width:1350px){.menu{display:block}.links{display:none;position:absolute;top:100%;right:0;left:0;padding:24px 5%;flex-wrap:wrap;background:var(--royal-bg);border-bottom:1px solid var(--royal-line)}.links.open{display:flex}.brand{margin-right:auto}}
@media(max-width:800px){.hero-image{inset:0;background-position:63% 40%}.hero:after{background:linear-gradient(90deg,#0c141ce8,#0c141cb5),linear-gradient(0deg,#0c141c,transparent 65%)!important}.hero{min-height:650px}.hero-inner{padding:82px 6%}.hero h1{font-size:clamp(44px,8.7vw,72px)}.hero p{font-size:19px;max-width:480px}.nav{gap:10px}.brand strong{font-size:clamp(14px,3.4vw,20px)}.hero-copy{max-width:100%}html[data-soba-theme=light] .hero:after{background:linear-gradient(90deg,#f6efe3f5,#f6efe3d9),linear-gradient(0deg,#f6efe3,transparent 65%)!important}}
@media(max-width:480px){.hero{min-height:630px}.hero h1{font-size:clamp(41px,10.7vw,54px)}.hero-inner{padding:70px 6%}.hero p{font-size:18px}.brand img{width:40px;height:40px}.brand small{font-size:7px}.menu{font-size:12px;padding:9px}.soba-theme-toggle{padding:8px}.section h2{font-size:40px}}
@media(prefers-reduced-motion:no-preference){.royal-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.royal-reveal.is-visible{opacity:1;transform:none}.research-card,.v7-card,.member,.archive-card{transition:transform .35s,border-color .35s,box-shadow .35s}.research-card:hover,.v7-card:hover,.member:hover,.archive-card:hover{transform:translateY(-4px);border-color:var(--royal-gold)!important;box-shadow:0 20px 50px #0002}}
/* The gallery baseline contains two navigation bars; expose the shared one. */
body>nav.nav{display:none}header{position:sticky;top:0;z-index:50}header .nav{background:transparent;border-bottom:0;min-height:94px;padding:14px 5%;margin:auto;display:flex;align-items:center;flex-wrap:nowrap}header .brand{margin-right:0;min-width:0;flex-shrink:0}header .brand strong{display:block;font:600 25px/1 'Cormorant Garamond',serif;letter-spacing:.04em}header .brand small{margin-top:8px}header .links{display:flex;align-items:center;gap:14px;margin-left:auto}header .links a{white-space:nowrap;font-size:11px}header .menu{display:none;background:transparent;border:1px solid var(--royal-line);padding:10px 13px;border-radius:4px;cursor:pointer}
.photo{background:var(--royal-raised);border-color:var(--royal-line)}.photo h3{color:var(--royal-text)}.photo small,.hint,.empty{color:var(--royal-soft)}.filter{color:var(--royal-soft);border-color:var(--royal-line)}.filter.active,.filter:hover{background:var(--royal-gold);color:var(--royal-bg);border-color:var(--royal-gold)}.search{background:var(--royal-raised);color:var(--royal-text);border-color:var(--royal-line)}.search::placeholder{color:var(--royal-soft)}.upload{background:var(--royal-gold);color:var(--royal-bg)}
@media(max-width:1350px){header .menu{display:block}header .brand{margin-right:auto}header .links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--royal-bg);padding:22px 5%;flex-wrap:wrap}header .links.open{display:flex}}
@media(max-width:800px){header .nav{min-height:76px;gap:10px}header .brand{gap:10px}header .brand img{width:48px;height:48px}header .brand strong{font-size:clamp(14px,3.4vw,20px)}header .brand small{font-size:8px;letter-spacing:.07em}header .links{flex-direction:column;align-items:flex-start;max-height:calc(100dvh - 76px);overflow-y:auto}header .links a{font-size:15px;width:100%;padding:9px 0}}
@media(max-width:480px){header .brand img{width:40px;height:40px}header .brand small{font-size:7px}header .menu{font-size:12px;padding:9px}}

/* Restrained movement: small distance, no bounce, no looping text. */
@media(prefers-reduced-motion:no-preference){
 .royal-reveal{transform:translateY(14px);transition:opacity .8s ease,transform .85s cubic-bezier(.22,.61,.36,1)}
 .heritage-opening-copy>:nth-child(2){transition-delay:.08s}
 .heritage-opening-copy>:nth-child(3){transition-delay:.16s}
 .heritage-opening-copy>:nth-child(4){transition-delay:.24s}
 .heritage-opening-image img{animation:heritage-settle 2.8s cubic-bezier(.22,.61,.36,1) both}
 .heritage-step{position:relative}
 .heritage-step:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:#d6b76670;transform:scaleX(0);transform-origin:left;transition:transform 1.2s ease .15s;pointer-events:none}
 .heritage-step.is-visible:before{transform:scaleX(1)}
 @keyframes heritage-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
}
@media(prefers-reduced-motion:reduce){.royal-reveal{opacity:1!important;transform:none!important;transition:none!important}}

.royal-footer .footer-socials{display:flex;gap:12px;align-items:center;margin-top:24px}
.royal-footer .footer-social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;margin:0;border:1px solid #b8963e70;border-radius:50%;color:#d6b766;background:linear-gradient(140deg,#d6b7660d,#6e1f2b18);transition:color .25s,border-color .25s,background .25s,transform .25s}
.royal-footer .footer-social svg{width:19px;height:19px;display:block}
.royal-footer .footer-social[href]:hover,.royal-footer .footer-social[href]:focus-visible{color:#f3ebda;border-color:#d6b766;background:#d6b76619;outline:2px solid #d6b766;outline-offset:4px}
.royal-footer .footer-social[aria-disabled=true]{cursor:default}
@media(prefers-reduced-motion:no-preference){.royal-footer .footer-social[href]:hover{transform:translateY(-2px)}}
