:root{
  --abyss:#070C14; --abyss-2:#0D1826; --panel:#122236; --panel-2:#182C44;
  --fog:#EEF2F5; --paper:#FFFFFF; --ink:#0A1220; --slate:#5C6B80; --slate-light:#8C9CB0;
  --brass:#C98A46; --brass-bright:#E4A868; --brass-dim:#9C6A34;
  --cyan:#2FE0C8; --cyan-dim:#159E8C;
  --line:rgba(255,255,255,0.09); --line-dark:rgba(10,18,32,0.10);
  --radius:16px; --radius-sm:10px; --maxw:1240px; --ease:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:'Inter',sans-serif; color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3{font-family:'Fraunces',serif; margin:0; letter-spacing:-0.01em; font-weight:600;}
p{margin:0; line-height:1.65;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px; position:relative;}
.mono{font-family:'IBM Plex Mono',monospace;}
section{padding:104px 0; position:relative;}
@media (max-width:768px){ section{padding:68px 0;} .wrap{padding:0 20px;} }

.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--brass-dim); display:flex; align-items:center; gap:10px; margin-bottom:16px; font-weight:500;}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--brass-dim); display:inline-block;}
.eyebrow.on-dark{color:var(--brass-bright);}
.eyebrow.on-dark::before{background:var(--brass-bright);}
.live-dot{width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 0 rgba(47,224,200,0.6); animation:pulse 2.2s infinite;}
.grad-text{background:linear-gradient(100deg, var(--cyan) 0%, var(--brass-bright) 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.h2-mid{font-size:clamp(26px,3vw,36px); font-weight:600;}
.lead-p{color:var(--slate); font-size:16px; margin-top:16px; max-width:600px;}

.btn{display:inline-flex; align-items:center; gap:9px; padding:14px 28px; border-radius:999px; font-weight:600; font-size:15px; border:1px solid transparent; cursor:pointer; transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease); white-space:nowrap;}
.btn-primary{background:linear-gradient(135deg, var(--brass-bright), var(--brass)); color:#170E04;}
.btn-primary:hover{box-shadow:0 8px 24px -6px rgba(201,138,70,0.55); transform:translateY(-2px);}
.btn-outline-dark{border-color:rgba(255,255,255,0.3); color:#fff; background:rgba(255,255,255,0.03);}
.btn-outline-dark:hover{border-color:var(--cyan); color:var(--cyan); background:rgba(47,224,200,0.06);}
.btn-outline-light{border-color:rgba(10,18,32,0.18); color:var(--ink);}
.btn-outline-light:hover{border-color:var(--brass); color:var(--brass-dim); background:rgba(201,138,70,0.06);}
.btn:focus-visible{outline:2px solid var(--cyan); outline-offset:3px;}
.btn-sm{padding:9px 18px; font-size:13.5px;}

/* ---------- Header ---------- */
header{position:fixed; top:0; left:0; right:0; z-index:100; background:transparent; padding:22px 0; transition:background .35s var(--ease), padding .35s var(--ease), border-color .35s var(--ease); border-bottom:1px solid transparent;}
header.scrolled{background:rgba(7,12,20,0.66); backdrop-filter:blur(16px) saturate(140%); border-bottom:1px solid var(--line); padding:14px 0;}
.nav{display:flex; align-items:center; justify-content:space-between; gap:24px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:600; font-size:19px; color:#fff;}
.brand .mark{width:34px; height:34px; border-radius:9px; background:linear-gradient(140deg, var(--cyan), var(--brass-bright)); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:13px; color:#0A1220;}
.nav-links{display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0;}
.nav-links a{color:rgba(255,255,255,0.8); font-size:14.5px; font-weight:500; position:relative; padding:4px 0;}
.nav-links a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--cyan); transition:width .25s var(--ease);}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-links a.active{color:#fff;}
.nav-cta{display:flex; align-items:center; gap:18px;}
.menu-toggle{display:none; background:none; border:none; color:#fff; cursor:pointer;}
.mobile-menu{display:none; flex-direction:column; gap:2px; background:rgba(7,12,20,0.97); backdrop-filter:blur(16px); max-height:0; overflow:hidden; transition:max-height .35s var(--ease);}
.mobile-menu.open{max-height:420px;}
.mobile-menu a{color:rgba(255,255,255,0.85); padding:14px 24px; border-top:1px solid var(--line); font-size:15px;}
@media (max-width:980px){ .nav-links{display:none;} .menu-toggle{display:block;} .mobile-menu{display:flex;} }

/* ---------- Hero (home) ---------- */
.hero{min-height:100vh; display:flex; align-items:flex-end; background:var(--abyss); overflow:hidden; padding:0; position:relative;}
.mesh-bg{position:absolute; inset:0; z-index:0; overflow:hidden;}
.blob{position:absolute; border-radius:50%; filter:blur(90px); opacity:0.5;}
.blob-a{width:520px; height:520px; background:radial-gradient(circle, var(--cyan), transparent 70%); top:-160px; left:-100px; animation:drift1 22s ease-in-out infinite;}
.blob-b{width:460px; height:460px; background:radial-gradient(circle, var(--brass), transparent 70%); bottom:-160px; right:-80px; animation:drift2 26s ease-in-out infinite;}
.blob-c{width:340px; height:340px; background:radial-gradient(circle, var(--cyan-dim), transparent 70%); top:30%; right:15%; animation:drift3 30s ease-in-out infinite;}
@keyframes drift1{0%,100%{transform:translate(0,0);} 50%{transform:translate(60px,50px);}}
@keyframes drift2{0%,100%{transform:translate(0,0);} 50%{transform:translate(-50px,-40px);}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-30px,40px) scale(1.1);}}
.hero-media{position:absolute; inset:0; z-index:1;}
.hero-media img{width:100%; height:100%; object-fit:cover; opacity:0.4; mix-blend-mode:luminosity;}
.hero-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,12,20,0.55) 0%, rgba(7,12,20,0.4) 40%, rgba(7,12,20,0.97) 100%), linear-gradient(90deg, rgba(7,12,20,0.92) 0%, rgba(7,12,20,0.2) 58%);}
.circuit-lines{position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; opacity:0.35;}
.c-path{fill:none; stroke:var(--cyan); stroke-width:1; stroke-dasharray:6 6; animation:dash 40s linear infinite;}
.c-path2{stroke:var(--brass-bright);}
.c-node{fill:var(--cyan);}
@keyframes dash{to{stroke-dashoffset:-1000;}}
.hero-inner{position:relative; z-index:2; width:100%;}
.hero-content{max-width:700px; padding-top:190px; padding-bottom:56px;}
.hero-content h1{font-size:clamp(38px,5.6vw,68px); color:#fff; line-height:1.06;}
.hero-content p{color:rgba(255,255,255,0.75); font-size:17.5px; max-width:560px; margin-top:22px;}
.hero-ctas{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.stat-strip{position:relative; z-index:2; border-top:1px solid var(--line); background:rgba(18,34,54,0.5); backdrop-filter:blur(8px);}
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr);}
.stat-cell{padding:26px 28px; border-left:1px solid var(--line);}
.stat-cell:first-child{border-left:none;}
.stat-value{font-family:'IBM Plex Mono',monospace; font-size:27px; font-weight:600; color:#fff; display:flex; align-items:center; gap:8px;}
.stat-value .dot{width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 0 rgba(47,224,200,0.6); animation:pulse 2.2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,224,200,0.55);} 70%{box-shadow:0 0 0 8px rgba(47,224,200,0);} 100%{box-shadow:0 0 0 0 rgba(47,224,200,0);}}
.stat-label{font-size:12.5px; color:var(--slate-light); margin-top:6px;}
@media (max-width:768px){ .stat-grid{grid-template-columns:repeat(2,1fr);} .stat-cell:nth-child(3){border-left:none;} .stat-cell{border-bottom:1px solid var(--line);} }

