/* GEXYRAL INNER VISUAL QUALITY TARGETED UPGRADE V1
 * Additive visual layer for non-home inner page families.
 * Scope: Service / Solution / City / Case / Resource / Insight.
 * No semantic copy, route, SEO, Hero asset, homepage or CMS mutation.
 */

:root{
  --gex-vq-radius:24px;
  --gex-vq-line:rgba(102,160,236,.18);
  --gex-vq-shadow:0 26px 80px rgba(0,0,0,.23);
}

/* Family visual identities: keep one dark system, stop every family looking identical. */
body[data-page-type^="service"]{
  --gex-vq-accent:#3aa8ff;
  --gex-vq-accent-rgb:58,168,255;
  --gex-vq-accent-2:#70d7ff;
}
body[data-page-type^="solution"]{
  --gex-vq-accent:#8f8cff;
  --gex-vq-accent-rgb:143,140,255;
  --gex-vq-accent-2:#53d5ff;
}
body[data-page-type^="city"]{
  --gex-vq-accent:#51cdbb;
  --gex-vq-accent-rgb:81,205,187;
  --gex-vq-accent-2:#77d7ff;
}
body[data-page-type^="case"]{
  --gex-vq-accent:#7b8cff;
  --gex-vq-accent-rgb:123,140,255;
  --gex-vq-accent-2:#42bfff;
}
body[data-page-type^="resource"]{
  --gex-vq-accent:#5ed6e8;
  --gex-vq-accent-rgb:94,214,232;
  --gex-vq-accent-2:#8fe8ff;
}
body[data-page-type^="insight"]{
  --gex-vq-accent:#64d9ad;
  --gex-vq-accent-rgb:100,217,173;
  --gex-vq-accent-2:#7fdfff;
}

/* Section rhythm: subtle family signal without changing copy or section order. */
body[data-page-type^="service"] .gexyral-inner-section,
body[data-page-type^="solution"] .gexyral-inner-section,
body[data-page-type^="city"] .gexyral-inner-section,
body[data-page-type^="case"] .gexyral-inner-section,
body[data-page-type^="resource"] .gexyral-inner-section,
body[data-page-type^="insight"] .gexyral-inner-section{
  isolation:isolate;
}
body[data-page-type^="service"] .gexyral-inner-section::after,
body[data-page-type^="solution"] .gexyral-inner-section::after,
body[data-page-type^="city"] .gexyral-inner-section::after,
body[data-page-type^="case"] .gexyral-inner-section::after,
body[data-page-type^="resource"] .gexyral-inner-section::after,
body[data-page-type^="insight"] .gexyral-inner-section::after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:min(42vw,620px);
  height:min(42vw,620px);
  border-radius:50%;
  right:-18%;
  top:8%;
  background:radial-gradient(circle,rgba(var(--gex-vq-accent-rgb),.055),transparent 68%);
  filter:blur(2px);
}
body[data-page-type^="service"] .gexyral-inner-section-head>span,
body[data-page-type^="solution"] .gexyral-inner-section-head>span,
body[data-page-type^="city"] .gexyral-inner-section-head>span,
body[data-page-type^="case"] .gexyral-inner-section-head>span,
body[data-page-type^="resource"] .gexyral-inner-section-head>span,
body[data-page-type^="insight"] .gexyral-inner-section-head>span{
  color:var(--gex-vq-accent);
  text-shadow:0 0 20px rgba(var(--gex-vq-accent-rgb),.14);
}
body[data-page-type^="service"] .gexyral-inner-section-head h2,
body[data-page-type^="solution"] .gexyral-inner-section-head h2,
body[data-page-type^="city"] .gexyral-inner-section-head h2,
body[data-page-type^="case"] .gexyral-inner-section-head h2,
body[data-page-type^="resource"] .gexyral-inner-section-head h2,
body[data-page-type^="insight"] .gexyral-inner-section-head h2{
  text-wrap:balance;
}

