/* Generated by tools/build-design.py; edit src/ instead. */
/* Local WordPress composition over vendored Pajamas semantic tokens. */
*{box-sizing:border-box}
html{scroll-padding-top:var(--gl-spacing-scale-12)}
body{margin:0;
  background:var(--gl-application-chrome-background-color);
  color:var(--gl-text-color-default);
}

a{color:var(--gl-text-color-link);
  text-underline-offset:var(--gl-spacing-scale-2)}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button,select{cursor:pointer}
button{color:var(--gl-text-color-default)}
button svg{pointer-events:none}
img{max-width:100%;
  height:auto}
strong,b{font-weight:var(--gl-font-weight-bold)}

body :is(a,button,input,select,textarea,summary,[tabindex]):is(:focus,:focus-visible){outline:none;
  box-shadow:none}

[hidden]{display:none!important}
.screen-reader-text{position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0}
.vs-skip{position:fixed;
  top:var(--gl-spacing-scale-3);
  left:var(--gl-spacing-scale-3);
  z-index:var(--vs-layer-skip-link);
  transform:translateY(-200%);
  padding:var(--gl-spacing-scale-3) var(--gl-spacing-scale-5);
  background:var(--gl-background-color-default)}
.vs-skip:focus{transform:none}

.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block:0}
.vs-icon{width:var(--gl-spacing-scale-5);
  height:var(--gl-spacing-scale-5);
  flex-shrink:0;
  fill:currentColor;
  vertical-align:middle}

.vs-search-open{--vs-search-inline-width:var(--vs-search-width)}
.vs-topbar{transition:grid-template-columns var(--vs-motion-standard) var(--vs-ease-out);
  position:fixed;
  inset:0 0 auto;
  height:var(--vs-bar-height);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(var(--gl-spacing-scale-20),var(--vs-search-inline-width)) minmax(0,1fr);
  align-items:center;
  gap:var(--gl-spacing-scale-5);
  padding-inline:var(--gl-spacing-scale-5);
  background:var(--gl-application-chrome-background-color);
  z-index:var(--vs-layer-chrome);
  font-size:var(--gl-font-size-300)}

.vs-brand-area,.vs-brand,.vs-global-actions{display:flex;
  align-items:center;
  gap:var(--gl-spacing-scale-3)}
.vs-brand{color:var(--gl-text-color-strong);
  text-decoration:none;
  min-width:0}
.vs-brand:hover{text-decoration:none}
.vs-brand>span:last-child{color:var(--gl-text-color-heading);
  font-weight:var(--gl-font-weight-heading);
  line-height:var(--gl-line-height-heading);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap}
.vs-monogram{display:grid;
  place-items:center;
  background:var(--gl-background-color-default);
  border:var(--vs-border-width) solid var(--vs-divider-color);
  border-radius:var(--gl-border-radius-md);
  width:var(--gl-spacing-scale-7);
  height:var(--gl-spacing-scale-7);
  font-weight:var(--gl-font-weight-bold);
  flex-shrink:0}

.vs-global-actions{justify-content:flex-end}
.vs-git-link{display:flex;
  align-items:center;
  gap:var(--gl-spacing-scale-2);
  color:var(--gl-text-color-default);
  text-decoration:none}

.vs-icon-button{display:inline-grid;
  place-items:center;
  flex-shrink:0;
  background:var(--gl-action-neutral-background-color-default);
  border:var(--vs-border-width) solid var(--gl-action-neutral-border-color-default);
  border-radius:var(--gl-border-radius-md);
  width:var(--gl-spacing-scale-7);
  height:var(--gl-spacing-scale-7);
  padding:0}
.vs-icon-button:hover{background:var(--gl-action-neutral-background-color-hover)}
#vs-nav-toggle{display:none}

.vs-search-trigger{display:flex;
  align-items:center;
  gap:var(--gl-spacing-scale-3);
  width:100%;
  height:var(--gl-spacing-scale-7);
  padding-inline:var(--gl-spacing-scale-4);
  background:var(--gl-control-background-color-default);
  border:var(--vs-border-width) solid var(--vs-divider-color);
  border-radius:var(--gl-border-radius-md);
  color:var(--gl-text-color-subtle);
  font-size:var(--gl-font-size-300);
  text-align:left}
.vs-search-trigger kbd{margin-inline-start:auto;
  font:inherit;
  font-size:var(--gl-font-size-100);
  white-space:nowrap}
.vs-search-trigger:hover,.vs-search-trigger:focus-within{background:var(--gl-nav-item-background-color-hover)}

.vs-sidebar{position:fixed;
  inset:var(--vs-bar-height) auto 0 0;
  width:var(--vs-sidebar-width);
  padding:var(--gl-spacing-scale-3);
  display:flex;
  flex-direction:column;
  background:var(--gl-application-chrome-background-color);
  z-index:var(--vs-layer-sidebar);
  font-size:var(--gl-font-size-300);
  line-height:var(--gl-line-height-20)}
.vs-nav-scroll{overflow-y:auto;
  min-height:0;
  flex:1;
  padding:var(--gl-spacing-scale-3)}
.vs-nav-scroll a{text-decoration:none;
  color:var(--gl-nav-item-foreground-color-default)}
.vs-nav-section{margin-top:var(--gl-spacing-scale-5)}
.vs-nav-heading>a>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs-nav-heading{display:flex;
  align-items:center;
  gap:var(--gl-spacing-scale-2)}
.vs-nav-heading>a{display:flex;
  align-items:center;
  gap:var(--gl-spacing-scale-3);
  padding:var(--gl-spacing-scale-3);
  min-width:0;
  flex:1;
  font-weight:var(--gl-font-weight-bold)}
.vs-collapse-control{display:none;
  place-items:center;
  width:var(--gl-spacing-scale-7);
  height:var(--gl-spacing-scale-7);
  border:0;
  background:var(--gl-action-neutral-background-color-default);
  border-radius:var(--gl-border-radius-md)}
.has-js .vs-collapse-control{display:grid}
.vs-collapse-control[aria-expanded=true] svg{transform:rotate(90deg)}
.vs-collapse-control:hover{background:var(--gl-action-neutral-background-color-hover)}
.vs-nav-items{display:grid;
  gap:var(--vs-navigation-item-gap);
  padding-inline-start:var(--gl-spacing-scale-6);
  margin-top:var(--gl-spacing-scale-2)}

.vs-nav-link{display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--gl-spacing-scale-3);
  padding:var(--gl-spacing-scale-3);
  border-radius:var(--gl-border-radius-lg);
  color:var(--gl-text-color-default);
  text-decoration:none;
  position:relative}
