/* Revalasis Website V1.2: consistent article-inspired theme, portrait framing, and mobile navigation. */
:root{color-scheme:dark;--rv-bg:#091b2a;--rv-panel:#102a3e;--rv-panel2:#173448;--rv-text:#eff6f7;--rv-muted:#b9cbd5;--rv-teal:#7de0d2;--rv-line:#284456}
html{scroll-padding-top:86px}body{background:var(--rv-bg)!important;color:var(--rv-text)!important}
.shell{background:var(--rv-bg)}h1,h2,h3,h4{color:var(--rv-text)}p{color:var(--rv-text)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rv-teal);outline-offset:3px}
.nav{background:var(--rv-bg)}.hero{background:radial-gradient(ellipse at 82% 33%,#194a59 0%,#102a3e 42%,#091b2a 90%)}
.pagehead,.dark{background:#102a3e;color:var(--rv-text)}.tint,.team-preview{background:#0b2232!important}
.section:not(.dark){background:var(--rv-bg);color:var(--rv-text)}
.eyebrow,.label,.date,.tag,.team-person .role{color:var(--rv-teal)!important}
.card,.team-person,.publication,.archive-item,.archive-card,.empty-message,.utility{background:var(--rv-panel)!important;color:var(--rv-text)!important;border:1px solid var(--rv-line)!important;box-shadow:none!important}
.card h3,.team-person h3,.archive-item h3,.issue strong,.publication h3{color:var(--rv-text)!important}
.card p,.team-person p,.archive-item p,.issue span,.muted,.team-note,.notice,.subtle,.pagehead p,.dark p{color:var(--rv-muted)!important}
.num,.chip,.pilltext{background:#173c49!important;color:var(--rv-teal)!important}
.flowout{background:#184045;color:#c6f3ea}.outline-dark{color:var(--rv-teal)!important;border-color:#537b81}
.cta{background:#7de0d2!important;color:#092134!important;border:1px solid #7de0d2!important}
.cta:hover{background:#a6ede2!important}.outline{border-color:#628a8e}
.publication .cover{background:linear-gradient(145deg,#1d4354,#0c2636)}
.issue{border-color:var(--rv-line)}.foot{background:#061522;color:var(--rv-muted)}.foot a{color:var(--rv-teal)}
.team-person{padding:18px 13px 22px}.team-gallery{align-items:stretch}
.team-person img,.team-gallery.compact .team-person img{display:block;max-width:100%;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;border-radius:9px;background:#0b2232;border:1px solid #24495c;filter:none!important;margin:0 auto 13px}
.team-person img{max-width:190px}.team-gallery.compact .team-person img{max-width:165px}
.team-person .role{color:var(--rv-teal)!important}.team-person p{font-size:13px;line-height:1.6}
.team-gallery.specialists{grid-template-columns:repeat(5,minmax(0,1fr))}
.team .avatar-image{border-radius:50%;object-fit:contain}
/* Entire site and each article share a durable navigation UI. */
.rv-nav{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#091b2a;border-bottom:1px solid #284456;color:#eff6f7;min-height:76px;padding:10px clamp(16px,5vw,75px);font:600 14px/1.35 Arial,Helvetica,sans-serif}
.rv-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#eff6f7!important;letter-spacing:.06em;font-weight:800;font-size:18px;white-space:nowrap}
.rv-brand img{width:39px;height:39px;object-fit:contain;display:block}
.rv-brand b{color:#7de0d2}.rv-links{display:flex;align-items:center;gap:clamp(10px,1.8vw,26px)}
.rv-links a,.rv-mobile a{color:#d4e9eb!important;text-decoration:none!important;font-size:13px}
.rv-links a:hover,.rv-mobile a:hover{color:#7de0d2!important}
.rv-menu{display:none;position:relative}.rv-menu summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;border:1px solid #517481;border-radius:9px;color:#eff6f7;background:#122e42;min-height:44px;padding:10px 13px;font-size:14px;font-weight:750}
.rv-menu summary::-webkit-details-marker{display:none}.rv-menu summary::before{content:'☰';font-size:19px;line-height:1;color:#7de0d2}
.rv-mobile{position:absolute;right:0;top:calc(100% + 7px);width:min(86vw,340px);background:#102a3e;border:1px solid #426674;border-radius:12px;box-shadow:0 16px 45px #000a;padding:8px;display:grid;gap:2px}
.rv-mobile a{padding:13px 15px;min-height:44px;display:flex;align-items:center;border-radius:7px}.rv-mobile a:hover{background:#1a3a4d}
/* The original editorial article retains its own typography/layout. Only shared header is added. */
.rv-article .rv-nav{position:relative}.rv-article>div.brand{display:none}
.rv-article main{padding-top:24px}
@media(max-width:1080px){.team-gallery.specialists{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.rv-links{display:none}.rv-menu{display:block}}
@media(max-width:720px){.team-gallery,.team-gallery.specialists{grid-template-columns:repeat(2,minmax(0,1fr))}.team-person{padding:13px 11px}.team-person img,.team-gallery.compact .team-person img{max-width:180px}.team-person p{font-size:12px}.section{padding:45px 6%}}
@media(max-width:420px){.rv-nav{padding:9px 13px}.rv-brand{font-size:16px;letter-spacing:.035em}.rv-brand img{width:34px;height:34px}.team-gallery,.team-gallery.specialists{gap:9px}.team-person{padding:11px 9px}.team-person h3{font-size:15px}}

/* V1.2.1: constrain the shared mobile header to the visual viewport.
   The brand may wrap; the Menu remains visible without forcing page zoom. */
@media(max-width:900px){
 .rv-nav{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
 .rv-brand{flex:1 1 0;min-width:0;white-space:normal;letter-spacing:.025em}
 .rv-brand span{display:block;min-width:0;white-space:normal;line-height:1.15}
 .rv-menu{flex:0 0 auto;margin-left:auto}
}
@media(max-width:420px){
 .rv-nav{gap:8px;padding:9px 12px}
 .rv-brand{gap:7px;font-size:clamp(11px,3.4vw,15px)}
 .rv-brand img{width:30px;height:30px;flex-shrink:0}
 .rv-menu summary{padding:9px 10px;gap:6px}
 .rv-mobile{max-width:calc(100vw - 24px)}
}

/* Prevent intrinsic grid-item widths from widening 320px mobile pages. */
@media(max-width:950px){
 .hero-grid,.two,.join{grid-template-columns:minmax(0,1fr)}
 .hero-grid>*,.two>*,.join>*{min-width:0;max-width:100%}
}