/* Shared high-value card surface. */
body[data-page-type^="service"] :is(
  .gexyral-service-map-card,
  .gexyral-business-entry-grid article,
  .gexyral-detail-intro-grid>article,
  .gexyral-detail-scope-grid>article,
  .gexyral-detail-value-grid>article,
  .gexyral-detail-process-grid>article,
  .gexyral-detail-acceptance-grid>article,
  .gexyral-detail-related-grid>a
),
body[data-page-type^="solution"] :is(
  .gexyral-solution-card,
  .gexyral-solution-diagnosis-grid>article,
  .gexyral-solution-architecture-grid>article,
  .gexyral-solution-method-track>article,
  .gexyral-detail-intro-grid>article,
  .gexyral-detail-scope-grid>article,
  .gexyral-detail-value-grid>article,
  .gexyral-detail-process-grid>article,
  .gexyral-detail-acceptance-grid>article,
  .gexyral-detail-related-grid>a
),
body[data-page-type^="city"] :is(
  .gexyral-city-detail-profile-card,
  .gexyral-city-detail-service-grid>article,
  .gexyral-city-detail-need-grid>article,
  .gexyral-city-combination-card,
  .gexyral-city-detail-scenario-grid>article,
  .gexyral-city-detail-delivery-grid>article,
  .gexyral-city-project-signal-grid>article
),
body[data-page-type^="case"] :is(
  .gexyral-case-detail-lead,
  .gexyral-case-detail-facts,
  .gexyral-case-device-card,
  .gexyral-case-transformation-grid>article,
  .gexyral-case-structure-grid>article,
  .gexyral-case-service-grid>article,
  .gexyral-case-technical-grid>article,
  .gexyral-case-evidence-panel,
  .gexyral-case-related-grid>a
),
body[data-page-type^="resource"] :is(
  .gexyral-resource-card,
  .gexyral-resource-stats>article,
  .gexyral-resource-category-grid>a,
  .gexyral-resource-method-track>article,
  .gexyral-resource-detail-lead,
  .gexyral-resource-detail-grid>article,
  .gexyral-resource-related-grid>a
),
body[data-page-type^="insight"] :is(
  .gexyral-insight-card,
  .gexyral-insight-stats>article,
  .gexyral-insight-category-grid>a,
  .gexyral-insight-method-track>article,
  .gexyral-insight-signal-grid>article,
  .gexyral-insight-detail-lead,
  .gexyral-insight-detail-list-grid>article,
  .gexyral-insight-framework-track>article,
  .gexyral-insight-related-grid>a
){
  position:relative;
  overflow:hidden;
  border-color:rgba(var(--gex-vq-accent-rgb),.22);
  background:
    radial-gradient(circle at 0 0,rgba(var(--gex-vq-accent-rgb),.105),transparent 38%),
    linear-gradient(145deg,rgba(7,24,53,.92),rgba(4,14,32,.88));
  box-shadow:var(--gex-vq-shadow),inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;
}

/* Micro-edge gives cards an intentional hardware / product surface instead of a generic dark box. */
body[data-page-type^="service"] :is(.gexyral-service-map-card,.gexyral-business-entry-grid article,.gexyral-detail-scope-grid>article,.gexyral-detail-value-grid>article)::before,
body[data-page-type^="solution"] :is(.gexyral-solution-card,.gexyral-solution-diagnosis-grid>article,.gexyral-solution-architecture-grid>article)::before,
body[data-page-type^="city"] :is(.gexyral-city-detail-profile-card,.gexyral-city-combination-card,.gexyral-city-detail-service-grid>article)::before,
body[data-page-type^="case"] :is(.gexyral-case-device-card,.gexyral-case-evidence-panel,.gexyral-case-structure-grid>article)::before,
body[data-page-type^="resource"] :is(.gexyral-resource-card,.gexyral-resource-detail-lead,.gexyral-resource-method-track>article)::before,
body[data-page-type^="insight"] :is(.gexyral-insight-card,.gexyral-insight-detail-lead,.gexyral-insight-method-track>article)::before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  width:92px;
  height:2px;
  background:linear-gradient(90deg,var(--gex-vq-accent),transparent);
  box-shadow:0 0 18px rgba(var(--gex-vq-accent-rgb),.24);
  pointer-events:none;
}

@media (hover:hover) and (pointer:fine){
  body[data-page-type^="service"] :is(.gexyral-service-map-card,.gexyral-business-entry-grid article,.gexyral-detail-related-grid>a):hover,
  body[data-page-type^="solution"] :is(.gexyral-solution-card,.gexyral-solution-diagnosis-grid>article,.gexyral-detail-related-grid>a):hover,
  body[data-page-type^="city"] :is(.gexyral-city-detail-service-grid>article,.gexyral-city-combination-card,.gexyral-city-detail-scenario-grid>article):hover,
  body[data-page-type^="case"] :is(.gexyral-case-device-card,.gexyral-case-service-grid>article,.gexyral-case-related-grid>a):hover,
  body[data-page-type^="resource"] :is(.gexyral-resource-card,.gexyral-resource-category-grid>a,.gexyral-resource-related-grid>a):hover,
  body[data-page-type^="insight"] :is(.gexyral-insight-card,.gexyral-insight-category-grid>a,.gexyral-insight-related-grid>a):hover{
    transform:translateY(-5px);
    border-color:rgba(var(--gex-vq-accent-rgb),.46);
    box-shadow:0 32px 88px rgba(0,0,0,.3),0 0 0 1px rgba(var(--gex-vq-accent-rgb),.035) inset;
  }
}

