/* Dr. Johnson v47.8 — targeted responsive and content fixes, loaded last. */
html,body{max-width:100%;overflow-x:clip}
/* REAL top navbar at all widths, including when the header template is a shortcode. */
body .wp-site-blocks .dnj-header,body .dnj-header{
  position:fixed!important;top:0!important;right:0!important;left:0!important;z-index:99999!important;
  display:block!important;min-height:68px!important;height:auto!important;
  margin:0!important;padding:0!important;overflow:visible!important;
  background:rgba(8,13,31,.97)!important;border-bottom:1px solid rgba(103,232,249,.18)!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
body .dnj-header .dnj-nav-shell{
  display:flex!important;position:relative!important;width:100%!important;max-width:1280px!important;
  min-height:68px!important;padding:10px clamp(16px,4vw,28px)!important;margin-inline:auto!important;
  align-items:center!important;justify-content:space-between!important;gap:12px!important;
}
body .dnj-header .dnj-nav-brand{color:#fff!important;max-width:calc(100% - 68px)!important;
  font-size:clamp(14px,2.8vw,18px)!important;line-height:1.24!important;white-space:normal!important;
  overflow-wrap:normal!important;text-decoration:none!important;}
body .dnj-header .dnj-nav-mobile{flex:0 0 auto!important;position:static!important;z-index:2!important;}
body .dnj-header .dnj-nav-mobile>summary{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;margin:0!important;width:48px!important;height:46px!important;min-height:46px!important;
  border:1px solid #388b9b!important;border-radius:10px!important;background:#111a34!important;
  color:#fff!important;font-size:25px!important;line-height:1!important;list-style:none!important;cursor:pointer!important;}
body .dnj-header .dnj-nav-mobile>summary::-webkit-details-marker{display:none!important}
body .dnj-header .dnj-nav-mobile>summary:focus-visible{outline:3px solid #67e8f9;outline-offset:3px}
@media(max-width:1050px){
  body .dnj-header .dnj-nav-desktop{display:none!important;}
  body .dnj-header .dnj-nav-mobile{display:block!important;}
  body .dnj-header .dnj-nav-mobile>nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;
    width:100%!important;max-height:calc(100dvh - 68px)!important;overflow:auto!important;
    margin:0!important;padding:14px 20px 20px!important;background:#080d1f!important;
    border:1px solid #223a51!important;box-shadow:0 25px 45px #0009!important;}
  body .dnj-header .dnj-nav-mobile[open]>nav{display:block!important;}
  body .dnj-header .dnj-nav-mobile nav .dnj-nav-list{display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;padding:0!important;margin:0!important;}
  body .dnj-header .dnj-nav-mobile nav .dnj-nav-list>li{display:block!important;width:100%!important;margin:0!important;}
  body .dnj-header .dnj-nav-mobile nav .dnj-nav-list a{display:block!important;min-height:44px!important;padding:12px 10px!important;color:#fff!important;text-align:left!important;}
}
@media(min-width:1051px){body .dnj-header .dnj-nav-desktop{display:block!important}body .dnj-header .dnj-nav-mobile{display:none!important}}
/* Mobile Gutenberg page layout. Center images, cards, and film project summaries. */
body .dnj-page-shell,body .dnj-interior-main,body .dnj-page-shell .wp-block-columns,
body .dnj-page-shell .wp-block-column{min-width:0!important;max-width:100%}
body .dnj-page-shell figure.wp-block-image{max-width:100%!important}
body .dnj-page-shell figure.wp-block-image img{display:block;max-width:100%!important;height:auto!important;margin:0 auto!important;object-fit:contain!important}
body .dnj-page-shell .dnj-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))!important;
  max-width:1140px!important;margin-inline:auto!important;gap:22px!important;align-items:stretch!important}
body .dnj-page-shell .dnj-grid>.wp-block-column{min-width:0!important;max-width:100%!important}
body .dnj-page-shell .dnj-grid .dnj-card{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}
body .dnj-page-shell .dnj-grid .dnj-card .wp-block-buttons{margin-top:auto!important;justify-content:center!important}
body .dnj-v10-project,body .dnj-v10-project-grid{max-width:100%!important;min-width:0!important}
@media(max-width:850px){
  body .dnj-page-shell{padding-inline:clamp(16px,4vw,26px)!important}
  body .dnj-page-shell .wp-block-columns:not(.dnj-grid){display:flex!important;flex-direction:column!important;gap:26px!important;align-items:center!important}
  body .dnj-page-shell .wp-block-columns:not(.dnj-grid)>.wp-block-column{width:100%!important;max-width:700px!important;flex:0 1 auto!important;min-width:0!important}
  body .dnj-v10-project-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:center!important;gap:24px!important;text-align:center!important}
  body .dnj-v10-project-grid>div{min-width:0!important;width:100%!important;max-width:740px!important}
  body .dnj-v10-project-grid>img{margin-inline:auto!important;max-width:min(100%,350px)!important;height:auto!important}
  body .dnj-page-shell .dnj-card{max-width:100%!important}
  body .dnj-page-shell .wp-block-buttons{justify-content:center!important;flex-wrap:wrap!important}
}
@media(max-width:480px){
  body .dnj-page-shell .dnj-grid{grid-template-columns:minmax(0,1fr)!important}
  body .dnj-page-shell .dnj-grid .dnj-card{padding:22px 18px!important}
  body .dnj-page-shell .wp-block-button{max-width:100%!important}
  body .dnj-page-shell .wp-block-button__link{max-width:100%!important;text-align:center!important}
  body.home .dnj-hero .dnj-hero-title,body.home .dnj-responsive-home-title{font-size:clamp(1.85rem,7vw,2.4rem)!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
}
/* Gallery is a horizontal, centered slide viewport; prevents media from expanding pages. */
body .dnj-butte-gallery{display:block!important;width:min(100%,960px)!important;max-width:960px!important;margin:26px auto!important;padding:0!important;text-align:center!important}
body .dnj-butte-gallery .dnj-butte-track{display:flex!important;max-width:100%!important;scroll-snap-type:x mandatory!important;overflow-x:auto!important}
body .dnj-butte-gallery .dnj-butte-slide{flex:0 0 100%!important;max-width:100%!important;width:100%!important;scroll-snap-align:start!important}
body .dnj-butte-gallery .dnj-butte-slide img{max-width:100%!important;max-height:70vh!important;height:auto!important;width:auto!important;object-fit:contain!important;margin:0 auto!important}
/* Kokopelli poster must occupy the whole video: override inherited book-poster constraints. */
body.page .dnj-koko-responsive-embed,body.page .wp-block-post-content .dnj-koko-responsive-embed{
  box-sizing:border-box!important;width:min(100%,1000px)!important;max-width:1000px!important;
  padding:0!important;margin:26px auto!important;min-height:0!important;height:auto!important;
}
body.page .dnj-koko-responsive-embed .dnj-koko-player{
  display:block!important;position:relative!important;aspect-ratio:16/9!important;width:100%!important;
  height:auto!important;min-height:0!important;overflow:hidden!important;border-radius:14px!important;background:#091027!important;
}
body.page .dnj-koko-responsive-embed .dnj-koko-play-trigger,
body.page .dnj-koko-responsive-embed .dnj-koko-player>iframe{
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;
}
body.page .wp-block-post-content .dnj-koko-responsive-embed .dnj-koko-play-trigger img.dnj-koko-video-poster,
body.page .dnj-koko-responsive-embed .dnj-koko-play-trigger>img.dnj-koko-video-poster{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;
  margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;
}
body.page .dnj-koko-responsive-embed .dnj-koko-play-label{
  position:absolute!important;inset:0!important;display:flex!important;justify-content:center!important;
  align-items:center!important;flex-direction:column!important;gap:10px!important;text-align:center!important;
  background:linear-gradient(to top,rgba(0,0,0,.28),transparent 55%)!important;
  color:#fff!important;text-shadow:0 2px 7px #000;
}
body.page .dnj-koko-responsive-embed .dnj-koko-play-icon{display:grid!important;place-items:center!important;
  width:clamp(58px,10vw,88px)!important;height:clamp(44px,7vw,64px)!important;
  background:#e11d48!important;border-radius:16px!important;color:#fff!important;font-size:clamp(24px,3vw,34px)!important;
  box-shadow:0 8px 24px #0009!important}
body.page .dnj-koko-responsive-embed .dnj-koko-video-fallback{margin:10px auto!important;text-align:center!important;font-size:14px!important}
@media(max-width:480px){body.page .dnj-koko-responsive-embed .dnj-koko-play-icon{width:56px!important;height:42px!important;border-radius:12px!important}}
