/* Timbermehn — cinematic interaction refinements (2026-11-07).
   Only: loader, navigation, page transitions, scroll animations, footer logo transparency and WhatsApp colour. */
:root{--tm-cinema-navy:#092339;--tm-cinema-red:#ed0915;--tm-cinema-ice:#f3f7fa;--tm-menu-ease:cubic-bezier(.19,1,.22,1)}
html{scroll-padding-top:85px}
html:not(.tm-js) .tm-cinematic-loader{display:none!important}
/* A branded intro with animated tracing, photographic-depth rings and progressive text. */
html.tm-js .tm-cinematic-loader.page-loader{
 background:radial-gradient(circle at 50% 42%,#1c4058 0,#0b2a42 36%,#051525 78%)!important;
 color:#fff!important;display:flex!important;position:fixed;inset:0;z-index:9999;
 opacity:1;visibility:visible;pointer-events:all;overflow:hidden;
 transition:opacity .7s ease,visibility .7s ease!important;
 animation:tm-safety-unlock .4s 5.5s both;
}
html.tm-js .tm-cinematic-loader.tm-loader-finished{opacity:0!important;visibility:hidden!important;pointer-events:none!important;animation:none!important}
@keyframes tm-safety-unlock{to{opacity:0;visibility:hidden;pointer-events:none}}
.tm-loader-grain{position:absolute;inset:0;opacity:.24;pointer-events:none;background-image:repeating-linear-gradient(125deg,transparent 0 20px,#ffffff05 21px 22px,transparent 23px 45px)}
.tm-loader-ring{position:absolute;left:50%;top:48%;aspect-ratio:1;border:1px solid #e8f4ff20;border-radius:50%;transform:translate(-50%,-50%) scale(.8);animation:tm-loader-ring-bloom 3.4s cubic-bezier(.1,.7,.2,1) both;pointer-events:none}
.tm-loader-ring-outer{width:min(76vw,620px)}.tm-loader-ring-inner{width:min(54vw,430px);animation-delay:.2s;border-color:#f2102140}
@keyframes tm-loader-ring-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.58)}35%{opacity:1}100%{opacity:.55;transform:translate(-50%,-50%) scale(1.24)}}
.tm-loader-content{z-index:2;width:min(560px,calc(100% - 54px));position:relative;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}
.tm-loader-kicker{display:flex;align-items:center;gap:14px;font:800 11px/1.2 'Outfit','DM Sans',sans-serif;letter-spacing:.32em;color:#f4f6f9;opacity:0;transform:translateY(13px);animation:tm-rise .6s .12s both}
.tm-loader-kicker>span{color:inherit!important;animation:none!important;opacity:1!important;font:inherit!important;letter-spacing:inherit!important}
.tm-loader-kicker-line{display:block;height:1px;width:40px;background:#f01929}
.tm-loader-logo-shell{position:relative;width:min(510px,100%);margin:26px auto 14px;padding:32px 9px 20px;overflow:hidden;filter:drop-shadow(0 17px 30px #0007)}
.tm-loader-logo-shell::after{content:"";position:absolute;left:9%;bottom:16px;width:82%;height:3px;background:linear-gradient(90deg,transparent,#f00811 15%,#f00811 85%,transparent);transform-origin:left;transform:scaleX(0);animation:tm-line-draw 1.28s .50s cubic-bezier(.22,.7,.15,1) forwards}
.tm-loader-logo-shell img{width:100%;height:auto;max-height:168px;object-fit:contain;display:block;filter:drop-shadow(0 6px 15px #0003);clip-path:inset(0 100% 0 0);animation:tm-logo-trace 1.65s .28s var(--tm-menu-ease) forwards}
@keyframes tm-logo-trace{from{clip-path:inset(0 100% 0 0);opacity:.3;filter:blur(9px)}to{clip-path:inset(0 0 0 0);opacity:1;filter:blur(0)}}
@keyframes tm-line-draw{to{transform:scaleX(1)}}
@keyframes tm-rise{to{opacity:1;transform:translateY(0)}}
.tm-loader-caption{font:700 clamp(14px,2vw,20px)/1.35 'Outfit','DM Sans',sans-serif;letter-spacing:.025em;color:#e8f2f8;opacity:0;transform:translateY(17px);animation:tm-rise .65s .83s forwards}
.tm-loader-progress-track{width:min(310px,85%);height:3px;border-radius:2px;background:#e2ecf521;margin:31px 0 13px;overflow:hidden;position:relative}
.tm-loader-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#ff4d59,#f30614);box-shadow:0 0 14px #f30614;display:block;transition:width .22s linear}
.tm-loader-progress-copy{display:flex;justify-content:space-between;width:min(310px,85%);font:700 10px/1.2 'DM Sans',sans-serif;letter-spacing:.14em;color:#c4d7e5}
.tm-loader-progress-copy span{color:inherit!important;font:inherit!important;letter-spacing:inherit!important;opacity:1!important;animation:none!important}
.tm-loader-corner{position:absolute;width:24px;height:24px;border-color:#ed101f;opacity:.55}
.tm-loader-corner-a{top:-15px;left:-6px;border-left:2px solid;border-top:2px solid}.tm-loader-corner-b{right:-6px;bottom:-14px;border-right:2px solid;border-bottom:2px solid}
.tm-loader-sideword{position:absolute;bottom:32px;color:#c8d9e665;font:700 9px 'DM Sans',sans-serif;letter-spacing:.28em}
@media(max-width:650px){.tm-loader-kicker{font-size:9px;gap:9px;letter-spacing:.19em}.tm-loader-kicker-line{width:24px}.tm-loader-logo-shell{padding:35px 2px 22px;margin-top:24px}.tm-loader-logo-shell img{max-height:126px}.tm-loader-caption{font-size:14px}.tm-loader-sideword{bottom:24px;font-size:8px}.tm-loader-ring-outer{width:120vw}.tm-loader-ring-inner{width:95vw}}
/* The outgoing transition never changes the linked page or its query string. */
.tm-page-curtain{position:fixed;inset:0;z-index:9000;pointer-events:none;visibility:hidden;overflow:hidden}
.tm-page-curtain::before,.tm-page-curtain::after{content:"";position:absolute;inset:0;transform:translateX(-110%);transition:transform .74s var(--tm-menu-ease)}
.tm-page-curtain::before{background:#f00615;transition-duration:.6s}.tm-page-curtain::after{background:#092339;transition-delay:.09s}
.tm-page-curtain .tm-curtain-logo{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-40%);opacity:0;color:#fff;text-align:center;font:900 clamp(25px,5vw,53px)/1.0 'Outfit',sans-serif;letter-spacing:.13em;transition:opacity .3s .37s,transform .6s .25s var(--tm-menu-ease);white-space:nowrap}
.tm-page-curtain .tm-curtain-logo small{display:block;font:700 11px 'DM Sans',sans-serif;letter-spacing:.27em;margin-top:13px;color:#d8eaf4}
html.tm-navigating .tm-page-curtain{visibility:visible}
html.tm-navigating .tm-page-curtain::before,html.tm-navigating .tm-page-curtain::after{transform:translateX(0)}
html.tm-navigating .tm-page-curtain .tm-curtain-logo{opacity:1;transform:translate(-50%,-50%)}
/* Editorial navigation: existing links, new staged reveal and contained backdrop. */
.tm-header{isolation:isolate}
.tm-header-inner{position:relative;z-index:5}
.tm-nav-backdrop{position:fixed;inset:0;background:#061521aa;backdrop-filter:blur(4px);z-index:116;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
html.tm-menu-open .tm-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
.tm-nav a{transition:color .25s ease,background .25s ease,transform .3s ease}
@media(min-width:851px){.tm-nav.main-nav{position:static}.tm-nav a[data-nav]{position:relative}.tm-nav a[data-nav]::after{position:absolute;left:10px;right:10px;bottom:5px;content:"";height:2px;background:#f00615;transform:scaleX(0);transform-origin:left;transition:transform .37s var(--tm-menu-ease)}.tm-nav a[data-nav]:hover::after,.tm-nav a[data-nav].tm-active::after{transform:scaleX(1)} }
@media(max-width:850px){
 html.tm-menu-open,html.tm-menu-open body{overflow:hidden!important;overscroll-behavior:none}
 .tm-header{z-index:120!important}.tm-header-inner{background:#fff}
 .tm-nav.main-nav,.tm-nav.main-nav.open{
   position:fixed!important;left:auto!important;right:0!important;top:var(--tm-header-height,64px)!important;bottom:0!important;
   width:min(100%,530px)!important;max-width:none!important;max-height:none!important;
   display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;
   background:linear-gradient(163deg,#0f334c,#081f33 58%,#071827)!important;color:#fff!important;
   box-shadow:-20px 10px 45px #081c2d50!important;padding:28px clamp(28px,7vw,55px) 38px!important;
   border-radius:0!important;gap:0!important;overflow-y:auto!important;overscroll-behavior:contain;
   transform:translateX(110%);opacity:0;visibility:hidden;pointer-events:none;
   transition:transform .74s var(--tm-menu-ease),opacity .3s ease,visibility .3s!important;z-index:122;
 }
 .tm-nav.main-nav::before{content:"";position:absolute;inset:auto 0 0 0;height:45%;z-index:-1;background:linear-gradient(0deg,#051724ec,#081f3300),url('images/1127193.webp') center/cover;opacity:.18;pointer-events:none}
 html.tm-menu-open .tm-nav.main-nav,html.tm-menu-open .tm-nav.main-nav.open{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}
 .tm-nav-heading{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:19px;margin-bottom:11px;border-bottom:1px solid #ffffff32;color:#fff}
 .tm-nav-heading strong{font:900 12px 'Outfit',sans-serif;letter-spacing:.25em;color:#ff616a}.tm-nav-heading small{font:700 10px 'DM Sans',sans-serif;color:#bbd1e1;letter-spacing:.09em}
 .tm-nav.main-nav a{display:flex!important;align-items:center!important;gap:18px!important;border-radius:0!important;border-bottom:1px solid #fff2!important;min-height:62px!important;padding:12px 0!important;color:#f8fbfd!important;background:transparent!important;font:800 clamp(19px,4.4vw,27px)/1.12 'Outfit',sans-serif!important;white-space:normal!important;transition:transform .6s var(--tm-menu-ease),opacity .47s,background .3s!important}
 .tm-nav.main-nav a::before{content:counter(tmnav,decimal-leading-zero);counter-increment:tmnav;color:#f64150;font:800 10px 'DM Sans',sans-serif;letter-spacing:.12em;min-width:24px}
 .tm-nav.main-nav{counter-reset:tmnav}
 .tm-nav.main-nav a:hover,.tm-nav.main-nav a:focus-visible{transform:translateX(6px)!important;color:#fff!important}
 .tm-nav.main-nav a.tm-active{color:#ff5d6a!important}
 .tm-nav.main-nav a.tm-mobile-nav-call{display:flex!important;min-height:52px!important;justify-content:center!important;border:1px solid #fa354a!important;border-radius:100px!important;margin-top:20px!important;background:#f00615!important;color:white!important;font-size:16px!important}
 .tm-nav.main-nav a.tm-mobile-nav-call::before{content:"";min-width:0}
 .tm-nav-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:19px;color:#cadde9;font:700 10px 'DM Sans',sans-serif;letter-spacing:.07em}
 .tm-nav-foot span:last-child{color:#ff606d}
 .tm-nav-toggle.nav-toggle{position:relative;z-index:125!important;transition:transform .25s ease;touch-action:manipulation}
 html.tm-menu-open .tm-nav-toggle.nav-toggle{transform:rotate(0deg)}
 .tm-nav.main-nav .tm-nav-heading,.tm-nav.main-nav a,.tm-nav.main-nav .tm-nav-foot{opacity:0;transform:translateX(35px)}
 html.tm-menu-open .tm-nav.main-nav .tm-nav-heading,html.tm-menu-open .tm-nav.main-nav a,html.tm-menu-open .tm-nav.main-nav .tm-nav-foot{opacity:1;transform:translateX(0)}
 html.tm-menu-open .tm-nav.main-nav .tm-nav-heading{transition:transform .7s .17s var(--tm-menu-ease),opacity .55s .17s}
 html.tm-menu-open .tm-nav.main-nav a{transition-delay:calc(.15s + var(--tm-nav-order,0)*.055s)!important}
 html.tm-menu-open .tm-nav.main-nav .tm-nav-foot{transition:transform .7s .7s var(--tm-menu-ease),opacity .55s .7s}
}
@media(max-width:390px){.tm-nav.main-nav,.tm-nav.main-nav.open{padding-top:18px!important}.tm-nav.main-nav a{min-height:53px!important;font-size:19px!important}}
/* Scroll direction, in-view choreography and quiet editorial story narration. */
.tm-scroll-line{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#ff3649,#f00615);box-shadow:0 2px 13px #fa01155a;z-index:901;pointer-events:none;transition:width .08s linear}
.tm-story-cue{position:fixed;left:24px;bottom:24px;z-index:85;display:flex;gap:12px;align-items:center;background:#092339e6;color:#fff;border:1px solid #ffffff20;padding:11px 16px 10px;border-radius:13px;box-shadow:0 9px 29px #10283835;pointer-events:none;opacity:0;transform:translateY(16px);transition:opacity .45s,transform .45s;max-width:255px;backdrop-filter:blur(6px)}
.tm-story-cue.tm-show{opacity:1;transform:none}.tm-story-number{font:900 13px 'Outfit',sans-serif;color:#ff4652}.tm-story-title{font:800 11px 'DM Sans',sans-serif;letter-spacing:.13em;line-height:1.3}
html.tm-scroll-enabled .tm-scroll-reveal{opacity:0;transform:translate3d(0,38px,0);filter:blur(3px);transition:opacity .9s var(--tm-menu-ease),transform 1.05s var(--tm-menu-ease),filter .85s ease;transition-delay:var(--tm-reveal-delay,0ms);will-change:transform,opacity}
html.tm-scroll-enabled .tm-scroll-reveal.tm-seen{opacity:1;transform:translateZ(0);filter:blur(0)}
html.tm-scroll-enabled .tm-scroll-mask{overflow:hidden}
html.tm-scroll-enabled .tm-scroll-mask img{transition:transform 1.5s var(--tm-menu-ease),filter 1.2s ease!important;transform:scale(1.09)}
html.tm-scroll-enabled .tm-scroll-mask.tm-seen img{transform:scale(1.0)}
.tm-story-emphasis{color:#ed0915}
@media(max-width:850px){.tm-story-cue{left:12px;bottom:12px;padding:8px 10px;gap:7px;max-width:180px;opacity:0;transform:translateY(10px)}.tm-story-cue .tm-story-title{font-size:9px}.tm-story-cue.tm-show{opacity:.92}}
@media(max-width:650px){.tm-story-cue{display:none!important}.tm-scroll-line{height:2px}}
/* The existing footer logo has an actual transparent asset, no white block or artificial background. */
.tm-footer-brand,.tm-footer-brand img{background:transparent!important;background-color:transparent!important;border-radius:0!important;box-shadow:none!important}
.tm-footer-brand img{object-fit:contain!important;object-position:left center!important}
.tm-footer-brand span{color:#f2f5f7!important;text-shadow:0 1px 3px #0009}
/* Brand-coloured WhatsApp: keep the exact existing working contact and popover. */
.tm-wa-root{filter:drop-shadow(0 6px 16px #09233958)!important}
.tm-wa-button{background:linear-gradient(135deg,#fb1b29,#cf0311 72%,#aa0b19)!important;color:#fff!important;border:3px solid #fff!important;box-shadow:0 0 0 3px #092339,0 9px 21px #071f3763!important;position:relative;overflow:visible;isolation:isolate}
.tm-wa-button::after{content:"";position:absolute;inset:-7px;border:1px solid #f016295e;border-radius:inherit;pointer-events:none;animation:tm-wa-brand-ring 3.2s ease-in-out infinite}
.tm-wa-button:hover{transform:translateY(-3px) scale(1.035)!important;box-shadow:0 0 0 4px #092339,0 15px 26px #071f3790!important}
.tm-wa-alert{background:#092339!important;border:2px solid white!important;color:#fff!important}
.tm-wa-popover{border-top:4px solid #ee0e19!important;box-shadow:0 14px 38px #0923395c!important}
.tm-wa-greeting,.tm-wa-popover>a{color:#d80b17!important}
.tm-wa-popover>a{background:#e90714!important;color:#fff!important}
.tm-wa-popover>a:hover{background:#bb0713!important}
@keyframes tm-wa-brand-ring{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.85;transform:scale(1.055)}}
/* Respect reduced-motion preferences and don't gate content behind animation. */
@media(prefers-reduced-motion:reduce){.tm-cinematic-loader .tm-loader-ring,.tm-loader-logo-shell img,.tm-loader-caption,.tm-loader-kicker,.tm-loader-logo-shell::after,.tm-wa-button::after{animation:none!important}.tm-loader-logo-shell img{clip-path:none!important;opacity:1!important;filter:none!important}.tm-loader-caption,.tm-loader-kicker{opacity:1!important;transform:none!important}.tm-loader-logo-shell::after{transform:scaleX(1)!important}.tm-page-curtain{display:none!important}html.tm-scroll-enabled .tm-scroll-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.tm-nav.main-nav,.tm-nav-backdrop{transition-duration:.01ms!important}}
