@import url("/res/style/_base.css");
@import url("/res/style/font-inter.css");
@import url("/res/style/layout-fullwidth.css");



/* Theme by Studio Steh (https://www.steh.de) */


body, html, h1, h2, h3, h4, h5, h6, p, div, span, a, li, ul, ol,
.related-work, .related-projects, .gallery-set, .info-title, .info-summary {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

[style*="Karla"] {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* BASE */

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  background: #fff;
  color: #333;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 0.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

::selection {
  background: #000;
  color: #fff;
}

input::selection {
  background: #000;
  color: #fff;
}

textarea::selection {
  background: #000;
  color: #fff;
}

::-moz-selection {
  background: #000;
  color: #fff;
}

a:focus {
  outline: none;
  outline-offset: 0;
}

button:focus {
  outline: none;
  outline-offset: 0;
}


main p, main blockquote {
  line-height: 1.4;
}


:root {
  --website-background: #fff;
}
	
	

/* desktop frame + even gap below sticky header */
@media (min-width: 1000px) {
  :root {
    --frame-gutter: 15px;
    --frame-width: calc(100vw - (2 * var(--frame-gutter)));
  }
  #container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  header {
    max-width: var(--frame-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--frame-gutter) !important;
    padding-right: var(--frame-gutter) !important;
    box-sizing: border-box !important;
  }
  main {
    max-width: var(--frame-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--frame-gutter) !important;
    padding-right: var(--frame-gutter) !important;
    box-sizing: border-box !important;
    padding-top: 8px !important;
  }
  footer {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
  }
  main > :first-child {
    margin-top: 0 !important;
  }
  :where(main.template-set, main.template-album, main.template-albums,
         main.template-blog, main.template-page, main.template-contact)
  > :where(section,div,article,header,nav,ul,ol,h1,h2,h3,p):first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* TYPOGRAPHY HIERARCHY */

main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
  color: #000;
  text-align: left;
  text-transform: uppercase;
  margin-top: 0.2em;
  margin-bottom: 0.1em;
}

main h1 {
  font-size: clamp(4rem, 7vw, 10rem);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.01em; 
  max-width: 30ch;
}

main h2 {
  font-size: clamp(2rem, 3.5vw, 5rem);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.01em; 
}

main h3 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

main h4 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

main h5 {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

main h6 {
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

@media (max-width: 999px) {
  main h1 {
    font-size: clamp(3rem, 10vw, 6rem);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1;
  }
  main h2 {
    font-size: clamp(2rem, 8vw, 4rem);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.1;

  }
  main h3 {
    font-size: 1.25rem;
    font-weight: 700;
  }
  main h4 {
    font-size: 1rem;
    font-weight: 700;
  }
  main h5 {
    font-size: 0.875rem;
    font-weight: 700;
  }
  main h6 {
    font-size: 0.75rem;
    font-weight: 700;
  }
}



/* HEADER & NAV */

header,
.site-header,
nav,
.site-nav {
  background-color: #fff !important;
}

header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  background-color: #fff !important;
}

span.website-title a {
  font-size: 2.625rem !important; /* 42px */
  font-weight: 800 !important; 
  letter-spacing: 0 !important; 
  line-height: 0.9 !important;
  text-transform: uppercase !important;
  color: #000 !important;
}

@media (max-width: 999px) {
  span.website-title a {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
  }
}

@media (min-width: 1000px) {
  header {
    padding-top: 16px;
  }
  
  header nav > ul {
    display: flex !important;
    gap: 1rem !important; 
  }
  
  header nav > ul > li {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  header nav > ul > li > .nav-item-title {
    font-size: 1.875rem !important; /* 30px */
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    color: #000 !important;
    border-bottom: none !important;
    padding: 0 !important;
    transition: opacity 0.2s ease !important;
  }
  
header nav > ul > li > .nav-item-title {
  position: relative;
}

header nav > ul > li > .nav-item-title:hover::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;          /* text distance */
  width: 100%;
  height: 3px;           
  background-color: currentColor;
}


  
  header nav > ul > li.active > .nav-item-title {
    color: #000 !important;
  }
  
  .linktemplate-basket,
  header span.basket {
    display: inline-block !important;
  }
}

@media (max-width: 999px) {
  header nav > ul,
  header.shownav nav > ul {
    background: #fff !important;
    margin-top: 0.8rem !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
  }
  header nav > ul > li > .nav-item-title,
  header nav > ul ul li .nav-item-title {
    margin-bottom: 1rem !important;
    font-size: 1.875rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    line-height: 0.9 !important;
    text-transform: uppercase !important;
    color: #000 !important;
    position: relative !important;
  }
  
  header nav > ul > li.active > .nav-item-title,
  header nav > ul > li > .nav-item-title.active {
    color: #000 !important;
    border-bottom: none !important;
    text-decoration: none !important;
  }
  
  header nav > ul > li > .nav-item-title:hover,
  header nav > ul > li > a.nav-item-title:hover,
  header nav ul li a:hover,
  header nav > ul ul li .nav-item-title:hover,
  header nav a:hover {
    color: #000 !important;
    border-bottom: none !important;
    text-decoration: underline !important;
  }
  
  .linktemplate-basket,
  header span.basket {
    display: inline-block !important;
  }
  body header,
  html body header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
  }
}

@media (max-width: 999px) {
  header nav > ul,
  header.shownav nav > ul {
    background: #fff !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

@media (max-width: 999px) {
  header:not(.shownav) nav > ul {
    transform: translateY(-8px);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }
  header.shownav nav > ul {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  header nav > ul {
    transition: transform .25s ease, opacity .2s ease;
    will-change: transform;
    backface-visibility: hidden;
    transform: translateZ(0);
  }
  body {
    overflow-x: hidden;
  }
  header.shownav ~ * {
    overscroll-behavior: contain;
  }
}

@media (prefers-reduced-motion: reduce) {
  header nav > ul {
    transition: none !important;
  }
}



/* PORTFOLIO */

main.template-set h1.none,
main.template-album h1.none,
main.template-albums h1,
main.template-albums h1.none,
main.template-album h2,
main.template-album h2.textcenter,
main.template-albums h2,
main.template-albums h2.textcenter {
  margin: 0.2em 0 0.1em !important;
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 0.9 !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-align: left !important;
}

@media (max-width: 999px) {
  main.template-set h1.none,
  main.template-album h1.none,
  main.template-albums h1,
  main.template-albums h1.none,
  main.template-album h2,
  main.template-album h2.textcenter,
  main.template-albums h2,
  main.template-albums h2.textcenter {
    margin: 0.2em 0 0.1em !important;
    font-size: clamp(2rem, 8vw, 4rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    line-height: 0.9 !important;
    text-transform: uppercase !important;
    color: #000 !important;
  }
}

main.template-set .collection-description,
main.template-set .collection-description *,
main.template-album .collection-description,
main.template-album .collection-description *,
main.template-albums .collection-description,
main.template-albums .collection-description *,
main.template-set p.textcenter,
main.template-album p.textcenter,
main.template-albums p.textcenter {
  max-width: 100% !important;
  width: 100% !important;
  margin-inline: 0 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #000 !important;
  text-align: left !important;
}

@media (min-width: 1000px) {
  div#container main.template-set > .collection-description,
  div#container main.template-album > .collection-description,
  div#container main.template-albums > .collection-description {
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
}

main.template-set h1,
main.template-set h1.none,
main.template-set h1 .pretitle,
main.template-set h2.textcenter,
main.template-set p.textcenter,
main.template-set .collection-description,
main.template-set .collection-description *,
main.template-album h1,
main.template-album h1.none,
main.template-album h1 .pretitle,
main.template-album h2.textcenter,
main.template-album p.textcenter,
main.template-album .collection-description,
main.template-album .collection-description *,
main.template-albums h1,
main.template-albums h1.none,
main.template-albums h1 .pretitle,
main.template-albums h2.textcenter,
main.template-albums p.textcenter,
main.template-albums .collection-description,
main.template-albums .collection-description *,
.textcenter {
  text-align: left !important;
}

main.template-set .backlink,
main.template-set .backlink a,
main.template-album .backlink,
main.template-album .backlink a,
main.template-albums .backlink,
main.template-albums .backlink a {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-align: left !important;
  border-bottom: none !important;
}

main.template-set .backlink a:hover,
main.template-album .backlink a:hover,
main.template-albums .backlink a:hover {
  color: #666 !important;
  text-decoration: none !important;
}
	
	
/* ARCHIVE LIST BLOG */	
main.template-blog .blog-archive ul li,
.sectionaside-blog ul li {
    text-align: left;
}

main ul, main ol {
  line-height: 1.2;
  margin-top: 1.5em;
  margin-bottom: 5em;   
}

@media (max-width: 999px) {
  main ul,
  main ol {
    margin-bottom: 5em;   
  }

  main ul li,
  main ol li {
    margin-bottom: 0.5em; 
  }
}

@media (max-width: 999px) {
  aside.blog-sidebar {
  border: 1px solid #000; /* 1px solid outline, change color if needed */
  box-sizing: border-box; /* ensures padding is included in width */
  background: transparent; /* optional, ensures no background */
    padding-top: 0.75em;
    padding-right: 0.75em;
    padding-bottom: 0.5em;
    padding-left: 0.75em;
}
}
	

/* BLOG */	

main.template-blog .blogstyle-card .blog-posts,
main.template-blog .blogstyle-tile .blog-posts {
  display: block !important;
  column-gap: 1.6rem !important;
  column-fill: balance !important;
  column-count: 1 !important;
}

@media (min-width: 700px) {
  main.template-blog .blogstyle-card .blog-posts,
  main.template-blog .blogstyle-tile .blog-posts {
    column-count: 2 !important;
  }
}

@media (min-width: 1100px) {
  main.template-blog .blogstyle-card .blog-posts,
  main.template-blog .blogstyle-tile .blog-posts {
    column-count: 4 !important;
  }
}

main.template-blog .blog-posts > article {
  display: inline-block !important;
  width: 100% !important;
  margin: 0 0 1.6rem !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

main.template-blog .blog-posts > h1 {
  display: block !important;
  width: 100% !important;
  margin: 0 0 1rem !important;
  break-inside: avoid;
  -webkit-column-span: all;
  column-span: all;
}

main.template-blog .blog-posts > article .header .article-title h2 {
  font-size: clamp(1.25rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  color: #000 !important;
}

@media (max-width: 999px) {
  main.template-blog .blog-posts > article .header .article-title h2 {
    margin: 0.35rem 0 0.2rem !important;
    font-size: clamp(1.1rem, 4vw, 1.6rem) !important;
    font-weight: 700 !important;
    color: #000 !important;
  }
}

article .header .article-meta a {
  opacity: 1;
}	
	
main.template-blog .blog-posts > article .header .article-meta {
  margin-bottom: 0.2em !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  text-align: left !important;
}

main.template-blog .blog-posts > article .header .article-meta .meta-classification {
  display: block !important;
  margin-bottom: 0.2em !important;
  line-height: 1.2 !important;
}

main.template-blog .blog-posts > article .header .article-meta .meta-classification li {
  display: inline-block !important;
  margin-right: 0.2em !important;
  margin-bottom: 0.2em !important; /* spacing for multiple rows */
}

main.template-blog .blog-posts > article .header .article-meta .meta-classification li:after {
  content: "" !important;
  display: none !important;
}

main.template-blog .blog-posts > article .header .article-meta .meta-classification li.category a,
main.template-blog .blog-posts > article .header .article-meta .meta-classification li.tag a,
main.template-blog article.style-article .footer .article-meta .meta-classification li.category a,
main.template-blog article.style-article .footer .article-meta .meta-classification li.tag a {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  color: #444 !important;
  background: none !important;
  background-color: transparent !important;
  border: 1px solid #000;       /* square outline */
  border-radius: 0 !important;  /* no rounding */
  padding: 0.3em 0.65em;        /* proper padding */
  display: inline-block;         /* ensures spacing works on multiple rows */
  margin: 0 0.2em 0.2em 0;      /* horizontal + vertical spacing */
  transition: all 0.2s ease;
}

main.template-blog .blog-posts > article .header .article-meta .meta-classification li.category a:hover,
main.template-blog .blog-posts > article .header .article-meta .meta-classification li.tag a:hover,
main.template-blog article.style-article .footer .article-meta .meta-classification li.category a:hover,
main.template-blog article.style-article .footer .article-meta .meta-classification li.tag a:hover {
  color: #fff !important;
  background-color: #000 !important;
  border-color: #000;
}

main.template-blog .blog-posts > article .header .article-meta .meta-date {
  margin-top: 1em !important;
  margin-bottom: 0.8em !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #aaa !important;
}
	
main.template-blog .blog-posts > article .header .article-meta .meta-date a:hover {	
  opacity: 0.7 !important;
}

main.template-blog article.style-article {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

@media (min-width: 1000px) {
  main.template-blog article.style-article .header .article-title h1 {
    margin-top: 0.2em !important;
    margin-bottom: 0.1em !important;
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    line-height: 0.9 !important;
    text-transform: uppercase !important;
    color: #000 !important;
    text-align: left !important;
  }
  main.template-blog article.style-article .article-image {
    margin-top: 0.15em !important;
  }
}

@media (max-width: 999px) {
  main.template-blog article.style-article .header .article-title h1 {
    margin: 0.2em 0 0.1em !important;
    font-size: clamp(2rem, 8vw, 4rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    line-height: 0.9 !important;
    text-transform: uppercase !important;
    color: #000 !important;
  }
}

main.template-blog article.style-article .header {
  order: 1 !important;
  text-align: left !important;
}

main.template-blog article.style-article .footer {
  order: 2 !important;
  margin-bottom: 0.6em !important;
  text-align: left !important;
}

main.template-blog article.style-article .content {
  order: 3 !important;
  text-align: left !important;
}

main.template-blog article.style-article .header .article-meta,
main.template-blog article.style-article .footer .article-meta {
  margin-bottom: 0.2em !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  color: #aaa !important;
  text-align: left !important;
}

main.template-blog article.style-article .footer .article-meta .meta-classification li:after {
  content: "" !important;
  display: none !important;
}

main.template-blog article.style-article .footer .article-meta .meta-classification li.category a,
main.template-blog article.style-article .footer .article-meta .meta-classification li.tag a {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  color: #444 !important;
  background: none !important;
  background-color: transparent !important;
  border: 1px solid #000;       /* square outline */
  border-radius: 0 !important;  /* no rounding */
  padding: 0.3em 0.65em;        /* proper padding */
  display: inline-block;         /* ensures spacing works on multiple rows */
  margin: 0 0.2em 0.2em 0;      /* horizontal + vertical spacing */
  transition: all 0.2s ease;
}

main.template-blog article.style-article .footer .article-meta .meta-classification li.category a:hover,
main.template-blog article.style-article .footer .article-meta .meta-classification li.tag a:hover {
  color: #fff !important;
  background-color: #000 !important;
  border-color: #000;
}

main.template-blog article.style-article .footer .article-meta .meta-classification li.category a {
  text-transform: none !important;
}

main.template-blog article.style-article .footer .article-meta .meta-classification li.tag a {
  text-transform: none !important;
}

main.template-blog article.style-article .footer .article-meta .meta-classification li.category a:hover {
  color: #fff !important;
}

main.template-blog article.style-article .footer .article-meta .meta-classification li.tag a:hover {
  color: #fff !important;
}


@media (min-width: 1000px) {
  div#container main.template-blog {
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
  div#container main.template-blog section.blog-article article div.content,
  div#container main.template-blog section.blog-article article div.footer,
  div#container main.template-blog section.blog-article div.article-comments {
    margin-inline: 0 !important;
    max-width: none !important;
  }
}

main.template-blog .blog-posts > article .article-image div.photo-wrapper,
main.template-blog article.style-article .article-image div.photo-wrapper {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

main.template-blog .blog-posts > article .article-image div.photo-wrapper {
  overflow: hidden !important;
  position: relative !important;
}

main.template-blog article.style-article .article-image div.photo-wrapper {
  overflow: visible !important;
}

main.template-blog .blog-posts > article .article-image div.photo-wrapper img,
main.template-blog article.style-article .article-image div.photo-wrapper img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}

main.template-blog .blog-posts > article .article-image div.photo-wrapper img {
  pointer-events: none !important;
}

main.template-blog .blog-posts > article .article-image.image-missing,
main.template-blog .blog-posts > article .article-image:empty,
main.template-blog .blog-posts > article .article-image div.photo-wrapper:empty {
  display: none !important;
}

@media (max-width: 999px) {
  article .article-image div.photo-wrapper,
  article .article-image div.photo-wrapper img {
    aspect-ratio: auto !important;
  }
}

main.template-blog div.backlink,
main.template-blog div.backlink a {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-align: left !important;
  border-bottom: none !important;
}

main.template-blog div.backlink a:hover {
  color: #999 !important;
  text-decoration: none !important;
}

main.template-blog .blog-archive ul,
.sectionaside-blog ul,
.blog-sidebar ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

main.template-blog .blog-archive ul li,
.sectionaside-blog ul li,
.blog-sidebar ul li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

main.template-blog .blog-archive ul li a:hover,
.sectionaside-blog ul li a:hover,
.blog-sidebar ul li a:hover {
  color: #999 !important;
}

main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  row-gap: 0.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card li .photo-wrapper {
  aspect-ratio: auto !important;
  height: auto !important;
  overflow: visible !important;
  display: block !important;
}

main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card li .photo-wrapper img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card > li > a.sitelink > span.info-title,
main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card > li > a.sitelink > span.info,
main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card > li > span.info-title,
main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card > li > span.info,
main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card > li .info-summary {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  text-align: left !important;
}

@media (min-width: 1000px) {
  main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card.cols-3 > li {
    flex: 0 0 calc((100% - (0.5rem * 2)) / 3) !important;
    max-width: calc((100% - (0.5rem * 2)) / 3) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  div#container main.template-blog .blog-article .article-previews {
    width: 50% !important;
    max-width: 50% !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }
  div#container main.template-blog .blog-article .article-previews h3 {
    text-align: left !important;
    margin: 0 0 0.5rem !important;
  }
  div#container main.template-blog .blog-article .article-previews ul.gallery {
    justify-content: flex-start !important;
    margin: 0 !important;
  }
}

@media (max-width: 999px) {
  main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card {
    padding: 2vw 4vw 14px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 4% !important;
    scrollbar-gutter: stable both-edges;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card > li {
    flex: 0 0 52vw !important;
    max-width: 52vw !important;
    min-width: 52vw !important;
    scroll-snap-align: start;
  }
  main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card::-webkit-scrollbar {
    height: 10px;
  }
  main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card::-webkit-scrollbar-track {
    background: transparent;
    margin: 0 8px;
  }
  main.template-blog .blog-article .article-previews ul.gallery.gallery-set.layout-card::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,.25);
    border-radius: 8px;
  }
  div#container main.template-blog .blog-article .article-previews {
    width: 100% !important;
    max-width: 100% !important;
  }
}	



/* GALLERY */

ul.gallery.gallery-set.layout-masonry span.info-title {
  padding-top: 0.4em !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-align: left !important;
}

ul.gallery.gallery-set.layout-masonry span.info-summary {
  padding-top: 0.1em !important;
  font-size: 0.625rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  color: #666 !important;
}

ul.gallery.gallery-set.layout-masonry span.info-summary:before {
  content: " [ " !important;
}

ul.gallery.gallery-set.layout-masonry span.info-summary:after {
  content: " ]" !important;
}

@media (max-width: 999px) {
  ul.gallery.gallery-set.layout-masonry span.info-title {
    padding-top: 0.4em !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: #000 !important;
  }
  ul.gallery.gallery-set.layout-masonry span.info-summary {
    padding-top: 0.2em !important;
    font-size: 0.7rem !important;
    text-align: left !important;
  }
}

ul.gallery.gallery-set.layout-grid span.info-title {
  padding-top: 0.4em !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #000 !important;

}

ul.gallery.gallery-set.layout-grid span.info-summary {
  padding-top: 0.1em !important;
  font-size: 0.625rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  color: #666 !important;
}

ul.gallery.gallery-set.layout-grid span.info-summary:before {
  content: " [ " !important;
}

ul.gallery.gallery-set.layout-grid span.info-summary:after {
  content: " ]" !important;
}

@media (max-width: 999px) {
  ul.gallery.gallery-set.layout-grid span.info-title {
    padding-top: 0.4em !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: #000 !important;
  }
  ul.gallery.gallery-set.layout-grid span.info-summary {
    padding-top: 0.2em !important;
    font-size: 0.625rem !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: #666 !important;
  }
}

@media (min-width: 1000px) {
  ul.gallery.gallery-set.layout-card.cols-3.template-tag {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag > li {
    flex: 0 0 calc((100% - (0.5rem * 2)) / 3) !important;
    max-width: calc((100% - (0.5rem * 2)) / 3) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag li .photo-wrapper {
    aspect-ratio: auto !important;
    height: auto !important;
    overflow: visible !important;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag li .photo-wrapper img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag > li > a.sitelink > span.info.info-title {
    display: block !important;
    margin: 0.1rem 0 0 !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
    line-height: 1.15 !important;
    text-align: left !important;
    border: 0 !important;
    color: #000 !important;
  }
}

@media (max-width: 999px) {
  ul.gallery.gallery-set.layout-card.cols-3.template-tag {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 4% !important;
    padding: 2vw 4vw 14px !important;
    scrollbar-gutter: stable both-edges;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag > li {
    flex: 0 0 52vw !important;
    max-width: 52vw !important;
    min-width: 52vw !important;
    scroll-snap-align: start;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag .photo-wrapper {
    aspect-ratio: auto !important;
    height: auto !important;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag .photo-wrapper img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag > li > a.sitelink > span.info.info-title {
    display: block !important;
    margin: 0.1rem 0 0 !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
    text-align: left !important;
    border: 0 !important;
    color: #000 !important;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag::-webkit-scrollbar {
    height: 10px;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag::-webkit-scrollbar-track {
    background: transparent;
    margin: 0 8px;
  }
  ul.gallery.gallery-set.layout-card.cols-3.template-tag::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,.25);
    border-radius: 8px;
  }
}

ul.gallery.gallery-set.layout-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: calc(var(--gallery-grid-spacing) * var(--gallery-spacingfactor)) !important;
  row-gap: calc(1.5 * var(--gallery-grid-spacing) * var(--gallery-spacingfactor)) !important;
}

ul.gallery.gallery-set.layout-grid > li {
  margin: 0 !important;
  text-align: left !important;
}

ul.gallery.gallery-set.layout-grid li .photo-wrapper {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

ul.gallery.gallery-set.layout-grid li .photo-wrapper img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

ul.gallery.gallery-set.layout-grid li .photo-wrapper.photo-portrait {
  width: 100% !important;
  margin-inline: 0 !important;
}

@media (min-width: 1000px) {
  ul.gallery.gallery-set.layout-grid.cols-1 > li {
    width: 100% !important;
  }
  ul.gallery.gallery-set.layout-grid.cols-2 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 1)/2 - 0.1px) !important;
  }
  ul.gallery.gallery-set.layout-grid.cols-3 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 2)/3 - 0.1px) !important;
  }
  ul.gallery.gallery-set.layout-grid.cols-4 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 3)/4 - 0.1px) !important;
  }
  ul.gallery.gallery-set.layout-grid.cols-5 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 4)/5 - 0.1px) !important;
  }
  ul.gallery.gallery-set.layout-grid.cols-6 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 5)/6 - 0.1px) !important;
  }
}

 @media (max-width: 999px) {
  ul.gallery.gallery-set.layout-grid > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 1)/2 - 0.1px) !important;
  }
} 