.vs-nav-link:hover{background:var(--gl-nav-item-background-color-hover);
  text-decoration:none}
.vs-nav-link[aria-current]{background:var(--gl-nav-item-selected-background-color-default);
  color:var(--gl-nav-item-selected-foreground-color-default);
  font-weight:var(--gl-nav-item-selected-font-weight)}
.vs-nav-link[aria-current]::before{content:'';
  position:absolute;
  left:calc(-1 * var(--gl-spacing-scale-3));
  top:var(--gl-spacing-scale-3);
  bottom:var(--gl-spacing-scale-3);
  width:var(--gl-spacing-scale-1);
  border-radius:var(--gl-border-radius-md);
  background:var(--gl-nav-item-selected-indicator-color)}
.vs-count{font-size:var(--gl-font-size-100);
  color:var(--gl-text-color-subtle);
  font-weight:var(--gl-font-weight-normal)}

.vs-sidebar-footer{display:flex;
  flex-direction:column;
  gap:var(--gl-spacing-scale-3);
  padding:var(--gl-spacing-scale-5) var(--gl-spacing-scale-3) var(--gl-spacing-scale-3)}
.vs-close-nav{padding-inline:var(--gl-spacing-scale-3);display:flex;align-items:center;gap:var(--gl-spacing-scale-3);min-height:var(--gl-spacing-scale-7);border:0;
  background:var(--gl-action-neutral-background-color-default);
  color:var(--gl-text-color-subtle);
  padding-block:0;
  text-align:left;
  font-size:var(--gl-font-size-300)}

.vs-main{margin:var(--vs-bar-height) var(--gl-spacing-scale-3) 0 var(--vs-sidebar-width);
  padding:var(--gl-spacing-scale-7);
  min-height:calc(100vh - var(--gl-spacing-scale-13));
  border:var(--vs-border-width) solid var(--vs-frame-border-color);
  border-radius:var(--vs-frame-radius);
  background:var(--gl-background-color-default);
  outline:0}
.vs-main>div{max-width:var(--vs-content-width);
  margin-inline:auto}
.vs-footer{display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--gl-spacing-scale-3);
  margin-inline-start:var(--vs-sidebar-width);
  padding:var(--gl-spacing-scale-3) var(--gl-spacing-scale-6);
  font-size:var(--gl-font-size-100);
  color:var(--gl-text-color-subtle)}
.vs-footer a{color:inherit}
.vs-breadcrumbs{display:flex;
  flex-wrap:wrap;
  gap:var(--gl-spacing-scale-3);
  font-size:var(--gl-font-size-300);
  margin-bottom:var(--gl-spacing-scale-7);
  color:var(--gl-text-color-subtle)}
.vs-breadcrumbs a{color:inherit;
  text-decoration:none}

h1,h2,h3,h4,h5,h6{color:var(--gl-text-color-heading);
  font-weight:var(--gl-font-weight-heading);
  line-height:var(--gl-line-height-heading);
  margin:0 0 var(--gl-spacing-scale-5)}
h1{font-size:var(--gl-heading-1-font-size);
  letter-spacing:var(--gl-heading-1-letter-spacing)}
h2{font-size:var(--gl-heading-2-font-size);
  letter-spacing:var(--gl-heading-2-letter-spacing)}
h3{font-size:var(--gl-heading-3-font-size)}
h4{font-size:var(--gl-heading-4-font-size)}
h5{font-size:var(--gl-heading-5-font-size)}
h6{font-size:var(--gl-heading-6-font-size)}
p{margin:0 0 var(--gl-spacing-scale-5)}
.vs-lead{font-size:var(--gl-font-size-500);
  line-height:var(--gl-line-height-32);
  color:var(--gl-text-color-subtle);
  max-width:var(--gl-spacing-scale-88)}

.vs-button{display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:var(--gl-spacing-scale-7);
  padding:var(--gl-spacing-scale-2) var(--gl-spacing-scale-4);
  border:var(--vs-border-width) solid var(--gl-button-default-primary-border-color-default);
  background:var(--gl-button-default-primary-background-color-default);
  color:var(--gl-button-default-primary-foreground-color-default);
  border-radius:var(--gl-border-radius-md);
  font-size:var(--gl-font-size-300);
  text-decoration:none;
  font-weight:var(--gl-font-weight-bold)}
.vs-button:hover{background:var(--gl-button-default-primary-background-color-hover);
  text-decoration:none}

/* Home is a sequence of collections sharing one content edge. */
.vs-main.vs-layout-home>div{max-width:var(--vs-home-width)}
.vs-home-intro{padding-block:0 var(--gl-spacing-scale-7)}
.vs-home-intro .vs-lead{margin:0;max-width:none}
.vs-home-publications,.vs-home-projects{margin-bottom:var(--gl-spacing-scale-8)}
.vs-home-publications .vs-card-list,.vs-home-projects .vs-card-list{
  --vs-home-column-min:var(--vs-home-card-min-width);
  --vs-home-column-limit:var(--vs-home-max-columns);
  --vs-home-grid-gap:var(--gl-spacing-scale-5);
  gap:var(--gl-spacing-scale-7) var(--vs-home-grid-gap);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,max(var(--vs-home-column-min),calc((100% - (var(--vs-home-column-limit) - 1) * var(--vs-home-grid-gap)) / var(--vs-home-column-limit)))),1fr))}
.vs-home-projects .vs-card-list{--vs-home-column-min:var(--vs-home-project-min-width);
  --vs-home-column-limit:var(--vs-home-project-max-columns)}
.vs-home-photos .vs-photo-cover{aspect-ratio:var(--vs-home-photo-ratio)}
.vs-section-heading{display:flex;
  justify-content:space-between;
  align-items:baseline;
  flex-wrap:wrap;
  gap:var(--gl-spacing-scale-3);
  margin-bottom:var(--gl-spacing-scale-5)}
.vs-section-heading h2{margin:0}
.vs-section-heading>a{font-size:var(--gl-font-size-300)}

.vs-meta{display:flex;
  flex-wrap:wrap;
  gap:var(--gl-spacing-scale-5);
  color:var(--gl-text-color-subtle);
  font-size:var(--gl-font-size-300);
  line-height:var(--gl-line-height-20);
  margin:0}

.vs-reading-grid{display:grid;
  grid-template-columns:minmax(0,var(--vs-reading-width)) minmax(0,var(--vs-toc-width));
  gap:var(--gl-spacing-scale-9);
  justify-content:center}
.vs-prose{min-width:0;
  font-size:var(--gl-font-size-400-fixed);
  line-height:var(--gl-line-height-28);
  overflow-wrap:break-word}