/* ---------- Page hero (interior pages) ---------- */
.page-hero{background:var(--abyss); color:#fff; padding:170px 0 64px; position:relative; overflow:hidden;}
.page-hero .mesh-bg .blob{opacity:0.32;}
.breadcrumb{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--slate-light); position:relative; z-index:2; margin-bottom:18px;}
.breadcrumb a{color:var(--slate-light);}
.breadcrumb a:hover{color:var(--cyan);}
.page-hero h1{font-size:clamp(32px,4.4vw,52px); position:relative; z-index:2; max-width:760px;}
.page-hero .lead-p{color:rgba(255,255,255,0.72); position:relative; z-index:2; max-width:640px;}

/* ---------- Trust row ---------- */
.trust-row{background:var(--fog); padding:26px 0; border-bottom:1px solid var(--line-dark);}
.trust-inner{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px 28px;}
.trust-item{display:flex; align-items:center; gap:9px; font-size:13.5px; font-weight:600; color:var(--slate);}
.trust-item svg{flex-shrink:0; color:var(--brass);}

/* ---------- Split layout ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;}
.split.reverse .split-media{order:2;}
@media (max-width:900px){ .split{grid-template-columns:1fr; gap:36px;} .split.reverse .split-media{order:0;} }
.tilt-card{perspective:1000px;}
.split-media{position:relative; border-radius:var(--radius); overflow:hidden; transition:transform .4s var(--ease); transform-style:preserve-3d;}
.split-media img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; transition:transform .6s var(--ease);}
.tilt-card:hover .split-media img{transform:scale(1.04);}
.media-glow{position:absolute; inset:0; border-radius:var(--radius); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12); background:linear-gradient(160deg, rgba(47,224,200,0.10), transparent 40%, rgba(201,138,70,0.10)); pointer-events:none;}

.checklist{list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:14px;}
.checklist li{display:flex; gap:12px; font-size:15px; color:rgba(255,255,255,0.78);}
.checklist.on-light li{color:var(--slate);}
.checklist .tick{flex-shrink:0; width:20px; height:20px; border-radius:50%; background:rgba(47,224,200,0.14); color:var(--cyan); display:flex; align-items:center; justify-content:center; margin-top:2px;}
.mini-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); margin-top:36px; border-radius:12px; overflow:hidden;}
.mini-stat{background:var(--panel); padding:18px 16px;}
.mini-stat .v{font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:20px; color:#fff;}
.mini-stat .l{font-size:11.5px; color:var(--slate-light); margin-top:4px; line-height:1.35;}
@media (max-width:640px){ .mini-stats{grid-template-columns:repeat(2,1fr);} }

/* ---------- Bento service grid ---------- */
.services-section{background:var(--fog);}
.services-head{max-width:640px; margin-bottom:52px;}
.bento-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; gap:14px;}
.service-card.card-lg{grid-column:span 2;}
@media (max-width:980px){ .bento-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .bento-grid{grid-template-columns:1fr;} .service-card.card-lg{grid-column:span 1;} }
.service-card{position:relative; background:var(--paper); border-radius:var(--radius); border:1px solid var(--line-dark); padding:32px 28px; display:flex; flex-direction:column; gap:14px; overflow:hidden; transition:border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);}
.service-card:hover{transform:translateY(-4px); border-color:rgba(201,138,70,0.4); box-shadow:0 18px 40px -20px rgba(10,18,32,0.35);}
.spotlight::before{content:""; position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .35s var(--ease); background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(201,138,70,0.14), transparent 65%);}
.spotlight:hover::before{opacity:1;}
.service-icon{width:44px; height:44px; border-radius:11px; background:var(--ink); color:var(--cyan); display:flex; align-items:center; justify-content:center;}
.service-card h3{font-size:17px; font-weight:600; font-family:'Inter',sans-serif;}
.service-card p{font-size:14px; color:var(--slate); flex-grow:1;}
.service-card .more{font-size:13px; font-weight:600; color:var(--brass-dim); display:inline-flex; align-items:center; gap:6px;}
.service-card .more svg{transition:transform .2s var(--ease);}
.service-card:hover .more svg{transform:translateX(3px);}
.view-all{margin-top:44px; text-align:center;}
.service-tag-nav{display:flex; flex-wrap:wrap; gap:10px; position:relative; z-index:2; margin-top:28px;}
.service-tag-nav a{font-family:'IBM Plex Mono',monospace; font-size:12.5px; padding:8px 14px; border-radius:999px; border:1px solid rgba(255,255,255,0.18); color:rgba(255,255,255,0.75);}
.service-tag-nav a:hover{border-color:var(--cyan); color:var(--cyan);}

