/* Idea Se India V28.1 — live imagery layer. Loaded only on non-travel pages. */
:root{
  --v28-live-ink:#081a33;
  --v28-live-muted:#60708a;
  --v28-live-line:rgba(8,26,51,.11);
  --v28-live-surface:rgba(255,255,255,.86);
}
body.v28-live-enhanced{
  background:
    radial-gradient(circle at 8% 8%, rgba(42,111,255,.07), transparent 27rem),
    radial-gradient(circle at 92% 18%, rgba(255,145,72,.07), transparent 24rem),
    #f7f9fc;
}
body.v28-live-enhanced main > section:not(.hero):not(.fire-page-hero):not(.service-page-hero):not(.v28-live-band){
  position:relative;
}
body.v28-live-enhanced main > section:not(.hero):not(.fire-page-hero):not(.service-page-hero):not(.v28-live-band):nth-of-type(even){
  background-image:
    radial-gradient(circle at 5% 5%, rgba(64,126,255,.035), transparent 18rem),
    radial-gradient(circle at 95% 95%, rgba(255,150,91,.035), transparent 20rem);
}

/* Homepage: preserve V28 composition but replace abstract-only visual with photography. */
.hero-visual.v28-photo-hero{
  min-height:480px;
  border-radius:32px;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 30px 80px rgba(0,18,44,.33);
  border:1px solid rgba(255,255,255,.18);
  background:#0c1f37;
}
.hero-visual.v28-photo-hero::after{
  content:"";
  position:absolute; inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(4,18,37,.05),rgba(4,18,37,.72)),
    linear-gradient(90deg,rgba(3,18,38,.2),transparent 55%);
  pointer-events:none;
}
.v28-hero-photo{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.02);
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1), filter .6s ease;
  filter:saturate(1.04) contrast(1.04);
}
.hero-visual.v28-photo-hero:hover .v28-hero-photo{transform:scale(1.075); filter:saturate(1.1) contrast(1.06)}
.v28-photo-caption{
  position:absolute; left:24px; right:24px; bottom:22px; z-index:4;
  display:flex; align-items:flex-end; justify-content:space-between; gap:18px;
  color:#fff;
}
.v28-photo-caption strong{font-size:clamp(1.5rem,2.2vw,2.35rem);line-height:1;max-width:330px;letter-spacing:-.04em}
.v28-photo-caption span{font-size:.77rem;letter-spacing:.14em;text-transform:uppercase;opacity:.82;text-align:right}
.hero-visual.v28-photo-hero .float-card{z-index:5;backdrop-filter:blur(13px);background:rgba(6,25,49,.68);border-color:rgba(255,255,255,.18)}
.hero-visual.v28-photo-hero .visual-core,.hero-visual.v28-photo-hero .orbit{display:none}

/* Home cards — photography first, not infographic first. */
body.v28-live-enhanced .service-card .card-media{min-height:245px;overflow:hidden;background:#0d2038}
body.v28-live-enhanced .service-card .card-media > img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s ease;
  filter:saturate(1.03) contrast(1.03);
}
body.v28-live-enhanced .service-card:hover .card-media > img{transform:scale(1.075);filter:saturate(1.12) contrast(1.06)}
body.v28-live-enhanced .service-card .media-overlay{
  background:linear-gradient(180deg,rgba(3,15,31,.02),rgba(3,15,31,.58));
}
body.v28-live-enhanced .service-card::after{
  content:"";position:absolute;inset:auto -40% 0 -40%;height:2px;
  background:linear-gradient(90deg,transparent,currentColor,transparent);
  opacity:.28;transform:translateX(-34%);transition:transform .65s ease;
}
body.v28-live-enhanced .service-card:hover::after{transform:translateX(34%)}
body.v28-live-enhanced .shop-visual{position:relative}
body.v28-live-enhanced .shop-visual > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.v28-live-enhanced .shop-visual .shop-shape,body.v28-live-enhanced .shop-visual .shop-bag{display:none}

