/* FinePixel v4.0.25: deliberate charcoal refinements and the new Our Studio section. */
.site-header.sticky{
  background:#181b20;
  background:rgba(22,24,28,.97);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  border-bottom:0!important;
  box-shadow:0 11px 34px rgba(0,0,0,.35);
}
.site-header.sticky .header-inner{border-bottom:0}
/* Remove cyan outlines and glow, while retaining the natural portrait framing. */
.fp-about-photo-card,.fp-about-ian,.fp-about-yolanda{
  border:0!important;
  box-shadow:0 28px 68px rgba(0,0,0,.58)!important;
}
.fp-about::before{
  background-image:linear-gradient(100deg,rgba(4,5,7,.87) 0%,rgba(6,7,9,.88) 51%,rgba(4,5,7,.89) 100%),url('./about/wood-camera-dark-original.png')!important;
}
@media(max-width:620px){
  .fp-about::before{
    background-image:linear-gradient(100deg,rgba(4,5,7,.87),rgba(6,7,9,.89)),url('./about/wood-camera-dark-original.png')!important;
  }
}
/* The blue word matches the established site highlight rather than a muted grey. */
.ask-intro h2 em{color:var(--cyan,#8fe6f4)!important}
/* New editorial section: quiet architecture rather than a wall of outlined cards. */
.fp-studio{position:relative;isolation:isolate;scroll-margin-top:92px;padding:clamp(78px,9vw,140px) var(--fp-content-gutter);background:linear-gradient(145deg,#0e1014,#090b0f 62%,#0d1014);}
.fp-studio-inner{width:min(calc(var(--fp-content-max) - 2 * var(--fp-content-gutter)),100%);margin:auto;display:grid;grid-template-columns:minmax(270px,.9fr) minmax(0,1.15fr);align-items:start;gap:clamp(44px,6vw,112px)}
.fp-studio-eyebrow{display:block;margin-bottom:20px;font:800 11px/1.45 Manrope,Inter,Arial,sans-serif;letter-spacing:.19em;color:var(--cyan,#8fe6f4)}
.fp-studio-lead h2{margin:0 0 24px;font:800 clamp(36px,4.1vw,62px)/1.04 Manrope,Inter,Arial,sans-serif;letter-spacing:-.055em;color:#f3f5f6}
.fp-studio-lead h2 em{font-style:normal;color:#8fe6f4}
.fp-studio-lead p{margin:0;max-width:48ch;font:400 clamp(14px,1.14vw,16px)/1.72 Inter,Arial,sans-serif;color:#b8c7d0}
.fp-studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.fp-studio-category{padding:20px 0 28px;border:0;border-top:1px solid rgba(213,221,229,.15);min-width:0}
.fp-studio-number{display:block;font:750 10px/1.45 Manrope,Inter,Arial,sans-serif;letter-spacing:.16em;color:#a0afb9;margin-bottom:17px}
.fp-studio-category h3{font:800 clamp(17px,1.5vw,21px)/1.25 Manrope,Inter,Arial,sans-serif;letter-spacing:-.03em;color:#f5f7f9;margin:0 0 9px}
.fp-studio-category p{font:400 13px/1.78 Inter,Arial,sans-serif;color:#b0bdc6;margin:0;max-width:40ch}
@media(max-width:1050px){
  .desktop-nav{gap:clamp(9px,1.15vw,15px)}
  .desktop-nav a{font-size:11px;letter-spacing:1.0px}
}
@media(max-width:980px){
  .desktop-nav{display:none!important}
  .menu-toggle{display:grid!important}
  .fp-studio-inner{grid-template-columns:1fr;gap:35px}
  .fp-studio-lead p{max-width:65ch}
}
@media(max-width:590px){
  .fp-studio{padding:65px var(--fp-content-gutter)}
  .fp-studio-grid{grid-template-columns:1fr}
  .fp-studio-category{padding:18px 0 23px}
  .fp-studio-lead h2{font-size:clamp(34px,10vw,46px)}
  .fp-studio-lead p{font-size:14px}
}
/* Progressive scroll reveals. Fallback stays visible without JavaScript or IO support. */
.fp-reveal-ready .fp-reveal{
  opacity:0;
  -webkit-transform:translate3d(0,21px,0);
  transform:translate3d(0,21px,0);
  -webkit-transition:opacity .75s cubic-bezier(.18,.7,.25,1),-webkit-transform .75s cubic-bezier(.18,.7,.25,1);
  transition:opacity .75s cubic-bezier(.18,.7,.25,1),transform .75s cubic-bezier(.18,.7,.25,1);
}
.fp-reveal-ready .fp-reveal.fp-reveal-visible{
  opacity:1;
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0);
}
/* These elements have intentional rotations or transforms. Never overwrite them. */
.fp-reveal-ready .fp-reveal.fp-reveal-opacity{transform:none;-webkit-transform:none}
.fp-reveal-ready .fp-about-photo-card.fp-reveal{
  -webkit-transform:none;transform:none;
  -webkit-transition:opacity .7s ease;transition:opacity .7s ease;
}
.fp-reveal-ready .fp-about-ian.fp-reveal{transform:rotate(2.7deg);-webkit-transform:rotate(2.7deg)}
.fp-reveal-ready .fp-about-yolanda.fp-reveal{transform:rotate(-3.2deg);-webkit-transform:rotate(-3.2deg)}
@media(max-width:900px){
  .fp-reveal-ready .fp-about-ian.fp-reveal{transform:rotate(1.1deg);-webkit-transform:rotate(1.1deg)}
  .fp-reveal-ready .fp-about-yolanda.fp-reveal{transform:rotate(-1.1deg);-webkit-transform:rotate(-1.1deg)}
}
@media(max-width:620px){
  .fp-reveal-ready .fp-about-ian.fp-reveal{transform:rotate(.8deg);-webkit-transform:rotate(.8deg)}
  .fp-reveal-ready .fp-about-yolanda.fp-reveal{transform:rotate(-.8deg);-webkit-transform:rotate(-.8deg)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .fp-reveal-ready .fp-reveal,.fp-reveal-ready .fp-reveal.fp-reveal-opacity{opacity:1!important;transform:none!important;-webkit-transform:none!important;transition:none!important;-webkit-transition:none!important}
  .fp-reveal-ready .fp-about-ian.fp-reveal{transform:rotate(2.7deg)!important}
  .fp-reveal-ready .fp-about-yolanda.fp-reveal{transform:rotate(-3.2deg)!important}
}

/* Keep all eight mobile menu destinations available on short landscape screens. */
.mobile-menu{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.mobile-links{min-height:0}
@media(max-height:670px) and (max-width:980px){
  .mobile-links{flex:0 0 auto;gap:8px;padding:21px 4px}
  .mobile-links a{font-size:clamp(22px,5vw,30px);padding-bottom:7px}
  .mobile-footer{flex:0 0 auto}
}

/* V4.0.25: Menu never changes positioning or geometry when sticky; only charcoal surface fades in. */
.site-header, .site-header.sticky{position:fixed!important;top:0;right:0;left:0;border:0!important;transform:none!important;-webkit-transform:none!important;}
.site-header{background-color:rgba(22,24,28,0);box-shadow:none;transition:background-color .35s ease,box-shadow .35s ease;}
.site-header.sticky{background-color:rgba(22,24,28,.97);box-shadow:0 11px 34px rgba(0,0,0,.35);}
/* Fixed Film Lab background image: it must not be part of any scroll reveal or repaint animation. */
.fp-film-process,.fp-film-process::before,.fp-film-process::after{animation:none!important;-webkit-animation:none!important;transition:none!important;-webkit-transition:none!important;transform:none!important;-webkit-transform:none!important;}
/* Film Lab lead text is deliberately static; only the interactive console reveals. */
.fp-film-process-lead.fp-reveal{opacity:1!important;transform:none!important;-webkit-transform:none!important;transition:none!important;-webkit-transition:none!important;}

/* V4.0.26 — STATIC FILM LAB BACKGROUND (no parallax, pseudo-element, or cover re-crop).
   v4.0.25 disabled animation but kept a filtered pseudo-element with background-size:cover.
   As the video interface or font metrics settled, its height and crop could change.
   Put the image on the section as a normal CSS background, and size/anchor the
   photograph in stable pixel/viewport units, independent of the section height.
   The console's own IntersectionObserver reveal remains untouched. */
#film-process.fp-film-process {
  background-color:#090b0d!important;
  background-image:
    linear-gradient(180deg,rgba(6,8,10,.72) 0%,rgba(6,8,10,.77) 28%,rgba(6,8,10,.70) 73%,rgba(6,8,10,.84) 100%),
    url("./film-studio-background.webp")!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:center top,center top!important;
  background-size:100% 100%,auto 1500px!important;
  background-attachment:scroll,scroll!important;
}
/* Old tinted photo and gradient layers must not be composited or repainted. */
#film-process.fp-film-process::before,
#film-process.fp-film-process::after {content:none!important;display:none!important;}
@media(max-width:820px){
  #film-process.fp-film-process {
    background-position:center top,38% top!important;
  }
}
