/* Shared navigation: clear destinations, compact page guide, unobtrusive return. */
html:has(body.rv-site){
  --rv-admin-offset:0px;
  --rv-header-height:104px;
  --rv-nav-offset:176px;
  scroll-padding-top:var(--rv-nav-offset,180px);
}
.rv-site #main-content [id],.rv-site #main-content{scroll-margin-top:12px}
html:not(.rv-js):has(body.rv-site){scroll-padding-top:16px}
html:not(.rv-js) .rv-site .rv-header{position:relative;top:0}
.rv-site .rv-header{
  position:sticky;
  top:var(--rv-admin-offset,0px);
  z-index:60;
  background:linear-gradient(110deg,#0d1b21f7,#102129f7);
  border-bottom:1px solid #3c535a;
  box-shadow:0 1px 0 #dcece50a,0 8px 26px #00000018;
  backdrop-filter:blur(16px);
}
.rv-site .rv-header .rv-header-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  min-height:104px;
  gap:28px;
  padding-block:6px;
}
.rv-site .rv-header .rv-brand{margin-right:0}
.rv-site .rv-header .rv-menu-toggle{display:none}
.rv-site .rv-header .rv-nav{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  gap:4px 18px;
  width:auto;
  min-width:0;
  margin:0;
  padding:0;
  max-height:none;
  overflow:visible;
  background:transparent;
  font-size:12px;
}
.rv-site .rv-header .rv-nav-primary{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:18px;
  min-width:0;
}
.rv-site .rv-header .rv-nav-tools{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:16px;
  min-width:0;
}
.rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:8px 0;
  color:#cbd9d9;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  white-space:nowrap;
  text-decoration:none;
}
.rv-site .rv-header .rv-nav-tools>a{color:#adc2c7;font-size:11px}
.rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a::after{
  content:"";
  position:absolute;
  inset:auto 0 3px;
  height:2px;
  background:#d8ef80;
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}
.rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a:hover{color:#f0f5dc}
.rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a[aria-current]{color:#d8ef80}
.rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a:is(:hover,[aria-current])::after{transform:scaleX(1)}
.rv-site .rv-header .rv-nav .rv-nav-cta{
  grid-column:2;
  grid-row:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  gap:15px;
  margin:0;
  padding:9px 15px;
  border:1px solid #a1b878;
  border-radius:8px;
  background:#d8ef80;
  color:#15282c;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  white-space:nowrap;
  text-decoration:none;
  box-shadow:0 4px 14px #0002;
}
.rv-site .rv-header .rv-nav .rv-nav-cta:hover{background:#e6f5aa;border-color:#e6f5aa;color:#15282c}
.rv-site .rv-header .rv-header-project{display:flex;align-items:center;flex:0 0 auto}
.rv-site .rv-header .rv-project-launch{min-height:44px;margin:0;padding:8px 11px;font-size:11px!important}
.rv-site .rv-header .rv-project-launch>span:nth-child(2){display:inline}
.rv-site .rv-header :is(a,button):focus-visible{outline:3px solid #e0f29a;outline-offset:3px}

.rv-site .rv-page-guide{
  position:sticky;
  top:calc(var(--rv-header-height,112px) + var(--rv-admin-offset,0px));
  z-index:55;
  border-bottom:1px solid #3b535a;
  background:#11242bf7;
  color:#edf2eb;
  box-shadow:0 5px 15px #00000012;
  backdrop-filter:blur(14px);
}
.rv-site .rv-page-guide-inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:52px;
  padding-block:4px;
}
.rv-site .rv-page-guide-label{flex:0 0 auto;color:#a9c0c4;font-size:11px;font-weight:600;line-height:1.4}
.rv-site .rv-page-guide-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex:1 1 auto;
  gap:16px;
  min-width:0;
  min-height:44px;
  max-width:560px;
  padding:9px 13px;
  border:1px solid #45626b;
  border-radius:8px;
  background:#19313a;
  color:#e2eddf;
  font:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  text-align:left;
  cursor:pointer;
}
.rv-site .rv-page-guide-toggle:hover,.rv-site .rv-page-guide-toggle[aria-expanded=true]{background:#25413f;border-color:#98b180}
.rv-site .rv-page-guide-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-site .rv-page-guide-toggle>span:last-child:not(.rv-page-guide-current){flex:0 0 auto;color:#d8ef80}
.rv-site .rv-page-guide-panel{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  width:min(660px,100%);
  max-height:min(440px,calc(100dvh - var(--rv-nav-offset,180px) - 24px));
  overflow:auto;
  overscroll-behavior:contain;
  padding:8px;
  border:1px solid #627c72;
  border-radius:11px;
  background:#132b33;
  box-shadow:0 18px 46px #0006;
}
.rv-site .rv-page-guide-panel a{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:11px 13px;
  border-radius:6px;
  color:#d5e1de;
  font-size:13px;
  font-weight:550;
  line-height:1.45;
  text-decoration:none;
}
.rv-site .rv-page-guide-panel :is(ul,ol){list-style:none;margin:0;padding:0}
.rv-site .rv-page-guide-panel li{margin:0;padding:0}
.rv-site .rv-page-guide-panel a:hover{background:#294740;color:#edf4d6}
.rv-site .rv-page-guide-panel a[aria-current=location]{background:#d8ef80;color:#18302f;font-weight:700}
.rv-site .rv-back-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:44px;
  margin-left:auto;
  padding:9px 13px;
  border:1px solid #6b8475;
  border-radius:8px;
  background:#1b333a;
  color:#d9eac5;
  font:inherit;
  font-size:12px;
  font-weight:650;
  line-height:1.4;
  white-space:nowrap;
  text-decoration:none;
  cursor:pointer;
}
.rv-site .rv-back-top:hover{background:#2b4941;border-color:#d8ef80;color:#f0f5dc}
.rv-site :is(.rv-page-guide-toggle,.rv-page-guide-panel a,.rv-back-top):focus-visible{outline:3px solid #e0f29a;outline-offset:3px}
.rv-site .rv-back-top-floating{position:fixed;right:24px;bottom:calc(94px + env(safe-area-inset-bottom,0px));z-index:50;box-shadow:0 6px 20px #0003}
.rv-site .rv-page-guide[hidden],.rv-site .rv-page-guide [hidden],.rv-site .rv-back-top[hidden]{display:none!important}
body.rv-site:is(.rv-explore-modal-open,.rv-project-modal-open) .rv-back-top-floating{display:none}

@media(min-width:1121px) and (max-width:1280px){
  .rv-site .rv-header .rv-header-inner{gap:22px}
  .rv-site .rv-header .rv-brand{font-size:25px}
  .rv-site .rv-header .rv-nav-primary{gap:14px}
  .rv-site .rv-header .rv-nav-tools{gap:13px}
  .rv-site .rv-header .rv-nav{column-gap:14px}
  .rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a{font-size:11px}
}
@media(max-width:1120px){
  html:has(body.rv-site){--rv-header-height:80px;--rv-nav-offset:150px}
  .rv-site .rv-header .rv-header-inner{display:flex;flex-wrap:wrap;justify-content:space-between;min-height:80px;gap:0 18px;padding-block:8px}
  .rv-site .rv-header .rv-brand{margin-right:auto}
  .rv-site .rv-header .rv-menu-toggle{display:none;align-items:center;justify-content:center;gap:13px;min-height:44px;margin:0;padding:10px 13px;border:1px solid #526d71;border-radius:8px;background:#192f37;color:#e4edce;font-size:12px;line-height:1.4}
  .rv-js .rv-site .rv-header .rv-menu-toggle{display:flex}
  .rv-site .rv-header .rv-nav{display:flex;flex-direction:column;align-items:stretch;flex:0 0 100%;width:100%;gap:12px;margin-top:10px;padding:8px 0 12px;max-height:calc(100dvh - var(--rv-admin-offset,0px) - 94px);overflow-y:auto;overscroll-behavior:contain}
  .rv-js .rv-site .rv-header .rv-nav{display:none}
  .rv-js .rv-site .rv-header .rv-nav.is-open{display:flex}
  .rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools){display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px}
  .rv-site .rv-header .rv-nav-tools{padding-top:10px;border-top:1px solid #3a545b}
  .rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a{min-height:44px;padding:11px 12px;border-radius:7px;font-size:14px;white-space:normal}
  .rv-site .rv-header .rv-nav-tools>a{color:#bdd0d1;font-size:13px}
  .rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a::after{display:none}
  .rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a:hover{background:#233e42}
  .rv-site .rv-header :is(.rv-nav-primary,.rv-nav-tools)>a[aria-current]{background:#2b4540;box-shadow:inset 3px 0 #d8ef80}
  .rv-site .rv-header .rv-header-project{display:block;margin-top:8px}
  .rv-site .rv-header .rv-project-launch{justify-content:flex-start;width:100%;padding:10px 12px;font-size:13px!important}
  .rv-site .rv-header .rv-project-count{margin-left:auto}
  .rv-site .rv-header .rv-nav .rv-nav-cta{width:100%;min-height:48px;justify-content:space-between;padding:12px 15px;font-size:14px}
}
@media(max-width:650px){
  .rv-site .rv-header .rv-header-inner{min-height:74px;column-gap:10px}
  .rv-site .rv-header .rv-brand{font-size:25px}
  .rv-site .rv-header .rv-menu-toggle{padding:9px 12px;font-size:11px}
  .rv-site .rv-page-guide-inner{gap:8px;min-height:52px}
  .rv-site .rv-page-guide-label{display:none}
  .rv-site .rv-page-guide-toggle{gap:9px;padding-inline:10px;font-size:11px;max-width:none}
  .rv-site .rv-back-top{padding-inline:10px;font-size:11px}
  .rv-site .rv-page-guide-panel{width:100%;padding:6px;border-radius:9px}
  .rv-site .rv-page-guide-panel a{font-size:12px;padding-inline:10px}
  .rv-site .rv-back-top-floating{right:14px}
}
@media(max-width:380px){
  .rv-site .rv-header .rv-brand{font-size:22px;gap:8px}
  .rv-site .rv-header .rv-brand small{font-size:6px;letter-spacing:.65px}
  .rv-site .rv-header .rv-menu-toggle{gap:8px;padding-inline:9px}
}
@media(max-height:600px){
  .rv-site .rv-header{position:relative;top:0}
  .rv-site .rv-page-guide{top:var(--rv-admin-offset,0px)}
  .rv-site .rv-header .rv-nav{max-height:none}
  .rv-site .rv-page-guide-panel{max-height:calc(100dvh - var(--rv-admin-offset,0px) - 86px)}
}
@media(prefers-reduced-motion:reduce){
  .rv-site .rv-header :is(a,button)::after,.rv-site :is(.rv-page-guide-toggle,.rv-page-guide-panel a,.rv-back-top){transition:none!important}
  html:has(body.rv-site){scroll-behavior:auto!important}
}