ul.gallery.gallery-set.layout-grid span.info-title,
ul.gallery.gallery-set.layout-grid span.info-summary {
  text-align: left !important;
  display: block !important;
  padding-top: 0.4em !important;
}

ul.gallery.gallery-album.layout-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: calc(var(--gallery-grid-spacing) * var(--gallery-spacingfactor)) !important;
  row-gap: calc(1.5 * var(--gallery-grid-spacing) * var(--gallery-spacingfactor)) !important;
}

ul.gallery.gallery-album.layout-grid > li {
  margin: 0 !important;
  text-align: left !important;
}

ul.gallery.gallery-album.layout-grid li .photo-wrapper {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

ul.gallery.gallery-album.layout-grid li .photo-wrapper img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

ul.gallery.gallery-album.layout-grid li .photo-wrapper.photo-portrait {
  width: 100% !important;
  margin-inline: 0 !important;
}

@media (min-width: 1000px) {
  ul.gallery.gallery-album.layout-grid.cols-1 > li {
    width: 100% !important;
  }
  ul.gallery.gallery-album.layout-grid.cols-2 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 1)/2 - 0.1px) !important;
  }
  ul.gallery.gallery-album.layout-grid.cols-3 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 2)/3 - 0.1px) !important;
  }
  ul.gallery.gallery-album.layout-grid.cols-4 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 3)/4 - 0.1px) !important;
  }
  ul.gallery.gallery-album.layout-grid.cols-5 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 4)/5 - 0.1px) !important;
  }
  ul.gallery.gallery-album.layout-grid.cols-6 > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 5)/6 - 0.1px) !important;
  }
}