.vs-prose :is(h2,h3,h4){margin-top:var(--gl-spacing-scale-7)}
.vs-prose p,.vs-prose ul,.vs-prose ol,.vs-prose pre,.vs-prose figure{margin-bottom:var(--gl-spacing-scale-6)}
.vs-prose blockquote{margin-inline:0;
  padding-inline-start:var(--gl-spacing-scale-6);
  border-inline-start:var(--gl-spacing-scale-2) solid var(--gl-border-color-strong);
  color:var(--gl-text-color-subtle)}
.vs-prose :is(code,pre,kbd){font-family:var(--gl-font-family-monospace);
  font-size:var(--gl-font-size-300)}
.vs-prose pre{overflow:auto;
  padding:var(--gl-spacing-scale-5);
  background:var(--gl-background-color-subtle);
  border:var(--vs-border-width) solid var(--vs-divider-color);
  border-radius:var(--gl-border-radius-md);
  line-height:var(--gl-line-height-24)}
.vs-prose :not(pre)>code{padding-inline:var(--gl-spacing-scale-2);
  background:var(--gl-background-color-subtle);
  border-radius:var(--gl-border-radius-md)}


.vs-article-header{margin-bottom:var(--gl-spacing-scale-7)}
.vs-article-cover{width:100%;
  max-height:var(--gl-spacing-scale-80);
  object-fit:cover;
  border-radius:var(--gl-border-radius-lg);
  margin-bottom:var(--gl-spacing-scale-7)}
.vs-toc{align-self:start;
  position:sticky;
  border-left:var(--vs-border-width) solid var(--vs-divider-color);
  padding-left:var(--gl-spacing-scale-5);
  font-size:var(--gl-font-size-300);
  line-height:var(--gl-line-height-24)}
.vs-toc h2{font-size:var(--gl-heading-5-font-size)}
.vs-toc ol{padding-left:var(--gl-spacing-scale-5)}
.vs-toc li{margin-bottom:var(--gl-spacing-scale-3)}
.vs-toc a{color:var(--gl-text-color-subtle);
  text-decoration:none}
.vs-toc a:hover{color:var(--gl-text-color-link)}
.vs-post-navigation{display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--gl-spacing-scale-5);
  padding-top:var(--gl-spacing-scale-7);
  margin-top:var(--gl-spacing-scale-7);
  border-top:var(--vs-border-width) solid var(--vs-divider-color);
  font-size:var(--gl-font-size-300)}

.vs-page-grid{max-width:var(--gl-spacing-scale-88)}
.vs-page-grid.vs-with-portrait{max-width:none;
  display:grid;
  grid-template-columns:minmax(0,var(--vs-reading-width)) minmax(0,var(--vs-toc-width));
  gap:var(--gl-spacing-scale-9)}
.vs-page-image img{width:100%;
  border-radius:var(--gl-border-radius-lg)}
.vs-project-cover{display:block;
  border-radius:var(--gl-border-radius-lg)}
.vs-project-grid{display:grid;
  gap:var(--gl-spacing-scale-9)}
.vs-list-header{margin-bottom:var(--gl-spacing-scale-7)}

.vs-photo-grid{display:grid;
  list-style:none;
  margin:0;
  padding:0;
  grid-template-columns:repeat(var(--vs-photo-columns),minmax(0,1fr));
  gap:var(--gl-spacing-scale-7) var(--gl-spacing-scale-6)}
.vs-photo-tile{min-width:0;
  align-self:start;
  border:var(--vs-border-width) solid var(--vs-frame-border-color);
  border-radius:var(--gl-border-radius-lg);
  overflow:hidden;
  background:var(--gl-background-color-section)}
.vs-photo-tile a{display:block;
  text-decoration:none;
  color:var(--gl-text-color-heading)}
.vs-photo-cover{display:block;
  width:100%;
  aspect-ratio:var(--vs-album-cover-ratio);
  object-fit:cover;
  border-radius:0;
  margin:0}
.vs-photo-tile :is(h2,h3){font-size:var(--gl-heading-3-font-size);
  padding:var(--gl-spacing-scale-5);
  margin:0}
.vs-photo-tile a:hover :is(h2,h3){color:var(--gl-text-color-link);text-decoration:underline}
.vs-gallery-header{margin-bottom:var(--gl-spacing-scale-7)}
.vs-gallery-content .wp-block-gallery.has-nested-images{display:block;
  column-count:var(--vs-photo-columns);
  column-gap:var(--gl-spacing-scale-5)}
.vs-gallery-content .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img{height:auto!important;
  object-fit:contain!important;
  aspect-ratio:auto}
.vs-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image{display:block;
  width:100%!important;
  margin:0!important;
  padding-bottom:var(--gl-spacing-scale-5);
  break-inside:avoid;
  align-self:start;
  flex-grow:0;
  height:auto!important;
  min-height:0}
.vs-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image>a{display:block;
  height:auto!important;
  min-height:0}
.vs-gallery-content .wp-block-gallery.vs-masonry{display:grid;
  column-count:auto;
  --vs-masonry-gap:var(--gl-spacing-scale-5);
  column-gap:var(--vs-masonry-gap);
  row-gap:0;
  grid-auto-rows:var(--vs-masonry-row-unit);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,max(var(--vs-gallery-card-min-width),calc((100% - (var(--vs-photo-columns) - 1) * var(--vs-masonry-gap)) / var(--vs-photo-columns)))),1fr));
  align-items:start}
.vs-gallery-content .wp-block-gallery.vs-masonry figure.wp-block-image img{width:100%;height:auto!important}
.vs-gallery-content img{border-radius:var(--gl-border-radius-md)}
.vs-gallery-content>p{max-width:var(--gl-spacing-scale-88)}
.vs-gallery-content .gallery{display:grid;
  grid-template-columns:repeat(var(--vs-photo-columns),minmax(0,1fr));
  gap:var(--gl-spacing-scale-5)}
.vs-gallery-content .gallery-item{width:auto!important;
  float:none!important;
  margin:0!important}
.vs-gallery-content .gallery img{border:0!important}
.vs-image-page>img{max-height:var(--vs-attachment-max-height);
  width:auto;
  display:block;
  margin-inline:auto}

.vs-filter-links{display:flex;
  flex-wrap:wrap;
  gap:var(--gl-spacing-scale-3);
  padding-bottom:var(--gl-spacing-scale-5);
  margin-bottom:var(--gl-spacing-scale-7);
  border-bottom:var(--vs-border-width) solid var(--vs-divider-color);
  font-size:var(--gl-font-size-300)}
.vs-filter-links a{white-space:nowrap}
.vs-pagination ul{display:flex;
  gap:var(--gl-spacing-scale-3);
  list-style:none;
  padding:0;
  margin-top:var(--gl-spacing-scale-7)}