/* ---------- Dark bands ---------- */
.band-dark{background:var(--abyss); color:#fff; overflow:hidden;}
.band-dark .lead-p, .band-dark p{color:var(--slate-light);}
.cta-block{background:var(--abyss-2); color:#fff;}
.cta-block .lead-p, .cta-block p{color:rgba(255,255,255,0.72);}
.panel-card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:28px;}

/* ---------- Coverage ---------- */
.coverage{background:var(--fog);}
.coverage-media{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line-dark);}
.coverage-svg{width:100%; height:auto; display:block; border-radius:var(--radius);}
.cov-node circle{fill:var(--brass); stroke:var(--paper); stroke-width:2;}
.cov-node text{font-family:'IBM Plex Mono',monospace; font-size:11px; fill:var(--slate-light); text-anchor:middle;}
.cov-link{fill:none; stroke:var(--cyan); stroke-width:1.4; stroke-dasharray:4 5; opacity:0.6;}
.country-pills{display:flex; flex-wrap:wrap; gap:9px; margin-top:24px;}
.country-pills span{font-family:'IBM Plex Mono',monospace; font-size:12px; padding:7px 13px; border-radius:999px; background:var(--paper); border:1px solid var(--line-dark); color:var(--slate);}

/* ---------- Sarvaansh services grid ---------- */
.sarvaansh-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.sv-card-wide{grid-column:span 2;}
@media (max-width:900px){ .sarvaansh-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .sarvaansh-grid{grid-template-columns:1fr;} .sv-card-wide{grid-column:span 1;} }
.sv-card{position:relative; background:var(--paper); border:1px solid var(--line-dark); border-radius:var(--radius); padding:26px 22px; transition:transform .3s var(--ease), border-color .3s var(--ease);}
.sv-card:hover{transform:translateY(-3px); border-color:rgba(201,138,70,0.4);}
.sv-num{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--slate-light); position:absolute; top:18px; right:20px;}
.sv-icon{width:40px; height:40px; border-radius:10px; background:var(--ink); color:var(--cyan); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.sv-card h3{font-size:15.5px; font-weight:600; font-family:'Inter',sans-serif; margin-bottom:6px;}
.sv-card p{font-size:13.5px; color:var(--slate);}

/* ---------- Team / value cards (about) ---------- */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:900px){ .card-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .card-grid{grid-template-columns:1fr;} }
.value-card{background:var(--fog); border-radius:var(--radius); padding:28px; border:1px solid var(--line-dark);}
.value-card h3{font-size:17px; margin-bottom:8px;}
.value-card p{color:var(--slate); font-size:14px;}
.team-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
@media (max-width:900px){ .team-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:560px){ .team-grid{grid-template-columns:repeat(2,1fr);} }
.team-card{text-align:center; padding:22px 14px;}
.team-card .ti{width:52px; height:52px; border-radius:50%; background:var(--ink); color:var(--cyan); display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
.team-card h3{font-size:14.5px;}
.team-card p{font-size:12.5px; color:var(--slate); margin-top:4px;}

/* ---------- Service detail template ---------- */
.service-detail-block{padding:88px 0; border-bottom:1px solid var(--line-dark);}
.service-detail-block:last-of-type{border-bottom:none;}
.feature-list{list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 24px;}
@media (max-width:640px){ .feature-list{grid-template-columns:1fr;} }
.feature-list li{display:flex; gap:10px; font-size:14.5px; color:var(--slate);}
.feature-list li::before{content:"→"; color:var(--brass); font-weight:600; flex-shrink:0;}
.related-services{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media (max-width:768px){ .related-services{grid-template-columns:1fr;} }
.related-card{background:var(--paper); border:1px solid var(--line-dark); border-radius:var(--radius-sm); padding:20px; transition:border-color .25s var(--ease), transform .25s var(--ease);}
.related-card:hover{border-color:var(--brass); transform:translateY(-2px);}
.related-card .tag{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--brass-dim); text-transform:uppercase; letter-spacing:0.08em;}
.related-card h3{font-size:15px; margin-top:6px;}

/* ---------- Final CTA ---------- */
.final-cta{background:var(--abyss); color:#fff; text-align:center; padding:100px 0; overflow:hidden;}
.mesh-bg-cta .blob{opacity:0.3;}
.final-cta h2{font-size:clamp(28px,4vw,44px); max-width:720px; margin:0 auto; position:relative; z-index:2;}
.cta-sub{color:rgba(255,255,255,0.68); max-width:560px; margin:18px auto 0; position:relative; z-index:2;}
.final-cta-actions{display:flex; gap:16px; justify-content:center; margin-top:34px; flex-wrap:wrap; position:relative; z-index:2;}
.phone-link{display:inline-flex; align-items:center; gap:9px; color:rgba(255,255,255,0.85); font-weight:600; padding:14px 10px;}
.phone-link:hover{color:var(--cyan);}

/* ---------- Contact form ---------- */
.contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:start;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
.contact-info dt{font-family:'IBM Plex Mono',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--brass-dim); margin-top:22px;}
.contact-info dt:first-child{margin-top:0;}
.contact-info dd{margin:6px 0 0; font-size:15px; color:var(--ink);}
.contact-info dd a:hover{color:var(--brass-dim);}
.quote{margin-top:32px; padding:20px 22px; background:var(--fog); border-left:3px solid var(--brass); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-style:italic; color:var(--slate); font-size:14.5px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:560px){ .form-grid{grid-template-columns:1fr;} }
.field{display:flex; flex-direction:column; gap:7px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13px; font-weight:600; color:var(--ink);}
.field input, .field select, .field textarea{
  border:1px solid var(--line-dark); border-radius:10px; padding:12px 14px; font-family:'Inter',sans-serif; font-size:14.5px; color:var(--ink); background:var(--paper);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--brass); box-shadow:0 0 0 3px rgba(201,138,70,0.14);}
