/* DshayTech heritage identity, modernized for the Joomla 6 template. */
html,body{max-width:100%;overflow-x:hidden}
.site-header{height:116px;padding:0 max(24px,calc((100vw - 1160px)/2));background:#2363a8;border:0;box-shadow:0 4px 18px rgba(5,38,70,.16);isolation:isolate}
.site-header::before{content:"";position:absolute;inset:0 auto 0 0;width:max(43%,calc((100vw - 1160px)/2 + 410px));background:#fff;clip-path:polygon(0 0,100% 0,91% 100%,0 100%);z-index:-1}
.site-header .brand-logo img{width:335px;max-width:35vw}
.site-header nav{align-items:center;gap:25px;height:100%;color:#fff;text-transform:uppercase;font-size:13px;font-weight:750}
.site-header nav>a,.site-header .nav-group>a{display:flex;align-items:center;height:100%;padding:0}
.site-header .nav-group{display:flex;align-items:center;height:100%}
.site-header nav a:hover{color:#cce8ff}
.site-header .mega-menu{top:100%;text-transform:none;color:#292929}
.site-header .nav-group:hover .mega-menu,.site-header .nav-group:focus-within .mega-menu{display:grid}
.site-header .languages a{padding:4px 7px;color:#fff;border:1px solid rgba(255,255,255,.3)}
.site-header .languages a.active{background:#fff;color:#2363a8}
.hero-carousel{height:min(650px,76vh);min-height:570px;border-bottom:0}
.hero-carousel::after{content:"";position:absolute;z-index:2;left:10%;bottom:-1px;width:34%;height:92px;background:#fff;clip-path:polygon(31% 0,100% 100%,0 100%)}
.hero-slide{place-items:center;padding:70px clamp(90px,12vw,220px) 115px;text-align:center;background:linear-gradient(rgba(5,73,129,.66),rgba(5,73,129,.66)),var(--slide) center/cover no-repeat}
.hero-slide>div{max-width:980px}
.hero-slide h1,.hero-slide h2{font-size:clamp(42px,4.7vw,68px);letter-spacing:-2px;font-weight:450;text-shadow:0 3px 14px rgba(0,0,0,.22)}
.hero-slide p:not(.eyebrow){max-width:920px;margin-left:auto;margin-right:auto;font-size:20px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.hero-slide .eyebrow{color:#d7f0ff}
.hero-slide .btn{background:#fff;color:#185695;border-radius:3px;padding:12px 25px}
.carousel-controls{top:0;right:0;bottom:0;left:0;pointer-events:none}
.carousel-controls>button{position:absolute;top:50%;transform:translateY(-50%);width:62px;height:62px;border:2px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(18,79,140,.96);color:#fff;font-size:42px;line-height:1;font-weight:300;pointer-events:auto;box-shadow:0 8px 24px rgba(0,25,55,.38);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.carousel-controls>button:hover,.carousel-controls>button:focus-visible{background:#fff;color:#185695;transform:translateY(-50%) scale(1.08);box-shadow:0 10px 30px rgba(0,25,55,.48);outline:3px solid #9fd8ff;outline-offset:3px}
.carousel-prev{left:28px}.carousel-next{right:28px}
.carousel-dots{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);pointer-events:auto}
.trust{background:#0d3f70;color:#fff}
.corporate-hero.page-about{background:linear-gradient(135deg,#f3f7fa 0%,#fff 52%,#2363a8 52%,#174f91 100%)}
.corporate-hero.page-about>img{object-fit:contain!important;background:#2363a8;padding:clamp(28px,5vw,70px);filter:drop-shadow(0 15px 30px rgba(0,25,55,.18))}
.contact-section{max-width:1400px;margin:auto}.support-map{height:520px;margin:35px 0 28px;border:8px solid #fff;border-radius:16px;background:#dceaf1;box-shadow:0 18px 45px rgba(9,48,80,.16);overflow:hidden;z-index:1}.support-map .leaflet-tooltip{padding:7px 11px;border:0;border-radius:5px;color:#174f91;font-weight:800;box-shadow:0 6px 18px rgba(0,32,60,.2)}.contact-section .contact-grid{margin-top:24px}.contact-section .contact-action{margin-top:32px;padding:36px;border-radius:14px;background:linear-gradient(135deg,#edf8fc,#f0f6e4);display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-section .contact-action h2{margin:0}
.services-overview{max-width:1450px;margin:auto}.services-overview .section-head{max-width:900px}.service-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.service-groups article{position:relative;min-height:390px;padding:38px 34px;border:1px solid #dfe6eb;border-radius:14px;background:linear-gradient(135deg,#fff 0 49%,#f5f7f8 49% 100%);box-shadow:0 14px 35px rgba(10,45,70,.07);transition:transform .2s ease,box-shadow .2s ease}.service-groups article:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(10,45,70,.13)}.service-groups img{display:block;width:82px;height:82px;object-fit:contain;margin:0 auto 20px;padding:13px;border:8px solid #e5e8ea;border-radius:50%;background:#fff}.service-groups h3{text-align:center;font-size:23px;margin:0 0 22px;color:#2f3337}.service-groups ul{margin:0;padding-left:20px}.service-groups li{margin:11px 0;color:#4d5961}.service-groups a{color:#174f91;font-weight:700}.service-groups a:hover{text-decoration:underline}
.about-institutional{max-width:1450px;margin:auto;padding-top:25px}.about-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,120px);padding:70px 0;border-top:1px solid #dfe6eb}.about-story h2{font-size:clamp(38px,4.5vw,62px);margin:10px 0}.about-story-copy{font-size:18px;color:#4d5961}.about-story-copy p:first-child{font-size:21px;color:#2f3337}.mission-vision{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.mission-vision article{position:relative;padding:45px;border-radius:16px;background:#123f6d;color:#fff;overflow:hidden}.mission-vision article:nth-child(2){background:#2363a8}.mission-vision article>span{position:absolute;right:20px;top:-28px;font-size:110px;font-weight:900;color:rgba(255,255,255,.08)}.mission-vision .eyebrow{color:#bfe3ff}.mission-vision h3{position:relative;font-size:28px;line-height:1.2;margin:12px 0 20px}.mission-vision p:last-child{position:relative;color:#e3edf5}.values-block{padding-top:95px}.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.values-grid article{padding:28px;border-top:4px solid #2363a8;background:#f4f7f9}.values-grid strong{font-size:20px;color:#174f91}.values-grid p{color:#56636b}
@media(max-width:1000px){.service-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.about-story{grid-template-columns:1fr;gap:20px}.mission-vision{grid-template-columns:1fr}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.support-map{height:430px;margin-left:-12px;margin-right:-12px;border-width:4px}.contact-section .contact-action{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.service-groups{grid-template-columns:1fr}.service-groups article{min-height:auto;padding:30px 26px}}
@media(max-width:620px){.about-institutional{padding-top:0}.about-story{padding:50px 0}.mission-vision article{padding:34px 26px}.values-grid{grid-template-columns:1fr}.values-block{padding-top:65px}}
.whatsapp-assistant{position:fixed;right:22px;bottom:22px;z-index:1000;font-family:inherit}.whatsapp-fab{display:none;align-items:center;justify-content:center;width:62px;height:62px;border:3px solid #fff;border-radius:50%;background:#2363a8;color:#fff;box-shadow:0 10px 30px rgba(0,40,80,.34);cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.whatsapp-fab svg{width:32px;height:32px}.whatsapp-fab:hover,.whatsapp-fab:focus-visible{background:#174f91;transform:translateY(-3px) scale(1.05);box-shadow:0 14px 36px rgba(0,40,80,.44);outline:3px solid #9fd8ff;outline-offset:3px}.whatsapp-panel{width:min(402px,calc(100vw - 28px));border-radius:24px 24px 18px 18px;overflow:hidden;background:linear-gradient(180deg,#eef9f7 0%,#f8fffd 100%);box-shadow:0 18px 50px rgba(0,26,48,.34);border:1px solid rgba(22,94,150,.16);transform-origin:100% 100%;animation:whatsapp-pop .28s ease}.whatsapp-panel header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#2363a8;color:#fff}.whatsapp-brand{display:flex;align-items:center;gap:9px;font-weight:850;font-size:18px}.whatsapp-brand svg{width:31px;height:31px}.whatsapp-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,38,80,.24);color:#fff;font-size:28px;line-height:1;cursor:pointer}.whatsapp-close:hover,.whatsapp-close:focus-visible{background:#174f91;outline:2px solid #fff;outline-offset:2px}.whatsapp-body{padding:20px 18px 18px}.whatsapp-bubble{position:relative;width:fit-content;max-width:calc(100% - 8px);margin:0 0 14px;padding:16px 20px;border-radius:0 22px 22px 22px;background:#fff;color:#25313b;box-shadow:0 4px 16px rgba(10,45,70,.18);font-size:16px;line-height:1.45}.whatsapp-bubble::before{content:"";position:absolute;left:-13px;top:24px;border:10px solid transparent;border-right-color:#fff;border-top:0}.whatsapp-bubble strong{color:#1f2b36}.whatsapp-bubble.small{padding:14px 18px;border-radius:0 20px 20px 20px}.whatsapp-open{display:inline-flex;align-items:center;gap:12px;margin-top:8px;padding:14px 22px;border-radius:999px;background:#2363a8;color:#fff!important;font-weight:850;text-decoration:none;box-shadow:0 10px 24px rgba(35,99,168,.3);transition:transform .2s ease,background .2s ease}.whatsapp-open svg{width:34px;height:34px}.whatsapp-open:hover,.whatsapp-open:focus-visible{background:#174f91;transform:translateY(-2px);outline:3px solid #9fd8ff;outline-offset:3px}.whatsapp-assistant[data-state="closed"] .whatsapp-panel{display:none}.whatsapp-assistant[data-state="closed"] .whatsapp-fab{display:flex}@keyframes whatsapp-pop{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.legal-page{max-width:1400px;margin:auto}.legal-meta{display:flex;justify-content:space-between;gap:20px;padding:18px 0 32px;border-bottom:1px solid #dce4e9;color:#65727a;font-size:14px}.legal-layout{display:grid;grid-template-columns:240px minmax(0,820px);gap:70px;align-items:start;padding-top:48px}.legal-layout aside{position:sticky;top:145px;display:flex;flex-direction:column;gap:12px;padding:24px;border-left:4px solid #2363a8;background:#f4f7f9}.legal-layout aside strong{margin-bottom:8px;color:#174f91}.legal-layout aside a{font-size:14px;color:#52616a}.legal-layout aside a:hover{color:#174f91}.legal-content section{padding:0 0 38px;margin-bottom:38px;border-bottom:1px solid #e1e7ea;scroll-margin-top:145px}.legal-content h2{font-size:clamp(26px,3vw,38px);letter-spacing:-1px;margin:0 0 18px}.legal-content p,.legal-content li{font-size:17px;color:#4f5d65}.legal-content li{margin:9px 0}.legal-content a{color:#175da5;text-decoration:underline}.legal-cta{display:inline-block;padding:12px 18px;border-radius:6px;background:#2363a8;color:#fff!important;text-decoration:none!important;font-weight:800}.legal-references{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.legal-references a{padding:10px 14px;border:1px solid #cdd9df;border-radius:6px;text-decoration:none;background:#fff}.site-footer{grid-template-columns:1.3fr .7fr!important;align-items:start;gap:28px 60px!important}.site-footer .footer-brand p{margin:16px 0 0}.footer-social{display:flex!important;flex-direction:column;align-items:flex-start;gap:10px!important}.footer-social>span{color:#8fa2ad;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800}.footer-social a{display:flex;align-items:center;gap:9px;font-weight:800}.footer-social svg{width:28px;height:28px;color:#6da8e7}.footer-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.footer-legal a{font-size:14px;color:#dce7eb}.site-footer small{grid-column:1/-1!important;border-top:0!important;padding-top:0!important}
@media(max-width:800px){.legal-layout{grid-template-columns:1fr;gap:35px}.legal-layout aside{position:static}.site-footer{grid-template-columns:1fr!important}.footer-legal,.site-footer small{grid-column:1!important}}
@media(max-width:620px){.whatsapp-assistant{right:12px;bottom:12px}.whatsapp-panel{width:calc(100vw - 24px);border-radius:20px 20px 16px 16px}.whatsapp-body{padding:16px 14px 14px}.whatsapp-bubble{font-size:15px;padding:14px 16px}.whatsapp-fab{width:56px;height:56px}.whatsapp-fab svg{width:29px;height:29px}}
@media(max-width:620px){.legal-page{padding-left:24px;padding-right:24px}.legal-meta{flex-direction:column}.legal-layout{padding-top:28px}.footer-legal{flex-direction:column;gap:12px}}
.projects-showcase{max-width:1450px;margin:auto}.projects-showcase .section-head{max-width:880px}.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.projects-grid figure{position:relative;margin:0;min-height:285px;border-radius:13px;overflow:hidden;background:#123f6d}.projects-grid figure:nth-child(1),.projects-grid figure:nth-child(6){grid-column:span 2}.projects-grid img{width:100%;height:100%;min-height:285px;object-fit:cover;transition:transform .4s ease}.projects-grid figure:hover img{transform:scale(1.04)}.projects-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 18px 16px;background:linear-gradient(transparent,rgba(5,28,48,.92));color:#fff;font-weight:800}.clients-section{padding:80px clamp(24px,6vw,88px);overflow:hidden;background:#f4f7f9}.clients-section .section-head{max-width:850px;margin:0 auto 38px;text-align:center}.clients-section h2{font-size:clamp(30px,3.5vw,48px);line-height:1.12;margin:10px 0}.clients-carousel{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.clients-track{display:flex;width:max-content;animation:client-scroll 34s linear infinite}.clients-carousel:hover .clients-track{animation-play-state:paused}.client-set{display:flex;align-items:center;gap:26px;padding-right:26px}.client-set img{width:138px;height:100px;padding:14px;object-fit:contain;border:1px solid #dce5ea;border-radius:10px;background:#fff;filter:grayscale(1);opacity:.78;transition:.2s}.client-set img:hover{filter:none;opacity:1;transform:translateY(-3px)}@keyframes client-scroll{to{transform:translateX(-50%)}}@media(max-width:1000px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.projects-grid{grid-template-columns:1fr}.projects-grid figure:nth-child(1),.projects-grid figure:nth-child(6){grid-column:auto}.client-set img{width:112px;height:84px}.clients-track{animation-duration:26s}}@media(prefers-reduced-motion:reduce){.clients-track{animation:none}}
@media(max-width:1050px){.site-header{height:82px;padding:0 24px;background:#fff}.site-header::before{display:none}.site-header .brand-logo img{width:255px;max-width:52vw}.site-header .menu-toggle{display:block;background:#2363a8}.site-header nav{top:82px;color:#292929;text-transform:none}.site-header nav>a,.site-header .nav-group>a{padding:4px 0}.site-header .languages a{color:#2363a8}.site-header .mega-menu{top:auto}.hero-carousel{min-height:590px}.hero-slide{padding:65px 70px 110px}.carousel-controls>button{width:54px;height:54px}.carousel-prev{left:18px}.carousel-next{right:18px}}
@media(min-width:901px) and (max-width:1050px){.site-header .mega-menu{top:100%}}
@media(max-width:620px){.site-header{height:74px;padding:0 16px}.site-header nav{top:74px}.site-header .brand-logo img{width:205px;max-width:62vw}.site-header .menu-toggle{display:block!important;position:absolute;right:16px;top:19px;font-size:0;width:43px;height:38px;padding:0}.site-header .menu-toggle::after{content:"☰";font-size:22px}.hero-carousel{min-height:620px}.hero-carousel::after{height:58px;width:55%;left:0}.hero-slide{padding:55px 24px 100px}.hero-slide h1,.hero-slide h2{font-size:34px;line-height:1.08;letter-spacing:-1px;overflow-wrap:anywhere}.hero-slide .eyebrow{font-size:10px!important;letter-spacing:1.3px;white-space:normal}.hero-slide p:not(.eyebrow){font-size:16px;line-height:1.55}.carousel-controls>button{top:auto;bottom:24px;width:46px;height:46px;font-size:31px}.carousel-prev{left:14px}.carousel-next{right:14px}.carousel-dots{bottom:39px}.trust{gap:18px 28px;padding:22px 16px;font-size:11px;text-align:center}.trust span{max-width:145px}}
.experience-qualitative strong{font-size:clamp(20px,2vw,27px)!important;line-height:1.15!important}.experience-qualitative span{font-size:13px!important}

/* Full-size project gallery viewer */
.projects-grid figure{cursor:zoom-in}.projects-grid figure:focus-visible{outline:4px solid #56a7ef;outline-offset:4px}.viewer-open{overflow:hidden}.project-viewer{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:70px 84px 42px;background:rgba(3,18,31,.94);backdrop-filter:blur(5px)}.project-viewer.open{display:flex}.project-viewer figure{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;margin:0}.project-viewer img{display:block;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:7px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.project-viewer figcaption{padding:14px 20px 0;color:#fff;font-size:16px;font-weight:700;text-align:center}.project-viewer button{position:absolute;z-index:2;display:grid;place-items:center;border:2px solid rgba(255,255,255,.8);border-radius:50%;background:#2363a8;color:#fff;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.3)}.project-viewer button:hover,.project-viewer button:focus-visible{background:#fff;color:#174f91;outline:3px solid #56a7ef;outline-offset:3px}.project-viewer-close{top:18px;right:22px;width:48px;height:48px;font-size:34px;line-height:1}.project-viewer-prev,.project-viewer-next{top:50%;width:56px;height:56px;font-size:44px;transform:translateY(-50%)}.project-viewer-prev{left:18px}.project-viewer-next{right:18px}@media(max-width:620px){.project-viewer{padding:72px 16px 92px}.project-viewer img{max-height:calc(100vh - 190px)}.project-viewer-prev,.project-viewer-next{top:auto;bottom:20px;transform:none}.project-viewer-prev{left:calc(50% - 70px)}.project-viewer-next{right:calc(50% - 70px)}}