/* @media (max-width: 999px) {
  ul.gallery.gallery-album.layout-grid > li {
    width: calc((100% - var(--gallery-grid-spacing) * var(--gallery-spacingfactor) * 1)/2 - 0.1px) !important;
  }
} */

ul.gallery.gallery-album.layout-grid span.info-title,
ul.gallery.gallery-album.layout-grid span.info-summary {
  text-align: left !important;
  display: block !important;
  padding-top: 0.4em !important;
}

/* PAGINATION */

main.template-set p.links-prevnext a, main.template-albums p.links-prevnext a {
  opacity: 1;
}

p.links-prevnext {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin: 2rem 0 !important;
  padding: 0 !important;
}
	

p.links-prevnext .link-next {
  text-align: right !important;
}

p.links-prevnext .link-prev a::before {
  content: "← " !important;
}

p.links-prevnext .link-next a::after {
  content: " →" !important;
}
	

.links-prevnext a {
  display: block !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  color: #000 !important;
}
	
.links-prevnext a:hover {
  color: #000 !important;
  border-bottom: none !important;
  text-decoration: underline !important;
}


/* TAGS / ARCHIVE */

main.template-tags ul.tags li:before,
main.template-tags ul.tags li:not(:has(a)):before,
main.template-tags ul.tags li:has(a) a:before {
  content: "" !important;
}