.vs-pagination a,.vs-pagination .current{display:block;
  padding:var(--gl-spacing-scale-3) var(--gl-spacing-scale-4);
  border:var(--vs-border-width) solid var(--vs-divider-color);
  border-radius:var(--gl-border-radius-md)}
.vs-pagination .current{font-weight:var(--gl-font-weight-bold);
  background:var(--gl-nav-item-selected-background-color-default)}
.vs-empty-state{padding-block:var(--gl-spacing-scale-9)}

@media(min-width:1200px){
  .has-js.vs-sidebar-collapsed{--vs-sidebar-width:var(--vs-sidebar-rail-width)}
  .has-js #vs-nav-toggle{display:none}
  .vs-nav-backdrop{display:none!important}
  .has-js.vs-sidebar-collapsed .vs-nav-scroll{padding-inline:0}
  .has-js.vs-sidebar-collapsed :is(.vs-nav-heading>a>span,.vs-nav-item-label>span,.vs-collapse-control,.vs-nav-items,.vs-close-nav>span){display:none}
  .has-js.vs-sidebar-collapsed .vs-nav-heading>a,.has-js.vs-sidebar-collapsed .vs-nav-scroll>.vs-nav-link{justify-content:center;min-height:var(--gl-spacing-scale-7);padding-inline:var(--gl-spacing-scale-3);border-radius:var(--gl-border-radius-lg)}
  .has-js.vs-sidebar-collapsed .vs-nav-section[data-current]>.vs-nav-heading>a{background:var(--gl-nav-item-selected-background-color-default)}
  .has-js.vs-sidebar-collapsed .vs-sidebar-footer{padding-inline:0}
  .has-js.vs-sidebar-collapsed .vs-close-nav{justify-content:center}
}

@media(max-width:1199px
){.vs-topbar{grid-template-columns:minmax(0,1fr) minmax(var(--gl-spacing-scale-15),1fr) auto}
.has-js #vs-nav-toggle{display:grid}
.has-js .vs-sidebar{transform:translateX(var(--vs-sidebar-closed-translate))}
.has-js.vs-nav-open .vs-sidebar{transform:none}
.has-js .vs-main,.has-js .vs-footer{margin-inline-start:var(--gl-spacing-scale-3)}
.has-js .vs-nav-backdrop:not([hidden]){position:fixed;
  inset:var(--vs-bar-height) 0 0;
  width:100%;
  height:calc(100dvh - var(--vs-bar-height));
  border:0;
  background:var(--gl-background-color-overlay);
  z-index:var(--vs-layer-backdrop)}
.vs-reading-grid{grid-template-columns:minmax(0,var(--vs-reading-width))}
.vs-toc{position:static;
  border-left:0;
  border-bottom:var(--vs-border-width) solid var(--vs-divider-color);
  padding:0 0 var(--gl-spacing-scale-5)}
.vs-page-grid.vs-with-portrait{grid-template-columns:minmax(0,1fr) minmax(0,var(--vs-toc-width))}
}

@media(max-width:767px
){.vs-topbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--gl-spacing-scale-3);
  padding-inline:var(--gl-spacing-scale-3)}
.vs-brand-area{gap:var(--gl-spacing-scale-2)}
.vs-monogram{width:var(--gl-spacing-scale-6);
  height:var(--gl-spacing-scale-6)}
.vs-brand>span:last-child{font-size:var(--gl-font-size-300)}
.vs-search-trigger{width:100%;min-width:0;padding-inline:var(--gl-spacing-scale-3)}
.vs-search-trigger input{font-size:var(--gl-font-size-400-fixed)}
.vs-brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-search-open .vs-topbar{grid-template-columns:minmax(0,1fr)}
.vs-search-open .vs-brand-area{display:none}
.vs-search-trigger kbd,.vs-global-actions{display:none}
.vs-main{padding:var(--gl-spacing-scale-6) var(--gl-spacing-scale-5)}
.vs-project-grid,.vs-page-grid.vs-with-portrait{grid-template-columns:minmax(0,1fr);
  gap:var(--gl-spacing-scale-7)}
.vs-photo-grid{grid-template-columns:repeat(var(--vs-card-columns),minmax(0,1fr));
  gap:var(--gl-spacing-scale-5)}
.vs-photo-cover{aspect-ratio:var(--vs-album-cover-ratio)}
.vs-page-image{max-width:var(--gl-spacing-scale-30)}
.vs-gallery-content .wp-block-gallery.has-nested-images{column-count:1}
.vs-gallery-content .gallery{grid-template-columns:minmax(0,1fr)}
.vs-lead{font-size:var(--gl-font-size-500-fixed);
  line-height:var(--gl-line-height-28)}
.vs-footer{
  padding-inline:var(--gl-spacing-scale-5)}
.vs-section-heading{align-items:flex-start}

}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;
  transition:none!important;
  animation:none!important}
}

@media print{.vs-topbar,.vs-sidebar,.vs-footer,.vs-toc,.vs-post-navigation{display:none!important}
.vs-main{margin:0;
  padding:0;
  border:0}
.vs-reading-grid{display:block}
}


/* A project opens with its purpose;
   the cover supports the description. */
.vs-brand-logo{display:block;
  width:var(--gl-spacing-scale-7);
  height:var(--gl-spacing-scale-7);
  object-fit:contain}
.vs-layout-article .vs-article-cover{max-height:var(--gl-spacing-scale-34)}


.vs-nav-item-label{display:flex;
  align-items:center;
  gap:var(--gl-spacing-scale-3)}
.vs-toc{
  overflow-y:auto}
.vs-mobile-toc{margin-block:var(--gl-spacing-scale-5) var(--gl-spacing-scale-6);
  padding:var(--gl-spacing-scale-5);
  border:var(--vs-border-width) solid var(--vs-divider-color);
  border-radius:var(--gl-border-radius-md);
  font-size:var(--gl-font-size-300);
  line-height:var(--gl-line-height-24)}
.vs-mobile-toc summary{cursor:pointer;
  font-weight:var(--gl-font-weight-bold)}
.vs-mobile-toc .vs-toc{
  max-height:none;
  overflow:visible;
  border:0;
  padding:var(--gl-spacing-scale-5) 0 0}
.vs-mobile-toc .vs-toc h2{display:none}


/* Independent content cards follow the Pajamas Card header/body/footer structure. */
.vs-card-list{list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:var(--gl-spacing-scale-5)}
.vs-card-list>li{min-width:0;
  align-self:start}