/* SERVICE: stronger engineering / system-map character. */
body[data-page-type^="service"] .gexyral-service-map-section{
  background:
    linear-gradient(90deg,rgba(58,168,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(58,168,255,.03) 1px,transparent 1px),
    #020713;
  background-size:72px 72px;
}
body[data-page-type^="service"] .gexyral-service-map-card header{
  border-bottom-color:rgba(58,168,255,.18);
}
body[data-page-type^="service"] .gexyral-decision-number span{
  color:#ccecff;
  border-color:rgba(58,168,255,.35);
  box-shadow:0 0 30px rgba(58,168,255,.08);
}
body[data-page-type^="service"] .gexyral-detail-structure-track{
  border-color:rgba(58,168,255,.28);
  background:linear-gradient(150deg,rgba(5,25,57,.88),rgba(3,13,31,.92));
}

/* SOLUTION: more strategic / layered than service pages. */
body[data-page-type^="solution"] .gexyral-solution-map-section{
  background:
    radial-gradient(circle at 82% 10%,rgba(143,140,255,.09),transparent 34%),
    linear-gradient(180deg,#020713,#040817);
}
body[data-page-type^="solution"] .gexyral-solution-card:nth-child(even){
  background:
    radial-gradient(circle at 100% 0,rgba(83,213,255,.09),transparent 38%),
    linear-gradient(145deg,rgba(13,20,55,.92),rgba(4,14,32,.9));
}
body[data-page-type^="solution"] .gexyral-solution-card header b,
body[data-page-type^="solution"] .gexyral-solution-method-track span{
  color:#c9c8ff;
}
body[data-page-type^="solution"] .gexyral-solution-pain{
  border-color:rgba(143,140,255,.16);
  background:rgba(143,140,255,.045);
}

/* CITY: geo / industrial network texture, less like another service page. */
body[data-page-type^="city"] .gexyral-city-detail-context,
body[data-page-type^="city"] .gexyral-inner-section.is-alt{
  background:
    linear-gradient(120deg,rgba(81,205,187,.025),transparent 36%),
    radial-gradient(circle at 12% 24%,rgba(81,205,187,.07),transparent 31%),
    #031021;
}
body[data-page-type^="city"] .gexyral-city-detail-profile-card{
  background:
    repeating-linear-gradient(135deg,rgba(81,205,187,.025) 0 1px,transparent 1px 18px),
    radial-gradient(circle at 100% 0,rgba(81,205,187,.12),transparent 38%),
    linear-gradient(145deg,rgba(6,31,56,.94),rgba(3,15,31,.92));
}
body[data-page-type^="city"] .gexyral-city-combination-card-head{
  border-bottom-color:rgba(81,205,187,.18);
}
body[data-page-type^="city"] .gexyral-city-project-start{
  background:
    radial-gradient(circle at 80% 20%,rgba(81,205,187,.1),transparent 38%),
    linear-gradient(145deg,#041428,#020813);
}

/* CASE: premium project/device presentation; keep actual project screenshots untouched. */
body[data-page-type^="case"] .gexyral-case-gallery-stage{
  border-color:rgba(123,140,255,.28);
  background:
    radial-gradient(circle at 50% 0,rgba(123,140,255,.08),transparent 42%),
    linear-gradient(180deg,rgba(5,15,36,.96),rgba(2,8,20,.98));
  box-shadow:0 34px 110px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.04);
}
body[data-page-type^="case"] .gexyral-case-device-frame{
  border-color:rgba(123,140,255,.32);
  box-shadow:0 24px 70px rgba(0,0,0,.38),0 0 0 1px rgba(123,140,255,.035) inset;
}
body[data-page-type^="case"] .gexyral-case-device-screen{
  background:#01040b;
}
body[data-page-type^="case"] .gexyral-case-gallery-thumbs button,
body[data-page-type^="case"] .gexyral-case-gallery-tabs button{
  border-color:rgba(123,140,255,.2);
}
body[data-page-type^="case"] .gexyral-case-gallery-tabs button.is-active,
body[data-page-type^="case"] .gexyral-case-gallery-thumbs button.is-active{
  border-color:rgba(123,140,255,.6);
  box-shadow:0 0 0 1px rgba(123,140,255,.08) inset,0 12px 35px rgba(0,0,0,.18);
}

/* RESOURCE: editorial / document library signal. */
body[data-page-type^="resource"] .gexyral-resource-card-cover{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(94,214,232,.18);
}
body[data-page-type^="resource"] .gexyral-resource-card-cover::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(2,9,22,.72));
  pointer-events:none;
}
body[data-page-type^="resource"] .gexyral-resource-document-bar,
body[data-page-type^="resource"] .gexyral-resource-reading-toc{
  border-color:rgba(94,214,232,.22);
  background:linear-gradient(145deg,rgba(6,28,50,.94),rgba(3,15,32,.94));
  box-shadow:0 20px 64px rgba(0,0,0,.22);
}
body[data-page-type^="resource"] .gexyral-resource-table{
  border-color:rgba(94,214,232,.22);
}
body[data-page-type^="resource"] .gexyral-resource-kicker{
  color:#b8f4ff;
}

