/* CIFACI premium interaction layer — lightweight, accessible and Hostinger-friendly */
:root{--cifaci-radius-xl:28px;--cifaci-ease:cubic-bezier(.22,.8,.22,1)}
body{font-family:ui-rounded,"Avenir Next","Trebuchet MS","Segoe UI",Arial,sans-serif}
h1,h2,h3,.menu,.btn,.eyebrow{font-family:"Avenir Next","Trebuchet MS","Segoe UI",Arial,sans-serif}
.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.035em}
.interactive-card,.card,.feature-card,.sector-mini,.v4-intent-card,.trust-item,.doc,.opportunity,.metric{transition:transform .35s var(--cifaci-ease),box-shadow .35s var(--cifaci-ease),border-color .35s ease,filter .35s ease}
.interactive-card:hover,.card:hover,.feature-card:hover,.v4-intent-card:hover,.doc:hover,.opportunity:hover{transform:translateY(-7px) scale(1.015);box-shadow:0 28px 72px rgba(0,70,80,.18)}
.menu a{transition:transform .25s ease,color .25s ease,opacity .25s ease}.menu a:hover{transform:translateY(-3px)}
.btn{transition:transform .25s var(--cifaci-ease),box-shadow .25s ease,filter .25s ease}.btn:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 14px 30px rgba(0,50,60,.18);filter:saturate(1.08)}
.hero.premium-home{position:relative;overflow:hidden}.hero.premium-home:after{content:"";position:absolute;inset:-40%;background:conic-gradient(from 100deg,transparent,rgba(255,255,255,.05),transparent 28%);animation:cifaciOrbit 18s linear infinite;pointer-events:none}
.hero-grid{position:relative;z-index:2}.premium-panel{animation:cifaciFloat 5s ease-in-out infinite}.premium-panel:hover{animation-play-state:paused;transform:translateY(-8px) rotate(.4deg)}
.hero-type{min-height:2.6em}.typing-caret:after{content:"";display:inline-block;width:.09em;height:.9em;margin-left:.08em;background:currentColor;vertical-align:-.08em;animation:cifaciBlink .8s step-end infinite}
.shimmer-text{background:linear-gradient(90deg,currentColor 0%,#fff3ad 45%,currentColor 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cifaciShimmer 5s ease-in-out infinite}
.pulse-label{animation:cifaciPulseText 2.2s ease-in-out infinite}
.animated-hero .container{animation:cifaciRise .8s var(--cifaci-ease) both}
.sector-showcase{overflow:hidden}.cifaci-carousel{position:relative;padding:8px 54px}.carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:16px 4px 28px}.carousel-track::-webkit-scrollbar{display:none}.sector-slide{scroll-snap-align:start;position:relative;flex:0 0 clamp(230px,28vw,340px);height:220px;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 18px 50px rgba(0,60,70,.16)}.sector-slide img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--cifaci-ease),filter .5s ease}.sector-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(0,42,48,.92) 100%)}.sector-slide:hover img{transform:scale(1.09);filter:saturate(1.12) contrast(1.03)}.sector-overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;display:flex;gap:11px;align-items:flex-end}.sector-overlay b{font-size:12px;color:#ffe17c}.sector-overlay strong{font-size:18px;line-height:1.1}.carousel-btn{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--teal);box-shadow:0 8px 26px rgba(0,55,65,.2);font-size:28px;cursor:pointer;transition:transform .25s ease}.carousel-btn:hover{transform:translateY(-50%) scale(1.12)}.carousel-btn.prev{left:0}.carousel-btn.next{right:0}
.sector-mini:hover{transform:translateY(-8px) rotate(.3deg)}.sector-mini img{transition:transform .65s var(--cifaci-ease),filter .4s ease}.sector-mini:hover img{transform:scale(1.08);filter:saturate(1.08)}
.since-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);font-weight:800;color:#efc454}.portal-user-actions,.admin-user-actions{display:flex;align-items:center;gap:14px}.language-form{margin:0}.language-pill,.language-form .pill,.admin-user-actions .pill{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--teal);padding:7px 10px;border-radius:999px;font-weight:900}.portal-footer-note{margin-top:28px;color:var(--muted);font-size:12px}.auth-security-note{font-size:13px;color:var(--muted);padding:10px 12px;background:var(--bg);border-radius:12px}.otp-screen{background:radial-gradient(circle at 15% 20%,rgba(201,150,26,.16),transparent 28%),linear-gradient(145deg,#f4f8f8,#eef4f5)}.otp-logo{max-width:190px;margin-bottom:18px}.otp-input{font-size:30px!important;letter-spacing:12px;text-align:center;font-weight:900}.auth-box{border-radius:var(--cifaci-radius-xl)}
[data-reveal-words] .reveal-word{display:inline-block;opacity:0;transform:translateY(14px);animation:cifaciWord .55s var(--cifaci-ease) forwards}.reveal-done:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-left:10px;vertical-align:middle;animation:cifaciBlink .9s step-end infinite}
@keyframes cifaciBlink{50%{opacity:0}}@keyframes cifaciFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes cifaciShimmer{0%,65%,100%{background-position:200% 0}30%{background-position:0 0}}@keyframes cifaciPulseText{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.74;transform:scale(1.02)}}@keyframes cifaciRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes cifaciWord{to{opacity:1;transform:none}}@keyframes cifaciOrbit{to{transform:rotate(360deg)}}
@media(max-width:760px){.cifaci-carousel{padding:6px 40px}.sector-slide{flex-basis:82vw}.portal-user-actions,.admin-user-actions{align-items:flex-end}.hero-type{min-height:3.4em}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.hero-type{min-height:auto}}
.sector-mark{position:absolute!important;z-index:3!important;width:52px!important;height:52px!important;object-fit:contain!important;right:14px!important;top:14px!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2));transition:transform .4s var(--cifaci-ease)!important}.sector-slide:hover .sector-mark,.sector-mini:hover .sector-mark{transform:rotate(7deg) scale(1.09)!important}