main.template-tags ul.tags li {
  display: inline-block !important;
  padding: 0.2em 0.3em !important;
  margin: 0 0.1em 0.1em 0 !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-transform: lowercase !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
  color: #000 !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
}

main.template-tags ul.tags li a {
  color: #000 !important;
  text-decoration: none !important;
  font: inherit !important;
}

main.template-tags ul.tags li:hover,
main.template-tags ul.tags li a:hover {
  color: #333 !important;
}

@media (min-width: 1000px) {
  main.template-tags ul.tags li {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 999px) {
  main.template-tags ul.tags li {
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: lowercase !important;
  }
}

main.template-tags div.backlink,
main.template-tags div.backlink a {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-align: left !important;
  border-bottom: none !important;
}

main.template-tags div.backlink a:hover {
  color: #666 !important;
  text-decoration: none !important;
}

/* GENERAL PAGES */

@media (min-width: 1000px) {
  div#container main.template-page,
  div#container main.template-page:not(.page-fullwidth),
  div#container main.template-contact {
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
}

main.template-page a,
main.template-contact a {
  color: #666 !important;
  text-decoration: none !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

main.template-page a:hover,
main.template-contact a:hover {
  color: #666 !important;
  text-decoration: none !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* FOOTER */

footer {
  display: flex;
  align-items: center;
  gap: 0.8rem 1.2rem;
  flex-wrap: nowrap;
}

footer > * {
  flex: 0 0 auto;
}

footer nav ul.secondary {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.8rem;
}

footer ul.secondary li,
footer nav ul.secondary ul {
  display: inline-block;
}

footer ul.socialmedia {
  margin-left: auto;
  gap: 0.9rem 1.1rem;
}

footer ul.secondary li a,
footer ul.secondary li span,
footer p.footer-info a {
  color: #555;
}

body footer {
  width: 100% !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  gap: 1.2rem !important;
  flex-wrap: nowrap !important;
  padding: 0.9rem 1rem !important;
  border-top: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body footer p,
body footer nav,
body footer ul {
  margin: 0 !important;
  padding: 0 !important;
}

body footer p.footer-info {
  order: 1 !important;
  margin-right: auto !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  color: #000 !important;
}

body footer p.footer-info a.footer-link {
  display: inline !important;
  margin-left: 1rem !important;
  font-size: inherit !important;
  text-transform: inherit !important;
}

body footer p.footer-info a.footer-link.has-successor:before {
  content: none !important;
}

body footer nav:first-of-type {
  order: 3 !important;
  margin-left: auto !important;
}

body footer nav:last-of-type {
  order: 4 !important;
}

body footer nav ul {
  display: flex !important;
  gap: 1.1rem !important;
  list-style: none !important;
}

body footer ul.secondary li:after,
body footer nav ul.secondary ul:before {
  content: none !important;
}

body footer ul.secondary li a,
body footer ul.secondary li span {
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  color: #adadad !important;
}

@media (max-width: 999px) {
  body footer {
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.8rem !important;
    text-align: center !important;
    justify-content: center !important;
  }
  body footer > * {
    flex-basis: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
  }
  body footer p.footer-info {
    order: 1 !important;
    margin-right: 0 !important;
    font-size: 0.75rem !important;
    text-align: center !important;
  }
  body footer nav:first-of-type {
    order: 2 !important;
    margin-left: 0 !important;
  }
  body footer nav:last-of-type {
    order: 3 !important;
  }
  body footer ul.socialmedia {
    order: 4 !important;
    margin-left: 0 !important;
    display: flex !important;
    justify-content: center !important;
  }
  body footer nav ul {
    justify-content: center !important;
  }
}

/* MISC / UTILITIES */

ul.gallery.gallery-album span.action {
  background: transparent !important;
}

hr,
main hr,
table,
table * {
  border-color: #fff !important;
}

ul.gallery span.info-title {
  border-bottom: 0 !important;
}

cover div.title-container span.website-title a {
  color: #fff !important;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.12) !important;
}

div.figure span.info-title {
  display: none !important;
}

/* kill any auto-inserted hashtag on tag links, globally */
.meta-classification li.tag > a::before,
li.tag > a::before,
a.tag::before,
.tags li > a::before {
  content: none !important;
}

/* belt & suspenders: some themes use list markers for # */
li.tag::marker {
  content: "" !important;
}





/* LIGHTBOX (GLightbox) */

:root {
  --glbx-white: #fff;
}

html.glightbox-open .goverlay,
.glightbox-open .goverlay {
  background: var(--glbx-white) !important;
  background-image: none !important;
}

body:where(.glightbox-open,.glightbox-mobile) {
  background: var(--glbx-white) !important;
}

.glightbox-container :is(.ginner-container,.gslide,.gslide-media,.gslide-description,.gdesc-inner,.gvideo-container,.gvideo) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.glightbox-container :is(.ginner-container,.gslide)::before,
.glightbox-container :is(.ginner-container,.gslide)::after {
  content: none !important;
}

.glightbox-container .gslide-media :is(img,iframe) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.glightbox-container :is(.gclose,.gnext,.gprev),
.glightbox-close {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px !important;
  color: #000 !important;
}

.glightbox-container :is(.gclose,.gnext,.gprev)::before,
.glightbox-close::before {
  content: none !important;
}

.glightbox-container :is(.gclose,.gnext,.gprev) :is(svg,path),
.glightbox-close :is(svg,path) {
  fill: #000 !important;
  stroke: #000 !important;
}

	
	
	
	
/* TITLE ANIMATION - SUBTLE FADE UP */
@supports (animation-timeline: view()) {
  @keyframes title-fadeup {
    from { transform: translateY(8px); opacity: 0.85; }
    to   { transform: translateY(0);    opacity: 1; }
  }

  main h1:first-of-type,
  main.template-set h1:first-of-type,
  main.template-album h1:first-of-type,
  main.template-albums h1:first-of-type,
  main.template-page h1:first-of-type,
  main.template-contact h1:first-of-type,
  main.template-blog article.style-article .header .article-title h1 {
    animation: title-fadeup 1ms linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
    will-change: transform, opacity;
  }

  /* Animation on template-photo pages disabled */
  main.template-photo h1:first-of-type {
    animation: none !important;
  }
}

/* Fallback for browsers without scroll-timeline */
@supports not (animation-timeline: view()) {
  @keyframes title-fadeup-fallback {
    from { transform: translateY(8px); opacity: 0.85; }
    to   { transform: translateY(0);   opacity: 1; }
  }

  main h1:first-of-type,
  main.template-set h1:first-of-type,
  main.template-album h1:first-of-type,
  main.template-albums h1:first-of-type,
  main.template-page h1:first-of-type,
  main.template-contact h1:first-of-type,
  main.template-blog article.style-article .header .article-title h1 {
    animation: title-fadeup-fallback 0.24s ease-out both;
  }
}

	
	
	

/* OVERALL */

/* hide existing symbol arrow */
svg.symbol.symbol-arrowback,
svg.symbol.symbol-arrowforward {
  display: none;
}

/* TEMPLATE TAGS  */

main.template-tags ul.tags li {
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.3em 0.65em !important;
  margin: 0 0.2em 0.2em 0 !important;
  font-weight: 700;
  line-height: 1.1;
  text-transform: lowercase;
  letter-spacing: 0.01em !important;
  color: #000;
  background-color: transparent;
  border: 1px solid #000 !important;
  border-radius: 9999px;  /* Pill shape */
  transition: color 0.4s ease; /* Smooth transition */
  white-space: nowrap; /* Prevent text from breaking */
}

/* Link inside pill */
main.template-tags ul.tags li a {
  display: inline-block;
  text-decoration: none;
}

/* Hover effect */
main.template-tags ul.tags li:hover,
main.template-tags ul.tags li:hover a {
  background-color: #000 !important;
  color: #fff !important;
}

@media (max-width: 999px) {
  main.template-tags ul.tags li {
    font-size: 0.8rem;
    padding: 0.25em 0.55em !important;
  }
}








/* TEMPLATE PHOTO PAGE - PHOTO */

/*photo max height*/
@media (min-width:1000px){
main.template-photo div.photo-image div.photo-wrapper {max-width:calc((100vh - 30em) * var(--aspectratio));}
}

/*max width:center*/
@media (min-width:1000px){
  main.template-photo section.sectionaside-photo div.photo-image:has(.photo-portrait){
  max-width:100rem;
  margin-inline:auto;
}
  main.template-photo section.sectionaside-photo > *:not(.photo-image){
  max-width:100rem;
  margin-inline:auto;
}
  main.template-photo aside.sectionaside-photo{
  max-width:100rem!important;
  margin-inline:auto;
}
}

/* photo title */
@media (min-width: 1000px) {
main.template-photo h1.photo-title {
  font-size: 1.1em;
  font-weight: 700;
  margin-bottom: 0.3em;
  text-transform: none;
  margin-top: 2em; 
  }
}
@media (max-width: 999px) {
main.template-photo h1.photo-title {
  font-size: 1.1em;
  font-weight: 700;
  margin-bottom: 0.3em;
  text-transform: none;
  max-width: 50ch;
  margin-top: 2em; 
  }
}

/* photo caption  */
 main.template-photo section.sectionaside-photo > p.photo-caption{
 font-size: 1em;
 max-width:100rem;
 margin-inline:auto;
 margin-bottom: 2em;
}

/* align caption and buttons left */
@media (min-width: 1000px) {
  main.template-photo section.sectionaside:not(:has(div.photo-caption)) > :not(div.photo-caption) {
    text-align: left;
    justify-content: left;
  }
}


/* photo contextphotos */
@media (min-width: 1000px) {
  main.template-photo aside h2.photo-contextphotos {
    margin-top: 1em;
    margin-bottom: -0.1em;
    font-size: 2em;
    text-decoration: underline;
  }
}
@media (max-width: 999px) {
  main.template-photo aside h2.photo-contextphotos {
    margin-top: 1em;
    margin-bottom: 0.5em;
    font-size: 2em;
    text-decoration: underline;
    text-underline-offset: 5px;
    line-height: 1.1;
  }
}

@media (max-width: 999px) {
main.template-photo aside h2 {
  margin-top: 2em;
  }
}


/* Hide contextlink */
section.sectionaside-photo > p.photo-contextlink {
  display: none;
}

/* keywords */
main.template-photo aside h2.photo-tags {
  font-size: 1em ;
  text-align: left ;
  margin-top: 1.5em ;     
  margin-bottom: 1em ; 
}

/* If the pills are a tags list or meta list right after the H2,
   this keeps their top margin consistent without affecting others. */
main.template-photo aside h2.photo-tags + .meta-classification,
main.template-photo aside h2.photo-tags + ul.tags {
  margin-top: 0.25em !important;
}

/* tags - Remove hashtag */
main.template-photo aside.sectionaside-photo ul.tags li:before,
main.template-photo aside.sectionaside-photo ul.tags li a:before {
  content: "";
}



/* pill styling */
main.template-photo aside.sectionaside-photo ul.tags li {
  display: inline-block;         
  padding: 0.2em 0.6em;          
  margin: 0 0.4em 0.4em 0;       /* between pills */
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: lowercase;
  letter-spacing: 0.01em;
  color: #000;
  background: transparent;
  border: 1px solid #000;
  border-radius: 9999px;
  transition: color 0.4s ease;
  text-align: center;            
  vertical-align: middle;      
}

/* link style inside pills */
main.template-photo aside.sectionaside-photo ul.tags li a {
  color: inherit;
  text-decoration: none;
  font: inherit;
}

/* hover pills */
main.template-photo aside.sectionaside-photo ul.tags li:hover,
main.template-photo aside.sectionaside-photo ul.tags li a:hover {
  background-color: #000;
  color: #fff;
}

/* natural size more photos  */
main.template-photo aside.sectionaside-photo img {
  width: auto !important;
  height: auto !important;
  max-width: none;
  display: block;
  margin: 0; /* no margin */
}


/* PAGE Hero Text */
div.hero {
  flex-direction: column;
}
div.hero > div.text-wrapper {
  padding-top: 0.5em; 
  padding-left: 0;    
  align-items: flex-start; 
  text-align: left;      
}



/* Search Form */

main form.form-inline {
    padding-top: 25px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  margin-bottom: 3em;
  display: flex;
  gap: 0.5em;
  flex-flow: row wrap;
}	
	
	


/* FOOTER — match header/main frame on desktop */
@media (min-width: 1000px) {
  body footer {
    max-width: var(--frame-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--frame-gutter) !important;
    padding-right: var(--frame-gutter) !important;
    box-sizing: border-box !important;
  }
}


/* BLOG */
@media (max-width: 999px) {
  div#container main:not(.template-photo)
  ul.gallery.gallery-album:not(.layout-wall):not(.dynamic) {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
}

/* PAGE / CONTACT / BLOG width adjustment */
@media (min-width: 1000px) {
  div#container main.template-page,
  div#container main.template-page:not(.page-fullwidth),
  div#container main.template-contact,
  div#container main.template-blog {
    max-width: var(--frame-width) !important;
    margin-inline: auto !important;
    padding-inline: var(--frame-gutter) !important;
    box-sizing: border-box !important;
  }
}

/* ALBUM with adjustment */
@media (max-width: 999px) {
  main.template-album
  ul.gallery.gallery-album:not(.layout-wall):not(.dynamic),
  main.template-album
  ul.gallery.gallery-album.layout-grid:not(.layout-wall):not(.dynamic) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  main.template-album .album-content,
  main.template-album section.album,
  main.template-album .gallery-album {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  main.template-album ul.gallery.gallery-album > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* SET Adjust WORK/collection pages.
   Skip wall-dynamic  */
@media (max-width: 999px) {
  /* remove side gaps on items */
  main.template-set ul.gallery > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* all non-dynamic galleries under template-set */
  main.template-set
  ul.gallery.gallery-set.layout-grid:not(.layout-wall):not(.dynamic),
  main.template-set
  ul.gallery.gallery-set.layout-masonry:not(.layout-wall):not(.dynamic),
  main.template-set
  ul.gallery.gallery-set.layout-card:not(.layout-wall):not(.dynamic),
  main.template-set
  ul.gallery.gallery-set:not(.layout-wall):not(.dynamic),
  main.template-set
  ul.gallery.gallery-album:not(.layout-wall):not(.dynamic) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* wrappers around set lists */
  main.template-set .collection-content,
  main.template-set section.collection,
  main.template-set .gallery-set,
  main.template-set .collection-children,
  main.template-set .collection-list,
  main.template-set .gallery-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* generic mobile gallery reset (non-photo, non-dynamic) */
  ul.gallery.gallery-album:not(.layout-wall):not(.dynamic),
  ul.gallery.gallery-set:not(.layout-wall):not(.dynamic) {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* wall dynamic adjustment */
ul.gallery.gallery-album.layout-wall.dynamic,
ul.gallery.gallery-set.layout-wall.dynamic {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: content-box !important;
  display: flex !important;          /* ensure visible */
  flex-wrap: wrap !important;
  gap: var(--gallery-wall-spacing, 0.5rem);
}



	