/* INSIGHT: editorial analysis signal distinct from downloadable resources. */
body[data-page-type^="insight"] .gexyral-insight-overview-section{
  background:
    radial-gradient(circle at 12% 8%,rgba(100,217,173,.07),transparent 32%),
    #020713;
}
body[data-page-type^="insight"] .gexyral-insight-card{
  min-height:100%;
}
body[data-page-type^="insight"] .gexyral-insight-card footer{
  border-top-color:rgba(100,217,173,.16);
}
body[data-page-type^="insight"] .gexyral-insight-detail-topline span,
body[data-page-type^="insight"] .gexyral-insight-detail-topline em,
body[data-page-type^="insight"] .gexyral-insight-detail-tags i{
  border-color:rgba(100,217,173,.24);
  background:rgba(100,217,173,.065);
  color:#d9fff1;
}

/* CTA: family identity carries through the last decision point without changing CTA copy. */
body[data-page-type^="service"] .gexyral-inner-cta,
body[data-page-type^="solution"] .gexyral-inner-cta,
body[data-page-type^="city"] .gexyral-inner-cta,
body[data-page-type^="case"] .gexyral-inner-cta,
body[data-page-type^="resource"] .gexyral-inner-cta,
body[data-page-type^="insight"] .gexyral-inner-cta{
  border-color:rgba(var(--gex-vq-accent-rgb),.28);
  box-shadow:0 28px 90px rgba(0,0,0,.28),0 0 55px rgba(var(--gex-vq-accent-rgb),.035);
}
body[data-page-type^="service"] .gexyral-inner-cta::before,
body[data-page-type^="solution"] .gexyral-inner-cta::before,
body[data-page-type^="city"] .gexyral-inner-cta::before,
body[data-page-type^="case"] .gexyral-inner-cta::before,
body[data-page-type^="resource"] .gexyral-inner-cta::before,
body[data-page-type^="insight"] .gexyral-inner-cta::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:160px;
  height:2px;
  background:linear-gradient(90deg,var(--gex-vq-accent),transparent);
}

/* Keep the visual layer intentionally light on smaller screens. */
@media(max-width:980px){
  body[data-page-type^="service"] .gexyral-inner-section::after,
  body[data-page-type^="solution"] .gexyral-inner-section::after,
  body[data-page-type^="city"] .gexyral-inner-section::after,
  body[data-page-type^="case"] .gexyral-inner-section::after,
  body[data-page-type^="resource"] .gexyral-inner-section::after,
  body[data-page-type^="insight"] .gexyral-inner-section::after{
    width:460px;
    height:460px;
    right:-240px;
  }
}
@media(max-width:760px){
  :root{--gex-vq-radius:20px;--gex-vq-shadow:0 18px 52px rgba(0,0,0,.2)}
  body[data-page-type^="service"] .gexyral-service-map-section{
    background-size:52px 52px;
  }
  body[data-page-type^="service"] .gexyral-inner-section::after,
  body[data-page-type^="solution"] .gexyral-inner-section::after,
  body[data-page-type^="city"] .gexyral-inner-section::after,
  body[data-page-type^="case"] .gexyral-inner-section::after,
  body[data-page-type^="resource"] .gexyral-inner-section::after,
  body[data-page-type^="insight"] .gexyral-inner-section::after{
    opacity:.62;
  }
  body[data-page-type^="case"] .gexyral-case-gallery-stage{
    box-shadow:0 20px 58px rgba(0,0,0,.28);
  }
}
@media(prefers-reduced-motion:reduce){
  body[data-page-type^="service"] *,
  body[data-page-type^="solution"] *,
  body[data-page-type^="city"] *,
  body[data-page-type^="case"] *,
  body[data-page-type^="resource"] *,
  body[data-page-type^="insight"] *{
    transition-duration:.01ms !important;
  }
}
