/* Woodland v3 hero film: from frame to finished. Optisites Digital, 2026-11-02 */
.film{position:relative;height:100svh;min-height:620px;max-height:1100px;overflow:hidden;background:#0d0b09;color:#fff}
.film-media{position:absolute;inset:0;transition:transform 1.2s var(--ease)}
.film-stage{position:absolute;inset:0;opacity:0}
.film-stage img,.film-stage video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 60%;display:block}
.go .film-media{animation:kb 9s cubic-bezier(.2,.6,.2,1) both}
@keyframes kb{from{transform:scale(1.09)}to{transform:scale(1)}}
.film-stage.s1{transition:opacity 1.6s ease}
.film-stage.s1.in{opacity:1}
.film-stage.s2,.film-stage.s3{opacity:1;-webkit-mask-image:linear-gradient(100deg,#000 42%,transparent 58%);mask-image:linear-gradient(100deg,#000 42%,transparent 58%);-webkit-mask-size:280% 100%;mask-size:280% 100%;-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:-webkit-mask-position 1.6s cubic-bezier(.65,0,.35,1),mask-position 1.6s cubic-bezier(.65,0,.35,1)}
.film-stage.s2.in,.film-stage.s3.in{-webkit-mask-position:0 0;mask-position:0 0}
.film-stage.s4{filter:brightness(1.5) saturate(.7);transition:opacity 1.8s ease,filter 2.4s ease}
.film-stage.s4.in{opacity:1;filter:none}
.film-stage.instant{transition:none!important}
.film-sweep{position:absolute;top:-10%;bottom:-10%;width:34%;left:-40%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,214,160,.10) 35%,rgba(255,232,200,.32) 50%,rgba(255,214,160,.10) 65%,transparent);mix-blend-mode:screen;filter:blur(8px);opacity:0}
.film-sweep.run{animation:sweep 1.6s cubic-bezier(.65,0,.35,1)}
@keyframes sweep{0%{left:-40%;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:110%;opacity:0}}
.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,9,.55) 0%,rgba(13,11,9,0) 22%,rgba(13,11,9,0) 58%,rgba(13,11,9,.72) 100%);transition:opacity 1.6s ease;pointer-events:none}
.film.home .film-shade{opacity:0}
.film-caps{position:absolute;left:max(24px,calc((100% - var(--wrap))/2 + 24px));bottom:118px;width:min(560px,80%);height:150px}
.film-cap{position:absolute;left:0;bottom:0;opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .9s var(--ease)}
.film-cap.on{opacity:1;transform:none;transition-delay:.6s}
.film-cap span{display:block;font-family:var(--serif);font-style:italic;color:var(--gold-lt);font-size:1.2rem;margin-bottom:2px}
.film-cap b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:1;color:#fff}
.film-cap em{display:block;font-style:normal;font-size:1rem;color:rgba(255,255,255,.8);margin-top:10px}
.film-copy{position:absolute;left:50%;top:clamp(92px,11.5vh,140px);transform:translateX(-50%);width:min(1160px,calc(100% - 48px));text-align:center;color:var(--ink);pointer-events:none}
.film-copy>*{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1.2s var(--ease)}
.film.home .film-copy{pointer-events:auto}
.film.home .film-copy>*{opacity:1;transform:none}
.film.home .film-copy>:nth-child(1){transition-delay:.9s}.film.home .film-copy>:nth-child(2){transition-delay:1.05s}.film.home .film-copy>:nth-child(3){transition-delay:1.25s}.film.home .film-copy>:nth-child(4){transition-delay:1.45s}
.film-copy h1{font-size:clamp(2.6rem,min(4.3vw,6.6vh),4.8rem);margin:4px 0 12px;white-space:nowrap}
.film-copy .lead{margin:0 auto;max-width:720px;color:#3B403C;font-size:1.02rem}
.film-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.btn-glass{background:rgba(255,255,255,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);border:1px solid rgba(26,29,27,.12)}
.btn-glass:hover{background:#fff}
.film-bar{position:absolute;left:max(24px,calc((100% - var(--wrap))/2 + 24px));right:max(24px,calc((100% - var(--wrap))/2 + 24px));bottom:34px;display:flex;align-items:center;gap:14px}
.film-seg{flex:0 0 auto;width:96px;text-align:left;color:rgba(255,255,255,.7);font-size:.78rem;font-weight:500;letter-spacing:.02em;transition:color .6s}
.film-seg i{display:block;height:2px;background:rgba(255,255,255,.28);margin-bottom:8px;position:relative;overflow:hidden;border-radius:2px}
.film-seg i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.film-seg.done i::after{transform:scaleX(1)}
.film-seg.now i::after{transform:scaleX(1);transition:transform 2.4s linear}
.film-seg.now,.film-seg.done{color:#fff}
.film-replay{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--ink);background:rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:9px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .8s ease 1.6s}
.film-replay svg{width:16px;height:16px}
.film.home .film-replay{opacity:1;pointer-events:auto}
.film.home .film-seg{color:rgba(26,29,27,.55)}
.film.home .film-seg i{background:rgba(26,29,27,.18)}
.film.home .film-seg i::after{background:var(--ink)}
.film.home .film-seg.now,.film.home .film-seg.done{color:var(--ink)}
/* header over the film */
.hdr .brand,.hdr .brand-txt b,.hdr .brand-txt small,.hdr .nav a,.hdr .icon-btn,.hdr .btn-line{transition:color .6s,border-color .6s,background .6s}
body.film-dark .hdr:not(.solid) .brand,body.film-dark .hdr:not(.solid) .brand-txt b,body.film-dark .hdr:not(.solid) .nav a,body.film-dark .hdr:not(.solid) .icon-btn{color:#fff}
body.film-dark .hdr:not(.solid) .brand-txt small{color:rgba(255,255,255,.7)}
body.film-dark .hdr:not(.solid) .nav a::after{background:#fff}
body.film-dark .hdr:not(.solid) .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.hdr:not(.solid) .btn-line{background:rgba(255,255,255,.5)}
.trust-band{border-bottom:1px solid var(--line);padding:26px 0}
.trust-band .trust{max-width:var(--wrap);border-top:0;padding-top:0}
@media (max-width:960px){
  /* header floats over the film; turns solid on scroll or when the menu is open */
  .hdr:not(.solid){background:transparent}
  .hdr:has(.mnav.open){background:#fff}
  body.film-dark .hdr:has(.mnav.open) .logo-ink{opacity:1}
  body.film-dark .hdr:has(.mnav.open) .logo-light{opacity:0}
  body.film-dark .hdr:has(.mnav.open) .icon-btn{color:var(--ink)}
  /* one dark, cinematic first screen that turns light when the lights come up */
  .film{height:auto;min-height:0;max-height:none;padding:0;background:#0d0b09;color:#fff;transition:background-color 1.6s ease}
  .film.home{background:#fff;color:var(--ink)}
  .film-media{position:relative;inset:auto;aspect-ratio:1/1.08;overflow:hidden}
  .film-shade{background:linear-gradient(180deg,rgba(13,11,9,.6) 0%,rgba(13,11,9,0) 22%,rgba(13,11,9,0) 58%,#0d0b09 100%)}
  .film-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,0) 66%,#fff 100%);opacity:0;transition:opacity 1.6s ease}
  .film.home .film-media::after{opacity:1}
  .film-caps{left:22px;right:22px;top:calc(108vw + 6px);bottom:auto;width:auto;height:190px}
  .film-cap span{font-size:1.1rem;margin-bottom:4px}
  .film-cap b{font-size:2.9rem;line-height:.95}
  .film-cap em{display:block;font-size:.98rem;color:rgba(255,255,255,.72);margin-top:12px;max-width:300px}
  .film-copy{position:relative;left:auto;top:auto;transform:none;width:auto;padding:16px 22px 36px;text-align:left;min-height:330px}
  .film-copy .label{font-size:1.1rem}
  .film-copy h1{font-size:2.85rem;line-height:.98;margin:6px 0 14px;white-space:normal}
  .film-copy h1 em{display:block}
  .film-copy .lead{font-size:1rem;color:#4A504C;max-width:none}
  .film-ctas{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .film-ctas .btn{padding:14px 10px;font-size:.95rem;white-space:normal;text-align:center}
  .btn-glass{background:#fff;border-color:var(--line-2)}
  .film-bar{position:absolute;left:22px;right:22px;top:calc(108vw - 30px);bottom:auto;gap:10px}
  .film-seg{width:auto;flex:1;font-size:.72rem}
  .film-replay{display:none}
  .trust-band .trust div{flex:1 1 45%;margin-bottom:12px}
  .trust-band .trust div:nth-child(3){padding-left:0;border-left:0}
  .mnav a.btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;border-bottom:0;font-size:1rem}
  .mnav .mnav-call{margin-top:10px;color:var(--ink);border:1px solid var(--line-2)}
  .go .film-media{animation:none}
  .go .film-stage{animation:kb 9s cubic-bezier(.2,.6,.2,1) both}
}
@media (prefers-reduced-motion:reduce){
  .film-copy>*,.film-cap{opacity:1!important;transform:none!important}
  .film-stage{-webkit-mask-position:0 0!important;mask-position:0 0!important;filter:none!important}
  .film-stage.s4{opacity:1!important}
}
/* logo (their mark, simplified 2026-11-02) */
.brand{position:relative;display:block;height:60px}
.brand .logo{height:60px;width:auto;display:block;transition:opacity .6s}
.brand .logo-light{position:absolute;left:0;top:0;opacity:0}
body.film-dark .hdr:not(.solid) .logo-ink{opacity:0}
body.film-dark .hdr:not(.solid) .logo-light{opacity:1}
.logo-foot{height:78px;width:auto;display:block}
.ftr .brand{height:auto}
@media (max-width:960px){
  .brand,.brand .logo{height:46px}
}

/* WhatsApp glyph (official mark) */
.wa-ic{width:19px;height:19px;flex:none}
.btn-line .wa-ic,.btn-glass .wa-ic{color:#25D366}
.btn-wa .wa-ic{color:#fff}
