/* Static, responsive edition of Bianca Laleh's existing Illustratr design. */
html { scroll-behavior: smooth; }
body.custom-background { background: #000; }
body { overflow-wrap: break-word; }
img { max-width: 100%; height: auto; }
a:focus-visible, button:focus-visible { outline: 3px solid #b44667; outline-offset: 5px; }
.site-title { letter-spacing: -.035em; }
.site-header { padding-bottom: 75px; }
.site-logo-link:empty { margin-bottom: 20px; }
.main-navigation { z-index: 20; }
.main-navigation ul ul { z-index: 30; }
.main-navigation li:focus-within > ul { display: block; }
.main-navigation a[aria-current="page"] { color: #a33a59; }
.main-navigation .menu-toggle { cursor: pointer; }
.site-main { min-height: 45vh; }
.entry-content, .page-content { line-height: 1.75; }
.entry-content img { height: auto; }
.entry-content p:empty { margin: 0; }
.entry-content a { text-underline-offset: 3px; }
.entry-thumbnail > img { width: 100%; height: auto; }
.home .entry-thumbnail > img { aspect-ratio: 11 / 5; object-fit: cover; }
.portfolio-wrapper { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; max-width: 1100px; width: calc(100% - 80px); }
.portfolio-wrapper::before, .portfolio-wrapper::after { display: none; }
.portfolio-wrapper .portfolio-entry { opacity: 1; width: auto; margin: 0; padding: 0 0 25px; }
.portfolio-thumbnail img { max-height: 430px; object-fit: contain; }
.portfolio-entry-header .entry-title { width: auto; }
.photo-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: start; margin: 20px 0 50px; }
.photo-gallery figure { margin: 0; }
.photo-gallery a { display: block; line-height: 0; }
.photo-gallery img { display: block; width: 100%; height: auto; transition: opacity .15s; }
.photo-gallery a:hover img { opacity: .88; }
.photo-gallery figcaption { font-size: 13px; line-height: 1.5; padding: 7px 0 12px; font-family: 'Source Sans Pro',sans-serif; }
.attachment-view { max-width: 1100px; width: calc(100% - 80px); text-align: center; }
.attachment-view img { max-height: 76vh; width: auto; object-fit: contain; }
.attachment-view figure { margin: 0; }
.attachment-view figcaption { margin: 20px 0; }
.journal-card { display: grid; grid-template-columns: 220px 1fr; gap: 30px; padding: 40px 0; border-bottom: 1px solid #e9e3e4; align-items: start; }
.journal-card:first-child { padding-top: 0; }
.journal-card > a img { width: 100%; max-height: 220px; object-fit: cover; }
.journal-card > div:only-child { grid-column: 1 / -1; }
.journal-card h2 { margin: 0 0 15px; font-size: 26px; line-height: 1.25; }
.journal-card .journal-date { margin: 0 0 8px; font-family: 'Source Sans Pro',sans-serif; font-size: 14px; color: #656066; }
.books, .books2 { box-sizing: border-box; margin: 20px auto 55px; max-width: 620px; }
.books blockquote, .books2 blockquote { font-size: 17px !important; line-height: 1.7; border: 0; padding: 20px 0; }
.books input[type="image"], .books2 input[type="image"] { display: inline-block; width: 147px; height: auto; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; }
.contact-content { max-width: 640px; }
.contact-content > img { display: block; margin: 0 auto 30px; }
.preview-note { padding: 15px 18px; border-left: 3px solid #ba617a; background: #fbf1f4; font-size: 16px; }
#contact-form label { color: #3e4548; display: block; margin: 20px 0 8px; font-family: 'Source Sans Pro',sans-serif; font-weight: 700; }
#contact-form input:not([type="hidden"]), #contact-form textarea { display: block; width: 100%; margin-top: 8px; background: #fafafa; }
#contact-form button:disabled { opacity: .55; cursor: default; }
.site-footer { padding: 65px 20px 35px; clear: both; font-size: 13px; text-align: center; }
.site-footer p { margin: 0 0 12px; }
.site-footer a { color: #565257; }
#photo-viewer { border: 0; padding: 50px 70px 25px; width: min(1180px,96vw); height: min(880px,94vh); max-width: 96vw; max-height: 94vh; color: #fff; background: #151215; overflow: hidden; }
#photo-viewer::backdrop { background: rgba(0,0,0,.88); }
#photo-viewer figure { height: 100%; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
#photo-viewer img { max-height: calc(100% - 55px); width: auto; max-width: 100%; object-fit: contain; }
#photo-viewer figcaption { font: 15px/1.4 'Source Sans Pro',sans-serif; text-align: center; }
#photo-viewer button { position: absolute; padding: 8px 12px; background: transparent; color: #fff; border: 0; box-shadow: none; font: 40px/1 sans-serif; text-transform: none; }
#photo-viewer .viewer-close { right: 10px; top: 4px; }
#photo-viewer .viewer-prev { left: 8px; top: 45%; }
#photo-viewer .viewer-next { right: 8px; top: 45%; }
@media(min-width: 960px) { .main-navigation .menu-toggle { display: none; } }
@media(max-width: 959px) {
  .portfolio-wrapper { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .photo-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 959px) {
  body { border-width: 8px; }
  .site-header { padding: 50px 0 35px; }
  .site-title { font-size: clamp(34px,8.5vw,55px); }
  .main-navigation { width: 100%; margin: 22px 0 0; padding: 0 20px; }
  .main-navigation::before, .main-navigation::after, .main-navigation.toggled .menu-wrapper::before { display: none; }
  .main-navigation .menu-toggle { display: block; position: static; margin: 0 auto; width: auto; height: auto; color: #24282d; padding: 10px 28px; border: 1px solid #cfc9cb; background: #fff; font: 700 15px 'Source Sans Pro',sans-serif; }
  .main-navigation .menu-wrapper { position: static; height: auto; padding: 15px 0 0; background: #fff; }
  .main-navigation .nav-menu { display: none; position: static; width: auto; padding: 0; background: #fff; }
  .main-navigation.toggled .nav-menu { display: block; }
  .main-navigation ul li { display: block; width: 100%; float: none; padding: 0; margin: 0; text-align: center; }
  .main-navigation ul li a { display: block; padding: 10px 8px; color: #24282d; }
  .main-navigation ul ul, .main-navigation ul li:hover > ul { position: static; display: none; width: auto; margin: 0; border: 0; background: #faf5f7; box-shadow: none; }
  .main-navigation ul li.submenu-open > ul { display: block; }
  .main-navigation ul ul::before, .main-navigation ul ul::after { display: none; }
  .main-navigation ul ul li { width: 100%; padding: 0; }
  .main-navigation ul ul a { padding: 8px 14px; font-size: 14px; text-transform: none; }
  .submenu-button { display: inline-block; background: transparent; border: 0; box-shadow: none; color: #24282d; padding: 3px 12px; margin: 0 0 8px; font: 14px 'Source Sans Pro',sans-serif; }
  .page-header, .entry-header, .page-content, .entry-content, .entry-thumbnail, .entry-meta { width: calc(100% - 40px); max-width: 100%; }
  .entry-content { font-size: 17px; line-height: 1.7; }
  .entry-content > div[style] { max-width: 100%; }
  .entry-content img { max-width: 100%; }
  .portfolio-wrapper { width: calc(100% - 40px); gap: 25px; }
  .portfolio-wrapper .portfolio-entry { padding: 0 0 15px; width: auto; }
  .portfolio-wrapper .entry-title { font-size: 20px; }
  .photo-gallery { gap: 9px; }
  .journal-card { grid-template-columns: 110px 1fr; gap: 18px; }
  .journal-card h2 { font-size: 21px; }
  .journal-card p { font-size: 15px; }
  .attachment-view { width: calc(100% - 40px); }
  #photo-viewer { padding: 50px 35px 20px; }
  #photo-viewer .viewer-prev { left: 0; }
  #photo-viewer .viewer-next { right: 0; }
}
@media(min-width: 960px) { .submenu-button { display: none; } }
@media(max-width: 420px) {
  .journal-card { grid-template-columns: 1fr; }
  .journal-card > a img { max-height: 230px; }
}
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

#contact-form .contact-honeypot { display: none; }
.contact-delivery-note { color: #505960; margin: 20px 0; font-size: 15px; line-height: 1.6; }

.contact-content .preview-note { color: #51474a; }