.vs-card{padding:0;
  border:var(--vs-border-width) solid var(--vs-frame-border-color);
  border-radius:var(--gl-border-radius-lg);
  background:var(--vs-card-surface);
  overflow:hidden}
.vs-project-row{background:var(--gl-background-color-default);border-color:var(--vs-divider-color)}
.vs-project-row .vs-card-header{padding-top:var(--gl-spacing-scale-6)}
.vs-project-row .vs-card-body{padding-bottom:var(--gl-spacing-scale-6)}
.vs-card-link{display:block;color:inherit;text-decoration:none}
.vs-card-link:hover{text-decoration:none}
.vs-card-media{display:block;background:var(--vs-card-surface)}
.vs-card-media img{display:block;width:100%;height:auto;aspect-ratio:var(--vs-card-media-ratio);object-fit:cover}
.vs-card-header{padding:var(--vs-card-padding) var(--vs-card-padding) var(--vs-card-content-gap)}
.vs-card-header :is(h2,h3){margin:0;
  font-size:var(--gl-heading-scale-500-font-size);
  font-weight:var(--gl-heading-scale-500-font-weight);
  line-height:var(--gl-heading-scale-500-line-height);
  letter-spacing:var(--gl-heading-scale-500-letter-spacing);
  color:var(--gl-text-color-heading)}
.vs-card-link:hover .vs-card-header :is(h2,h3){color:var(--gl-text-color-link);text-decoration:underline}
.vs-card-body{padding:0 var(--vs-card-padding) var(--vs-card-padding);
  font-size:var(--gl-font-size-300);
  line-height:var(--gl-line-height-20)}
.vs-card-body p{margin:0;color:var(--gl-text-color-subtle)}
.vs-card-footer{padding:0 var(--vs-card-padding) var(--vs-card-padding)}
.vs-card-footer .vs-meta{font-size:var(--gl-font-size-100);gap:var(--gl-spacing-scale-3)}
.vs-article-list{max-width:none;
  grid-template-columns:repeat(var(--vs-card-columns),minmax(0,1fr))}
.vs-project-grid{grid-template-columns:repeat(var(--vs-card-columns),minmax(0,1fr))}
.vs-project .vs-reading-grid{justify-content:start}
.vs-article-cover+.vs-article-content>:first-child{margin-top:0}

/* The application shell stays fixed. Only the main frame and navigation scroll. */
.has-js,.has-js body{height:100%;
  overflow:hidden}
.has-js body{height:100dvh;background:var(--gl-application-chrome-background-color)}
.has-js .vs-main{position:fixed;
  top:var(--vs-bar-height);
  left:var(--vs-sidebar-width);
  right:var(--gl-spacing-scale-3);
  bottom:var(--gl-spacing-scale-9);
  margin:0;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scroll-padding-top:var(--gl-spacing-scale-7);
  border-radius:var(--vs-frame-radius) var(--vs-frame-radius) 0 0;
  border-bottom:0}
.has-js .vs-footer{position:fixed;
  left:var(--vs-sidebar-width);
  right:var(--gl-spacing-scale-3);
  bottom:var(--gl-spacing-scale-3);
  height:var(--gl-spacing-scale-8);
  margin:0;
  align-items:center;
  padding-block:0;
  background:var(--gl-background-color-default);
  border:var(--vs-border-width) solid var(--vs-frame-border-color);
  border-radius:0 0 var(--vs-frame-radius) var(--vs-frame-radius)}
.vs-toc{top:var(--gl-spacing-scale-7)}
.vs-layout-project .vs-reading-grid{justify-content:start}

@media(max-width:1199px
){.has-js .vs-main,.has-js .vs-footer{left:var(--gl-spacing-scale-3);
  margin:0}
}

@media(max-width:767px
){.vs-article-list,.vs-project-grid{grid-template-columns:minmax(0,1fr)}
.vs-footer{gap:var(--gl-spacing-scale-2);
  font-size:var(--gl-font-size-100)}
}

@media print{.has-js,.has-js body{height:auto;
  overflow:visible}
.has-js .vs-main{position:static;
  overflow:visible;
  min-height:0;
  margin:0;
  padding:0;
  border:0}
}


/* WordPress keeps its own toolbar for signed-in editors. */
body.admin-bar .vs-topbar{top:var(--wp-admin--admin-bar--height,var(--gl-spacing-scale-7))}
body.admin-bar .vs-sidebar{top:calc(var(--vs-bar-height) + var(--wp-admin--admin-bar--height,var(--gl-spacing-scale-7)))}
.has-js body.admin-bar .vs-main{top:calc(var(--vs-bar-height) + var(--wp-admin--admin-bar--height,var(--gl-spacing-scale-7)))}

@media(max-width:782px
){body.admin-bar .vs-topbar{top:var(--wp-admin--admin-bar--height)}
body.admin-bar .vs-sidebar{top:calc(var(--vs-bar-height) + var(--wp-admin--admin-bar--height))}
.has-js body.admin-bar .vs-main{top:calc(var(--vs-bar-height) + var(--wp-admin--admin-bar--height))}
}

@media(max-width:1199px
){html:not(.has-js) .vs-sidebar{position:static;
  width:auto;
  margin-top:var(--vs-bar-height)}
html:not(.has-js) .vs-main,html:not(.has-js) .vs-footer{margin-left:var(--gl-spacing-scale-3)}
}


.vs-nav-link:active{background:var(--gl-nav-item-background-color-active)}
.vs-nav-link[aria-current]:hover{background:var(--gl-nav-item-selected-background-color-hover)}
.vs-nav-link[aria-current]:active{background:var(--gl-nav-item-selected-background-color-active)}
.vs-nav-link:focus-visible{background:var(--gl-nav-item-background-color-focus);
  outline-offset:var(--gl-spacing-scale-1)}
.vs-nav-heading>a{border-radius:var(--gl-border-radius-lg)}
.vs-nav-heading>a:hover{background:var(--gl-nav-item-background-color-hover)}


/* User-authored content follows the fixed Pajamas heading scale. */
.vs-article-content h1,.vs-gallery-content h1{font-size:var(--gl-heading-1-fixed-font-size);
  font-weight:var(--gl-heading-1-fixed-font-weight);
  line-height:var(--gl-heading-1-fixed-line-height);
  letter-spacing:var(--gl-heading-1-fixed-letter-spacing)}

.vs-article-content h2,.vs-gallery-content h2{font-size:var(--gl-heading-2-fixed-font-size);
  font-weight:var(--gl-heading-2-fixed-font-weight);
  line-height:var(--gl-heading-2-fixed-line-height);
  letter-spacing:var(--gl-heading-2-fixed-letter-spacing)}

