/* Legacy background remains intact until the native v2 documents are published. */
body.apan-triangle-enabled { isolation:isolate; }
#apan-triangle { position:fixed; inset:0; width:100%; height:100vh; height:100svh; z-index:0; pointer-events:none; overflow:hidden; }
#apan-triangle canvas { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; }
#apan-triangle .triangle-fallback { position:absolute; top:46%; left:50%; width:clamp(145px,19vw,270px); aspect-ratio:1 / .8; transform:translate(-50%,-50%); background:#20165d; clip-path:polygon(0 0,100% 0,50% 100%); opacity:1; }
body.apan-triangle-content #apan-triangle .triangle-fallback { opacity:.5; }
#apan-triangle.is-rendered .triangle-fallback { display:none; }
body.apan-triangle-enabled #content { position:relative; z-index:1; }
body.apan-triangle-enabled .elementor-location-header { position:relative; z-index:3; }
body.apan-triangle-enabled .elementor-location-footer { position:relative; z-index:1; }
body.apan-triangle-enabled.page-id-9 .elementor-9 .elementor-element.elementor-element-44eb7a5 { background-image:none; }

@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:200;font-display:swap;src:url('./fonts/NunitoSans-200.ttf') format('truetype')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:300;font-display:swap;src:url('./fonts/NunitoSans-300.ttf') format('truetype')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/NunitoSans-400.ttf') format('truetype')}
body.apan-v2 { margin:0; background:#fff; color:#333; font-family:'Nunito Sans',sans-serif; font-size:11px; font-weight:200; }
.apan-v2 #content { max-width:none; width:100%; padding:0; margin:0; position:relative; z-index:1; }
.apan-v2 .page-header { display:none; }
.apan-v2 .elementor-location-header,.apan-v2 .elementor-location-footer { position:static; z-index:auto; }
.apan-v2 .apan-v2-page { --container-max-width:100%; --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px; width:100%; max-width:none; padding:0; margin:0; gap:0; }
.apan-v2 .apan-v2-home { min-height:100svh; }
.apan-v2 .apan-v2-header { position:fixed; z-index:10; top:30px; left:40px; right:40px; width:auto; max-width:none; min-height:0; padding:0; margin:0; display:flex; flex-direction:row; justify-content:space-between; align-items:flex-start; gap:28px; background:transparent; box-shadow:none; }
.apan-v2 .apan-v2-identity { width:auto; flex:0 0 auto; padding:0; margin:0; gap:8px; display:flex; flex-direction:column; align-items:flex-start; }
.apan-v2 .apan-v2-identity .elementor-heading-title { margin:0; font-family:'Nunito Sans',sans-serif; color:#333; }
.apan-v2 .apan-v2-brand .elementor-heading-title { font-size:14px; font-weight:400; line-height:1.25; }
.apan-v2 .apan-v2-name .elementor-heading-title { font-size:11px; font-weight:200; line-height:1.6; }
.apan-v2 .apan-v2-identity a { color:inherit; text-decoration:none; }
.apan-v2 .apan-v2-navigation { width:auto; flex:0 1 auto; display:flex; flex-direction:row; align-items:flex-start; gap:28px; padding:0; margin:0; }
.apan-v2 .apan-v2-nav { width:auto; margin:0; }
.apan-v2 .apan-v2-nav .elementor-nav-menu--main .elementor-nav-menu { gap:28px; }
.apan-v2 .apan-v2-nav .elementor-nav-menu--main .elementor-nav-menu:before,.apan-v2 .apan-v2-nav .elementor-nav-menu--main .elementor-nav-menu:after { display:none; }
.apan-v2 .apan-v2-header .apan-v2-nav .elementor-nav-menu--main .elementor-nav-menu .elementor-item { padding-bottom:8px; }
.apan-v2 .apan-v2-nav .elementor-nav-menu--main .elementor-item { margin:0; padding:0 0 8px; line-height:1.5; font:400 14px/1.5 'Nunito Sans',sans-serif; color:#333; }
.apan-v2 .apan-v2-nav .elementor-nav-menu--main .elementor-item:hover { color:#8081a4; }
.apan-v2 .apan-v2-nav .elementor-nav-menu--main .elementor-item:after { height:1px; background:#333; }
.apan-v2 .apan-v2-nav .elementor-nav-menu--main .elementor-nav-menu .apan-v2-nav-item-contact > a:before,.apan-v2 .apan-v2-nav .elementor-nav-menu--dropdown .apan-v2-nav-item-contact > a:before { content:'↗'; position:static; display:inline; order:2; margin-left:4px; width:auto; height:auto; opacity:1; transform:none; background:transparent; }
.apan-v2 .apan-v2-language { width:auto; margin:0; }
.apan-v2 .apan-language { position:relative; color:#333; font:400 14px/20px 'Nunito Sans',sans-serif; }
.apan-v2 .apan-language summary { cursor:pointer; list-style:none; padding:0 0 8px; white-space:nowrap; line-height:20px; }
.apan-v2 .apan-language summary::-webkit-details-marker { display:none; }
.apan-v2 .apan-language summary:after { content:' ⌄'; font-size:11px; }
.apan-v2 .apan-language-menu { position:absolute; top:29px; right:0; min-width:110px; padding:12px 16px; background:#fff; border:1px solid #eee; display:grid; gap:12px; font:200 11px/1.5 'Nunito Sans',sans-serif; z-index:20; }
.apan-v2 .apan-language-menu a { color:#404040; text-decoration:none; white-space:nowrap; }
.apan-v2 .apan-language-menu a:hover { color:#8081a4; }
.apan-v2 .apan-v2-footer { position:fixed; z-index:10; bottom:27px; left:40px; right:40px; width:auto; max-width:none; min-height:0; margin:0; padding:0; display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:0; background:transparent; }
.apan-v2 .apan-v2-discipline { width:auto; margin:0; }
.apan-v2 .apan-v2-discipline .elementor-heading-title { margin:0; color:#333; font:400 13px/1.5 'Nunito Sans',sans-serif; }
.apan-v2 .apan-v2-clock { position:absolute; left:50%; transform:translateX(-50%); width:auto; margin:0; }
.apan-v2 .apan-live-clock { display:flex; align-items:center; gap:9px; font:200 11px/1.5 'Nunito Sans',sans-serif; color:#404040; font-variant-numeric:tabular-nums; white-space:nowrap; }
.apan-v2 .alarm-icon { width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
.apan-v2 .alarm-icon [data-hand] { transform-origin:12px 13px; }
.apan-v2 .alarm-icon [data-hand='second'] { stroke-width:.6; opacity:.6; }
.apan-v2 .apan-v2-controls { display:flex; flex-direction:row; align-items:center; gap:20px; width:auto; margin:0; padding:0; }
.apan-v2 .apan-v2-controls .elementor-widget-button { width:auto; margin:0; }
.apan-v2 .apan-v2-controls .elementor-button { font:200 11px/1.5 'Nunito Sans',sans-serif; color:#404040; padding:8px 0; border:0; border-radius:0; background:transparent; box-shadow:none; text-decoration:none; }
.apan-v2 .apan-v2-controls .elementor-button:hover { color:#858584; background:transparent; }
.apan-v2 .apan-v2-content-sheet { position:relative; z-index:1; width:100%; max-width:1000px; min-height:130vh; margin:150px auto 120px; padding:45px; background:#ffffffeb; color:#404040; display:flex; flex-direction:column; gap:0; }
.apan-v2 .apan-v2-section-title { margin:0 0 32px; }
.apan-v2 .apan-v2-section-title .elementor-heading-title { margin:0; color:#333; font:400 14px/1.5 'Nunito Sans',sans-serif; }
.apan-v2 .apan-v2-content-heading { margin:24px 0 12px; }
.apan-v2 .apan-v2-content-heading .elementor-heading-title { margin:0; color:#404040; font:300 13px/1.5 'Nunito Sans',sans-serif; }
.apan-v2 .apan-v2-body,.apan-v2 .apan-v2-body p { margin:0; color:#404040; font:200 11px/1.85 'Nunito Sans',sans-serif; }
.apan-v2 .apan-v2-image-frame { width:100%; display:flex; flex-direction:column; gap:0; margin:30px 0; padding:26px; border:1px solid #f0f0f0; background:#fff; }
.apan-v2 .apan-v2-image-slot { width:100%; min-height:300px; padding:0; margin:0; background:#fafafa; display:flex; align-items:stretch; justify-content:center; }
.apan-v2 .apan-v2-image { width:100%; margin:0; }
.apan-v2 .apan-v2-image img { display:block; max-width:100%; height:auto; }
.apan-v2 .apan-v2-image img[src*='placeholder'] { visibility:hidden; }
.apan-v2 .apan-v2-image-caption { margin:18px 0 0; font:200 11px/1.5 'Nunito Sans',sans-serif; color:#404040; }
.apan-v2 .apan-v2-image-caption p { margin:0; }
.apan-v2 .apan-v2-particles { position:static; width:0; height:0; min-height:0; margin:0; padding:0; }
.apan-v2 .apan-v2-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.apan-v2 a:focus-visible,.apan-v2 button:focus-visible,.apan-v2 summary:focus-visible { outline:1px solid #333; outline-offset:6px; }
.apan-v2-preview-page .elementor-location-header,.apan-v2-preview-page .elementor-location-footer { display:none; }
.apan-v2.admin-bar .apan-v2-header { top:62px; }
.elementor-editor-active .apan-v2-particles { width:100%; height:auto; }
.elementor-editor-active .apan-particle-editor-helper { min-height:100px; width:100%; padding:24px; border:1px dashed #a7a7c4; color:#555; background:#fff; font:400 12px/1.5 sans-serif; }
@media(min-width:701px){
 .apan-v2 .apan-v2-nav .elementor-menu-toggle,.apan-v2 .apan-v2-nav nav.elementor-nav-menu--dropdown { display:none; }
 .apan-v2 .apan-v2-nav .elementor-nav-menu--main { display:flex; }
}
@media(max-width:700px){
 .apan-v2 .apan-v2-header { top:24px; left:24px; right:24px; gap:14px; }
 .apan-v2 .apan-v2-navigation { gap:14px; }
 .apan-v2 .apan-v2-nav .elementor-nav-menu--main { display:none; }
 .apan-v2 .apan-v2-nav .elementor-menu-toggle { display:flex; padding:0 0 8px; color:#333; background:transparent; font-size:19px; line-height:21px; }
 .apan-v2 .apan-v2-nav nav.elementor-nav-menu--dropdown { position:absolute; top:31px; right:0; left:auto; width:190px; margin:0; background:#fff; border:1px solid #eee; max-height:70svh; overflow:auto; box-shadow:none; }
 .apan-v2 .apan-v2-nav nav.elementor-nav-menu--dropdown .elementor-item { padding:12px 16px; font:400 14px/1.5 'Nunito Sans',sans-serif; color:#333; background:#fff; white-space:normal; }
 .apan-v2 .apan-v2-nav nav.elementor-nav-menu--dropdown .elementor-item-active { text-decoration:underline; text-underline-offset:5px; }
 .apan-v2 .apan-v2-footer { left:24px; right:24px; bottom:25px; }
 .apan-v2 .apan-v2-controls { gap:14px; }
 .apan-v2 .apan-v2-clock { bottom:43px; }
 .apan-v2 .apan-v2-content-sheet { width:calc(100% - 48px); margin:110px 24px; padding:24px; }
 .apan-v2 .apan-v2-image-frame { padding:18px; }
 .apan-v2.admin-bar .apan-v2-header { top:70px; }
}
