/* Tridevom Infotech — comprehensive responsive polish — 31 October 2026. */
/* Existing copy, project links, branding and forms are retained. */
:root { --polish-border: #e2eaf5; }
.container, .container > *, .section, .site-footer { min-width: 0; }
.service-grid, .capability-grid, .industry-grid, .feature-grid, .lead-grid,
.stats-grid, .process-line, .pricing-grid, .service-page-grid,
.scope-grid, .proof-strip-grid, .brand-work-grid, .client-portfolio-grid { min-width:0; }
.service-grid > *, .capability-grid > *, .industry-grid > *, .feature-grid > *,
.lead-grid > *, .stats-grid > *, .process-line > *, .pricing-grid > *,
.service-page-grid > *, .proof-strip-grid > * { min-width:0; }
.stat-mobile {display:none;}
/* All screens: four evenly spaced links groups in footer with no accidental spill. */
.site-footer { margin-top: 48px; padding:54px 0 22px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1.15fr 1.1fr; gap:clamp(18px,3vw,42px); align-items:start; }
.footer-grid > div { min-width:0; }
.footer-grid a, .footer-grid span { overflow-wrap:anywhere; }
.footer-grid .brand-logo img { max-width:100%; }
.footer-grid h4 {font-size:15px; letter-spacing:.01em;}
.footer-bottom { align-items:center; }
.footer-bottom span { max-width:100%; }
.footer-help-links {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:34px;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.footer-help-links p {color:#d5e3fa;font-size:14px;margin:0 auto 0 0;font-weight:600}
.footer-help-links a {display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.27);border-radius:10px;color:white;font-size:12px;font-weight:700;min-height:40px;padding:10px 14px;white-space:nowrap}
.footer-help-links a:last-child{background:#1765d5;border-color:#1765d5}
.footer-help-links a:hover{background:#27518b}
/* Medium screens */
@media (max-width: 900px) and (min-width: 681px) {
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 .footer-grid>div:first-child{grid-column:1/-1}
 .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .stat-card{padding:18px 10px}
}
@media(max-width:680px) {
 html {scroll-padding-top:78px;}
 body{font-size:14px;}
 .container{width:calc(100% - 30px);max-width:1180px;}
 .site-header .nav-wrap{height:70px;}
 .site-header .main-nav{top:70px;left:14px;right:14px;max-height:calc(100dvh - 82px);overflow-y:auto;}
 .brand-logo img{width:clamp(150px,44vw,205px);height:auto;max-height:38px;object-fit:contain;}
 .brand-logo small{font-size:8px;letter-spacing:.21em;}
 .nav-toggle{flex:0 0 auto;}
 .section{padding:43px 0;}
 .section-heading{margin:0 auto 24px;}
 .section-heading h2 {font-size:clamp(25px,7.1vw,33px);line-height:1.19;letter-spacing:-.025em;margin:9px 0 12px;}
 .section-heading p {font-size:13px;line-height:1.6;margin:0;}
 .section-heading>span{font-size:11px;letter-spacing:.13em;}
 .page-hero,.compact-page-hero{padding:45px 0 38px;}
 .page-hero h1,.compact-page-hero h1{font-size:clamp(29px,8.4vw,41px);line-height:1.12;margin:10px 0;}
 .page-hero p{font-size:14px;line-height:1.6;margin:0;}
 /* Make the tall mobile hero feel like a compact first screen. */
 .hero.hero-phase2{min-height:0;padding:48px 0 28px;}
 .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
 .hero h1{font-size:clamp(37px,9.9vw,47px);line-height:1.04;letter-spacing:-.035em;}
 .hero .eyebrow{font-size:10px;letter-spacing:.11em;}
 .hero-copy>p{font-size:13px;line-height:1.65;}
 .hero-actions{flex-direction:row;flex-wrap:wrap;gap:9px;margin-top:20px;align-items:stretch;}
 .hero-actions .btn{font-size:12px;line-height:1.3;min-height:42px;padding:11px 13px;flex:1 1 150px;}
 .trust-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px;}
 .trust-row span{font-size:9px;padding:7px 9px;white-space:nowrap;}
 .hero-visual{min-height:255px;max-height:285px;overflow:hidden;}
 .webgl-shell{width:min(295px,88vw);height:285px;}
 .globe-fallback,.digital-globe{max-width:100%;}
 .floating-chip{font-size:12px;padding:8px 10px;}
 /* Single row: four compact statistics (not four huge vertical boxes). */
 .stats-section{padding:18px 0 28px;}
 .stats-grid,.stats-grid.proof-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin-top:0!important;align-items:stretch;}
 .stat-card{min-width:0;min-height:92px;padding:12px 3px 11px;border-radius:12px;box-shadow:0 7px 18px rgba(5,36,88,.08);justify-content:center;}
 .stat-card strong{font-size:clamp(27px,7.4vw,34px);line-height:1.05;white-space:nowrap;}
 .stat-card strong:after,.proof-stats .stat-card strong:after{font-size:clamp(11px,3.2vw,15px)!important;}
 .stat-card span{display:block;font-size:9px;line-height:1.28;margin-top:8px;overflow-wrap:anywhere;}
 .stat-card .stat-full{display:none;}
 .stat-card .stat-mobile{display:block;font-size:9.2px;line-height:1.25;margin:0;}
 /* Services and capabilities: exactly two cards across on mobile. */
 .service-grid,.phase2-services,.capability-grid,.industry-grid,.feature-grid,
 .process-line,.lead-grid,.service-page-grid,.scope-grid,.featured-case-grid,
 .proof-strip-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
 .service-card{padding:13px 12px 15px!important;border-radius:14px;min-height:0;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 8px 22px rgba(5,36,88,.08);}
 .service-top{display:flex;width:100%;gap:4px;align-items:center;justify-content:space-between;}
 .service-number{width:31px;height:31px;min-width:31px;line-height:31px;font-size:13px;border-radius:10px;display:grid;place-items:center;}
 .service-tag{font-size:8px;padding:5px 7px;letter-spacing:.015em;max-width:100%;overflow-wrap:anywhere;}
 .service-icon,.service-card .service-icon{width:47px;height:47px;min-height:47px;margin:13px 0 9px;font-size:24px;border-radius:14px;display:grid;place-items:center;}
 .service-card h3{font-size:clamp(14px,3.8vw,17px);line-height:1.25;margin:2px 0 8px;overflow-wrap:anywhere;}
 .service-card p{font-size:11px;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere;}
 .service-card a{display:inline-flex;align-items:center;margin-top:auto;font-size:11px;line-height:1.3;min-height:32px;}
 .capability-card{display:flex;flex-direction:column;align-items:flex-start;padding:15px 12px 16px;border-radius:14px;box-shadow:0 8px 20px rgba(5,36,88,.07);}
 .capability-icon{font-size:27px;margin-bottom:9px;line-height:1.2;}
 .capability-card h3{font-size:14px;line-height:1.3;margin:0 0 7px;overflow-wrap:anywhere;}
 .capability-card p{font-size:11px;line-height:1.5;margin:0;overflow-wrap:anywhere;}
 .industry-card{padding:15px 10px;border-radius:13px;}
 .industry-card span{font-size:24px;}
 .industry-card h3{font-size:13px;line-height:1.3;overflow-wrap:anywhere;}
 .feature-card{padding:15px 12px;border-radius:14px;}
 .feature-card h3{font-size:14px;line-height:1.3;}
 .feature-card p{font-size:11px;line-height:1.5;}
 .process-step{padding:14px 12px;border-radius:0 0 14px 14px;}
 .process-step b{font-size:20px;}
 .process-step h3{font-size:15px;}
 .process-step p{font-size:11px;line-height:1.5;}
 .lead-card{padding:13px 10px;border-radius:13px;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;}
 .lead-card span{font-size:21px;flex:0 0 auto;}
 .lead-card b{font-size:11px;}
 .lead-card small{font-size:10px;overflow-wrap:anywhere;}
 .pricing-grid,.pricing-page-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;}
 .pricing-card{padding:20px 18px;}
 .pricing-card h3{font-size:21px;}
 .scope-grid span{font-size:11px;overflow-wrap:anywhere;padding:12px 9px;}
 .detail-grid,.split-grid,.contact-grid,.faq-layout,.quote-layout{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:20px;}
 .detail-grid ul{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
 .detail-grid li{padding:12px;font-size:12px;}
 .featured-case{grid-template-columns:1fr;padding:16px 13px;border-radius:15px;gap:9px;}
 .featured-case-index{width:37px;height:37px;font-size:16px;border-radius:12px;}
 .featured-case h3{font-size:16px;}
 .featured-case p,.featured-case ul{font-size:10.5px;line-height:1.5;}
 .proof-strip-grid{padding:7px;gap:5px!important;}
 .proof-strip-item{padding:11px 8px;border-radius:12px;}
 .proof-strip-item strong{font-size:24px;}
 .proof-strip-item span{font-size:10px;}
 .faq-categories{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;}
 .faq-categories a{min-width:0;text-align:center;font-size:12px;padding:10px 8px;border-radius:10px;}
 .faq-list summary,.mini-faq summary{font-size:13px;line-height:1.5;}
 .faq-list p,.mini-faq p{font-size:12px;line-height:1.6;}
 .contact-list{gap:9px;margin-top:16px;}
 .contact-list>a,.contact-list>div{padding:12px;border-radius:12px;}
 .contact-form{padding:18px 14px;border-radius:16px;}
 .contact-form input,.contact-form select,.contact-form textarea{max-width:100%;}
 .cta-box{padding:23px 18px;border-radius:18px;flex-direction:column;align-items:stretch;gap:18px;}
 .cta-box h2{font-size:26px;line-height:1.18;}
 .cta-box .btn{align-self:stretch;text-align:center;font-size:13px;}
 .quick-actions{right:10px;bottom:16px;gap:8px;}
 .quick-action{width:47px;height:47px;font-size:13px;box-shadow:0 7px 20px rgba(0,0,0,.15);}
 /* Footer: logo first, links in two columns, contact LAST across full width. */
 .site-footer{margin-top:24px;padding:36px 0 18px;}
 .footer-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 18px!important;}
 .footer-grid>div{gap:9px;}
 .footer-grid>div:first-child{grid-column:1/-1;padding-bottom:7px;}
 .footer-grid>div:last-child{grid-column:1/-1;padding-top:19px;border-top:1px solid rgba(255,255,255,.12);}
 .footer-grid h4{font-size:13px;margin-bottom:7px;}
 .footer-grid a,.footer-grid span{font-size:11.5px;line-height:1.45;}
 .footer-grid p{font-size:12px;line-height:1.6;max-width:36ch;margin:0;}
 .footer-brand img{width:min(210px,55vw)!important;max-height:48px;}
 .footer-help-links{margin-top:22px;gap:8px;padding-top:16px;}
 .footer-help-links p{flex-basis:100%;font-size:12px;}
 .footer-help-links a{font-size:11px;flex:1 1 110px;padding:8px;min-height:38px;}
 .footer-bottom{margin-top:20px;padding-top:16px;display:flex;flex-direction:column;gap:6px;text-align:center;}
 .footer-bottom span{font-size:10.5px;line-height:1.55;}
}
/* A 320px device still retains two clear columns with no horizontal scroll. */
@media(max-width:360px){
 .container{width:calc(100% - 22px);}
 .stats-grid,.stats-grid.proof-stats{gap:5px!important;}
 .stat-card{min-height:87px;padding:10px 2px;}
 .stat-card strong{font-size:25px;}
 .stat-card .stat-mobile{font-size:8.5px;}
 .service-grid,.capability-grid,.industry-grid,.feature-grid,.process-line,.lead-grid,.service-page-grid,.scope-grid,.featured-case-grid{gap:8px!important;}
 .service-card,.capability-card{padding:12px 10px!important;}
 .service-card h3,.capability-card h3{font-size:13px;}
 .service-card p,.capability-card p{font-size:10.5px;}
}
@media(prefers-reduced-motion:reduce){.service-card:hover,.capability-card:hover{transform:none!important;}}
/* Make the original navy-and-gold logo legible on the dark footer. */
.site-footer .footer-brand {
 display:inline-flex;
 flex-direction:column;
 align-self:flex-start;
 width:max-content;
 max-width:100%;
 border-radius:10px;
 background:#fff;
 padding:9px 11px;
}
.site-footer .footer-brand img {filter:none!important;opacity:1!important;max-width:100%;}
.site-footer .footer-brand small {color:#425673!important;letter-spacing:.13em;}
@media(max-width:360px){.page-glow{display:none!important;}}
/* Long headings in service cards must wrap even at 320px. */
@media(max-width:680px){
 .service-page-card{min-width:0;padding:14px 11px;overflow-wrap:anywhere;}
 .service-page-card h3,.service-page-card p{min-width:0;overflow-wrap:anywhere;word-break:normal;}
 html,body{overflow-x:clip!important;}
}

@media(max-width:680px){
 .quick-actions{transition:opacity .2s ease,transform .2s ease;}
 .quick-actions.is-near-footer{opacity:0;pointer-events:none;transform:translateY(8px);}
}
