/* E-Scholars premium public design layer — scoped to public HTML, no admin/database changes. */
:root { --es-font:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif; --es-ink:#26303d; --es-muted:#697583; --es-border:#e7eaee; --es-surface:#fff; --es-offwhite:#f8f9fb; --es-shadow:0 10px 35px rgba(22,32,48,.055); --es-shadow-hover:0 18px 44px rgba(22,32,48,.105); --es-radius:18px; --es-body:15.5px; --es-small:13.5px; --es-h1:clamp(2.3rem,4.1vw,3.6rem); --es-h2:clamp(1.75rem,2.65vw,2.45rem); --es-h3:clamp(1.15rem,1.65vw,1.37rem); }
html{scroll-behavior:smooth;scroll-padding-top:95px}
body,button,input,select,textarea { font-family:var(--es-font)!important; }
body { color:var(--es-muted)!important; font-size:var(--es-body)!important; line-height:1.7!important; font-weight:400; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
main{overflow:clip}
::selection{background:rgba(255,111,0,.19);color:var(--es-ink)}
body p,body li,body span {letter-spacing:normal}
h1,h2,h3,h4,h5,h6 { font-family:var(--es-font)!important; color:var(--es-ink);letter-spacing:-.025em!important; }
h1{font-weight:650!important;line-height:1.13!important}h2{font-weight:650!important;line-height:1.2!important}h3,h4,h5{font-weight:600!important}
.section{padding:clamp(56px,6.5vw,92px) 0!important}
.container{max-width:1210px!important;padding-left:clamp(18px,3vw,28px)!important;padding-right:clamp(18px,3vw,28px)!important}
.section-title{max-width:750px;margin:0 auto clamp(28px,4vw,44px)!important}
.section-title h2,.about-content h2,.experience-box h2,.cta-box h2 {font-size:var(--es-h2)!important;line-height:1.2!important;font-weight:650!important;letter-spacing:-.035em!important;margin-bottom:14px!important}
.section-title p{font-size:var(--es-body)!important;line-height:1.7!important;color:var(--es-muted)!important}
.section-title .tag,.tag,.page-hero-badge,.hero-badge,.tagline {display:inline-flex!important;align-items:center;gap:8px;padding:8px 13px!important;letter-spacing:.075em!important;font:600 11.5px/1.25 var(--es-font)!important;text-transform:uppercase;border-radius:100px!important;color:var(--primary,#ff6f00)!important;background:rgba(255,111,0,.075)!important;box-shadow:none!important;margin-bottom:17px!important}
.btn,.btn-outline,button.btn,.form-card button[type=submit]{font-family:var(--es-font)!important;font-size:var(--es-small)!important;font-weight:600!important;letter-spacing:0!important;min-height:45px!important;padding:11px 19px!important;border-radius:11px!important;box-shadow:none!important;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease!important}
.btn:hover,.btn-outline:hover,.form-card button[type=submit]:hover{transform:translateY(-2px)!important;box-shadow:0 8px 22px rgba(255,111,0,.13)!important}
.btn-outline{border-color:#d9dee5!important;color:var(--es-ink)!important}
.btn-outline:hover{border-color:var(--primary,#ff6f00)!important;color:var(--primary,#ff6f00)!important;background:#fff8f4!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary,#ff6f00);outline-offset:3px}
/* Hero areas */
.hero,.page-hero{background:radial-gradient(circle at 4% 20%,rgba(255,111,0,.085),transparent 32%),linear-gradient(155deg,#fff 45%,#fafbfc 100%)!important}
.hero{padding:clamp(58px,6vw,84px) 0 clamp(52px,6vw,78px)!important}
.page-hero{padding:clamp(55px,6vw,86px) 0!important}
.hero h1,.page-hero h1,.es-case-hero h1{font-size:var(--es-h1)!important;letter-spacing:-.045em!important;font-weight:650!important;line-height:1.12!important;color:#222b36!important;margin-bottom:21px!important}
.hero h1 span,.page-hero h1 span{color:var(--primary,#ff6f00)!important}
.hero h1 span::after{height:7px!important;bottom:2px!important;z-index:0!important;opacity:.55}
.hero p,.page-hero p,.hero-content>p{font-size:16px!important;line-height:1.75!important;color:var(--es-muted)!important;max-width:660px!important}
.hero-mini-proof{gap:9px!important}.hero-mini-proof .pill,.hero-list li,.hero-pills .hero-pill{font-size:12.8px!important; font-weight:500!important; border:1px solid var(--es-border)!important; box-shadow:none!important; background:rgba(255,255,255,.88)!important; border-radius:11px!important;padding:10px 12px!important;color:var(--es-ink)!important}
.hero-mini-proof .pill strong{font-weight:650!important;font-size:13.5px!important}
.hero-list li{font-size:13.8px!important;font-weight:500!important}
.hero-frame,.hero-card,.hero-dashboard,.hero-visual img,.page-hero .hero-card{border-radius:20px!important;box-shadow:0 20px 55px rgba(22,32,48,.09)!important}
.hero-frame-brand,.hero-sidebar li{font-weight:600!important}
/* Component system: one rhythm, consistent shadows and 16–20px rounded corners. */
.service-card,.why-card,.process-card,.portfolio-card,.industry-card,.stat-card,.partner-card,.review-card,.team-card,.contact-card,.highlight-box,.experience-features .item,.hero-mini-box,.faq-item,.career-card,.es-managed-card,.es-project-card,.es-case-block,.es-gallery-grid figure{background:var(--es-surface)!important;border:1px solid var(--es-border)!important;border-radius:var(--es-radius)!important;box-shadow:var(--es-shadow)!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important}
.service-card:hover,.why-card:hover,.process-card:hover,.portfolio-card:hover,.industry-card:hover,.partner-card:hover,.es-project-card:hover,.es-managed-card:hover,.contact-card:hover{transform:translateY(-4px)!important;box-shadow:var(--es-shadow-hover)!important;border-color:#f0d8c7!important}
.service-card,.why-card,.process-card,.industry-card,.contact-card{padding:clamp(21px,2.8vw,28px)!important}
.service-card h3,.portfolio-content h3,.es-managed-copy h3{font-size:var(--es-h3)!important;line-height:1.35!important;font-weight:600!important;letter-spacing:-.018em!important}
.why-card h4,.process-card h4,.industry-card h4,.contact-card h4,.faq-question{font-size:17px!important;line-height:1.4!important;font-weight:600!important}
.service-card p,.why-card p,.process-card p,.industry-card p,.portfolio-content p,.partner-card p,.es-managed-copy p,.contact-card p,.review-card p{font-size:14.2px!important;line-height:1.7!important;color:var(--es-muted)!important}
.service-icon,.industry-icon,.process-number,.contact-icon{border-radius:13px!important;box-shadow:none!important}
.stat-card h3{font-size:clamp(26px,2.4vw,36px)!important;font-weight:650!important}
.about-content p,.experience-box p{font-size:var(--es-body)!important;line-height:1.75!important}
.portfolio-card,.es-project-card{overflow:hidden!important}
.portfolio-card img,.es-card-image-link img,.es-managed-card img{transition:transform .45s cubic-bezier(.2,.8,.2,1)!important}
.portfolio-card:hover img,.es-project-card:hover img{transform:scale(1.045)!important}
.portfolio-content{padding:23px!important}
.portfolio-category{font-size:11.5px!important;letter-spacing:.06em!important;font-weight:600!important}
.es-card-placeholder{font-weight:650!important}
/* Testimonials and FAQs */
.faq-item{margin-bottom:13px!important;overflow:hidden!important}
.faq-question{padding:19px 22px!important;color:var(--es-ink)!important;gap:16px!important}
.faq-question:hover{color:var(--primary,#ff6f00)!important}
.faq-answer p{font-size:14px!important;line-height:1.75!important;color:var(--es-muted)!important}
/* Partners: clean logos, NOT cards in the moving strip. */
.es-logo-section,.es-logo-section.es-home-logo-strip,.es-logo-section.es-services-logo-strip{padding:24px 0!important;margin:0!important;background:#fff!important;overflow:hidden!important;border-block:1px solid #f0f1f2!important}
.es-home-logo-strip{padding:22px 0!important}
.es-logo-section.es-partners-logo-strip{padding-top:64px!important;padding-bottom:54px!important}
.es-logo-viewport{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.es-logo-track{display:flex!important;align-items:center!important;width:max-content!important;flex-wrap:nowrap!important;transform:translateX(0);will-change:transform}
.es-logo-group{display:flex!important;align-items:center!important;flex:none!important;gap:clamp(25px,4vw,62px)!important;padding-right:clamp(25px,4vw,62px)!important}
.es-logo-unit,.es-logo-section .es-logo-unit,.es-logo-section .es-logo-unit:hover{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 165px!important;min-width:165px!important;width:165px!important;height:77px!important;padding:5px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline-offset:3px;transform:none!important;text-decoration:none!important}
.es-logo-unit img,.es-logo-section .es-logo-unit img{display:block!important;max-width:155px!important;max-height:63px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:grayscale(.18)!important;opacity:.86!important;transition:filter .25s ease,opacity .25s ease,transform .25s ease!important}
.es-logo-unit:hover img{filter:grayscale(0)!important;opacity:1!important;transform:scale(1.06)!important}
.es-logo-animated .es-logo-track{animation:es-logo-scroll var(--es-logo-duration,36s) linear infinite!important}
.es-logo-animated:focus-within .es-logo-track,.es-logo-animated:hover .es-logo-track{animation-play-state:paused!important}
/* No white rectangles or borders for managed partner logo showcases either. */
.partner-card{background:transparent!important;box-shadow:none!important;border:0!important;padding:14px!important}
.partner-card:hover{box-shadow:none!important;transform:none!important;border-color:transparent!important}
.partner-top{align-items:center!important}
.es-partner-logo{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;width:86px!important;height:68px!important}
.es-partner-logo img{object-fit:contain!important;padding:0!important}
/* Contact: professional brief, remove phone/WhatsApp + unnecessary budget (PHP does it server side). */
.contact-main{background:var(--es-offwhite)!important}
.contact-main-wrap{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:clamp(25px,3.7vw,54px)!important;align-items:start!important}
.contact-info-panel{padding:clamp(22px,3vw,36px)!important;border:1px solid var(--es-border)!important;border-radius:21px!important;background:#fff!important;box-shadow:var(--es-shadow)!important}
.contact-info-panel h2{font-size:clamp(24px,2.6vw,34px)!important;line-height:1.2!important;font-weight:650!important;color:var(--es-ink)!important}
.contact-info-panel p{font-size:14.5px!important;line-height:1.72!important}
.info-list{display:grid;gap:11px!important}.info-item{padding:13px 0!important;border-bottom:1px solid var(--es-border)!important}.info-item:last-child{border:0!important}
.info-item h4{font-size:15px!important;margin-bottom:6px!important;font-weight:600!important}.info-item p{font-size:13.7px!important;margin:0!important}
.contact-highlights{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:22px!important}
.contact-highlights .highlight-box{box-shadow:none!important;padding:14px!important;text-align:left!important;border-radius:12px!important}
.contact-highlights strong{font-weight:650!important;font-size:16px!important;color:var(--primary,#ff6f00)!important}
.contact-highlights span{font-size:12px!important}
.form-card{background:#fff!important;border:1px solid var(--es-border)!important;border-radius:21px!important;padding:clamp(22px,3vw,38px)!important;box-shadow:0 16px 50px rgba(22,32,48,.075)!important}
.form-card h3{font-size:clamp(23px,2.3vw,28px)!important;font-weight:650!important;margin-bottom:6px!important;color:var(--es-ink)!important}
.form-card>p{font-size:14px!important;line-height:1.65!important;margin-bottom:24px!important}
.contact-form{display:grid;gap:19px!important}.contact-form .form-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
.contact-form .form-row:has(>.form-group:only-child){grid-template-columns:1fr!important}
.contact-form .form-group{min-width:0!important;margin:0!important}
.contact-form label{display:block!important;color:#3b4553!important;font-size:13px!important;font-weight:600!important;margin-bottom:7px!important;letter-spacing:0!important}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{display:block!important;width:100%!important;border:1px solid #dce2e8!important;border-radius:11px!important;min-height:47px!important;background:#fff!important;color:var(--es-ink)!important;font:400 14px/1.5 var(--es-font)!important;box-shadow:none!important;padding:11px 13px!important;transition:border-color .2s ease,box-shadow .2s ease!important}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#99a3ae!important}
.contact-form textarea{min-height:142px!important;resize:vertical!important}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none!important;border-color:var(--primary,#ff6f00)!important;box-shadow:0 0 0 3px rgba(255,111,0,.11)!important}
.contact-form .checkbox-group{display:flex!important;align-items:flex-start!important;gap:10px!important;font-size:12.5px!important;font-weight:400!important;line-height:1.5!important;margin:0!important}
.contact-form .checkbox-group input{width:16px!important;height:16px!important;margin-top:3px!important;accent-color:var(--primary,#ff6f00)}
.contact-form .checkbox-group span{font-size:12.5px!important;color:var(--es-muted)!important;font-weight:400!important}
.contact-form .form-note{font-size:12px!important;color:#818a95!important}
.contact-form button[type=submit]{width:100%!important;min-height:49px!important;font-weight:600!important}
.contact-form button:disabled{opacity:.6;cursor:wait}
.form-success{font-size:13.5px!important}
/* Footer / consistent layout */
.site-footer{background:#202833!important;color:#cad0d8!important;padding-top:58px!important}
.footer-col h4{font-size:15px!important;font-weight:600!important;color:#fff!important}
.footer-col p,.footer-col li,.footer-bottom{font-size:13.3px!important;line-height:1.8!important}
.footer-brand strong{font-size:19px!important;font-weight:650!important;color:#fff!important}
.footer-bottom{padding:18px 0 24px!important}
/* Content transitions: opt-in, no invisible content if JS fails. */
.es-reveal{transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.es-motion-enabled .es-reveal:not(.es-visible){opacity:.001;transform:translateY(18px)}
.es-motion-enabled .es-reveal.es-visible{opacity:1;transform:none}
.es-reveal[data-es-delay="1"]{transition-delay:70ms}.es-reveal[data-es-delay="2"]{transition-delay:130ms}
/* Responsive, mobile-first constraint fixes */
@media(max-width:1080px){.hero-wrap,.page-hero-wrap{gap:25px!important}.grid-4,.stats-grid,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:880px){.contact-main-wrap{grid-template-columns:1fr!important}.grid-3,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hero-wrap,.page-hero-wrap,.grid-2,.cta-box,.footer-grid{grid-template-columns:1fr!important}.section{padding:60px 0!important}}
@media(max-width:640px){:root{--es-body:15px;--es-h1:clamp(2.15rem,8vw,2.7rem);--es-h2:clamp(1.6rem,6.5vw,2.1rem)}.hero,.page-hero{padding:46px 0!important}.section{padding:48px 0!important}.grid-3,.grid-4,.why-grid,.process-grid,.stats-grid,.brand-strip,.hero-list,.hero-main-top,.hero-floating-grid,.contact-highlights{grid-template-columns:1fr!important}.contact-form .form-row{grid-template-columns:1fr!important}.cta-box{padding:27px 22px!important}.service-card,.why-card,.process-card,.contact-card{padding:21px!important}.footer-grid{gap:22px!important}.es-logo-unit,.es-logo-section .es-logo-unit{flex-basis:118px!important;min-width:118px!important;width:118px!important;height:66px!important}.es-logo-unit img,.es-logo-section .es-logo-unit img{max-width:116px!important;max-height:55px!important}.es-logo-group{gap:24px!important;padding-right:24px!important}.es-logo-section{padding:14px 0!important}.form-card{padding:21px!important}.about-image{grid-template-columns:1fr!important}.about-image .main-photo,.about-image .small-photo{height:230px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.es-motion-enabled .es-reveal:not(.es-visible){opacity:1!important;transform:none!important}.es-logo-animated .es-logo-track{animation:none!important;width:100%!important;flex-wrap:wrap!important;justify-content:center!important}.es-logo-animated .es-logo-group[aria-hidden="true"]{display:none!important}.es-logo-viewport{mask-image:none!important;-webkit-mask-image:none!important}}
/* Final calibrated heading scale and careers application polish */
:root{--es-h1:clamp(2.25rem,3.7vw,3.2rem)}
.apply-main{background:var(--es-offwhite)!important;padding:clamp(58px,6vw,85px) 0!important}
.left-panel{background:#fff!important;border:1px solid var(--es-border)!important;border-radius:20px!important;box-shadow:var(--es-shadow)!important;padding:clamp(22px,2.8vw,34px)!important}
.left-panel h2{font-size:var(--es-h2)!important;font-weight:650!important;line-height:1.2!important}
.left-panel p,.skill-item p,.mini-cta p{font-size:14.2px!important;line-height:1.7!important}
.skill-item h4,.mini-cta h4{font-size:16px!important;font-weight:600!important}
.info-card,.mini-stat{border:1px solid var(--es-border)!important;border-radius:var(--es-radius)!important;background:#fff!important;box-shadow:var(--es-shadow)!important;padding:22px!important}
.info-card h4{font-size:17px!important;font-weight:600!important}.info-card p{font-size:14.2px!important;line-height:1.7!important}
.apply-form{display:grid;gap:18px!important}.apply-form .form-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
.apply-form .form-row:has(>.form-group:only-child){grid-template-columns:1fr!important}
.apply-form .form-group{min-width:0!important;margin:0!important}
.apply-form label{display:block!important;color:#3b4553!important;font-size:13px!important;font-weight:600!important;margin-bottom:7px!important}
.apply-form input:not([type=checkbox]),.apply-form select,.apply-form textarea{width:100%!important;min-height:47px!important;border:1px solid #dce2e8!important;border-radius:11px!important;padding:11px 13px!important;background:#fff!important;font:400 14px/1.5 var(--es-font)!important;color:var(--es-ink)!important;box-shadow:none!important}
.apply-form input:focus,.apply-form select:focus,.apply-form textarea:focus{outline:none!important;border-color:var(--primary,#ff6f00)!important;box-shadow:0 0 0 3px rgba(255,111,0,.1)!important}
.apply-form textarea{min-height:136px!important;resize:vertical}
.apply-form .checkbox-group{display:flex!important;gap:10px!important;align-items:flex-start!important;font-size:12.5px!important}
.apply-form .checkbox-group input{width:16px;height:16px;margin-top:4px;accent-color:var(--primary,#ff6f00)}
.apply-form .checkbox-group span{font-weight:400!important;font-size:12.5px!important}
.apply-form button[type=submit]{width:100%!important;min-height:49px!important}
@media(max-width:640px){:root{--es-h1:clamp(2.07rem,8vw,2.65rem)}.apply-form .form-row{grid-template-columns:1fr!important}}
