/* Motion is optional; document reading stays native. */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.22,.61,.36,1)}
html{scroll-padding-top:118px}
.header{position:sticky;top:0;z-index:30;width:100%;padding-left:max(24px,calc((100% - 1200px)/2));padding-right:max(24px,calc((100% - 1200px)/2));background:rgba(255,250,242,.96);transition:background .4s ease,box-shadow .4s ease}
.header.is-scrolled{background:rgba(255,250,242,.88);box-shadow:0 1px 0 #c9a14a40,0 8px 30px #18213a0b}
@supports(backdrop-filter:blur(20px)){.header{backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}}
.brand img{transition:transform .65s var(--ease-out)}.brand:hover img{transform:scale(1.055)}
.reading-progress{position:fixed;z-index:50;top:0;left:0;width:100%;height:3px;pointer-events:none;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#5bcefa 0 20%,#f5a9b8 20% 40%,#fffaf2 40% 60%,#f5a9b8 60% 80%,#5bcefa 80%);box-shadow:0 0 8px #5bcefa40}
.button,.text-link,.nav-apply{transition:transform .4s var(--ease-out),background .25s ease,box-shadow .4s ease,color .25s ease}
.button>span,.text-link>span,.service h2>span{display:inline-block;transition:transform .5s var(--ease-out)}
.button:hover{transform:translateY(-3px);box-shadow:0 6px 0 #f5a9b8,0 14px 25px #18213a15}
.hero .button:hover{box-shadow:0 6px 0 #5bcefa,0 14px 25px #0002}
.button:hover>span,.text-link:hover>span{transform:translateX(4px)}.button:active{transform:translateY(1px)}
.header nav a:not(.nav-apply){position:relative}
.header nav a:not(.nav-apply):after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#5bcefa,#f5a9b8);transition:transform .45s var(--ease-out)}
.header nav a:not(.nav-apply):hover:after,.header nav a:not(.nav-apply):focus-visible:after{transform:scaleX(1)}
.service{position:relative;background:#fffdfa;transition:background .4s ease,box-shadow .5s ease}
.service:after{content:"";position:absolute;bottom:0;left:30px;right:30px;height:2px;background:linear-gradient(90deg,#5bcefa,#f5a9b8,#e2c47a);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease-out)}
.service:hover{box-shadow:inset 0 0 35px #5bcefa09}.service:hover:after{transform:scaleX(1)}.service:hover h2>span{transform:translate(3px,-3px)}
.territories article{position:relative;transition:box-shadow .5s ease}.territories article:hover{box-shadow:0 14px 35px #18213a0b}
.territory-top>span{display:inline-block;transition:transform .65s var(--ease-out)}.territories article:hover .territory-top>span{transform:translateX(4px)}
.seal-display img{transform:translate3d(0,var(--seal-y,0px),0)}
.motion-ready .reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .85s var(--ease-soft),transform 1.05s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .seal-display.reveal{transform:translate3d(0,18px,0) scale(.96);transition-duration:1.2s,1.5s}
.motion-ready .seal-display.reveal.is-visible{transform:translate3d(0,0,0) scale(1)}
.motion-ready .hero-copy h1.reveal{transition-duration:1s,1.25s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.hero .pink-word{display:inline-block;background:linear-gradient(100deg,#e2c47a 25%,#fff1ca 45%,#e2c47a 65%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-arrival 2s var(--ease-soft) .4s both}@keyframes gold-arrival{from{background-position:100% 50%}to{background-position:0% 50%}}}
@media(max-width:1000px){.header{padding-inline:24px}html{scroll-padding-top:105px}}
@media(max-width:760px){.header{padding-inline:20px}.header nav.open{animation:menu-arrival .35s var(--ease-out)}.header nav a:not(.nav-apply):after{bottom:0}.motion-ready .reveal{transform:translate3d(0,16px,0);transition-duration:.65s,.8s;transition-delay:0ms}.motion-ready .reveal.is-visible{transform:translate3d(0,0,0)}.motion-ready .seal-display.reveal{transform:translate3d(0,12px,0) scale(.98)}.motion-ready .seal-display.reveal.is-visible{transform:translate3d(0,0,0) scale(1)}@keyframes menu-arrival{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1!important;transform:none!important}.seal-display img,.button:hover,.button:active,.brand:hover img,.territories article:hover .territory-top>span{transform:none!important}.hero .pink-word{background:none;color:#e2c47a}}
@media print{.header,.reading-progress{display:none!important}.motion-ready .reveal{opacity:1!important;transform:none!important}.seal-display img{transform:none!important}*{animation:none!important;transition:none!important}}

/* Focused transitions: native scrolling and stable forms on every device. */
[hidden]{display:none!important}.session-logout{display:inline-flex;margin:0}.session-logout button{font:inherit;color:inherit;border:0;background:none;padding:8px;min-height:44px;cursor:pointer}.session-logout button:hover{color:#9b7530}
@media(prefers-reduced-motion:no-preference){
 .management-card,.document-option,.department-card,.home-services a,.service,.territories article{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s ease,background-color .35s ease}
 .management-card:active,.document-option:active,.department-card:active,.home-services a:active{transform:scale(.985)}
 .btn,.button{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,background-color .25s ease}
 dialog[open]{animation:dialog-arrive .3s cubic-bezier(.16,1,.3,1)}
 @keyframes dialog-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
 @media(hover:hover){.management-card:hover,.department-card:hover,.home-services a:hover,.service:hover{transform:translateY(-4px);box-shadow:0 16px 35px #18213a10}}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.session-logout{display:none!important}}
/* Shared refinements for service controls and standalone documents. */
@media(prefers-reduced-motion:no-preference){
 a,button,input,textarea,select{transition:background-color .22s ease,border-color .22s ease,box-shadow .25s ease,color .22s ease}
 button,.btn,.button,.export-pdf-download{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background-color .22s ease}
 button:active,.btn:active,.button:active{transform:translateY(1px) scale(.985)}
 input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #5bcefa28}
 details[open]>:not(summary){animation:content-unfold .35s ease both}
 .tools{animation:content-unfold .5s ease both}
 @keyframes content-unfold{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media print{*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.content-editor{max-width:860px}.content-editor label{display:block;margin-bottom:22px}.content-editor textarea{width:100%;min-height:90px;font:inherit;line-height:1.8;box-sizing:border-box}.content-editor label small{display:block;color:#647086;font-size:12px;margin-top:6px}

@media(prefers-reduced-motion:no-preference){.national-symbol-card,.principle{transition:box-shadow .35s ease,border-color .35s ease}.national-symbol-card:hover{box-shadow:0 16px 35px #18213a0b;border-color:#c9a14a80}.hero-national-flag img{animation:flag-arrival .9s cubic-bezier(.16,1,.3,1) both}@keyframes flag-arrival{from{opacity:.1;transform:translateY(12px)}to{opacity:1;transform:none}}}