/* Main service-page imagery */
body.v28-live-enhanced .hero-media,
body.v28-live-enhanced .v18-context-media,
body.v28-live-enhanced .service-media-card{
  overflow:hidden;
}
body.v28-live-enhanced .hero-media img,
body.v28-live-enhanced .v18-context-media img,
body.v28-live-enhanced .service-media-card img{
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
body.v28-live-enhanced .hero-media:hover img,
body.v28-live-enhanced .v18-context-media:hover img,
body.v28-live-enhanced .service-media-card:hover img{transform:scale(1.045);filter:saturate(1.08) contrast(1.04)}

/* Reusable photography break injected into non-travel service pages. */
.v28-live-band{
  --live-accent:#2f7cff;
  padding:clamp(42px,6vw,84px) 20px;
  background:
    radial-gradient(circle at 12% 14%,color-mix(in srgb,var(--live-accent) 16%,transparent),transparent 24rem),
    linear-gradient(135deg,#07182e 0%,#0b2340 52%,#0b1a2d 100%);
  color:#fff;
  overflow:hidden;
  position:relative;
  isolation:isolate;
}
.v28-live-band::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);
}
.v28-live-band.theme-commerce{--live-accent:#ff914d}
.v28-live-band.theme-tech{--live-accent:#2d8cff}
.v28-live-band.theme-tax{--live-accent:#25b46b}
.v28-live-band.theme-growth{--live-accent:#a84cff}
.v28-live-band.theme-fire{--live-accent:#f04444}
.v28-live-band.theme-legal{--live-accent:#d69532}
.v28-live-band.theme-gov{--live-accent:#27a7e8}
.v28-live-band.theme-b2b{--live-accent:#22b89c}
.v28-live-band.theme-experts{--live-accent:#7596ff}
.v28-live-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:clamp(28px,4vw,58px);align-items:center}
.v28-live-media{
  position:relative;min-height:390px;border-radius:28px;overflow:hidden;
  box-shadow:0 30px 65px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.16);
  transform:translateY(20px);opacity:0;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);
}
.v28-live-band.is-visible .v28-live-media{opacity:1;transform:translateY(0)}
.v28-live-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.v28-live-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,13,27,.78));pointer-events:none}
.v28-live-media:hover img{transform:scale(1.055);filter:saturate(1.08)}
.v28-live-media-tag{position:absolute;left:20px;bottom:18px;z-index:2;background:rgba(6,19,36,.72);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);padding:10px 14px;border-radius:999px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.v28-live-copy{transform:translateY(20px);opacity:0;transition:opacity .75s .1s ease,transform .75s .1s cubic-bezier(.2,.7,.2,1)}
.v28-live-band.is-visible .v28-live-copy{opacity:1;transform:translateY(0)}
.v28-live-kicker{display:inline-flex;align-items:center;gap:9px;color:color-mix(in srgb,var(--live-accent) 82%,#fff);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.v28-live-kicker::before{content:"";width:28px;height:2px;background:var(--live-accent);border-radius:99px}
.v28-live-copy h2{margin:14px 0 16px;color:#fff;font-size:clamp(2rem,4vw,3.45rem);line-height:1.02;letter-spacing:-.045em}
.v28-live-copy p{margin:0;color:rgba(236,244,255,.78);font-size:1.04rem;line-height:1.75;max-width:620px}
.v28-live-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.v28-live-pills span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);font-size:.78rem;color:#edf4ff}
.v28-live-button{display:inline-flex;align-items:center;gap:10px;margin-top:24px;text-decoration:none;color:#07172d;background:#fff;padding:13px 17px;border-radius:999px;font-weight:800;transition:transform .25s ease,box-shadow .25s ease}
.v28-live-button span{transition:transform .25s ease}.v28-live-button:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.25)}.v28-live-button:hover span{transform:translateX(4px)}

/* More premium photography framing on government categories. */
.v28-government-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 0}
.v28-government-photo-grid article{position:relative;min-height:210px;border-radius:20px;overflow:hidden;border:1px solid var(--v28-live-line);box-shadow:0 18px 35px rgba(11,33,64,.10);background:#fff}
.v28-government-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.v28-government-photo-grid article:hover img{transform:scale(1.06)}
.v28-government-photo-grid span{position:absolute;left:12px;bottom:12px;padding:8px 10px;border-radius:999px;background:rgba(6,23,45,.82);color:#fff;font-weight:800;font-size:.75rem;backdrop-filter:blur(8px)}

/* Plain sections get depth without forcing a redesign. */
body.v28-live-enhanced .card,
body.v28-live-enhanced [data-v20-card="1"]{
  box-shadow:0 12px 35px rgba(10,33,65,.07);
}
body.v28-live-enhanced .button,
body.v28-live-enhanced .btn,
body.v28-live-enhanced .topcta,
body.v28-live-enhanced .nav-contact{
  position:relative;overflow:hidden;
}
body.v28-live-enhanced .button::after,
body.v28-live-enhanced .btn::after,
body.v28-live-enhanced .topcta::after,
body.v28-live-enhanced .nav-contact::after{
  content:"";position:absolute;top:-120%;left:-35%;width:28%;height:340%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transition:left .6s ease;pointer-events:none;
}
body.v28-live-enhanced .button:hover::after,
body.v28-live-enhanced .btn:hover::after,
body.v28-live-enhanced .topcta:hover::after,
body.v28-live-enhanced .nav-contact:hover::after{left:125%}

@media (max-width:900px){
  .hero-visual.v28-photo-hero{min-height:390px}
  .v28-live-inner{grid-template-columns:1fr}
  .v28-live-media{min-height:320px}
  .v28-government-photo-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .hero-visual.v28-photo-hero{min-height:350px;border-radius:24px}
  .v28-photo-caption{left:18px;right:18px;bottom:17px}.v28-photo-caption span{display:none}
  body.v28-live-enhanced .service-card .card-media{min-height:210px}
  .v28-live-band{padding:36px 16px}.v28-live-media{min-height:260px;border-radius:22px}.v28-live-copy h2{font-size:2rem}
  .v28-government-photo-grid{grid-template-columns:1fr}.v28-government-photo-grid article{min-height:235px}
}
@media (prefers-reduced-motion:reduce){
  .v28-live-media,.v28-live-copy{opacity:1;transform:none;transition:none}
  .v28-live-media img,.v28-hero-photo,body.v28-live-enhanced .service-card .card-media>img{transition:none!important;transform:none!important}
}