.vs-article-content h3,.vs-gallery-content h3{font-size:var(--gl-heading-3-fixed-font-size);
  font-weight:var(--gl-heading-3-fixed-font-weight);
  line-height:var(--gl-heading-3-fixed-line-height);
  letter-spacing:var(--gl-heading-3-fixed-letter-spacing)}

.vs-article-content h4,.vs-gallery-content h4{font-size:var(--gl-heading-4-fixed-font-size);
  font-weight:var(--gl-heading-4-fixed-font-weight);
  line-height:var(--gl-heading-4-fixed-line-height);
  letter-spacing:var(--gl-heading-4-fixed-letter-spacing)}

.vs-article-content h5,.vs-gallery-content h5{font-size:var(--gl-heading-5-fixed-font-size);
  font-weight:var(--gl-heading-5-fixed-font-weight);
  line-height:var(--gl-heading-5-fixed-line-height);
  letter-spacing:var(--gl-heading-5-fixed-letter-spacing)}

.vs-article-content h6,.vs-gallery-content h6{font-size:var(--gl-heading-6-fixed-font-size);
  font-weight:var(--gl-heading-6-fixed-font-weight);
  line-height:var(--gl-heading-6-fixed-line-height);
  letter-spacing:var(--gl-heading-6-fixed-letter-spacing)}


/* Content entities keep their own height. Headers and footers share one outline. */
.vs-card-list { align-items:start; }
.vs-card { height:auto; }
.vs-project-header { margin-bottom:var(--gl-spacing-scale-6); }
.vs-project-header .vs-lead { margin:0; }
.vs-project-cover { width:100%;height:auto;max-height:none;aspect-ratio:var(--vs-project-cover-ratio);object-fit:contain;margin-bottom:var(--gl-spacing-scale-6); }
.vs-project-sidebar { align-self:stretch;min-width:0; }
.vs-project-layout .vs-article-content>:first-child { margin-top:0; }

/* Reading navigation has its own scroll port; it never scrolls an ancestor. */
.vs-toc { max-height:calc(100dvh - var(--vs-bar-height) - var(--vs-footer-height) - var(--vs-panel-padding) * 2 - var(--vs-frame-inset));overflow:auto;overscroll-behavior:contain;scroll-padding-block:var(--gl-spacing-scale-3); }
.vs-toc ol { display:grid;gap:var(--vs-navigation-item-gap);list-style:none;padding:0;margin:0; }
.vs-toc li { margin:0; }
.vs-toc a { display:block;position:relative;padding:var(--gl-spacing-scale-3);border-radius:var(--gl-border-radius-md); }
.vs-toc a:hover { background:var(--gl-nav-item-background-color-hover);text-decoration:none; }
.vs-toc a[aria-current="location"] { background:var(--gl-nav-item-selected-background-color-default);color:var(--gl-nav-item-selected-foreground-color-default);font-weight:var(--gl-nav-item-selected-font-weight); }
.vs-toc a[aria-current="location"]::before { content:"";position:absolute;inset-block:var(--gl-spacing-scale-3);left:0;width:var(--gl-spacing-scale-1);border-radius:var(--gl-border-radius-md);background:var(--gl-nav-item-selected-indicator-color); }
.vs-toc-subheading { padding-inline-start:var(--gl-spacing-scale-5); }
.vs-article-content :is(h1,h2,h3,h4,h5,h6) { scroll-margin-block-start:var(--vs-panel-padding); }

/* Native HTML tables follow Pajamas: horizontal separators, no outer cage. */
.vs-prose .wp-block-table, .vs-table-scroll { max-width:100%;overflow:auto;overscroll-behavior-inline:contain;margin-block:var(--gl-spacing-scale-6); }
.vs-prose table { display:table;width:100%;max-width:none;border:0;border-collapse:collapse;font-size:var(--gl-font-size-400-fixed);line-height:var(--gl-line-height-24); }
.vs-prose :is(th,td),.vs-prose .wp-block-table :is(th,td),.vs-prose .vs-table-scroll :is(th,td) { border:0;border-bottom:var(--vs-border-width) solid var(--vs-divider-color);padding:var(--gl-spacing-scale-3) var(--gl-spacing-scale-5);text-align:start;vertical-align:top; }
.vs-prose th { font-weight:var(--gl-font-weight-bold);background:var(--gl-background-color-subtle); }
.vs-prose tbody tr:hover { background:var(--gl-background-color-subtle); }
.vs-prose table :is(p,ul,ol) { margin-bottom:0; }
.vs-prose li { margin-block:var(--gl-spacing-scale-2); }
.vs-prose li>p:last-child { margin-bottom:0; }
.vs-prose li>:is(ul,ol) { margin-block:var(--gl-spacing-scale-3) 0; }
.vs-prose hr { border:0;border-top:var(--vs-border-width) solid var(--vs-divider-color);margin-block:var(--gl-spacing-scale-7); }
.vs-prose figcaption { font-size:var(--gl-font-size-300);line-height:var(--gl-line-height-20);color:var(--gl-text-color-subtle); }
.vs-prose :is(input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],textarea,select) { box-sizing:border-box;max-width:100%;padding:var(--gl-spacing-scale-3) var(--gl-spacing-scale-4);font:inherit;font-size:var(--gl-font-size-300);line-height:var(--gl-line-height-20);border:var(--vs-border-width) solid var(--gl-control-border-color-default);border-radius:var(--gl-border-radius-md);background:var(--gl-control-background-color-default);color:var(--gl-text-color-default); }
.vs-prose label { font-size:var(--gl-font-size-300); }
.vs-prose summary { cursor:pointer;font-weight:var(--gl-font-weight-bold); }
.vs-prose details { margin-block:var(--gl-spacing-scale-5); }
.vs-prose :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--gl-text-color-link); }
.vs-button, .wp-element-button { display:inline-flex;align-items:center;justify-content:center;gap:var(--gl-spacing-scale-3);min-height:var(--gl-spacing-scale-7);padding:var(--gl-spacing-scale-3) var(--gl-spacing-scale-4);border:var(--vs-border-width) solid var(--gl-control-border-color-default);border-radius:var(--gl-border-radius-md);background:var(--gl-button-default-primary-background-color-default);color:var(--gl-button-default-primary-foreground-color-default);font-size:var(--gl-font-size-300);font-weight:var(--gl-font-weight-bold);line-height:var(--gl-line-height-20);text-decoration:none; }
.vs-button:hover, .wp-element-button:hover { background:var(--gl-action-neutral-background-color-hover);color:var(--gl-text-color-default);text-decoration:none; }

