/* FinePixel Future Studio v4.0.13 | consolidated presentation polish.
   Deliberately scoped to visuals. Media, calendars, forms and FAQ matching unchanged. */
:root{
  --fp-title-family:"Manrope","Inter",Arial,sans-serif;
  --fp-body-family:"Inter",Arial,sans-serif;
  --fp-subtitle-color:#b8c7d0;
  --fp-subtitle-leading:1.72;
}
/* Remove section separators only; keep interaction-specific focus states, cards and controls. */
.hero, .fp-reviews, .fp-about, .fp-photography, .fp-film,
.fp-film-process, .contact-section, .site-footer, footer{
  border-top:0!important;border-bottom:0!important;
}
/* Uniform heading/copy treatment, retaining deliberate hero display scale. */
.fp-reviews-headline h2,.fp-about h2,.fp-photo-headline h2,.fp-photo-transition h3,
.fp-film-hero-copy h2,.fp-film-process-lead h3,.contact-lead h2{
  font-family:var(--fp-title-family)!important;
  font-weight:800!important;font-style:normal!important;
  letter-spacing:-.055em!important;
  line-height:1.06!important;
  color:#f4f7fb;
}
.fp-reviews-headline p,.fp-about-intro,.fp-photo-headline p,.fp-photo-transition p,
.fp-film-hero-copy p,.fp-film-process-lead p,.contact-lead p{
  font-family:var(--fp-body-family);font-weight:400;
  color:var(--fp-subtitle-color);line-height:var(--fp-subtitle-leading);
  font-size:clamp(14px,1.14vw,16px);
}
/* Photo Acts: no ornament icons, no cyan rule before Act I, equal-weight typography. */
.fp-photo-process-divider{display:none!important}
.fp-photo-act-heading::before{display:none!important}
.fp-photo-step-symbol{display:none!important}
.fp-photo-step-top{justify-content:flex-start!important}
.fp-photo-step h4,.fp-photo-step-featured h4{
  font-family:var(--fp-title-family)!important;
  font-size:clamp(17px,1.45vw,20px)!important;
  font-weight:750!important;line-height:1.34!important;letter-spacing:-.03em!important;
}
.fp-photo-step-featured{border-left:0!important;background:transparent!important}
.fp-photo-gallery-outline{display:none!important}
.fp-photo-main-frame{border:0!important}
.fp-photo-gallery-meta{border:0!important}
/* Darken the About image overlay ~20% relative to the v4.0.12 veil. */
.fp-about::before{
  background-image:linear-gradient(100deg,rgba(5,7,9,.80) 0%,rgba(7,8,10,.82) 51%,rgba(5,7,9,.83) 100%),url('./about/wood-camera-dark-original.png')!important;
  background-size:100% 100%,cover!important;
  background-position:center,center center!important;
}
/* Make contact one quiet section: no glowing card/panel outlines. */
.contact-section{background:#05080b!important}
.contact-section::before{background:linear-gradient(100deg,rgba(0,0,0,.06),rgba(13,17,20,.25))!important}
.contact-form-card{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  padding:clamp(10px,1.8vw,25px) 0!important}
.contact-form-card::before{display:none!important}
.contact-form-card .fp-control,.contact-form-card .fp-message{
  border:0!important;border-bottom:1px solid #313941!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
.contact-form-card .fp-control:focus-within,.contact-form-card .fp-message:focus-within{
  border-bottom-color:#86bfdb!important;box-shadow:inset 0 -1px 0 #86bfdb!important;
}
.contact-form-card .fp-control svg,.contact-form-card .fp-message>svg{color:#8d9fac!important}
/* Uniform interactive icon stroke, sizes, rounding and predictable focus. */
.menu-toggle,.mobile-close,.fp-photo-rail-scroll,.fp-film-rail-controls button,
.contact-cal-actions button,.ask-iconbtn{border-radius:10px}
.menu-toggle svg,.mobile-close svg,.contact-cal-actions button svg,
.contact-submit svg{stroke-width:1.8}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible{outline:2px solid #81b8df;outline-offset:3px}
/* Film Lab: the heading is a heading, rather than a trigger label. */
.fp-lab-panel-indicator{display:none!important}
.fp-lab-panel-heading{
  justify-content:flex-start!important;color:#edf2f5!important;
  font:800 17px/1.3 var(--fp-title-family)!important;
  letter-spacing:.085em!important;
  margin-bottom:23px!important;
}
.fp-lab-toggle-copy strong{font-size:13.9px!important}
.fp-film-process-lead p{max-width:76ch}
/* Equal optical spacing before and after transport controls. */
.fp-film-edit-suite-solo .fp-lab-picture{background:transparent!important;box-shadow:none!important;overflow:visible!important}
.fp-film-edit-suite-solo .fp-lab-video-frame{border-radius:7px;overflow:hidden}
.fp-film-edit-suite-solo .fp-lab-transport{
  min-height:36px!important;margin:10px 0!important;padding:0 10px!important;
  background:transparent!important;border:0!important;gap:12px!important;
}
.fp-film-edit-suite-solo .fp-lab-console{padding:0 2px 2px!important}
/* Dark, unbordered seek track; native WebKit and Firefox both supported. */
.fp-film-edit-suite-solo input[data-lab-seek]{
  display:block;height:17px;-moz-appearance:none;appearance:none;-webkit-appearance:none;
  border:0!important;outline-offset:3px;background:transparent!important;
  accent-color:#659ebe;cursor:pointer;min-width:0;
}
.fp-film-edit-suite-solo input[data-lab-seek]::-webkit-slider-runnable-track{
  height:3px;border:0;border-radius:99px;background:#34383e;box-shadow:none;
}
.fp-film-edit-suite-solo input[data-lab-seek]::-moz-range-track{
  height:3px;border:0;border-radius:99px;background:#34383e;box-shadow:none;
}
.fp-film-edit-suite-solo input[data-lab-seek]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4.5px;
  border:0;border-radius:50%;background:#7eb4d4;box-shadow:0 1px 6px #0007;
}
.fp-film-edit-suite-solo input[data-lab-seek]::-moz-range-thumb{
  width:12px;height:12px;border:0;border-radius:50%;background:#7eb4d4;box-shadow:0 1px 6px #0007;
}
.fp-film-edit-suite-solo input[data-lab-seek]::-moz-range-progress{height:3px;background:#648ea9;border-radius:99px}
/* Current FAQ only: make its dock fit narrow screens; final guided package finder pending design approval. */
.ask-panel{max-width:calc(100vw - 28px);max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px)}
.ask-panel,.ask-panel *{min-width:0}
.ask-bubble,.ask-question,.ask-topic,.ask-welcome,.ask-heading,.ask-feed{overflow-wrap:anywhere;word-break:normal}
.ask-feed{min-height:0;overflow-x:hidden}
.ask-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ask-under{justify-content:flex-start}
.ask-fab{background:#0b0f12!important;border-color:#383f46!important;box-shadow:0 10px 27px #0008!important}
.ask-fab-icon{background:#1d252a!important;color:#dce6eb!important}
@media(max-width:900px){
  .contact-inner{grid-template-columns:minmax(0,1fr)!important;gap:28px}
  .fp-lab-panel-heading{font-size:16px!important}
}
@media(max-width:820px){
  .ask-panel{inset:0!important;width:100%!important;max-width:100vw!important;
    height:100vh!important;height:100dvh!important;max-height:none!important;min-height:0!important;
    padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
    border-radius:0!important;overflow:hidden!important}
  .ask-top{flex-shrink:0}
  .ask-compose{flex-shrink:0}
  .ask-panel .ask-feed{flex:1 1 auto;min-height:0}
  .ask-panel .ask-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fp-lab-panel-heading{font-size:15px!important;margin-bottom:12px!important}
  .contact-form-card{padding:0!important}
}
@media(max-width:620px){
  .fp-about::before{
    background-image:linear-gradient(100deg,rgba(5,7,9,.83),rgba(7,8,10,.85)),url('./about/wood-camera-dark-original.png')!important;
    background-size:100% 100%,cover!important;background-position:center,34% center!important;
  }
  .fp-photo-step h4,.fp-photo-step-featured h4{font-size:18px!important}
  .fp-film-edit-suite-solo .fp-lab-transport{margin:9px 0!important;padding:0 5px!important;gap:8px!important}
  .fp-lab-panel-heading{font-size:15px!important}
  .contact-form-card .fp-control{min-width:0}
  .contact-inner{min-width:0}
}
@media(max-width:380px){
 .ask-panel .ask-topic-grid{grid-template-columns:minmax(0,1fr)}
 .fp-lab-panel-heading{font-size:14px!important}
 .fp-lab-toggle-copy strong{font-size:10.5px!important}
}
@media(prefers-reduced-motion:reduce){
 .fp-photo-rail-scroll,.fp-film-rail-controls button{transition:none!important}
}

/* Common chevron language for thumbnail rails and date navigation. */
.fp-photo-rail-scroll svg,.fp-film-rail-controls button svg,.contact-cal-actions button svg{
  display:block;width:18px;height:18px;margin:auto;fill:none;stroke:currentColor;
  stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;
}
.fp-control select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:19px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2398aebb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center;background-size:17px 17px;
}
@media(min-width:721px) and (max-width:900px){
  /* Small tablets: show the full film instead of squeezing it beside the rail. */
  .fp-lab-workspace{display:flex!important;flex-direction:column!important;padding:4px 10px 11px!important}
  .fp-lab-main{order:0;width:100%;padding:7px}
  .fp-lab-control-panel{order:1;width:100%;padding:16px 8px 8px;margin-top:8px}
  .fp-lab-control-panel::after{display:none}
  .fp-lab-triggers.fp-lab-side-toggles{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .fp-lab-side-toggles button.fp-lab-toggle:last-child{grid-column:1/-1;justify-self:center;width:min(100%,300px)!important;margin:6px auto 0!important;background:rgba(255,255,255,.035)!important}
}

/* v4.0.20: film-suite environment and a subtle photographer backdrop for Contact. */
.fp-film-process{position:relative;isolation:isolate;background:#090b0d!important;overflow:hidden}
.fp-film-process::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("./film-studio-background.webp") center 43%/cover no-repeat;
  opacity:.25;filter:brightness(.63) saturate(.68)}
.fp-film-process::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,8,10,.44) 0%,rgba(6,8,10,.63) 26%,rgba(6,8,10,.38) 73%,rgba(6,8,10,.78) 100%)}
.fp-film-process-inner{position:relative;z-index:1}
.contact-section{position:relative;isolation:isolate;background:#050608!important}
.contact-section::after{content:"";position:absolute;right:0;top:0;bottom:0;width:64%;pointer-events:none;z-index:0;
  background:url("./contact-photographer-background.webp") 36% 46%/cover no-repeat;
  opacity:.18;filter:brightness(.72) saturate(.78);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 28%,black 76%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 28%,black 76%,transparent)}
.contact-section::before{z-index:0}
.contact-section .contact-inner{position:relative;z-index:1}
@media(max-width:820px){
 .fp-film-process::before{background-position:38% center;opacity:.17}
 .contact-section::after{width:100%;background-position:38% top;opacity:.12;
    -webkit-mask-image:linear-gradient(180deg,transparent,black 28%,black 73%,transparent);
    mask-image:linear-gradient(180deg,transparent,black 28%,black 73%,transparent)}
}

/* Quiet return link: featured item remains reachable after choosing a thumbnail. */
.fp-film-featured-return{display:inline-flex;align-items:center;margin-top:11px;padding:2px 0;border:0;background:none;
 color:#a9c0ca;font:700 11px/1.5 Manrope,Inter,sans-serif;letter-spacing:.02em;cursor:pointer}
.fp-film-featured-return:hover,.fp-film-featured-return:focus-visible{color:#d7f3ff;text-decoration:underline}
.fp-film-featured-return[hidden]{display:none!important}

/* V4.0.21 — cleaner screening room; crisp HD YouTube poster selection is in film.js. */
.fp-film-rail-head{padding:15px 0 13px!important;gap:14px;}
.fp-film-rail-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-width:0;}
.fp-film-rail-heading .fp-film-featured-return{margin:0!important;padding:3px 0!important;}
@media (max-width:620px){
  .fp-film-rail-head{padding:12px 0 11px!important;}
  .fp-film-rail-heading{gap:7px 12px;}
  .fp-film-rail-heading .fp-film-featured-return{font-size:10px!important;}
}
/* Bring the dark editing-suite photograph forward without compromising legibility. */
.fp-film-process::before{opacity:.47!important;filter:brightness(.95) saturate(.75)!important;}
.fp-film-process::after{background:linear-gradient(180deg,rgba(6,8,10,.33) 0%,rgba(6,8,10,.47) 28%,rgba(6,8,10,.32) 73%,rgba(6,8,10,.65) 100%)!important;}
