.site-loader{display:none;position:fixed;inset:0;z-index:100000;background:#fff;overflow:hidden;opacity:1;transition:opacity .5s ease}
.tto-loading{overflow:hidden}
.tto-loading .site-loader{display:block}
.site-loader.is-leaving{opacity:0;pointer-events:none}
.loader-artboard{--loader-u:min(calc(100vw / 1512),calc(100svh / 850));position:absolute;left:50%;top:50%;width:calc(1512 * var(--loader-u));height:calc(850 * var(--loader-u));transform:translate(-50%,-50%);color:#251e1c;font-family:'Zen Maru Gothic',sans-serif}
.loader-leaf{position:absolute;left:calc(var(--x)*var(--loader-u));top:calc(var(--y)*var(--loader-u));width:calc(var(--w)*var(--loader-u));height:calc(var(--h)*var(--loader-u));transform:matrix(var(--a),var(--b),var(--c),var(--d),0,0);transform-origin:0 0;pointer-events:none}
/* Mask in local Figma coordinates first, then rotate/reflect the whole leaf. */
.loader-source-mask{position:absolute;inset:0;display:block;opacity:.6;-webkit-mask:var(--mask) 0 0/100% 100% no-repeat;mask:var(--mask) 0 0/100% 100% no-repeat;mask-mode:alpha}
.loader-source-mask>img{position:absolute;display:block;max-width:none;max-height:none;object-fit:fill}
.loader-center{position:absolute;left:50%;top:calc(269 * var(--loader-u));width:calc(528 * var(--loader-u));transform:translateX(-50%);text-align:center}
.loader-brand{display:flex;align-items:center;justify-content:center;gap:calc(10.268 * var(--loader-u));height:calc(47 * var(--loader-u));margin:0 0 calc(50 * var(--loader-u));font-size:calc(34 * var(--loader-u));font-weight:700;letter-spacing:calc(2.72 * var(--loader-u));line-height:1;white-space:nowrap}
.loader-brand>img{width:calc(41.7319 * var(--loader-u));height:calc(50 * var(--loader-u));flex:none}
.loader-status{font-size:calc(28 * var(--loader-u));line-height:1;font-weight:500;letter-spacing:0;color:#36a830;margin:0 0 calc(32.671 * var(--loader-u));white-space:nowrap}
.loader-progress{width:calc(430.172 * var(--loader-u));height:calc(8 * var(--loader-u));margin:0 auto calc(50 * var(--loader-u));overflow:hidden}
.loader-progress>span{display:block;width:100%;height:100%;background:#36a830;transform:scaleX(var(--loading-progress,0));transform-origin:left center;transition:transform .25s ease-out}
.loader-message{font-size:calc(32 * var(--loader-u));line-height:1.5;font-weight:700;letter-spacing:calc(2.56 * var(--loader-u));white-space:nowrap;margin:0}
.loader-years{color:#ffbb00}
/* Resume the existing FV entrance only after the loading overlay has left. */
.tto-loading .home :is(.hero-scene,.hero-copy>h1,.hero-copy>p,.hero-badges>li,.hero-leaf),.tto-loading .hero-waves>.hero-wave{animation-play-state:paused}
@media(max-width:700px){
 .loader-artboard{--loader-u:min(calc(100vw / 700),calc(100svh / 850));}
 .loader-leaf:nth-child(2){left:calc(1010 * var(--loader-u));top:calc(110 * var(--loader-u))}
 .loader-leaf:nth-child(3){left:calc(960 * var(--loader-u));top:calc(210 * var(--loader-u))}
 .loader-leaf:nth-child(4){left:calc(1020 * var(--loader-u));top:calc(330 * var(--loader-u))}
 .loader-leaf:nth-child(5){left:calc(420 * var(--loader-u));top:calc(650 * var(--loader-u))}
 .loader-leaf:nth-child(7){left:calc(1040 * var(--loader-u));top:calc(30 * var(--loader-u))}
}
@media(prefers-reduced-motion:reduce){.site-loader,.loader-progress>span{transition:none}}
