/*
Theme Name: Ajay Global Studio
Theme URI: https://example.com/ajay-global-studio
Author: Copilot
Description: Premium digital marketing agency theme built for Ajay Global Studio.
Version: 1.0.0
Text Domain: ajay-global-studio
*/

:root {
  --brandx-primary: #1769ff;
  --brandx-primary-dark: #101a35;
  --brandx-green: #19c982;
  --brandx-yellow: #ffd447;
  --brandx-white: #ffffff;
  --brandx-light-blue: #f1f6ff;
  --brandx-light-green: #eefff6;
  --brandx-body: #536078;
  --brandx-border: rgba(16, 26, 53, 0.08);
  --brandx-shadow: 0 20px 50px rgba(23, 105, 255, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", "Segoe UI", sans-serif;
  color: var(--brandx-body);
  background: #f8fbff;
  line-height: 1.6;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--brandx-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,0.9);
  border-bottom: 1px solid var(--brandx-border);
}
.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  gap: 24px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  color: var(--brandx-primary-dark);
}
.brand-mark {
  width: 40px; height: 40px; border-radius: 14px;
  background: linear-gradient(135deg, var(--brandx-primary), var(--brandx-green));
  position: relative;
  box-shadow: var(--brandx-shadow);
}
.brand-mark::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 10px;
  background: rgba(255,255,255,0.25);
}
.primary-nav { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.primary-nav a {
  color: var(--brandx-primary-dark);
  font-weight: 600;
  font-size: 0.95rem;
}
.primary-nav .menu-item-has-children { position: relative; }
.primary-nav .sub-menu {
  position: absolute; top: calc(100% + 12px); left: 0; min-width: 220px; display: none;
  background: var(--brandx-white); border: 1px solid var(--brandx-border); border-radius: 14px;
  box-shadow: var(--brandx-shadow); padding: 12px 0; list-style: none; margin: 0;
}
.primary-nav .menu-item-has-children:hover .sub-menu,
.primary-nav .menu-item-has-children:focus-within .sub-menu { display: block; }
.primary-nav .sub-menu a { display: block; padding: 10px 16px; }
.site-header-cta { display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border-radius: 999px; background: linear-gradient(135deg, var(--brandx-primary), #3a90ff); color: white; font-weight: 700; }

.site-footer {
  background: #0f172a; color: rgba(255,255,255,0.8); padding: 64px 0 32px;
}
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.2fr; gap: 30px; }
.footer-cols h3, .footer-cols h4 { color: var(--brandx-white); margin-bottom: 16px; }
.footer-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.footer-list a { color: rgba(255,255,255,0.75); }
.footer-bottom {
  margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.13);
  display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 0.9rem;
}

.hero-section {
  padding: 72px 0 56px; background: linear-gradient(180deg, #f1f6ff 0%, #ffffff 100%);
}
.hero-inner {
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 36px; align-items: center;
}
.eyebrow {
  display: inline-block; background: rgba(23,105,255,0.08); color: var(--brandx-primary); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 10px 14px; border-radius: 999px; font-size: 0.74rem;
}
h1,h2,h3,h4 { color: var(--brandx-primary-dark); line-height: 1.2; margin-top: 0; }
h1 { font-size: clamp(2.6rem, 5vw, 4.5rem); margin-bottom: 18px; }
h2 { font-size: clamp(2rem, 3vw, 3rem); margin-bottom: 18px; }
.lead { font-size: 1.1rem; color: var(--brandx-body); max-width: 560px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; }
.button, button, .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 14px 22px; font-weight: 700; border: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease;
}
.button:hover, button:hover { transform: translateY(-1px); }
.button-primary { background: linear-gradient(135deg, var(--brandx-primary), #3d9aff); color: white; box-shadow: 0 12px 24px rgba(23,105,255,.18); }
.button-secondary { background: white; color: var(--brandx-primary-dark); border: 1px solid rgba(16, 26, 53, 0.1); }
.hero-visual { position: relative; min-height: 510px; }
.hero-card {
  position: absolute; border-radius: 30px; background: linear-gradient(135deg, #ffffff, #eef6ff); border: 1px solid rgba(23,105,255,0.08); box-shadow: var(--brandx-shadow); overflow: hidden;
}
.hero-card.main { inset: 40px 0 30px 40px; padding: 20px; }
.hero-card.small { width: 180px; right: 0; top: 0; padding: 18px; }
.hero-card.tiny { width: 140px; left: 0; bottom: 0; padding: 16px; }
.mock-analytics { background: linear-gradient(135deg, #eef6ff, #ffffff); border-radius: 24px; padding: 20px; }
.chart-bars { display: flex; align-items: end; gap: 8px; height: 100px; }
.chart-bars span { display: block; width: 100%; background: linear-gradient(180deg, var(--brandx-primary), #7ab7ff); border-radius: 10px 10px 0 0; }

.section-header { margin-bottom: 30px; }
.section-header p { max-width: 700px; }
.service-grid, .portfolio-grid, .industry-grid, .team-grid, .values-grid { display: grid; gap: 24px; }
.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-card, .portfolio-card, .industry-card, .team-card, .value-card, .form-panel {
  background: white; border-radius: 28px; border: 1px solid var(--brandx-border); box-shadow: 0 10px 30px rgba(16,26,53,0.04); overflow: hidden;
}
.service-card { padding: 24px; }
.service-icon {
  width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(135deg, var(--brandx-primary), var(--brandx-green)); color: white; font-size: 28px; margin-bottom: 18px;
}
.service-card h3 { margin-bottom: 12px; }
.service-card .button { margin-top: 14px; }

.section-block { padding: 82px 0; }
.section-block.alt { background: linear-gradient(180deg, #f7fbff, #fffdf6); }
.portfolio-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portfolio-card img { aspect-ratio: 1.3; object-fit: cover; }
.portfolio-card .content { padding: 24px; }

.cta-banner {
  background: linear-gradient(135deg, #101a35 0%, #132d63 48%, #1d6dff 100%); border-radius: 30px; overflow: hidden; padding: 48px 40px; color: white; position: relative;
}
.cta-banner::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 25% 30%, rgba(25,201,130,0.18), transparent 30%); }
.cta-banner .inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cta-banner h2, .cta-banner p { color: white; }

.page-shell { padding: 64px 0; }
.page-shell .entry-content { background: white; border-radius: 28px; padding: 32px; border: 1px solid var(--brandx-border); }

.service-page-header { padding: 72px 0 40px; background: linear-gradient(180deg, #eef5ff, #ffffff); }
.service-page-header h1 { margin: 0 0 12px; }
.service-detail { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 30px; }
.form-panel { padding: 24px; }
.form-panel input, .form-panel textarea, .form-panel select { width: 100%; padding: 12px 14px; border: 1px solid rgba(16,26,53,0.12); border-radius: 12px; background: #fff; margin-bottom: 14px; font: inherit; }
.form-panel label { display: block; font-weight: 600; color: var(--brandx-primary-dark); margin-bottom: 8px; }
.form-panel .checkbox-row { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.form-panel input[type="checkbox"] { width: auto; margin: 0; }

@media (max-width: 960px) {
  .hero-inner, .service-detail, .footer-grid { grid-template-columns: 1fr; }
  .service-grid, .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-banner .inner { display: grid; }
}

@media (max-width: 640px) {
  .primary-nav { display: none; }
  .service-grid, .portfolio-grid, .industry-grid, .team-grid, .values-grid { grid-template-columns: 1fr; }
  .site-header-cta { display: none; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .page-shell .entry-content { padding: 20px; }
}

/* Brand experience */
.container { width: min(1240px, calc(100% - 48px)); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.brand .custom-logo-link { display: inline-flex; align-items: center; }
.brand .custom-logo { max-height: 44px; width: auto; }
.navigation-wrap { display: flex; align-items: center; }
.primary-nav { gap: 20px; }
.primary-nav .menu-item { position: relative; }
.primary-nav .menu-item-has-children > a::after { content: "⌄"; margin-left: 6px; color: #8a97ac; }
.primary-nav .sub-menu { list-style: none; z-index: 10; }
.primary-nav .menu-item-has-children:hover .sub-menu,
.primary-nav .menu-item-has-children:focus-within .sub-menu,
.primary-nav .menu-item-has-children.open .sub-menu { display: block; }
.menu-toggle, .mobile-nav-cta { display: none; }
.primary-nav a:focus-visible, .button:focus-visible, button:focus-visible, .text-link:focus-visible { outline: 3px solid var(--brandx-yellow); outline-offset: 3px; }
.site-header-cta { white-space: nowrap; }

.home-hero { position: relative; overflow: hidden; padding: 64px 0 76px; background: radial-gradient(ellipse at 88% 42%, rgba(25,201,130,.09), transparent 32%), linear-gradient(180deg,#f0f6ff,#fff 92%); }
.home-hero-grid { min-height: 540px; display: grid; grid-template-columns: minmax(0,1fr) minmax(440px,.92fr); gap: 48px; align-items: center; }
.home-hero-copy { position: relative; z-index: 2; }
.home-hero-copy h1 { max-width: 720px; font-size: clamp(3.4rem, 6vw, 5rem); letter-spacing: -.055em; line-height: 1.04; margin: 22px 0; }
.home-hero-copy h1 span, .page-hero h1 span { color: var(--brandx-primary); background:linear-gradient(105deg,var(--brandx-primary),var(--brandx-green)); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.eyebrow { letter-spacing: .13em; font-size: .75rem; }
.eyebrow span { color: var(--brandx-green); }
.home-hero-copy .lead { font-size: 1.18rem; line-height: 1.7; }
.hero-art { position: relative; min-height: 500px; max-width: 600px; width: 100%; margin: 0 auto; isolation: isolate; }
.hero-orbit { position: absolute; border: 1px solid rgba(23,105,255,.12); border-radius: 50%; }
.orbit-one { width: 430px; height: 430px; top: 42px; left: 54px; transform: rotate(-20deg) scaleY(.72); }
.orbit-two { width: 340px; height: 340px; top: 91px; left: 101px; transform: rotate(22deg) scaleY(.76); }
.hero-sun { position: absolute; top: 80px; right: 70px; width: 220px; height: 220px; border-radius: 50%; background: linear-gradient(135deg,#cceaff,#e2fff3); opacity: .92; }
.hero-card { position: absolute; z-index: 3; border: 1px solid rgba(23,105,255,.08); border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 22px 60px rgba(16,40,83,.12); }
.hero-social-card { top: 94px; left: 18px; width: 190px; padding: 18px; transform: rotate(-5deg); }
.card-label { display: block; font-size: .78rem; font-weight: 700; color: var(--brandx-primary-dark); margin: 12px 0; }
.social-dot { display: inline-block; width: 11px; height: 11px; margin-right: 5px; border-radius: 50%; }
.dot-blue { background: var(--brandx-primary); }.dot-green { background: var(--brandx-green); }.dot-yellow { background: var(--brandx-yellow); }
.hero-lines { display: grid; gap: 8px; }.hero-lines i { height: 7px; border-radius: 6px; background: #e6eef8; }.hero-lines i:nth-child(2) { width: 75%; }.hero-lines i:nth-child(3) { width: 53%; }
.hero-chart-card { top: 238px; right: 0; width: 244px; padding: 16px 18px 10px; transform: rotate(4deg); }
.hero-chart-card svg { display: block; width: 100%; }
.hero-person { z-index: 2; position: absolute; left: 170px; bottom: 22px; width: 230px; height: 280px; }
.person-head { position: absolute; z-index: 2; top: 25px; left: 77px; width: 80px; height: 96px; border-radius: 42% 48% 45% 42%; background: #c98261; }
.person-hair { position: absolute; z-index: 3; left: 70px; top: 17px; width: 91px; height: 68px; border-radius: 60% 50% 25% 25%; background: #243756; transform: rotate(-8deg); }
.person-body { position: absolute; top: 105px; left: 37px; width: 160px; height: 150px; border-radius: 72px 72px 18px 18px; background: linear-gradient(135deg,#1769ff,#76b2ff); }
.person-laptop { position: absolute; z-index: 4; bottom: 6px; left: 0; width: 230px; height: 74px; border-radius: 12px 12px 22px 22px; background: linear-gradient(135deg,#f7fbff,#d9e6f7); border: 1px solid #cfdaea; box-shadow: 0 16px 25px rgba(16,40,83,.12); }
.person-laptop::before { content: ""; position: absolute; left: 12px; right: 12px; top: 9px; height: 48px; background: #17294d; border-radius: 6px; }
.hero-float { position: absolute; top: 270px; left: 52px; z-index: 5; width: 48px; height: 48px; border-radius: 16px; display: grid; place-items: center; color: white; background: var(--brandx-green); font-size: 26px; font-weight: 800; box-shadow: 0 10px 30px rgba(25,201,130,.28); animation: brandx-float 5s ease-in-out infinite; }
.hero-spark { position: absolute; color: var(--brandx-yellow); font-size: 28px; }.spark-one { top: 30px; left: 270px; }.spark-two { bottom: 84px; right: 62px; font-size: 18px; }
@keyframes brandx-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

.section-block { padding: 94px 0; }
.centered { text-align: center; margin-left: auto; margin-right: auto; }
.section-header { max-width: 780px; margin-bottom: 42px; }
.section-header h2 { letter-spacing: -.035em; }
.section-header p:not(.eyebrow) { margin: 0 auto; max-width: 720px; font-size: 1.05rem; }
.home-services { background: #fff; }
.home-service-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.service-card { min-height: 270px; padding: 25px; transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover, .portfolio-card:hover, .industry-card:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(16,40,83,.12); }
.service-tone-1 { background: linear-gradient(145deg,#f1f6ff,#fff); }.service-tone-2 { background: linear-gradient(145deg,#edfff7,#fff); }.service-tone-3 { background: linear-gradient(145deg,#fff9df,#fff); }.service-tone-4 { background: linear-gradient(145deg,#f5f0ff,#fff); }.service-tone-5 { background: linear-gradient(145deg,#fff0ec,#fff); }
.service-icon { width: 60px; height: 60px; border-radius: 19px; margin-bottom: 22px; box-shadow: 0 10px 22px rgba(23,105,255,.14); }
.service-icon svg { width: 31px; height: 31px; }
.service-card h3 { font-size: 1.2rem; line-height: 1.32; }
.service-card p { font-size: .95rem; }
.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--brandx-primary); font-weight: 750; }
.text-link span { transition: transform .2s ease; }.text-link:hover span { transform: translateX(4px); }
.home-work { background: linear-gradient(180deg,#f7faff,#fff); }
.portfolio-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.portfolio-card { border-radius: 24px; transition: transform .25s ease, box-shadow .25s ease; }
.portfolio-image { display: block; overflow: hidden; background: #edf4ff; }
.portfolio-image img { width: 100%; aspect-ratio: 1.42; object-fit: cover; transition: transform .4s ease; }
.portfolio-card:hover img { transform: scale(1.04); }
.portfolio-card .content, .article-card .content { padding: 24px; }
.portfolio-card h3 { font-size: 1.3rem; margin: 9px 0; }
.category-label { color: var(--brandx-primary); font-size: .76rem; text-transform: uppercase; font-weight: 750; letter-spacing: .08em; }
.empty-state { padding: 44px 24px; text-align: center; border: 1px dashed #c9d7ec; border-radius: 24px; background: white; }
.empty-state-mark { width: 48px; height: 48px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 16px; background: var(--brandx-light-blue); color: var(--brandx-primary); font-size: 24px; }
.empty-state p { max-width: 540px; margin: 0 auto 20px; }
.cta-banner { min-height: 350px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; padding: 54px 60px; }
.cta-copy { position: relative; z-index: 2; max-width: 620px; }
.cta-copy .eyebrow { background: rgba(255,255,255,.1); color: #a9cdfd; }
.cta-banner h2 { font-size: clamp(2.2rem,4vw,3.3rem); letter-spacing: -.04em; }
.button-light { color: var(--brandx-primary-dark); background: #fff; }
.button-outline-light { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #fff; }
.cta-illustration { position: relative; height: 260px; }
.cta-planet { position: absolute; width: 180px; height: 180px; border-radius: 50%; right: 60px; top: 34px; background: linear-gradient(135deg,#19c982,#8de5c1); box-shadow: 0 20px 70px rgba(25,201,130,.3); }
.cta-ring { position: absolute; z-index: 1; width: 260px; height: 94px; right: 20px; top: 81px; border: 3px solid rgba(255,255,255,.65); border-radius: 50%; transform: rotate(-24deg); }
.cta-window { position: absolute; z-index: 2; right: 90px; top: 74px; width: 125px; height: 100px; padding: 12px; border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 15px 45px rgba(4,14,38,.28); }
.cta-window span { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 4px; background: #1769ff; }.cta-window span:nth-child(2) { background: #19c982; }.cta-window span:nth-child(3) { background: #ffd447; }
.cta-window i { display: inline-block; width: 18px; margin: 32px 3px 0 0; border-radius: 5px 5px 0 0; background: #1769ff; }.cta-window i:nth-of-type(1) { height: 18px; }.cta-window i:nth-of-type(2) { height: 35px; background:#19c982; }.cta-window i:nth-of-type(3) { height: 26px; background:#ffd447; }
.cta-arrow { position: absolute; z-index: 3; top: 23px; right: 42px; color: #ffd447; font-size: 42px; font-weight: 800; transform: rotate(-10deg); }.cta-star { position: absolute; top: 20px; left: 20px; color: #ffd447; font-size: 26px; }

.interior-page { min-height: 60vh; }
.page-hero { position: relative; overflow: hidden; padding: 78px 0 70px; background: radial-gradient(circle at 85% 35%,rgba(25,201,130,.12),transparent 26%),linear-gradient(135deg,#f0f6ff,#fff); }
.page-hero-inner { position: relative; }
.page-hero h1 { max-width: 900px; font-size: clamp(2.8rem,5.5vw,4.5rem); letter-spacing: -.05em; margin: 15px 0; }
.page-hero h1 span { display: inline; }
.page-hero .lead { max-width: 760px; font-size: 1.12rem; }
.page-hero .button { margin-top: 15px; }
.page-hero-decoration { position: absolute; width: 260px; height: 260px; right: 6%; top: 6px; border-radius: 45% 55% 60% 40%; background: linear-gradient(135deg,rgba(23,105,255,.12),rgba(25,201,130,.18)); transform: rotate(20deg); }
.page-hero-decoration span { position: absolute; right: 20px; top: 30px; width: 76px; height: 76px; border-radius: 26px; background: var(--brandx-yellow); }.page-hero-decoration i { position: absolute; width: 100px; height: 100px; left: 18px; bottom: 10px; border-radius: 50%; background: var(--brandx-primary); opacity:.75; }.page-hero-decoration b { position: absolute; width: 36px; height: 36px; left: 50%; top: 50%; border-radius: 50%; background: white; }
.detail-sections { padding-top: 22px; }
.detail-row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; padding: 48px 0; }
.detail-row-reverse .detail-visual { order: 2; }
.detail-visual { position: relative; overflow: hidden; min-height: 330px; display: grid; place-items: center; border-radius: 32px; background: linear-gradient(145deg,#e8f2ff,#f8fffb); }
.visual-tone-2 { background: linear-gradient(145deg,#ebfff6,#f8fcff); }.visual-tone-3 { background: linear-gradient(145deg,#fff8dd,#f4f8ff); }
.visual-kicker { position: absolute; left: 28px; top: 28px; z-index: 2; font-size: .7rem; font-weight: 800; letter-spacing: .12em; color: var(--brandx-primary); }
.visual-orb { width: 190px; height: 190px; border-radius: 50%; background: linear-gradient(135deg,#1769ff,#19c982); opacity: .9; box-shadow: 0 30px 65px rgba(23,105,255,.2); }
.visual-tile { position: absolute; width: 175px; height: 125px; left: 55%; top: 50%; transform: translate(-50%,-50%) rotate(-8deg); padding: 20px; border: 1px solid rgba(23,105,255,.12); border-radius: 18px; background: rgba(255,255,255,.91); box-shadow: 0 20px 44px rgba(16,40,83,.16); display: grid; gap: 9px; align-content: center; }
.visual-tile span { display: block; height: 9px; border-radius: 6px; background: #dce8f7; }.visual-tile span:nth-child(2) { width: 72%; background: #bfead9; }.visual-tile span:nth-child(3) { width: 48%; background: #c9dafe; }
.visual-caption { position: absolute; bottom: 22px; right: 24px; padding: 9px 13px; border-radius: 10px; background: white; color: var(--brandx-primary-dark); font-size: .8rem; font-weight: 700; box-shadow: 0 8px 22px rgba(16,40,83,.1); }
.detail-copy h2 { font-size: clamp(1.9rem,3vw,2.7rem); letter-spacing: -.04em; }
.detail-copy > p:last-child { font-size: 1.08rem; line-height: 1.8; }
.form-section { max-width: 900px; margin: 0 auto; }
.form-panel { padding: 30px; }
.enquiry-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 18px; }
.enquiry-form label { margin-bottom: 10px; }
.enquiry-form label:has(textarea), .enquiry-form label.checkbox-row, .enquiry-form button { grid-column: 1 / -1; }
.enquiry-form label input, .enquiry-form textarea, .enquiry-form select { margin-top: 7px; }
.enquiry-form .checkbox-row { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; }
.enquiry-form .checkbox-row input { width: auto; margin: 4px 0 0; }
.enquiry-form button { justify-self: start; }
.form-success,.form-error { margin-bottom: 18px; padding: 12px 15px; border-radius: 12px; }.form-success { background:#e9fff5;color:#126a47; }.form-error { background:#fff1ef;color:#9a2f22; }
.form-trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }
.mission-panel { max-width: 900px; margin: auto; padding: 44px; border-radius: 28px; background: white; box-shadow: var(--brandx-shadow); }
.large-copy { font-size: 1.35rem; line-height: 1.8; color: var(--brandx-primary-dark); }
.section-tint { background: #f4f8ff; }
.steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.step-card { position: relative; padding: 26px; border-radius: 22px; background: white; border: 1px solid var(--brandx-border); }
.step-number { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--brandx-light-blue); color: var(--brandx-primary); font-weight: 800; margin-bottom: 22px; }
.values-grid { grid-template-columns: repeat(4,1fr); }
.value-card { padding: 25px; text-align: center; }.value-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; margin: 0 auto 18px; background: var(--brandx-light-blue); color: var(--brandx-primary); font-size: 25px; }.value-mark-2 { background:var(--brandx-light-green);color:#16845a; }.value-mark-3 { background:#fff8dd;color:#a67b00; }.value-mark-4 { background:#f3efff;color:#7255c9; }
.industry-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.industry-card { transition: transform .25s ease,box-shadow .25s ease; }.industry-card .content { padding: 23px; }.industry-card h2 { font-size: 1.4rem; }.industry-art { position: relative; height: 170px; overflow: hidden; background: linear-gradient(135deg,#e6f1ff,#dff9ef); }.industry-tone-2 .industry-art { background:linear-gradient(135deg,#fff3e5,#f1f6ff); }.industry-tone-3 .industry-art { background:linear-gradient(135deg,#e9f0ff,#f4efff); }.industry-tone-4 .industry-art { background:linear-gradient(135deg,#e9fff6,#f1f6ff); }.industry-tone-5 .industry-art { background:linear-gradient(135deg,#fff7d8,#ffeef0); }.industry-art span { position:absolute; left:24px; top:22px; color:rgba(16,26,53,.14); font-size:4.3rem; font-weight:900; }.industry-art i { position:absolute; right:35px; bottom:-38px; width:145px; height:145px; border-radius:40% 60% 50% 50%; background:linear-gradient(135deg,rgba(23,105,255,.75),rgba(25,201,130,.72)); transform:rotate(25deg); }
.services-page-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.pricing-card { padding:30px; border-radius:24px; background:white; border:1px solid var(--brandx-border); box-shadow:0 12px 32px rgba(16,40,83,.06); }.price { color:var(--brandx-primary); font-size:1.3rem; font-weight:800; }.pricing-card .button { margin-top:18px; }
.quote-panel { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px; border-radius:28px; background:linear-gradient(120deg,#eef5ff,#ecfff5); }.quote-panel h2 { margin-bottom:12px; }.quote-panel p:not(.eyebrow) { max-width:650px; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }.article-card { overflow:hidden; border-radius:24px; background:white; border:1px solid var(--brandx-border); }.article-card h2 { font-size:1.3rem; margin:10px 0; }.article-card h2 a { color:var(--brandx-primary-dark); }.article-card time { color:#718098; font-size:.82rem; }
.article-body { max-width:900px; padding:50px 24px 90px; }
.article-featured { margin:0 0 38px; overflow:hidden; border-radius:24px; }.article-featured img { width:100%; max-height:560px; object-fit:cover; }
.article-body .entry-content { font-size:1.08rem; line-height:1.9; color:#40506a; }.article-body .entry-content h2,.article-body .entry-content h3 { margin-top:2em; }.pagination { margin-top:35px; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:55px; align-items:start; }.contact-details h2 { margin-bottom:26px; }.contact-detail { display:flex; gap:14px; align-items:center; padding:16px 0; border-bottom:1px solid var(--brandx-border); color:var(--brandx-primary-dark); }.contact-detail small,.contact-detail strong { display:block; }.contact-detail small { color:var(--brandx-body); }.contact-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:var(--brandx-light-blue); color:var(--brandx-primary); font-weight:800; }.booking-note { margin-top:28px; padding:20px; border-radius:18px; background:#f3f8ff; }
.legal-hero { padding-bottom:45px; }.legal-content .entry-content { max-width:850px; margin:0 auto; line-height:1.85; }.legal-content h2 { margin-top:2em; }
html.has-reveal [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; transition-delay: calc(var(--reveal-order,0) * 65ms); }
html.has-reveal [data-reveal].is-visible { opacity: 1; transform: none; }
.site-footer .brand { color: white; }
.footer-list a:hover { color: white; }
.social-links { display:flex; gap:10px; margin-top:20px; }
.social-links a { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.2); border-radius:14px; color:white; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.social-links a:hover { background:var(--brandx-primary); border-color:var(--brandx-primary); transform:translateY(-2px); }
.social-links svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.social-links a[aria-label="Facebook"] svg path { fill:currentColor; stroke:none; }
.social-links a[aria-label="YouTube"] svg path:last-child { fill:currentColor; stroke:none; }

@media (max-width: 1060px) {
  .home-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-header-inner { gap: 14px; }
  .primary-nav { gap: 13px; }
  .primary-nav a { font-size: .88rem; }
}
@media (max-width: 980px) {
  .site-header-inner { min-height: 74px; }
  .menu-toggle { display: inline-flex; width:46px; height:46px; align-items:center; justify-content:center; border-radius:14px; background:#f0f5fc; color:var(--brandx-primary-dark); }
  .menu-toggle-lines,.menu-toggle-lines::before,.menu-toggle-lines::after { display:block; width:19px; height:2px; position:relative; background:currentColor; border-radius:4px; }
  .menu-toggle-lines::before,.menu-toggle-lines::after { content:""; position:absolute; left:0; }.menu-toggle-lines::before { top:-6px; }.menu-toggle-lines::after { top:6px; }
  .navigation-wrap { display:none; position:absolute; top:100%; left:0; right:0; padding:14px 24px 22px; background:white; border-bottom:1px solid var(--brandx-border); box-shadow:0 18px 30px rgba(16,26,53,.1); align-items:stretch; flex-direction:column; }
  .navigation-wrap.is-open { display:flex; }
  .primary-nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav .menu-item { border-bottom:1px solid #edf1f7; }
  .primary-nav a { display:block; padding:13px 5px; font-size:1rem; }
  .primary-nav .sub-menu { position:static; display:none; min-width:0; border:0; box-shadow:none; border-radius:0; padding:0 0 8px 15px; }
  .primary-nav .menu-item-has-children.open .sub-menu { display:block; }
  .primary-nav .sub-menu a { padding:9px 8px; }
  .mobile-nav-cta { display:flex; justify-content:center; margin-top:14px; padding:13px; border-radius:999px; color:white; font-weight:750; background:var(--brandx-primary); }
  .site-header-cta { display:none; }
  .home-hero-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .home-hero-copy h1 { font-size:clamp(3rem,6.4vw,4.3rem); }
  .hero-art { transform:scale(.86); transform-origin:center; margin-left:-25px; width:calc(100% + 40px); }
  .industry-grid,.services-page-grid,.article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .container { width:calc(100% - 40px); }
  .section-block { padding:62px 0; }
  .home-hero { padding:48px 0 28px; }
  .home-hero-grid { display:flex; flex-direction:column; gap:8px; min-height:0; }
  .home-hero-copy { text-align:center; }
  .home-hero-copy .eyebrow { font-size:.65rem; letter-spacing:.07em; }
  .home-hero-copy h1 { font-size:clamp(2.35rem,10vw,3rem); line-height:1.08; margin:18px auto; }
  .home-hero-copy .lead { margin:0 auto; font-size:1rem; }
  .hero-actions { justify-content:center; gap:10px; }
  .home-hero-copy .hero-actions { flex-direction:column; align-items:center; }
  .home-hero-copy .button { width:min(100%,310px); }
  .hero-art { width:min(100%,440px); min-height:370px; margin:0 auto; transform:scale(.76); transform-origin:top center; margin-bottom:-80px; }
  .orbit-one { width:340px;height:340px;left:50px;top:25px; }.orbit-two { width:270px;height:270px;left:85px;top:60px; }
  .hero-sun { width:170px;height:170px;right:45px;top:46px; }.hero-social-card { top:68px;left:0;transform:scale(.85) rotate(-5deg);transform-origin:left top; }.hero-chart-card { top:185px;right:0;transform:scale(.85) rotate(4deg);transform-origin:right top; }
  .hero-person { left:calc(50% - 108px);bottom:0;transform:scale(.85);transform-origin:bottom center; }.hero-float { top:210px;left:6px;transform:scale(.86); }.spark-one { top:10px;left:48%; }
  .section-header { margin-bottom:30px; text-align:center; }.section-header h2 { font-size:2rem; }.section-header p:not(.eyebrow) { font-size:.98rem; }
  .home-service-grid,.portfolio-grid,.industry-grid,.services-page-grid,.article-grid,.pricing-grid,.steps-grid,.values-grid { grid-template-columns:1fr; }
  .service-card { min-height:0; text-align:center; padding:25px 22px; }.service-icon { margin-left:auto;margin-right:auto; }.service-card h3 { font-size:1.2rem; }
  .portfolio-card .content,.article-card .content { text-align:left; }
  .cta-banner { grid-template-columns:1fr; padding:38px 24px 22px; text-align:center; }.cta-banner h2 { font-size:2.15rem; }.cta-banner .hero-actions { flex-direction:column; align-items:stretch; }.cta-banner .button { width:100%; }
  .cta-illustration { height:205px; transform:scale(.82); transform-origin:top center; margin-bottom:-30px; }.cta-planet { right:calc(50% - 90px); }.cta-ring { right:calc(50% - 130px); }.cta-window { right:calc(50% - 60px); }
  .page-hero { padding:56px 0 48px; text-align:center; }.page-hero h1 { margin-left:auto;margin-right:auto;font-size:clamp(2.45rem,9vw,3.5rem); }.page-hero .lead { margin:0 auto; }.page-hero-decoration { opacity:.28;right:-110px;top:0; }.detail-row { grid-template-columns:1fr;gap:28px;padding:28px 0; }.detail-row-reverse .detail-visual { order:initial; }.detail-visual { min-height:260px; }.detail-copy { text-align:center; }.detail-copy h2 { font-size:2rem; }.detail-copy > p:last-child { font-size:1rem; }
  .enquiry-form { grid-template-columns:1fr; }.enquiry-form label,.enquiry-form button { grid-column:1; }.form-panel { padding:22px; }.enquiry-form button { width:100%; }
  .mission-panel { padding:28px 22px; }.large-copy { font-size:1.1rem; }.step-card { text-align:center; }.step-number { margin-left:auto;margin-right:auto; }.value-card { padding:22px; }
  .industry-art { height:145px; }.industry-card .content { text-align:center; }.quote-panel { flex-direction:column;align-items:stretch;text-align:center;padding:30px 22px; }.pricing-card { text-align:center; }.contact-layout { grid-template-columns:1fr;gap:35px; }.contact-details h2 { text-align:center; }.booking-note { text-align:center; }.legal-content .entry-content { padding:24px; }
  .footer-grid { grid-template-columns:1fr; text-align:center; }.footer-grid .brand { justify-content:center; }.footer-list { justify-items:center; }.social-links { justify-content:center; }.footer-bottom { align-items:center;text-align:center; }.site-footer { padding:48px 0 26px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1;transform:none; }
}

/* Homepage photo-led layout */
.home-hero { padding: 54px 0 62px; background: radial-gradient(ellipse at 96% 24%,rgba(25,201,130,.16),transparent 28%),radial-gradient(ellipse at 4% 82%,rgba(23,105,255,.1),transparent 30%),linear-gradient(180deg,#f4f9ff,#fff 92%); }
.home-hero-grid { min-height: 500px; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: 48px; }
.home-hero-copy h1 { font-size: clamp(3rem,5.2vw,4.65rem); }
.home-hero-copy .eyebrow { padding: 8px 13px; background: #e8f3ff; }
.home-hero-copy .hero-actions { gap: 12px; }
.hero-promise { margin: 24px 0 0; color: #33435f; font-size: .88rem; font-weight: 650; }
.hero-promise span { color: var(--brandx-green); padding: 0 5px; }
.hero-photo-wrap { position: relative; height: clamp(390px,43vw,540px); isolation: isolate; }
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 34px; object-fit: cover; object-position: center; box-shadow: 0 28px 70px rgba(16,40,83,.18); }
.hero-photo-shade { position: absolute; inset: 0; border-radius: 34px; background: linear-gradient(180deg,rgba(7,24,53,.02) 48%,rgba(7,24,53,.28)); }
.hero-photo-orb { position: absolute; z-index: -1; width: 150px; height: 150px; right: -28px; top: -26px; border-radius: 50%; background: linear-gradient(135deg,#13d98a,#00a7ff); opacity: .86; }
.hero-float-card { position: absolute; display: flex; align-items: center; gap: 12px; padding: 13px 17px; border: 1px solid rgba(23,105,255,.1); border-radius: 17px; background: rgba(255,255,255,.96); box-shadow: 0 16px 38px rgba(13,34,67,.18); }
.hero-float-top { top: 13%; right: -26px; }.hero-float-bottom { left: -28px; bottom: 11%; }
.hero-float-icon { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 12px; background: #eaf2ff; color: var(--brandx-primary); font-size: 21px; }
.hero-float-icon.green { background: #e7fff3; color: #08a969; font-weight: 800; }
.hero-float-card strong,.hero-float-card small { display: block; }.hero-float-card strong { color: var(--brandx-primary-dark); font-size: .9rem; }.hero-float-card small { color: #66758c; font-size: .76rem; margin-top: 2px; }
.home-services { background: linear-gradient(180deg,#fff 75%,#fbfdff); }
.home-services .section-header h2 { max-width: 720px; margin-left: auto; margin-right: auto; }
.home-service-grid { gap: 18px; }
.home-service-grid .service-card { min-height: 0; padding: 0; border-radius: 22px; }
.service-photo { margin: 0; overflow: hidden; aspect-ratio: 1.55; background: #eaf2ff; }
.service-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.service-card:hover .service-photo img { transform: scale(1.05); }
.service-card-content { padding: 18px 20px 20px; }
.home-service-grid .service-card h3 { min-height: 2.7em; margin: 0 0 8px; font-size: 1.08rem; }
.home-service-grid .service-card p { min-height: 4.6em; margin: 0 0 12px; font-size: .91rem; line-height: 1.55; }
.home-service-grid .service-card .text-link { font-size: .88rem; }
.home-work { background: radial-gradient(ellipse at 5% 20%,rgba(23,105,255,.06),transparent 28%),linear-gradient(180deg,#f7faff,#fff); }
.industry-spotlight-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.spotlight-card { overflow: hidden; border: 1px solid var(--brandx-border); border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(16,26,53,.06); transition: transform .25s ease,box-shadow .25s ease; }
.spotlight-card:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(16,40,83,.12); }
.spotlight-card > img { width: 100%; aspect-ratio: 1.45; object-fit: cover; }
.spotlight-card-content { padding: 17px 18px 20px; }
.spotlight-card .category-label { font-size: .66rem; }
.spotlight-card h3 { margin: 8px 0; font-size: 1.13rem; }
.spotlight-card p { min-height: 4.5em; margin: 0 0 13px; font-size: .9rem; line-height: 1.55; }
.spotlight-card .text-link { font-size: .87rem; }
.stock-photo-note { margin: 19px 0 0; color: #69778c; font-size: .78rem; text-align: center; }
.home-cta-section { padding-top: 68px; padding-bottom: 74px; background: #f7faff; }
.home-cta-section .cta-banner { grid-template-columns: minmax(0,1fr) minmax(360px,.88fr); align-items: center; gap: 36px; padding: 44px; border-radius: 30px; background: radial-gradient(ellipse at 15% 25%,rgba(23,105,255,.32),transparent 38%),linear-gradient(135deg,#071a3d,#092b67 62%,#1259c8); }
.cta-copy { max-width: 550px; }
.cta-copy h2 { max-width: 540px; font-size: clamp(2.25rem,4vw,3.3rem); }
.cta-copy > p:not(.eyebrow) { color: rgba(255,255,255,.82); }
.cta-benefits { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 28px; color: #d9e8ff; font-size: .82rem; font-weight: 650; }
.cta-benefits span::before { content: "✓"; margin-right: 7px; color: #ffd447; font-weight: 800; }
.home-enquiry-panel { position: relative; z-index: 2; }
.home-enquiry-panel .form-panel { padding: 23px; border: 0; border-radius: 23px; box-shadow: 0 18px 52px rgba(0,0,0,.2); }
.home-enquiry-panel .form-panel h3 { margin-bottom: 4px; font-size: 1.45rem; }
.home-enquiry-panel .form-panel > form { gap: 3px 13px; }
.home-enquiry-panel .form-panel label { font-size: .8rem; }
.home-enquiry-panel .form-panel input:not([type="checkbox"]),.home-enquiry-panel .form-panel textarea,.home-enquiry-panel .form-panel select { padding: 10px 11px; border-color: #dfe7f1; border-radius: 9px; font-size: .85rem; }
.home-enquiry-panel .form-panel textarea { min-height: 82px; }
.home-enquiry-panel .form-panel .checkbox-row { font-size: .78rem; }
.home-enquiry-panel .form-panel button { width: 100%; padding: 12px 18px; }

@media (max-width: 980px) {
  .home-hero-grid { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 28px; }
  .hero-photo-wrap { height: 420px; }
  .home-service-grid,.industry-spotlight-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-cta-section .cta-banner { grid-template-columns: 1fr 1fr; padding: 36px; gap: 24px; }
}
@media (max-width: 680px) {
  .home-hero { padding: 40px 0 28px; }
  .home-hero-grid { display: flex; flex-direction: column; gap: 24px; }
  .home-hero-copy h1 { font-size: clamp(2.45rem,9.5vw,3.3rem); }
  .hero-promise { font-size: .78rem; }
  .hero-photo-wrap { width: calc(100% - 16px); height: 340px; margin: 0 auto; }
  .hero-photo,.hero-photo-shade { border-radius: 25px; }
  .hero-float-top { right: -13px; top: 11%; }.hero-float-bottom { left: -12px; bottom: 9%; }
  .hero-float-card { padding: 10px 12px; }.hero-float-card strong { font-size: .78rem; }.hero-float-card small { font-size: .68rem; }
  .home-service-grid,.industry-spotlight-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .home-service-grid .service-card { text-align: left; }
  .service-photo { aspect-ratio: 1.28; }
  .service-card-content { padding: 14px 13px 16px; }
  .home-service-grid .service-card h3 { min-height: 0; font-size: .98rem; }
  .home-service-grid .service-card p { min-height: 0; font-size: .82rem; }
  .home-service-grid .service-card .text-link { font-size: .8rem; }
  .spotlight-card-content { padding: 13px 12px 15px; }
  .spotlight-card h3 { font-size: 1rem; }
  .spotlight-card p { min-height: 0; font-size: .82rem; }
  .spotlight-card .category-label { font-size: .57rem; letter-spacing: .04em; }
  .home-cta-section { padding: 42px 0; }
  .home-cta-section .cta-banner { grid-template-columns: 1fr; gap: 24px; padding: 30px 20px 20px; text-align: left; }
  .cta-copy { text-align: center; }.cta-copy h2 { font-size: 2.15rem; }.cta-copy .hero-actions { flex-direction: column; align-items: stretch; }.cta-copy .button { width: 100%; }
  .cta-benefits { justify-content: center; font-size: .76rem; }
  .home-enquiry-panel .form-panel { padding: 18px; }
  .home-enquiry-panel .enquiry-form { grid-template-columns: 1fr 1fr; }
  .home-enquiry-panel .enquiry-form label,.home-enquiry-panel .enquiry-form button { grid-column: auto; }
  .home-enquiry-panel .enquiry-form label:has(textarea),.home-enquiry-panel .enquiry-form label.checkbox-row,.home-enquiry-panel .enquiry-form button { grid-column: 1 / -1; }
}
@media (max-width: 380px) {
  .home-service-grid,.industry-spotlight-grid { grid-template-columns: 1fr; }
  .service-photo,.spotlight-card > img { aspect-ratio: 1.7; }
  .home-enquiry-panel .enquiry-form { grid-template-columns: 1fr; }
  .home-enquiry-panel .enquiry-form label { grid-column: 1; }
}

/* Shared image-led layouts, replaceable from Website Visual Editor */
.page-hero { isolation: isolate; background-image: radial-gradient(circle at 5% 85%,rgba(23,105,255,.12),transparent 26%),linear-gradient(120deg,#f2f7ff 0%,#fff 68%); }
.page-hero::after { content:""; position:absolute; z-index:0; top:10%; right:max(5%,calc((100vw - 1240px)/2)); width:min(35%,470px); height:80%; min-height:245px; border-radius:34px; background:linear-gradient(180deg,rgba(9,28,61,.02),rgba(9,28,61,.18)),var(--page-hero-image); background-size:cover; background-position:center; box-shadow:0 24px 58px rgba(16,40,83,.13); }
.page-hero-inner { position:relative; z-index:1; max-width:1240px; padding-right:40%; }
.page-hero-inner .lead { max-width:650px; }
.page-hero-decoration { display:none; }
.page-hero::before { content:""; position:absolute; z-index:0; width:160px; height:160px; right:38%; bottom:-62px; border:1px solid rgba(255,153,51,.22); border-radius:50%; box-shadow:0 0 0 18px rgba(255,153,51,.035),0 0 0 38px rgba(19,136,8,.035); }
.patterned-section { position:relative; isolation:isolate; overflow:hidden; background-color:#fff; background-image:radial-gradient(rgba(23,105,255,.10) .8px,transparent .8px),repeating-conic-gradient(from 45deg at 28px 28px,rgba(255,153,51,.018) 0 12deg,rgba(19,136,8,.018) 12deg 24deg,transparent 24deg 45deg),linear-gradient(135deg,rgba(25,201,130,.025),transparent 48%); background-size:22px 22px,56px 56px,100% 100%; }
.patterned-section > .container { position:relative; z-index:1; }
.patterned-section::after { content:""; position:absolute; z-index:0; pointer-events:none; width:250px; height:250px; right:-110px; top:18%; border:1px solid rgba(255,153,51,.16); border-radius:50%; box-shadow:0 0 0 18px rgba(255,153,51,.03),0 0 0 38px rgba(19,136,8,.025); }
.section-tint.patterned-section { background-color:#f2f7ff; }
.page-section-image { position:relative; display:block; overflow:hidden; margin:0; border-radius:24px; isolation:isolate; background:linear-gradient(140deg,#e9f3ff,#effff7); box-shadow:0 16px 38px rgba(16,40,83,.10); }
.page-section-image > img { width:100%; height:100%; min-height:inherit; object-fit:cover; transition:transform .5s ease; }
.page-section-image:hover > img { transform:scale(1.035); }
.page-section-image .image-pattern { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 58%,rgba(10,28,60,.12)),repeating-linear-gradient(135deg,rgba(255,255,255,.0) 0 19px,rgba(255,255,255,.10) 20px 21px); mix-blend-mode:soft-light; }
.detail-row { grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:clamp(28px,5vw,72px); padding:54px 0; }
.detail-visual-photo { min-height:340px; aspect-ratio:1.15; }
.detail-visual-photo img { min-height:340px; }
.detail-row-reverse .detail-visual-photo { order:2; }
.detail-row:nth-child(even) .detail-visual-photo { border-radius:54px 24px 54px 24px; }
.detail-row:nth-child(odd) .detail-visual-photo { border-radius:24px 54px 24px 54px; }
.detail-copy { padding:clamp(10px,2vw,26px); }
.detail-copy h2 { font-size:clamp(1.9rem,3vw,2.65rem); }
.about-mission-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:34px; align-items:stretch; }
.about-mission-layout > .page-section-image { min-height:340px; }
.about-mission-layout .mission-panel { width:auto; max-width:none; display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,5vw,58px); background:rgba(255,255,255,.94); }
.wide-section-image { width:100%; height:clamp(210px,27vw,350px); margin:0 0 36px; border-radius:30px; }
.values-grid .value-card { position:relative; overflow:hidden; padding:30px 24px; background:rgba(255,255,255,.92); }
.values-grid .value-card::after { content:""; position:absolute; width:105px; height:105px; right:-36px; bottom:-44px; border:1px solid rgba(23,105,255,.17); border-radius:44% 56% 48% 52%; transform:rotate(28deg); }
.services-page-grid .service-card { padding:0; border-radius:24px; }
.services-page-grid .service-card .page-section-image { height:190px; border-radius:0; box-shadow:none; }
.services-page-grid .service-card-content { padding:22px 24px 25px; }
.services-page-grid .service-card h2 { margin:0 0 11px; font-size:1.35rem; }
.industry-card .page-section-image { height:190px; border-radius:0; box-shadow:none; }
.industry-card .content { padding:22px; }
.industry-card h2 a { color:inherit; }
.industry-card h2 a:hover { color:var(--brandx-primary); }
.results-note { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:35px; align-items:center; padding:32px; border:1px solid var(--brandx-border); border-radius:28px; background:rgba(255,255,255,.86); box-shadow:0 18px 42px rgba(16,40,83,.08); }
.results-image { height:260px; }
.results-note h2 { font-size:clamp(2rem,3vw,2.8rem); }
.quote-panel { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:34px; padding:30px; }
.quote-image { height:260px; }
.quote-panel > div { padding:10px 12px; }
.contact-page-image { height:250px; margin-bottom:28px; }
.contact-details { padding:18px; border-radius:26px; background:rgba(255,255,255,.76); }
.contact-form-wrap { padding:12px; border-radius:28px; background:linear-gradient(140deg,rgba(23,105,255,.12),rgba(25,201,130,.12)); }
.contact-form-wrap .form-panel { border-radius:22px; }
.legal-layout { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:36px; align-items:start; }
.legal-page-image { position:sticky; top:110px; height:300px; }
.legal-content .entry-content { max-width:none; padding:clamp(24px,4vw,54px); border:1px solid var(--brandx-border); border-radius:26px; background:rgba(255,255,255,.94); box-shadow:0 14px 36px rgba(16,40,83,.06); }
.generic-page-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:35px; align-items:start; }
.generic-page-image { min-height:320px; }
.generic-page-layout .entry-content { padding:clamp(24px,4vw,48px); border:1px solid var(--brandx-border); border-radius:26px; background:rgba(255,255,255,.94); }
.home-cta-right { position:relative; min-width:0; padding-top:52px; }
.cta-photo { position:absolute; top:0; right:0; width:62%; height:160px; opacity:.55; }
.home-enquiry-panel { position:relative; margin-left:auto; width:min(100%,490px); }
.spotlight-card .page-section-image { aspect-ratio:1.45; border-radius:0; box-shadow:none; }
.spotlight-card .page-section-image > img { min-height:0; }
.spotlight-card-content { padding:17px 18px 20px; }
.step-card { overflow:hidden; background:rgba(255,255,255,.93); }
main .section-block { background-image:radial-gradient(rgba(23,105,255,.055) .8px,transparent .8px),linear-gradient(135deg,rgba(255,153,51,.025),transparent 48%); background-size:24px 24px,100% 100%; }
main .section-block:nth-of-type(even) { background-image:radial-gradient(rgba(19,136,8,.055) .8px,transparent .8px),linear-gradient(135deg,rgba(23,105,255,.03),transparent 48%); }
main .section-block.section-tint { background-color:#f3f7ff; }
.detail-row { position:relative; padding:32px; border:1px solid var(--brandx-border); border-radius:24px; background:#fff; box-shadow:0 12px 30px rgba(16,26,53,.045); }
.detail-row + .detail-row { margin-top:18px; }
.detail-row-reverse .detail-visual-photo { order:0; }
.service-detail-media { min-height:340px; aspect-ratio:1.15; }
.service-detail-media video { display:block; width:100%; height:100%; min-height:340px; object-fit:cover; }
.service-detail-video-media { width:min(100%,360px); min-height:0; aspect-ratio:9/16; margin-inline:auto; }
.service-detail-video-media video { min-height:0; }
.service-detail-media img { width:100%; height:100%; object-fit:cover; }
.form-section { margin:42px 0 70px; padding:clamp(24px,4vw,48px); border:1px solid var(--brandx-border); border-radius:28px; background:#fff; box-shadow:0 16px 38px rgba(16,26,53,.07); }

@media (max-width: 980px) {
  .page-hero-inner { padding-right:34%; }
  .page-hero::after { right:4%; width:31%; }
  .about-mission-layout { grid-template-columns:1fr 1fr; }
  .home-cta-section .cta-banner { grid-template-columns:1fr 1fr; }
  .home-cta-right { padding-top:32px; }
}
@media (max-width: 680px) {
  .page-hero { padding:48px 0 230px; }
  .page-hero-inner { padding-right:0; }
  .page-hero::after { top:auto; bottom:22px; left:10%; right:10%; width:80%; height:190px; min-height:0; border-radius:24px; }
  .page-hero::before { right:5%; bottom:100px; }
  .detail-row,.about-mission-layout,.results-note,.quote-panel,.legal-layout,.generic-page-layout { grid-template-columns:1fr; }
  .detail-row { padding:18px; }
  .detail-row-reverse .detail-visual-photo { order:0; }
  .detail-visual-photo,.detail-visual-photo img { min-height:245px; }
  .service-detail-media video { min-height:245px; }
  .service-detail-video-media { min-height:0; }
  .service-detail-video-media video { min-height:0; }
  .about-mission-layout > .page-section-image { min-height:240px; }
  .about-mission-layout .mission-panel { padding:28px 23px; }
  .wide-section-image { height:210px; margin-bottom:25px; border-radius:22px; }
  .services-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .services-page-grid .service-card .page-section-image { height:140px; }
  .services-page-grid .service-card-content { padding:16px 14px 18px; }
  .services-page-grid .service-card h2 { font-size:1.08rem; }
  .services-page-grid .service-card p { font-size:.9rem; }
  .industry-card .page-section-image { height:150px; }
  .industry-card .content { padding:16px; }
  .industry-card h2 { font-size:1.16rem; }
  .results-note { padding:19px; gap:22px; }
  .results-image,.quote-image { height:210px; }
  .quote-panel { padding:19px; text-align:center; }
  .contact-details { padding:14px; }
  .contact-page-image { height:210px; }
  .legal-page-image { position:static; height:200px; }
  .legal-content .entry-content,.generic-page-layout .entry-content { padding:24px; }
  .generic-page-image { min-height:210px; }
  .home-cta-right { padding-top:20px; }
  .cta-photo { height:135px; }
}
@media (max-width: 380px) {
  .services-page-grid { grid-template-columns:1fr; }
  .services-page-grid .service-card .page-section-image { height:190px; }
  .page-hero { padding-bottom:215px; }
}

/* Screenshot-inspired utility bar, floating navigation and services mega menu */
.site-header { overflow:visible; background:transparent; border:0; box-shadow:none; backdrop-filter:none; }
.header-utility { position:relative; z-index:2; min-height:56px; color:#fff; background:radial-gradient(ellipse at 8% 50%,rgba(0,160,255,.26),transparent 27%),radial-gradient(ellipse at 94% 20%,rgba(0,190,150,.22),transparent 26%),linear-gradient(105deg,#061638,#0b2d69 56%,#062b35); }
.header-utility-inner { width:min(1500px,calc(100% - 72px)); min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.utility-socials,.utility-contact { display:flex; align-items:center; gap:12px; min-width:0; }
.utility-social { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:rgba(255,255,255,.11); color:#fff; font-size:.82rem; font-weight:800; line-height:1; transition:transform .2s ease,background .2s ease; }
.utility-social:hover { color:#fff; background:var(--brandx-primary); text-decoration:none; transform:translateY(-2px); }
.utility-social-instagram { background:linear-gradient(145deg,#ffbd40,#ee2589 55%,#6f3be8); }
.utility-social-facebook { background:#1877f2; }
.utility-social-youtube { background:#f52235; }
.utility-social-linkedin { background:#0a83b9; }
.utility-social-whatsapp { background:#08bf77; }
.utility-tagline { margin:0 auto 0 8px; padding-left:25px; border-left:1px solid rgba(255,255,255,.23); color:rgba(255,255,255,.92); white-space:nowrap; font-size:.85rem; font-weight:550; }
.utility-tagline span { padding:0 6px; color:#89c9ff; }
.utility-contact { justify-content:flex-end; gap:0; }
.utility-contact > a,.utility-address { display:flex; align-items:center; gap:10px; max-width:300px; padding:0 20px; border-left:1px solid rgba(255,255,255,.17); color:rgba(255,255,255,.94); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.82rem; }
.utility-contact > a:first-child { border-left:0; }
.utility-contact > a:hover { color:#fff; text-decoration:none; }
.utility-contact > a > span,.utility-address > span { color:#a9d8ff; font-size:1rem; }
.site-header-inner { position:relative; z-index:3; width:min(1500px,calc(100% - 72px)); min-height:88px; margin:-1px auto 0; padding:0 28px 0 32px; gap:24px; border:1px solid rgba(255,255,255,.85); border-radius:25px; background:rgba(255,255,255,.96); box-shadow:0 15px 42px rgba(9,37,83,.12); }
.brand { flex:0 0 auto; gap:13px; color:var(--brandx-primary-dark); }
.brand-mark { width:48px; height:48px; border-radius:15px; }
.brand .custom-logo { max-height:52px; }
.brand-copy { display:grid; line-height:1.1; }
.brand-copy strong { color:#102347; font-size:1.18rem; font-weight:850; letter-spacing:-.035em; white-space:nowrap; }
.brand-copy small { margin-top:5px; color:#66758d; font-size:.62rem; font-weight:800; letter-spacing:.16em; }
.site-header-inner .brand .custom-logo { width:auto; max-width:180px; object-fit:contain; }
.navigation-wrap { min-width:0; }
.primary-nav { justify-content:center; gap:clamp(10px,1.4vw,24px); }
.primary-nav > .menu-item > a { display:inline-flex; align-items:center; min-height:48px; padding:0 2px; color:#152849; font-size:.91rem; font-weight:650; white-space:nowrap; }
.primary-nav > .menu-item > a:hover,.primary-nav > .menu-item > a:focus-visible,.primary-nav > .menu-item.current-menu-item > a { color:var(--brandx-primary); text-decoration:none; }
.primary-nav .menu-item-has-children > a::after { content:""; width:7px; height:7px; margin:0 0 4px 10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.services-menu-item { position:static !important; }
.services-mega-menu { position:absolute !important; top:calc(100% + 8px) !important; left:50% !important; display:grid !important; grid-template-columns:minmax(285px,.73fr) minmax(0,1.6fr); width:min(1120px,calc(100vw - 80px)); min-width:0 !important; padding:0 !important; overflow:hidden; border:1px solid rgba(23,105,255,.09) !important; border-radius:26px !important; background:#fff !important; box-shadow:0 28px 75px rgba(8,29,69,.22) !important; opacity:0; visibility:hidden; transform:translate(-50%,10px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.services-menu-item:hover .services-mega-menu,.services-menu-item:focus-within .services-mega-menu,.services-menu-item.open .services-mega-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.services-mega-feature { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:300px; padding:38px 34px; overflow:hidden; background:radial-gradient(circle at 85% 88%,rgba(23,105,255,.13),transparent 26%),linear-gradient(145deg,#e2f3ff,#f4fbff 65%,#eafff5); white-space:normal; }
.services-mega-feature::after { content:"✦"; position:absolute; right:18px; bottom:-43px; color:rgba(23,105,255,.13); font-size:160px; line-height:1; transform:rotate(-14deg); pointer-events:none; }
.services-mega-feature .eyebrow { align-self:flex-start; margin-bottom:14px; padding:7px 12px; font-size:.66rem; }
.services-mega-feature h2 { position:relative; z-index:1; max-width:290px; margin:0 0 12px; color:#102347; font-size:1.75rem; letter-spacing:-.04em; }
.services-mega-feature > p:not(.eyebrow) { position:relative; z-index:1; max-width:280px; margin:0 0 20px; color:#536987; font-size:.91rem; line-height:1.55; }
.mega-feature-link { position:relative; z-index:1; display:inline-flex; align-self:flex-start; align-items:center; gap:12px; padding:10px 16px; border:1px solid var(--brandx-primary); border-radius:999px; background:#fff; color:var(--brandx-primary); font-size:.83rem; font-weight:750; }
.mega-feature-link:hover { color:#fff; background:var(--brandx-primary); text-decoration:none; }
.services-mega-links { display:grid; grid-template-columns:1fr 1fr; align-content:center; gap:0; padding:20px 24px; }
.services-mega-column { display:grid; align-content:center; gap:7px; padding:0 17px; }
.services-mega-column + .services-mega-column { border-left:1px solid #e7edf6; }
.mega-service-link { display:grid; grid-template-columns:48px minmax(0,1fr) 14px; align-items:center; gap:12px; min-height:67px; padding:8px 7px; border-radius:15px; color:#13274a; white-space:normal; transition:background .18s ease,transform .18s ease; }
.primary-nav .services-mega-menu .mega-service-link { display:grid; padding:8px 7px; }
.mega-service-link:hover,.mega-service-link:focus-visible { background:#f3f8ff; color:#13274a; text-decoration:none; transform:translateX(2px); }
.mega-service-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:linear-gradient(140deg,#e4f3ff,#eafff4); color:var(--brandx-primary); }
.mega-service-icon svg { width:23px; height:23px; }
.services-mega-column:nth-child(odd) .mega-service-link:nth-child(3n + 1) .mega-service-icon { background:#f7e9ff; color:#a12cda; }
.services-mega-column:nth-child(even) .mega-service-link:nth-child(2n) .mega-service-icon { background:#fff3d7; color:#e79500; }
.mega-service-copy { display:grid; gap:4px; min-width:0; }
.mega-service-copy strong { color:#122447; font-size:.87rem; font-weight:750; line-height:1.28; }
.mega-service-copy small { color:#66758d; font-size:.75rem; line-height:1.3; }
.mega-service-arrow { color:var(--brandx-primary); font-size:1.35rem; font-weight:500; }
.site-header-cta { flex:0 0 auto; gap:10px; padding:14px 20px; border:0; background:linear-gradient(135deg,#0877f9,#1769ff); box-shadow:0 10px 24px rgba(23,105,255,.2); font-size:.88rem; }
.site-header-cta::after { content:"→"; font-size:1.1rem; }
.site-header-cta:hover { color:#fff; text-decoration:none; box-shadow:0 14px 28px rgba(23,105,255,.28); }

@media (max-width: 1250px) and (min-width: 981px) {
  .header-utility-inner,.site-header-inner { width:calc(100% - 40px); }
  .site-header-inner { padding-right:18px; padding-left:22px; gap:15px; }
  .brand-copy strong { font-size:1.04rem; }
  .primary-nav { gap:10px; }
  .primary-nav > .menu-item > a { font-size:.83rem; }
  .utility-tagline { display:none; }
}
@media (max-width: 980px) {
  .header-utility { min-height:42px; }
  .header-utility-inner { width:calc(100% - 36px); min-height:42px; justify-content:center; }
  .utility-tagline,.utility-contact { display:none; }
  .utility-socials { gap:9px; }
  .utility-social { width:28px; height:28px; flex-basis:28px; font-size:.72rem; }
  .site-header-inner { width:calc(100% - 28px); min-height:72px; margin-top:0; padding:0 15px; gap:12px; border-radius:0 0 19px 19px; }
  .brand-mark { width:41px; height:41px; border-radius:13px; }
  .brand .custom-logo { max-height:42px; }
  .brand-copy strong { font-size:1rem; }
  .brand-copy small { font-size:.56rem; }
  .menu-toggle { flex:0 0 44px; width:44px; height:44px; border:1px solid #e5edf8; background:#f2f7ff; }
  .navigation-wrap { top:calc(100% + 8px); left:14px; right:14px; max-height:calc(100vh - 145px); overflow-y:auto; padding:14px 17px 19px; border:1px solid #e6edf7; border-radius:20px; }
  .primary-nav { gap:0; }
  .primary-nav .menu-item { border-bottom:1px solid #edf1f7; }
  .primary-nav > .menu-item > a { min-height:0; display:flex; justify-content:space-between; padding:13px 5px; font-size:.98rem; white-space:normal; }
  .primary-nav .menu-item-has-children > a::after { flex:0 0 7px; margin-right:6px; }
  .services-menu-item { position:relative !important; }
  .primary-nav .services-mega-menu { position:static !important; display:none !important; width:auto; min-width:0 !important; max-height:none; margin:0 0 12px; padding:0 !important; border:1px solid #e6edf7 !important; border-radius:15px !important; box-shadow:none !important; opacity:1; visibility:visible; transform:none; }
  .services-menu-item.open .services-mega-menu { display:block !important; }
  .services-mega-feature { display:none; }
  .services-mega-links { grid-template-columns:1fr; gap:0; padding:8px; }
  .services-mega-column { gap:0; padding:0; }
  .services-mega-column + .services-mega-column { border-left:0; border-top:1px solid #edf1f7; }
  .mega-service-link { min-height:58px; grid-template-columns:40px minmax(0,1fr) 12px; gap:10px; padding:7px; }
  .mega-service-icon { width:38px; height:38px; border-radius:12px; }
  .mega-service-icon svg { width:20px; height:20px; }
  .mega-service-copy strong { font-size:.82rem; }
  .mega-service-copy small { font-size:.71rem; }
  .mobile-nav-cta { margin-top:13px; }
  .site-header-cta { display:none; }
}
@media (max-width: 420px) {
  .header-utility-inner { width:calc(100% - 24px); }
  .site-header-inner { width:calc(100% - 20px); }
  .brand { gap:9px; }
  .brand-copy strong { font-size:.92rem; }
}

.primary-nav-items { display:flex; align-items:center; gap:clamp(10px,1.4vw,24px); padding:0; margin:0; list-style:none; }
.primary-nav > .primary-nav-items > .menu-item > a { display:inline-flex; align-items:center; min-height:48px; padding:0 2px; color:#152849; font-size:.91rem; font-weight:650; white-space:nowrap; }
.primary-nav > .primary-nav-items > .menu-item > a:hover,.primary-nav > .primary-nav-items > .menu-item > a:focus-visible,.primary-nav > .primary-nav-items > .menu-item.current-menu-item > a { color:var(--brandx-primary); text-decoration:none; }
.primary-nav-items .sub-menu { top:calc(100% + 8px); left:0; min-width:220px; padding:10px 0; border:1px solid #e7edf6; border-radius:14px; background:#fff; box-shadow:0 16px 38px rgba(8,29,69,.14); }
.primary-nav-items .sub-menu a { display:block; padding:10px 16px; font-size:.88rem; white-space:normal; }
.primary-nav-items .sub-menu a:hover { color:var(--brandx-primary); background:#f3f8ff; text-decoration:none; }

.site-footer { position:relative; overflow:hidden; padding:46px 0 24px; background:radial-gradient(ellipse at 92% 16%,rgba(25,201,130,.12),transparent 29%),radial-gradient(ellipse at 6% 2%,rgba(23,105,255,.2),transparent 32%),linear-gradient(135deg,#08162f,#101e3a 58%,#0b2336); color:#b9c6d9; }
.site-footer::before { position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,var(--brandx-primary),var(--brandx-green),#8dd8ff); content:""; }
.footer-cta { position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:48px; padding:28px 34px; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:linear-gradient(110deg,rgba(255,255,255,.1),rgba(255,255,255,.045)); }
.footer-eyebrow { display:block; margin-bottom:8px; color:#8fc9ff; font-size:.69rem; font-weight:800; letter-spacing:.16em; }
.footer-cta h2 { margin:0 0 8px; color:#fff; font-size:clamp(1.35rem,2.7vw,2rem); letter-spacing:-.035em; }
.footer-cta p { margin:0; color:#c1cde0; font-size:.94rem; }
.footer-cta-button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:0 20px; border-radius:999px; background:linear-gradient(135deg,#0877f9,#1769ff); box-shadow:0 10px 26px rgba(0,83,226,.24); color:#fff; font-size:.9rem; font-weight:750; }
.footer-cta-button:hover { color:#fff; text-decoration:none; transform:translateY(-2px); }
.footer-cta-button span { font-size:1.2rem; }
.footer-grid { grid-template-columns:minmax(250px,1.35fr) minmax(140px,.7fr) minmax(180px,1fr) minmax(220px,1.05fr); align-items:start; gap:clamp(24px,4vw,54px); }
.footer-cols { min-width:0; }
.footer-cols h3 { margin:5px 0 19px; color:#fff; font-size:.96rem; font-weight:750; letter-spacing:.01em; }
.footer-brand { display:inline-flex; margin-bottom:16px; color:#fff; }
.footer-brand .brand-mark { width:44px; height:44px; box-shadow:none; }
.footer-brand .custom-logo { width:auto; max-width:178px; max-height:52px; object-fit:contain; border-radius:8px; }
.footer-brand .brand-copy strong { color:#fff; font-size:1.08rem; }
.footer-brand .brand-copy small { color:#9aabc3; }
.footer-description { max-width:320px; margin:0; color:#b9c6d9; font-size:.89rem; line-height:1.8; }
.footer-list { justify-items:start; gap:11px; }
.footer-list li { max-width:100%; color:#b9c6d9; font-size:.87rem; line-height:1.55; overflow-wrap:anywhere; }
.footer-list a { color:#b9c6d9; transition:color .16s ease; }
.footer-list a:hover { color:#fff; text-decoration:none; }
.footer-cols .social-links { margin-top:19px; }
.footer-cols .social-links a { width:38px; height:38px; border-radius:12px; }
.footer-bottom { margin-top:38px; padding-top:19px; border-top:1px solid rgba(255,255,255,.14); color:#9fadc2; font-size:.8rem; }
.footer-legal-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:9px; }
.footer-legal-links a { color:#b9c6d9; }
.footer-legal-links a:hover { color:#fff; text-decoration:none; }

@media (max-width:1250px) and (min-width:981px) {
  .primary-nav-items { gap:10px; }
  .primary-nav > .primary-nav-items > .menu-item > a { font-size:.83rem; }
}
@media (max-width:980px) {
  .site-header-inner .brand { min-width:0; flex:0 1 auto; justify-content:flex-start; margin-right:auto; }
  .site-header-inner .brand-copy { min-width:0; }
  .site-header-inner .brand-copy strong { max-width:100%; overflow:hidden; text-overflow:ellipsis; }
  .site-header-inner .brand img.custom-logo { width:var(--header-logo-mobile-width,180px); max-width:min(100%,calc(100vw - 130px)); min-width:0; flex:0 1 auto; }
  .site-header-inner .brand-has-image-logo .brand-copy { display:none; }
  .site-header-inner > .menu-toggle { flex:0 0 44px; margin-left:auto; }
  .primary-nav-items { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav > .primary-nav-items > .menu-item > a { display:flex; justify-content:space-between; min-height:0; padding:13px 5px; font-size:.98rem; white-space:normal; }
  .primary-nav-items .sub-menu { position:static; min-width:0; margin:0; padding:0 0 8px 15px; border:0; border-radius:0; box-shadow:none; }
  .primary-nav-items .sub-menu a { padding:9px 8px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 42px; text-align:left; }
  .footer-grid .brand { justify-content:flex-start; }
  .footer-list { justify-items:start; }
  .footer-cols .social-links { justify-content:flex-start; }
  .footer-cta { margin-bottom:38px; }
}
@media (max-width:680px) {
  .footer-cta { align-items:flex-start; flex-direction:column; gap:19px; margin-bottom:34px; padding:24px 21px; }
  .footer-cta-button { width:100%; }
  .footer-grid { grid-template-columns:1fr; gap:29px; text-align:left; }
  .footer-grid .brand { justify-content:flex-start; }
  .footer-list { justify-items:start; }
  .footer-cols .social-links { justify-content:flex-start; }
  .footer-cols h3 { margin-bottom:12px; }
  .footer-description { max-width:440px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:11px; margin-top:30px; text-align:left; }
  .footer-legal-links { justify-content:flex-start; }
}

.site-header-inner .brand img.custom-logo {
  width:var(--header-logo-desktop-width,220px);
  height:var(--header-logo-desktop-height,64px);
  max-width:none;
  max-height:none;
  object-fit:contain;
  flex:0 1 auto;
}
@media (max-width:980px) {
  .site-header-inner .brand img.custom-logo {
    width:var(--header-logo-mobile-width,150px);
    height:var(--header-logo-mobile-height,48px);
  }
}

.home-service-grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}
.home-service-grid > .service-card {
  display:flex;
  flex:0 0 calc((100% - 54px) / 4);
  flex-direction:column;
}
.home-service-grid .service-card-content { flex:1; }
@media (max-width:980px) {
  .home-service-grid { gap:18px; }
  .home-service-grid > .service-card { flex-basis:calc((100% - 18px) / 2); }
}
@media (max-width:680px) {
  .home-service-grid { gap:12px; }
  .home-service-grid > .service-card { flex-basis:calc((100% - 12px) / 2); }
}
@media (max-width:380px) {
  .home-service-grid > .service-card { flex-basis:100%; }
}