/* One persistent search input expands into an anchored results panel. */
.vs-search-trigger{margin:0;cursor:text}
.vs-search-trigger input{width:100%;min-width:0;height:100%;padding:0;border:0;background:transparent;color:inherit;font-family:inherit;font-weight:inherit;line-height:inherit}
.vs-search-trigger input::-webkit-search-cancel-button{appearance:none}
.vs-search-trigger input::placeholder{color:var(--gl-control-placeholder-color)}
.vs-search-trigger [data-close-search]{display:none;flex-shrink:0;width:var(--gl-spacing-scale-6);height:var(--gl-spacing-scale-6)}
.vs-search-open .vs-search-trigger [data-close-search]{display:inline-flex}
.vs-search-open .vs-search-trigger kbd{display:none}
.vs-search-panel{position:fixed;inset:var(--vs-bar-height) auto auto;margin:0;padding:0;max-height:calc(100dvh - var(--vs-bar-height) - var(--gl-spacing-scale-5));overflow:auto;border:var(--vs-border-width) solid var(--vs-divider-color);border-radius:var(--gl-border-radius-lg);background:var(--gl-background-color-overlap);color:var(--gl-text-color-default)}
.vs-search-panel:not(:popover-open){display:none}
.vs-search-spinner { width:var(--gl-spacing-scale-5);height:var(--gl-spacing-scale-5);border:var(--gl-spacing-scale-1) solid var(--vs-divider-color);border-top-color:var(--gl-text-color-default);border-radius:50%;flex-shrink:0;animation:vs-spin var(--vs-motion-loading) linear infinite; }
.vs-search-status { margin:0;padding:var(--gl-spacing-scale-5);font-size:var(--gl-font-size-300);line-height:var(--gl-line-height-20);color:var(--gl-text-color-subtle); }
.vs-live-results { list-style:none;margin:0;padding:0 var(--gl-spacing-scale-3) var(--gl-spacing-scale-3); }
.vs-live-results:empty { display:none; }
.vs-live-results a { display:block;min-height:var(--vs-control-height);padding:var(--gl-spacing-scale-3);border-radius:var(--gl-border-radius-md);font-size:var(--gl-font-size-300);line-height:var(--gl-line-height-20);color:var(--gl-text-color-default);text-decoration:none; }
.vs-live-results a:hover, .vs-live-results a:focus-visible { background:var(--gl-nav-item-background-color-hover); }
.vs-search-footer { display:flex;align-items:center;justify-content:space-between;gap:var(--gl-spacing-scale-5);padding:var(--gl-spacing-scale-3) var(--gl-spacing-scale-5);border-top:var(--vs-border-width) solid var(--vs-divider-color);background:var(--gl-background-color-subtle);font-size:var(--gl-font-size-100);line-height:var(--gl-line-height-20);color:var(--gl-text-color-subtle); }
.vs-search-footer button { min-height:var(--gl-spacing-scale-7); }

/* Photography gets the viewport, not a large empty card. */
.vs-lightbox::backdrop{background:var(--gl-background-color-overlay)}
.vs-lightbox { inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:var(--gl-application-chrome-background-color);color:var(--gl-text-color-default); }
.vs-viewer-toolbar { position:absolute;inset:var(--gl-spacing-scale-3) var(--gl-spacing-scale-3) auto;z-index:var(--vs-layer-viewer-controls);display:flex;align-items:center;justify-content:space-between;gap:var(--gl-spacing-scale-3);pointer-events:none; }
.vs-viewer-toolbar>div { display:flex;align-items:center;gap:var(--gl-spacing-scale-3); }
.vs-viewer-toolbar :is(button,a) { pointer-events:auto;background:var(--gl-background-color-overlap); }
.vs-viewer-stage { position:absolute;inset:var(--vs-viewer-toolbar-height) var(--gl-spacing-scale-3) var(--vs-viewer-caption-height);overflow:auto;overscroll-behavior:contain;display:block; }
.vs-viewer-canvas { display:flex;align-items:center;justify-content:center;width:max(100%,var(--vs-photo-width,100%));height:max(100%,var(--vs-photo-height,100%)); }
.vs-viewer-stage img { display:block;flex-shrink:0;width:var(--vs-photo-width,100%);height:var(--vs-photo-height,100%);max-width:none;max-height:none;object-fit:contain;transform-origin:0 0;cursor:zoom-in; }
.vs-viewer-stage.is-zoomed img { cursor:zoom-out; }
.vs-viewer-caption { position:absolute;inset:auto var(--gl-spacing-scale-5) 0;margin:0;min-height:var(--vs-viewer-caption-height);text-align:center;font-size:var(--gl-font-size-300);line-height:var(--gl-line-height-20); }
.vs-viewer-nav { position:absolute;top:50%;z-index:var(--vs-layer-viewer-controls);width:var(--vs-control-height);height:var(--vs-control-height);background:var(--gl-background-color-overlap); }
.vs-viewer-prev { left:var(--gl-spacing-scale-3); }
.vs-viewer-prev svg { transform:rotate(180deg); }
.vs-viewer-next { right:var(--gl-spacing-scale-3); }

/* CV: one portrait, one name, and a readable document with a print layout. */
.vs-cv-header { display:grid;grid-template-columns:minmax(0,var(--vs-reading-width));gap:var(--gl-spacing-scale-7);align-items:start;margin-bottom:var(--gl-spacing-scale-7); }
.vs-cv-header.vs-with-portrait { grid-template-columns:var(--vs-portrait-width) minmax(0,var(--vs-reading-width)); }
.vs-cv-portrait { position:relative;align-self:stretch;min-height:0; }
.vs-cv-portrait img { position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:var(--gl-border-radius-lg); }
.vs-cv-intro p { font-size:var(--gl-font-size-400);line-height:var(--gl-line-height-24);margin-bottom:var(--gl-spacing-scale-5); }
.vs-cv-intro .vs-cv-role { font-size:var(--gl-font-size-500-fixed);line-height:var(--gl-line-height-24);font-weight:var(--gl-font-weight-bold); }
.vs-cv-actions { display:flex;flex-wrap:wrap;align-items:center;gap:var(--gl-spacing-scale-5);font-size:var(--gl-font-size-300); }
.vs-cv .vs-reading-grid { justify-content:start; }
.vs-cv .vs-prose>h2 { padding-top:var(--gl-spacing-scale-5);border-top:var(--vs-border-width) solid var(--vs-divider-color); }
.vs-cv .vs-prose>h2:first-child { margin-top:0; }
.vs-cv .vs-prose>p:has(>em:only-child) { font-size:var(--gl-font-size-300);color:var(--gl-text-color-subtle); }

