@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{--ink:#101010;--charcoal:#181818;--paper:#fff;--ivory:#f7f4ed;--muted:#67645f;--gold:#dcae25;--gold-bright:#f6c735;--line:#dfd9ca;--success:#145d40;--radius:6px;--shadow:0 16px 42px rgba(16,16,16,.14);--display:'Montserrat',sans-serif;--body:'Source Sans 3',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;left:12px;top:-60px;z-index:999;background:var(--gold-bright);padding:10px 16px;font-weight:700}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:50;background:rgba(16,16,16,.97);border-bottom:1px solid rgba(246,199,53,.3);box-shadow:0 5px 20px rgba(0,0,0,.2)}.nav{min-height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;color:var(--paper);font-family:var(--display);font-weight:800}.brand img{width:68px;height:48px;object-fit:contain}.brand span{font-size:1.04rem}.nav-links{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0;color:#f7f4ed}.nav-links a{font-weight:600;font-size:.94rem;position:relative}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--gold-bright)}.nav-call,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 19px;border:1px solid transparent;border-radius:var(--radius);font-weight:700;line-height:1.2;cursor:pointer;transition:transform .2s,background .2s,color .2s,border .2s}.nav-call,.btn-gold{background:var(--gold-bright);color:var(--ink)}.btn-dark{background:var(--ink);color:var(--paper)}.btn-outline{border-color:currentColor;background:transparent;color:inherit}.btn:hover,.nav-call:hover{transform:translateY(-2px)}.menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--paper);border-radius:var(--radius);font-size:1.4rem}.hero{min-height:680px;display:grid;align-items:end;position:relative;color:var(--paper);background:linear-gradient(90deg,rgba(6,6,6,.88) 0%,rgba(6,6,6,.64) 45%,rgba(6,6,6,.15) 100%),url('../assets/images/vasja-group-tiles-lucknow.webp') center/cover}.hero-content{padding:110px 0 92px;max-width:760px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold-bright);font-family:var(--display);text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.1em}.eyebrow:before{content:'';width:34px;height:2px;background:currentColor}.hero h1,.page-hero h1{font-family:var(--display);font-size:clamp(2.7rem,7vw,5.6rem);line-height:1.02;letter-spacing:0;margin:.25em 0}.hero .lead{font-size:1.25rem;max-width:670px;color:#efede7}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.trust-strip{background:var(--gold-bright);color:var(--ink)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.trust-item{padding:20px;text-align:center;font-family:var(--display);font-weight:700;border-right:1px solid rgba(0,0,0,.2)}section{padding:88px 0}.section-head{max-width:760px;margin-bottom:38px}.section-head h2{font:800 clamp(2rem,4vw,3.4rem)/1.12 var(--display);letter-spacing:0;margin:.2em 0}.section-head p{color:var(--muted);font-size:1.08rem}.split{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}.split img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.surface{background:var(--ivory)}.dark{background:var(--charcoal);color:var(--paper)}.dark .section-head p,.dark .muted{color:#c9c5bb}.grid{display:grid;gap:24px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.service-card{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.card-body{padding:24px}.service-card h3,.feature h3,.article-card h2{font:700 1.22rem/1.3 var(--display);margin:0 0 9px}.service-card p,.feature p{color:var(--muted);margin:0 0 16px}.text-link{font-weight:700;border-bottom:2px solid var(--gold)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.feature{border-top:3px solid var(--gold);padding-top:20px}.feature-index{font:800 2.3rem/1 var(--display);color:var(--gold);margin-bottom:14px}.cta{padding:64px 0;background:var(--gold-bright);color:var(--ink)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font:800 clamp(1.8rem,4vw,3rem)/1.1 var(--display);margin:0}.page-hero{min-height:380px;display:grid;align-items:end;background:linear-gradient(90deg,rgba(10,10,10,.9),rgba(10,10,10,.4)),url('../assets/images/vasja-group-services-reference.webp') center/cover;color:var(--paper)}.page-hero .container{padding-block:80px}.page-hero h1{font-size:clamp(2.4rem,6vw,4.7rem);max-width:950px}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.93rem;color:#ddd}.breadcrumb a{color:var(--gold-bright)}.content h2{font:800 2rem/1.2 var(--display);margin:1.4em 0 .4em}.content h3{font:700 1.3rem/1.3 var(--display)}.content p,.content li{color:#4e4b47}.check-list{padding:0;list-style:none}.check-list li{padding:8px 0 8px 30px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--success);font-weight:800}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-row{padding:24px;border-left:4px solid var(--gold);background:var(--ivory)}.service-row h3{margin:0 0 5px;font-family:var(--display)}.gallery-controls{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.filter{border:1px solid var(--line);background:var(--paper);padding:9px 14px;border-radius:999px;cursor:pointer;font-weight:700}.filter.active,.filter:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ink);margin:0}.gallery-item img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item figcaption{position:absolute;inset:auto 0 0;padding:36px 18px 15px;background:linear-gradient(transparent,rgba(0,0,0,.9));color:var(--paper);font-weight:700}.gallery-note{padding:16px;border:1px solid var(--line);background:var(--ivory);margin-bottom:26px}.faq-list{max-width:880px}.faq-item{border-bottom:1px solid var(--line)}.faq-button{width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;border:0;background:transparent;padding:22px 0;font:700 1.05rem var(--display);cursor:pointer}.faq-answer{display:none;padding:0 0 22px;color:var(--muted)}.faq-item.open .faq-answer{display:block}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.contact-list{list-style:none;padding:0}.contact-list li{padding:14px 0;border-bottom:1px solid var(--line)}form{display:grid;gap:18px}.field{display:grid;gap:6px}.field label{font-weight:700}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.article-card{padding:28px;border:1px solid var(--line);border-top:4px solid var(--gold);background:var(--paper)}.article-card p{color:var(--muted)}.prose{max-width:820px}.prose img{margin:30px 0}.prose h2{font:800 1.9rem/1.2 var(--display);margin-top:1.7em}.prose h3{font:700 1.25rem var(--display)}.footer{background:#090909;color:#dedbd3;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr 1.2fr;gap:42px}.footer-logo{width:170px;height:110px;object-fit:contain;margin-bottom:16px}.footer h2{font:700 1rem var(--display);color:var(--paper)}.footer ul{list-style:none;padding:0;margin:0}.footer a:hover{color:var(--gold-bright)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #343434;padding-top:22px;margin-top:45px;font-size:.9rem}.legal-links{display:flex;gap:16px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}.not-found{text-align:center;min-height:65vh;display:grid;place-items:center}.not-found strong{display:block;font:800 clamp(5rem,18vw,12rem)/.8 var(--display);color:var(--gold)}:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}@media(max-width:900px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;padding:18px 20px 24px;background:var(--charcoal);flex-direction:column;align-items:stretch;border-top:1px solid #3b382f}.nav-links.open{display:flex}.nav-call{margin-left:0}.nav .nav-call span{display:none}.split,.contact-grid{grid-template-columns:1fr}.grid-4,.features{grid-template-columns:repeat(2,1fr)}.grid-3,.gallery{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:620px}.cta-inner{align-items:flex-start;flex-direction:column}}@media(max-width:580px){body{font-size:16px}.container{width:min(100% - 28px,1160px)}.brand span{display:none}.nav{min-height:68px}.nav-links{top:68px}.hero{min-height:650px;background-position:62% center}.hero-content{padding:85px 0 68px}.hero h1{font-size:2.75rem}.hero-actions .btn{width:100%}.trust-grid,.grid-3,.grid-4,.features,.gallery,.service-list,.footer-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(0,0,0,.15)}section{padding:64px 0}.page-hero{min-height:320px}.footer-bottom{flex-direction:column}.cta-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}