/* Small additions to the original portfolio theme. */
#masthead img.site-logo { width: 60px !important; height: auto !important; max-height: 40px !important; object-fit: contain; }
.cc-archive-home #masthead { background: #fff !important; }
.cc-archive-home #masthead .main-navigation > ul > li > a,
.cc-archive-home #masthead .site-tools,
.cc-archive-home #masthead .site-tools a,
.cc-archive-home #masthead .mobile-menu-button { color: #111 !important; }
.archive-work { padding: 95px 20px 24px; max-width: 1800px; margin: 0 auto; }
.archive-work-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.archive-work-heading h1 { font: 700 18px/1.3 Arial, Helvetica, sans-serif; margin: 0; color: #111; }
.archive-work .archive-video-toggle { background: #fff; color: #111; border: 1px solid #aaa; padding: 6px 10px; margin: 0; min-width: 0; font: 400 11px/1.3 Arial, Helvetica, sans-serif; text-transform: none; }
.archive-video-toggle[hidden] { display: none; }
.archive-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.archive-tile { position: relative; display: block; grid-column: span 2; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; background: #111; color: #fff !important; }
.archive-tile:nth-child(-n+2) { grid-column: span 3; }
.archive-tile img, .archive-tile video { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 250ms ease; }
a.archive-tile:hover img, a.archive-tile:hover video { transform: scale(1.025); }
.archive-tile:focus-visible { outline: 3px solid #111; outline-offset: 3px; }
.archive-tile span { position: absolute; inset: auto 0 0; padding: 46px 18px 15px; background: linear-gradient(transparent, rgba(0,0,0,.76)); font: 700 clamp(13px, 1.3vw, 20px)/1.3 Arial, Helvetica, sans-serif; }
.archive-instagram, .archive-substack { max-width: 1250px; margin: 40px auto; padding: 0 20px; }
.archive-feed-heading { font: 700 18px/1.3 Arial, Helvetica, sans-serif; margin: 0 0 22px; text-transform: none !important; }
.archive-feed-heading a { display: inline-flex; align-items: center; gap: 10px; color: #111; }
.archive-feed-heading svg { display: block; flex: 0 0 24px; width: 24px; height: 24px; }
.archive-substack-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.archive-post { min-width: 0; margin: 0; }
.archive-post > a { display: flex; flex-direction: column; height: 100%; color: #111; border-bottom: 1px solid #ddd; padding-bottom: 18px; }
.archive-post img { display: block; width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; background: #eee; }
.archive-post h3 { font: 700 24px/1.2 Arial, Helvetica, sans-serif; text-transform: none; margin: 18px 0 8px; color: #111; }
.archive-post p { font: 400 14px/1.5 Arial, Helvetica, sans-serif; margin: 0 0 20px; color: #444; }
.archive-post-meta { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin-top: auto; padding-top: 12px; font: 400 11px/1.4 Arial, Helvetica, sans-serif; }
.archive-post-meta > span { white-space: nowrap; }
.archive-post a:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.archive-post a:focus-visible, .archive-feed-heading a:focus-visible { outline: 2px solid #111; outline-offset: 5px; }
.archive-podcast-heading { max-width: 1250px; padding: 0 20px; margin: 24px auto; font: 700 18px/1.3 Arial, Helvetica, sans-serif; text-transform: none; }
/* Crop Instagram's live embed to its six posts, with a consistent internal width.
   The public header and controls remain outside the visible crop. */
.archive-instagram-window { position: relative; overflow: hidden; aspect-ratio: 3600 / 2399; background: #fff; }
.archive-instagram iframe { position: absolute; top: 0; left: 0; display: block; width: 1200px; max-width: none; height: 1100px; border: 0; background: #fff; transform-origin: 0 0; transform: scale(var(--instagram-scale, 1)) translateY(-158px); visibility: hidden; }
.archive-instagram-window.is-sized iframe { visibility: visible; }
.archive-viewer { position: fixed; inset: 0; margin: auto; padding: 42px 12px 12px; border: 0; background: #fff; max-width: calc(100vw - 28px); max-height: calc(100vh - 28px); width: max-content; overflow: auto; }
.archive-viewer::backdrop { background: rgba(0,0,0,.8); }
.archive-viewer img { display: block; width: auto; height: auto; max-width: calc(100vw - 52px); max-height: calc(100vh - 100px); object-fit: contain; }
.archive-viewer button { position: absolute; top: 7px; right: 8px; padding: 7px 12px; min-width: 0 !important; margin: 0; border: 1px solid #111; background: #fff; color: #111; font-size: 11px; }
#main-footer.cc-footer { position: static !important; clear: both; height: auto; margin: 32px 0 0; padding: 28px max(20px, 4.4vw) !important; border-top: 1px solid #ddd; background: #fff; color: #111; font: 400 11px/1.5 Arial, Helvetica, sans-serif; }
#main-footer .cc-footer-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; max-width: 1680px; margin: 0 auto; }
#main-footer .cc-footer-socials { display: flex; align-items: center; gap: 14px; }
#main-footer .cc-footer-socials img { display: block; width: 12px; height: 12px; }
#main-footer .cc-footer-socials .icon-pinterest { display: block; font-size: 14px; line-height: 1; }
#main-footer .cc-footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 20px; text-transform: uppercase; }
#main-footer.cc-footer a { color: #111; font-size: 11px; }
#main-footer.cc-footer a:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
#main-footer .cc-footer-copyright { white-space: nowrap; }
#assassins-creed { scroll-margin-top: 90px; }
@media (max-width: 767px) {
  .archive-work { padding: 85px 12px 18px; }
  .archive-work-heading { margin-bottom: 12px; }
  .archive-work-heading h1 { font-size: 16px; }
  .archive-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .archive-tile, .archive-tile:nth-child(-n+2) { grid-column: span 1; aspect-ratio: 4 / 3; }
  .archive-tile:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
  .archive-tile span { padding: 32px 10px 10px; font-size: 12px; }
  .archive-instagram, .archive-substack { padding: 0 12px; margin: 32px auto; }
  .archive-substack-grid { grid-template-columns: 1fr; gap: 28px; }
  .archive-post h3 { font-size: 22px; margin-top: 14px; }
  .archive-post p { margin-bottom: 12px; }
  .archive-podcast-heading { padding: 0 12px; }
  #main-footer.cc-footer { padding: 24px 20px !important; margin-top: 24px; }
  #main-footer .cc-footer-inner { grid-template-columns: 1fr auto; gap: 24px 12px; }
  #main-footer .cc-footer-nav { grid-column: 1 / -1; grid-row: 1; justify-content: flex-start; gap: 12px 18px; }
}
@media (prefers-reduced-motion: reduce) { .archive-tile img, .archive-tile video { transition: none; } }

/* About: a distinct introduction, then the brand story and film. */
.cc-about { max-width: 1120px; margin: 0 auto; padding: 8px 0 24px; color: #222; }
.cc-about .cc-about-header { margin-bottom: 38px; }
.cc-about h1 { font: 700 30px/1.2 Arial, Helvetica, sans-serif; text-transform: none; margin: 0; letter-spacing: -.5px; }
.cc-about .cc-about-intro, .cc-about .cc-about-history, .cc-about .cc-about-details { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.cc-about p { font: 400 16px/1.65 Arial, Helvetica, sans-serif; margin: 0 0 20px; }
.cc-about p:last-child { margin-bottom: 0; }
.cc-about .cc-about-lead p, .cc-about h2 { font: 700 22px/1.4 Arial, Helvetica, sans-serif; text-transform: none; margin: 0; }
.cc-about h2 { margin-bottom: 28px; }
.cc-about a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cc-about a:hover { text-decoration-thickness: 2px; }
.cc-about a:focus-visible { outline: 2px solid #222; outline-offset: 4px; }
.cc-about .cc-about-divider { border: 0; border-top: 1px solid #ccc; margin: 44px 0; width: 100%; }
.cc-about .cc-about-divider-short { width: 64px; border-color: #222; margin: 32px 0; }
.cc-about .cc-about-film { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #111; }
.cc-about .cc-about-film iframe { display: block; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 767px) {
  .cc-about { padding: 0 0 12px; }
  .cc-about .cc-about-header { margin-bottom: 28px; }
  .cc-about h1 { font-size: 26px; }
  .cc-about .cc-about-intro, .cc-about .cc-about-history, .cc-about .cc-about-details { grid-template-columns: 1fr; gap: 24px; }
  .cc-about .cc-about-lead p, .cc-about h2 { font-size: 18px; }
  .cc-about p { font-size: 16px; line-height: 1.65; margin-bottom: 18px; }
  .cc-about .cc-about-divider { margin: 32px 0; }
  .cc-about h2 { margin-bottom: 22px; }
}

/* Keep archive gallery photographs free of generated filename captions. */
.justified-image-grid .jig-caption-wrapper,
.justified-image-grid .jig-caption-wrapper-clone,
.justified-image-grid .jig-caption,
.justified-image-grid-html .jig-HTMLdescription { display: none !important; }
.cc-restless-gallery .single-post-header-bkg { background-position: center center; }

/* Align all page layouts with the bottom of the 65px desktop header. */
@media only screen and (min-width: 1024px) {
  #page_wrapper.sticky_header .content-area,
  #page_wrapper.transparent_header .content-area {
    margin-top: 65px !important;
  }
}

/* Film Archive follows the About page's type scale and content width. */
.cc-films { max-width:1120px; margin:0 auto; padding:8px 0 24px; color:#222; }
.cc-films-header { margin-bottom:38px; }
.cc-films h1 { font:700 30px/1.2 Arial,Helvetica,sans-serif; text-transform:none; letter-spacing:-.5px; margin:0; }
.cc-films h2 { font:700 22px/1.4 Arial,Helvetica,sans-serif; text-transform:none; margin:0 0 16px; }
.cc-film-featured { padding-bottom:44px; margin-bottom:44px; border-bottom:1px solid #ccc; }
.cc-films-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 32px; }
.cc-films-grid h2 { min-height:2.8em; }
.cc-film { min-width:0; }
.cc-film-player { position:relative; width:100%; aspect-ratio:16/9; background:#111; }
.cc-film-player iframe { display:block; position:absolute!important; inset:0; width:100%!important; height:100%!important; border:0; }
.cc-film-player .fluid-width-video-wrapper { position:absolute; inset:0; width:100%; height:100%; padding:0!important; }
@media(max-width:767px) {
 .cc-films { padding:0 0 12px; }
 .cc-films-header { margin-bottom:28px; }
 .cc-films h1 { font-size:26px; }
 .cc-films h2 { font-size:18px; margin-bottom:14px; }
 .cc-film-featured { padding-bottom:32px; margin-bottom:32px; }
 .cc-films-grid { grid-template-columns:1fr; gap:32px; }
 .cc-films-grid h2 { min-height:0; }
}