/* Interaction motion uses the same tokens throughout the theme. */
.vs-nav-link, .vs-toc a, .vs-live-results a { transition:background-color var(--vs-motion-fast) var(--vs-ease-default),color var(--vs-motion-fast) var(--vs-ease-default); }
.vs-button, .wp-element-button, .vs-icon-button, .vs-search-trigger, .vs-collapse-control, .vs-nav-heading>a, input, textarea, select { transition:background-color var(--vs-motion-standard) var(--vs-ease-out),border-color var(--vs-motion-standard) var(--vs-ease-out),color var(--vs-motion-standard) var(--vs-ease-out); }
.vs-collapse-control svg { transition:transform var(--vs-motion-standard) var(--vs-ease-out); }
.has-js .vs-sidebar { transition:transform var(--vs-motion-standard) var(--vs-ease-out),width var(--vs-motion-standard) var(--vs-ease-out); }
.has-js .vs-main, .has-js .vs-footer { transition:left var(--vs-motion-standard) var(--vs-ease-out); }
.vs-lightbox[open] { animation:vs-fade-in var(--vs-motion-standard) var(--vs-ease-out); }
@keyframes vs-fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes vs-spin { to { transform:rotate(1turn); } }
@media(max-width:1199px) {
  .vs-project-sidebar { display:contents; }
  .vs-project-sidebar .vs-project-cover { display:none; }
  .vs-toc { max-height:none; }
}
@media(max-width:767px) {
  .vs-cv-header,.vs-cv-header.vs-with-portrait { grid-template-columns:minmax(0,1fr);gap:var(--gl-spacing-scale-5); }
  .vs-cv-portrait { width:var(--gl-spacing-scale-12);height:var(--gl-spacing-scale-15); }

  .vs-search-footer kbd { display:none; }
  .vs-viewer-toolbar .vs-button { font-size:var(--gl-font-size-100); }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}
@media print {
  .vs-cv-actions, .vs-project-sidebar { display:none!important; }
  .vs-cv-header.vs-with-portrait { grid-template-columns:var(--vs-portrait-width) minmax(0,1fr); }
  .vs-prose { font-size:var(--gl-font-size-300-fixed);line-height:var(--gl-line-height-20); }
  .vs-prose :is(h2,h3) { break-after:avoid; }
  .vs-cv :is(p,li) { orphans:3;widows:3; }
}

.vs-main[aria-busy="true"] { cursor:progress; }
.editor-styles-wrapper:has(.vs-home)>.wp-block-post-title { display:none; }
.vs-viewer-stage { touch-action:pan-y; }
.vs-viewer-stage.is-zoomed { touch-action:auto; }

.vs-search-footer kbd { font:inherit; }
input::placeholder,textarea::placeholder { color:var(--gl-text-color-subtle);opacity:1; }
.vs-button:disabled { opacity:var(--gl-opacity-5);cursor:wait; }

@media(max-width:767px) { .vs-photo-grid { --vs-photo-columns:var(--vs-photo-columns-mobile);grid-template-columns:repeat(var(--vs-photo-columns),minmax(0,1fr)); } }
@media print {
  :root[data-vs-palette][data-vs-color-mode] { --gl-background-color-default:var(--vs-print-surface);--gl-background-color-subtle:var(--vs-print-surface);--gl-text-color-default:var(--vs-print-text);--gl-text-color-heading:var(--vs-print-text);--gl-text-color-subtle:var(--vs-print-text);--gl-text-color-link:var(--vs-print-text); }
  body,.has-js .vs-main { background:var(--vs-print-surface)!important;color:var(--vs-print-text)!important; }
}

.vs-toc-indicator { position:absolute;left:0;top:0;width:var(--gl-spacing-scale-1);height:var(--vs-toc-marker-height);transform:translateY(var(--vs-toc-marker-y));border-radius:var(--gl-border-radius-md);background:var(--gl-nav-item-selected-indicator-color);pointer-events:none;transition:transform var(--vs-motion-standard) var(--vs-ease-out),height var(--vs-motion-standard) var(--vs-ease-out); }
.vs-toc:has(.vs-toc-indicator) a[aria-current="location"]::before { display:none; }
.vs-mobile-toc .vs-toc { position:relative;top:auto; }

.vs-filter-links .vs-nav-link[aria-current]::before { top:auto;bottom:0;left:var(--gl-spacing-scale-3);right:var(--gl-spacing-scale-3);width:auto;height:var(--gl-spacing-scale-1); }

.vs-cv-contacts { display:flex;flex-wrap:wrap;gap:var(--gl-spacing-scale-3) var(--gl-spacing-scale-5);list-style:none;margin:0 0 var(--gl-spacing-scale-5);padding:0;font-size:var(--gl-font-size-300);line-height:var(--gl-line-height-20); }
.vs-cv-contacts li { max-width:100%; }
.vs-cv-contacts a { display:inline-block;max-width:100%;overflow-wrap:anywhere; }
.vs-cv-contacts a[href^="tel:"] { white-space:nowrap; }
@media(forced-colors:active) {
  .vs-nav-link[aria-current],.vs-toc a[aria-current] { outline:var(--vs-border-width) solid Highlight; }
  .vs-toc-indicator,.vs-nav-link[aria-current]::before { background:Highlight;forced-color-adjust:none; }
}

/* The photograph receives initial dialog focus without outlining the viewing canvas. */
.vs-viewer-stage:focus{outline:none}

.vs-live-results mark{background:var(--gl-highlight-match-background-color);color:var(--gl-highlight-match-text-color)}

/* Keyboard focus uses the shared selection surface and underline, without frames. */
body :is(a,button,summary,[tabindex="0"]):focus-visible{background-color:var(--gl-nav-item-background-color-hover);text-decoration:underline;text-decoration-thickness:var(--vs-border-width)}
body :is(input,textarea,select):focus-visible{background-color:var(--gl-nav-item-background-color-hover)}
.vs-photo-tile a:focus-visible img,.vs-gallery-content a:focus-visible img{filter:brightness(var(--vs-focus-image-brightness))}
@media(forced-colors:active){body :is(a,button,input,textarea,select,summary,[tabindex="0"]):focus-visible{background:Highlight;color:HighlightText;text-decoration:underline}}

.vs-cv-portrait figure{margin:0;height:100%}
.vs-cv .wp-block-group.vs-cv-intro>*:last-child{margin-bottom:0}

@media(max-width:767px){.vs-cv .vs-mobile-toc{margin-block-start:0;padding:var(--gl-spacing-scale-3)}}

/* Restore the saved shell before enabling user-triggered transitions. */
.has-js:not(.vs-shell-ready) :is(.vs-sidebar,.vs-main,.vs-footer,.vs-collapse-control svg){transition:none}