.field textarea{resize:vertical; min-height:120px;}
.form-note{font-size:12.5px; color:var(--slate-light); margin-top:14px;}
.form-status{display:none; margin-top:16px; padding:12px 16px; border-radius:10px; font-size:14px;}
.form-status.ok{display:block; background:rgba(47,224,200,0.12); color:var(--cyan-dim);}
.form-status.err{display:block; background:rgba(220,90,60,0.10); color:#B5432A;}

/* ---------- Footer ---------- */
footer{background:#050810; color:rgba(255,255,255,0.65); padding:76px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:48px;}
@media (max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }
@media (max-width:560px){ .footer-grid{grid-template-columns:1fr;} }
footer h4{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:18px; font-weight:500;}
footer .brand{color:#fff; margin-bottom:16px;}
footer p.blurb{font-size:14px; color:rgba(255,255,255,0.55); max-width:340px;}
footer .addr{font-size:14px; color:rgba(255,255,255,0.6); line-height:1.6; margin:0;}
.footer-contacts{display:flex; flex-direction:column; gap:10px; margin-top:20px;}
.footer-contacts a{font-size:14px; color:rgba(255,255,255,0.7); display:flex; align-items:center; gap:9px;}
.footer-contacts a:hover{color:var(--cyan);}
footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
footer ul a{font-size:14px; color:rgba(255,255,255,0.65);}
footer ul a:hover{color:#fff;}
.footer-bottom{margin-top:60px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; color:rgba(255,255,255,0.4);}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:none;}

@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

/* ---------- Homepage Sarvaansh preview tile ---------- */
.sv-preview{background:var(--panel); border-radius:var(--radius); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; padding:28px;}
.sv-mini{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.sv-mini span{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:#fff; background:rgba(255,255,255,0.06); border:1px solid var(--line); padding:9px 14px; border-radius:999px;}

/* ---------- Sister company panel (services page) ---------- */
.sister-panel{
  background:var(--abyss); border:1px solid var(--line); border-radius:var(--radius);
  padding:48px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
}
.sister-panel-text .checklist{margin-top:20px;}
@media (max-width:768px){
  .sister-panel{grid-template-columns:1fr; padding:32px; text-align:left;}
  .sister-panel-cta{margin-top:8px;}
}

/* ---------- FAQ chatbot widget ---------- */
#bsChatbotLauncher{
  position:fixed; bottom:24px; right:24px; z-index:200;
  width:56px; height:56px; border-radius:50%; border:none; cursor:pointer;
  background:linear-gradient(135deg, var(--cyan), var(--brass-bright));
  color:#0A1220; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px -8px rgba(10,18,32,0.45);
  transition:transform .25s var(--ease);
}
#bsChatbotLauncher:hover{transform:translateY(-2px) scale(1.04);}
#bsChatbotLauncher.active{background:var(--ink); color:#fff;}
#bsChatbotPanel{
  position:fixed; bottom:92px; right:24px; z-index:200;
  width:340px; max-width:calc(100vw - 32px); max-height:70vh;
  background:var(--paper); border-radius:var(--radius); border:1px solid var(--line-dark);
  box-shadow:0 24px 60px -16px rgba(10,18,32,0.35);
  display:flex; flex-direction:column; overflow:hidden;
  opacity:0; transform:translateY(12px) scale(0.98); pointer-events:none;
  transition:opacity .25s var(--ease), transform .25s var(--ease);
}
#bsChatbotPanel.open{opacity:1; transform:none; pointer-events:auto;}
.bs-chat-head{background:var(--abyss); color:#fff; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; font-family:'IBM Plex Mono',monospace; font-size:13px;}
.bs-chat-head button{background:none; border:none; color:#fff; font-size:20px; cursor:pointer; line-height:1;}
.bs-chat-body{padding:16px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; flex:1; min-height:120px;}
.bs-msg{font-size:13.5px; line-height:1.5; padding:10px 13px; border-radius:12px; max-width:88%;}
.bs-msg.bot{background:var(--fog); color:var(--ink); align-self:flex-start; border-bottom-left-radius:3px;}
.bs-msg.user{background:var(--ink); color:#fff; align-self:flex-end; border-bottom-right-radius:3px;}
.bs-msg-link{display:inline-block; margin-top:6px; font-size:12.5px; font-weight:600; color:var(--brass-dim);}
.bs-chat-quick{display:flex; flex-direction:column; gap:6px; padding:0 16px 12px; border-top:1px solid var(--line-dark); padding-top:12px;}
.bs-quick-btn{
  text-align:left; font-size:12.5px; padding:8px 12px; border-radius:8px;
  border:1px solid var(--line-dark); background:var(--paper); color:var(--slate); cursor:pointer;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.bs-quick-btn:hover{border-color:var(--brass); color:var(--brass-dim);}
.bs-chat-human{display:block; text-align:center; padding:11px; font-size:12.5px; font-weight:600; color:#fff; background:var(--ink);}
.bs-chat-human:hover{background:var(--abyss-2);}
@media (max-width:480px){ #bsChatbotPanel{right:16px; bottom:82px; width:calc(100vw - 32px);} #bsChatbotLauncher{right:16px; bottom:16px;} }
