/* Observed homepage motion; structure and editable content stay in normal flow. */
.loader.exiting { animation:none; }
.load-track span { background-image:linear-gradient(45deg,#ffffff26 25%,transparent 25%,transparent 50%,#ffffff26 50%,#ffffff26 75%,transparent 75%,transparent); background-color:#07572e; background-size:16px 16px; transition:width .6s ease; animation:tf-progress-stripes 1s linear infinite; }
@keyframes tf-progress-stripes { from{background-position:16px 0} to{background-position:0 0} }
.js .section-reveal:not(.revealed) { opacity:1; }
.tf-motion-ready .section-reveal:not(.revealed) { opacity:0; }
.section-reveal { transform:none; transition:opacity .75s ease-in-out; }
.tf-motion-stopped .section-reveal { opacity:1!important; transition:none!important; }
.tf-loading body { overflow:hidden; scrollbar-width:none; }
.desktop-nav,.menu-toggle,.scroll-cue { transition:opacity .75s ease-in-out; }
.js body:not(.loaded) .desktop-nav,.js body:not(.loaded) .menu-toggle,.js body:not(.loaded) .scroll-cue { opacity:0; }
.loaded .desktop-nav,.loaded .menu-toggle { opacity:1; transition-delay:.2s; }
.loaded .scroll-cue { opacity:1; transition-delay:.6s; }
.hero-art { transform-origin:50% 0; }
.loaded .hero-art { transform-origin:50% 50%; }
.scroll-cue span:after { width:3px; left:50%; top:50%; border-radius:14px; animation:tf-mouse-drop 1.5s linear infinite; }
@keyframes tf-mouse-drop { 0%{opacity:0;top:0;transform:translate(-50%)} 50%{opacity:1;top:50%;transform:translate(-50%,-50%)} 100%{opacity:0;top:100%;transform:translate(-50%,-100%)} }
.site-header { transition:padding .2s ease-in-out,box-shadow .2s ease-in-out; }
.site-header.compact.scroll-down { transform:translateY(-100%); box-shadow:none; }
.site-header.compact.scroll-up,.site-header.compact:focus-within { transform:translateY(0); }
.dropdown { left:0; }
.chevron,.nav-trigger[aria-expanded=true] .chevron { transform:none; }
.mobile-menu { transition:transform .3s ease-in-out,visibility 0s .3s; }
.mobile-menu.open,.mobile-menu.closing { visibility:visible; transition:transform .3s ease-in-out; }
.menu-backdrop { background:#212529; opacity:0; transition:opacity .15s linear; }
.menu-backdrop.visible { opacity:.85; }
.menu-main,.menu-sub { transform:none!important; transition:none; }
.mobile-panels { padding:72px 4px 4px; }
.menu-main,.menu-sub { padding:0; gap:16px; }
.menu-main { height:100%; }
.menu-main a,.menu-main button,.menu-sub a,.menu-sub button { font-size:var(--type-ui); line-height:1.75; padding:8px 16px; }
.menu-sub a,.menu-sub button { padding-block:16px; }
.menu-main[hidden] { display:none!important; }
.menu-sub { display:none; position:static; visibility:visible; opacity:0; gap:0; }
.menu-close { top:16px; right:16px; width:36px; height:36px; padding:4px; display:grid; place-items:center; line-height:1; }
.menu-close svg { width:26px; height:26px; }
.menu-sub.active { display:flex; opacity:1; transition:opacity .15s linear; }
.menu-sub.active.entering { opacity:0; }
.menu-main a,.menu-main button,.menu-sub a,.menu-sub button { position:relative; }
.menu-main a:hover,.menu-main button:hover,.menu-sub a:hover { color:#fff; }
.menu-main a:after,.menu-main button:after,.menu-sub a:after { content:''; position:absolute; left:-16px; top:50%; width:32px; height:28px; background:no-repeat center/contain var(--tf-symbol-image); opacity:0; transform:translateY(-50%); pointer-events:none; transition:left .2s ease-in-out,opacity .2s ease-in-out; }
.menu-main a:is(:hover,:focus-visible):after,.menu-main button:is(:hover,:focus-visible):after,.menu-sub a:is(:hover,:focus-visible):after { left:0; opacity:1; }
.menu-sub .menu-back { border:0; margin-bottom:0; }
.partners .swiper-slide { flex-shrink:0; }
.partners .swiper-wrapper { align-items:initial; }
.cta:before { display:none; }
.cta>svg,.cta-leaf { transition:opacity .35s ease-in-out,transform .35s ease-in-out; }
.cta-border-hover { opacity:0; }
.cta-leaf { top:0; left:0; width:48px; height:40.55px; opacity:0; transform:none; }
.cta-line { transition:none; }
.cta:is(:hover,:focus-visible,:active) .cta-border { opacity:0; }
.cta:is(:hover,:focus-visible,:active) .cta-border-hover { opacity:1; }
.cta:is(:hover,:focus-visible,:active) .cta-leaf { opacity:1; transform:rotate(-60deg) translate(-7px,-13px); }
.cta:hover .cta-line { stroke-dashoffset:0; }
.apart-copy { transition:none; }
.apart-expand { display:block; max-height:none; opacity:1; overflow:visible; transition:none; margin:8px 0 0; }
.apart-card:not(:hover):not(:focus-within) .apart-expand { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.apart-card:is(:hover,:focus-within) .apart-expand { display:block; max-height:none; opacity:1; }
.apart-card:focus-within>img { transform:scale(1.2); }
.apart-cta { display:block; margin-top:8px; }
.news-detail img,.news-detail:hover img { filter:none; }
.form-field input,.form-field select,.form-field textarea { color:#212529; box-shadow:inset 0 0 0 0 rgba(0,0,0,.075); transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:#8ccea5; box-shadow:inset 0 0 0 0 rgba(0,0,0,.075),0 0 0 4px rgba(18,103,125,.25); outline:0; }
.tf-tooltip { position:fixed; z-index:1100; max-width:200px; padding:4px 8px; border-radius:6px; background:#000; color:#fff; font:400 14px/1.75 Montserrat,sans-serif; text-align:center; pointer-events:none; opacity:0; transition:opacity .15s linear; }
.tf-tooltip.visible { opacity:.9; }
.tf-tooltip:after { content:''; position:absolute; left:calc(50% - 6.4px); bottom:-6.4px; border-inline:6.4px solid transparent; border-top:6.4px solid #000; }
.tf-tooltip.below:after { top:-6.4px; bottom:auto; border-top:0; border-bottom:6.4px solid #000; }
.no-js .slider-controls,.tf-no-slider .slider-controls { display:none; }
.tf-no-slider .swiper,.no-js .swiper,.tf-slider-fallback { overflow-x:auto; }
.tf-no-slider .swiper-wrapper,.no-js .swiper-wrapper,.tf-slider-fallback .swiper-wrapper { gap:12px; height:auto; }
.tf-no-slider .swiper-slide,.no-js .swiper-slide,.tf-slider-fallback .swiper-slide { width:min(290px,85vw); height:auto; }
.tf-no-slider #partners-slider .swiper-wrapper,.no-js #partners-slider .swiper-wrapper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.tf-no-slider #partners-slider .swiper-slide,.no-js #partners-slider .swiper-slide { width:100%; }
@media(prefers-reduced-motion:reduce) { .hero-reveal,.hero-art,.section-reveal,.desktop-nav,.menu-toggle,.scroll-cue { transition-delay:0s!important; } .load-track span,.scroll-cue span:after { animation:none!important; } .section-reveal { opacity:1!important; } }
